Commit Graph

94 Commits

Author SHA1 Message Date
tophf
65d625fddf code cosmetics: missed a debounce() case 2017-06-27 15:17:52 +03:00
tophf
8e4b2fbbb0 manage: hardcode edit link; fixes #29 broken in 7084dd12 2017-06-18 15:47:15 +03:00
tophf
2687d1e167 FF bug workaround: retranslate CSS content 2017-06-10 14:08:03 +03:00
tophf
5a67d926da manage: fix toggling a style when filtering by search
Previously a style entry would disappear when toggled on manage page with search filter applied because filterContainer() altered the original "container" parameter.
2017-06-04 12:22:51 +03:00
tophf
f2bdc930a0 code cosmetics: use dom.js $$ 2017-05-02 17:16:26 +03:00
tophf
77ffd3004d fixup 3dc93436: immediately render a chunk if ScrollY>0 2017-04-28 15:28:52 +03:00
tophf
809e70a89c manage: show update history button 2017-04-27 20:40:45 +03:00
tophf
5e2982c33b fixup! filters 2017-04-26 18:35:00 +03:00
tophf
1e29504b9f manage: toggle style without recreating its element 2017-04-26 17:53:38 +03:00
tophf
02fd4f1abe Display "force-install" for locally edited styles on update
* Allow manually resetting locally edited style even if up-to-date
* "Check again, I didn't edit any styles!" button
2017-04-26 01:35:32 +03:00
tophf
7677f0dece updater: add 'ignoreDigest' to force-update on manage page
* saveStyle: retain only known properties in sections[] and normalize their order
* remove styleDigest on import
* shorten detailed status names in updater
* don't autohide update status message
2017-04-26 01:35:14 +03:00
tophf
32ae088c03 Detect and don't update locally edited styles 2017-04-26 01:34:57 +03:00
tophf
3dc934369b manage: simplify DOM (append icons only when needed) 2017-04-23 23:05:31 +03:00
tophf
135423860d setupLivePrefs() now automatically finds the elements
To make an element a live pref discoverable by setupLivePrefs() just use the corresponding pref's id as the element's HTML id attribute.
2017-04-21 19:39:34 +03:00
tophf
9617d571f8 manage: reuse BG.updater 2017-04-21 15:56:21 +03:00
tophf
2e60af40f0 refactor bg updater; add prefs.subscribe() 2017-04-21 15:52:22 +03:00
tophf
aa5fc9f640 notify USO earlier in install.js by relaying xhr 2017-04-20 04:52:13 +03:00
tophf
a80c677b3e render at least 10 style entries on slower machines 2017-04-19 23:54:05 +03:00
tophf
6f74cb8b29 event.keyCode doesn't work in Firefox 2017-04-18 22:05:18 +03:00
tophf
a2943852a7 add a hidden "gray out" options for favicons 2017-04-18 21:49:04 +03:00
tophf
a11fca48fb dataset on SVG doesn't work in Chrome 49 2017-04-18 21:38:22 +03:00
tophf
1018d86b53 Don't flicker #check-all-updates on page load 2017-04-18 17:14:29 +03:00
tophf
f5586a8f0d hide UpdatesOnly filter together with ApplyAll button 2017-04-18 14:59:59 +03:00
tophf
eccabb8f27 Fix even-odd rules on entries
* Now filtering is done in js
* Visible entries are always at the beginning of #installed
* Hidden entries are always at the end of #installed
* The code tries to minimize DOM reordering operations:
  * First pass only moves one hidden entry in hidden groups with odd number of items.
  * Second [full] pass runs after repaint.
2017-04-18 12:47:02 +03:00
tophf
e21d65217a manage: show progress bar on update check 2017-04-18 12:46:38 +03:00
tophf
d8adb582c6 add missing favicons in-place instead of full rerendering 2017-04-18 12:46:38 +03:00
tophf
ca911396a1 Don't use chrome://favicon
chrome://favicon doesn't indicate an icon is missing in any way, it simply shows a placeholder instead. It also doesn't extrapolate from sub-pages so `example.com` won't have a favicon even if `example.com/subpage` has one.
2017-04-18 12:46:36 +03:00
tophf
05c05ec6b9 manage: use chrome://favicon 2017-04-18 12:46:36 +03:00
tophf
ce2492c305 manage: apply search filter to edited/updated styles 2017-04-18 12:46:35 +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
7f6d3e241a speedup: don't animate elements during import 2017-04-18 12:46:34 +03:00
tophf
7084dd1223 createStyleElement speedup: reuse the template 2017-04-18 12:46:33 +03:00
tophf
8bec1d61bd manage: save scrollY in onbeforeunload (less buggy) 2017-04-18 12:46:33 +03:00
tophf
2a7231a887 manage: update state tooltips; add filter option
* update state is shown in tooltips that fade out in 10 sec except for .update-problem and .can-update
* when updates are found a filtering option is revealed; when it's checked only entries with updates are shown; when all updates are installed the option automatically hides
2017-04-18 12:46:32 +03:00
tophf
311d036dee manage: remove .updatable after updating a style 2017-04-18 12:46:32 +03:00
tophf
2bb7d31042 fixups for Opera/Vivaldi/Firefox-compatibility 2017-04-18 12:46:32 +03:00
tophf
c061268aeb manage: fix & speedup createStyleElement a bit 2017-04-18 12:46:31 +03:00
tophf
4f5e56bc55 manage: don't flicker newUI sub-options 2017-04-18 12:46:31 +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
59899b9395 explicitly use 'window' when getting its properties 2017-04-18 12:46:30 +03:00
tophf
1af1194e9f Declare EntryOnClick as an object: handleEvent 2017-04-18 12:46:30 +03:00
tophf
494b23e3fd manage: add an ID to entries 2017-04-18 12:46:29 +03:00
tophf
3d163df853 manage: open external links with openURL() 2017-04-18 12:46:29 +03:00
tophf
3c5cc141c4 manage: make #find-editor-styles a link; remove global options
* "Find styles" is a link so we make it one, just like in the popup.
* We have a dedicated global options UI so it makes no sense to subset only two of them on the manage page, moreover both options are unrelated to managing styles.
2017-04-18 12:46:29 +03:00
tophf
f8d13d8dec Remove code:false mode; show sloppy regexps in popup
* Now that our own pages retrieve the styles directly via getStylesSafe the only 0.001% of cases where code:false would be needed (the browser is starting up with some of the tabs showing our built-in pages like editor or manage) is not worth optimizing for.

* According to CSS4 @document specification the entire URL must match. Stylish-for-Chrome implemented it incorrectly since the very beginning. We detect styles that abuse the bug by finding the sections that would have been applied by Stylish but not by us as we follow the spec. Additionally we'll check for invalid regexps.
2017-04-18 12:46:28 +03:00
tophf
55ac677d85 manage: fixup style search 2017-04-18 12:46:24 +03:00
tophf
2fb046e996 manage: import/update/add maintains sort order 2017-04-18 12:46:24 +03:00
tophf
ac4a420e2b ESLint: customize the rules; fix the issues 2017-04-18 12:46:23 +03:00
tophf
363f752934 Use messageBox in manage for confirm; partially revert c5741aff 2017-04-18 12:46:23 +03:00
tophf
4936426fa3 dom.js: extract common DOM functions 2017-04-18 12:46:22 +03:00