Commit Graph

938 Commits

Author SHA1 Message Date
tophf
2e60af40f0 refactor bg updater; add prefs.subscribe() 2017-04-21 15:52:22 +03:00
tophf
c52b8c453f refactor background.js
* use runtime.onInstalled to open FAQ
* extract refreshAllTabs (now it may call applyOnMessage for own tab)
* extract getCodeMirrorThemes and use localStorage to cache the names
* put one-time init stuff inside blocks to help GC
2017-04-21 14:16:56 +03:00
tophf
aa5fc9f640 notify USO earlier in install.js by relaying xhr 2017-04-20 04:52:13 +03:00
tophf
98c34da9e7 simplify and speed up USO rebrand observer 2017-04-20 01:27:25 +03:00
tophf
a80c677b3e render at least 10 style entries on slower machines 2017-04-19 23:54:05 +03:00
tophf
3a8ac2d9dc inline reportError() 2017-04-19 19:22:13 +03:00
tophf
4fd1a3db62 remove fixBoolean() 2017-04-19 19:13:11 +03:00
tophf
f5da135e81 invalidateCache: minor refactor & fix deletedId case 2017-04-19 19:03:00 +03:00
tophf
fe3f5121e5 manage: shorten "Find editor styles" as "Theme" 2017-04-19 16:34:48 +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
1572a0fbfe manage: restyle "disabled" postfix to a tag 2017-04-18 18:19:02 +03:00
tophf
1018d86b53 Don't flicker #check-all-updates on page load 2017-04-18 17:14:29 +03:00
tophf
7527845f1a lighten the new icons 2017-04-18 16:18:12 +03:00
tophf
53814fc9e6 manage: homogenize icon stroke widths 2017-04-18 16:11:57 +03:00
tophf
f5586a8f0d hide UpdatesOnly filter together with ApplyAll button 2017-04-18 14:59:59 +03:00
tophf
2304a8012c fix setupLivePrefs with multiple edit pages open 2017-04-18 12:47:24 +03:00
tophf
346245a847 code cosmetics: simplify importFromString a bit 2017-04-18 12:47:23 +03:00
tophf
a2faa9398a style backup: +revokeObjectURL +MIME-type 2017-04-18 12:47:23 +03:00
tophf
1651d52776 Construct DOM via $element instead of HTML string 2017-04-18 12:47:23 +03:00
tophf
3b3ed6543e code cosmetics: RX_SUPPORTED_URLS -> URLS.supported 2017-04-18 12:47:19 +03:00
tophf
021f50015b restore editor window size when reopened via Ctrl-Shift-T 2017-04-18 12:47:19 +03:00
tophf
0d6f7e0a4b popup: right-click / ctrl-click on a name opens editor 2017-04-18 12:47:14 +03:00
tophf
01d59192a3 Chrome 49 fixup for updateIcon 2017-04-18 12:47:03 +03:00
tophf
dca6aecd20 Show active NTP icon correctly on startup 2017-04-18 12:47:03 +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
4eae87e606 own page load microopt: reduce blocking on prefs
postpone noncritical init stuff to window.load because first access to chrome API takes time to initialize API bindings
2017-04-18 12:47:02 +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
1649a262cd Don't double-notify own pages 2017-04-18 12:46:39 +03:00
tophf
e8ec224dac manage: make #installed fill 100% width 2017-04-18 12:46:38 +03:00
tophf
aaa50d6b7b fixup for Chrome 49 without Symbol.iterator 2017-04-18 12:46:38 +03:00
tophf
e61a24b4e4 refactor install.js
* run_at: document_start
* MutationObserver to rebrand without flickering the original text
* reuse styleSectionsEqual
* don't proceed when orphaned
2017-04-18 12:46:38 +03:00
tophf
3961224f80 differentiate .update-done by doubling the checkmark 2017-04-18 12:46:38 +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
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
bec60f54ab fixup ccbccae2: add default CM theme entry for firefox 2017-04-18 12:46:37 +03:00
tophf
fa46a2c336 split filterStyles()
js engines don't like big functions (V8 often deoptimized the original filterStyles), it also makes sense to extract the less frequently executed code
2017-04-18 12:46:37 +03:00
tophf
dcfb8ad356 simplify/modularize styleSectionsEqual
+ 1.5x speedup thanks to checkedInB memoization
+ more strict type comparison
+ two-way array comparison (more correct, even if there's no practical difference)
2017-04-18 12:46:37 +03:00
tophf
db1dc0df7b simplify/modularize getApplicableSections 2017-04-18 12:46:37 +03:00
tophf
8f784a19d4 simplify saveStyle, invalidateCache 2017-04-18 12:46:37 +03:00
tophf
4bc27db3fc "backface-visibility: hidden" workaround for a browser bug 2017-04-18 12:46:36 +03:00
tophf
e6f2034e64 make import report messages localizable 2017-04-18 12:46:36 +03:00
tophf
470bc92da5 Add <all_urls> in permissions
We already have full access to all sites via our content script so this permission doesn't add anything new but we need it to be able to establish page connection via tabs.executeScript when the extension is installed, reloaded, re-enabled.

<all_urls> also allows file:// URLs unlike *://*/* used previously. Of course it requires the corresponding checkbox being enabled on chrome://extensions page.
2017-04-18 12:46:36 +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