Commit Graph

75 Commits

Author SHA1 Message Date
tophf
2e60af40f0 refactor bg updater; add prefs.subscribe() 2017-04-21 15:52:22 +03:00
tophf
b3b1d4a628 own page load microopt: reduce blocking on i18n
* localStorage cache is faster than chrome.i18n.get
* TreeWalker is faster than tHTML for removing extraneous whitespace
* simple for() is faster than for-of with [...iterable]
2017-04-18 12:47:02 +03:00
tophf
142666ac0f optionsUI: show progress bar and # of installed updates 2017-04-18 12:46:38 +03:00
tophf
ba02bc52a1 optionsUI: left padding in firefox is 6px 2017-04-18 12:46:37 +03:00
tophf
eb37b3e4ad optionsUI: center in opera correctly 2017-04-18 12:46:37 +03:00
tophf
bdcac21d7e optionsUI: group options and shorten labels 2017-04-18 12:46:37 +03:00
tophf
c09ee38c9e rework enforceInputRange
* enforce only in onchange
* notify on valid input immediately
* highlight invalid values
2017-04-18 12:46:36 +03:00
tophf
5c8d1950a7 Isolate storage.js in background context
To prevent cross-page leaks we need to create/copy prefs and cachedStyles inside the background page context.

* storage.js is now used only in the background page

* messaging.js now contains less bg-specific methods and more common methods. Added saveStyleSafe, deleteStyleSafe which automatically invoke onRuntimeMessage of the current page or just handleUpdate/handleDelete when notify:false

* prefs.js with 'prefs' for background and UI pages: separate objects because a UI page may load before the background page and it can read prefs from localStorage/sync/defaults
2017-04-18 12:46:34 +03:00
tophf
1df76c6929 options: localize the title 2017-04-18 12:46:33 +03:00
tophf
2bb7d31042 fixups for Opera/Vivaldi/Firefox-compatibility 2017-04-18 12:46:32 +03:00
tophf
ff84e924fa polyfill DOM enumerables for Chrome 49 2017-04-18 12:46:32 +03:00
tophf
e3b461a9e8 manage: add new UI option
* align svg icons to pixel grid
* globalize enforceInputRange() and use it in manage
* 1 installed.onclick instead of 1000+ local ones
2017-04-18 12:46:31 +03:00
tophf
efd3e9ef6c options: use live prefs + reset button 2017-04-18 12:46:30 +03:00
tophf
c32e968f63 Restore sync for popupWidth; mirror all prefs in localStorage; 2017-04-18 12:46:28 +03:00
tophf
7d9a6b5a3f OptionsUI: add 2 global options + simplify
* [x] show badge with active styles count
* [x] styles on top in the popup
* Simplify since we use a persistent background page so it's always there for us
2017-04-18 12:46:25 +03:00
tophf
4dd8066ca4 OptionsUI: restructure html, make it userstylable 2017-04-18 12:46:25 +03:00
tophf
ac4a420e2b ESLint: customize the rules; fix the issues 2017-04-18 12:46:23 +03:00
tophf
54bb7cdd4e dom.js in optionsUI + reuse openURL to open/switch to URL 2017-04-18 12:46:23 +03:00
tophf
26e1b67f44 Add <html id="stylus"> to all pages 2017-04-18 12:43:31 +03:00
tophf
2f4da37fdb Refactor and speed up popup & manager
Popup:
* Enforce 200-800px range for the popup width option

Manage:
* faster search via cachedStyles.byId
* faster restoration of search results on history nav
* style name is clickable and opens the editor
* animated highlight of style element on update/add/save
* expandable extra applies-to targets
* remember scroll position on normal history navigation
* boz-sizing in #header, also in editor
* applies-to targets use structured markup
* get*Tab*, enableStyle and deleteStyle are promisified
2017-04-18 12:43:29 +03:00
Jeremy Schomery
0e6c5e35ac Path for configureCommands is chosen based on user's browser (Opera incomatibility) 2017-03-16 17:14:35 +03:30
Jeremy Schomery
885bab9a03 moving popupWidth pref to localStorage base on https://github.com/schomery/stylish-chrome/issues/38#issuecomment-284693730 2017-03-08 16:41:26 +03:30
Jeremy Schomery
974aaee823 popup width is now adjustable 2017-03-06 23:47:32 +03:30
Jeremy Schomery
0bd2e8ae1a linking options page to chrome://extensions/configureCommands 2017-02-15 09:18:47 +03:30
Jeremy Schomery
d6ec816ea9 adding options UI (fixes #22, #24) 2017-02-14 19:05:53 +03:30