Commit Graph

893 Commits

Author SHA1 Message Date
tophf
3b433adb42 check if orphaned in docRewriteObserver 2017-04-21 15:52:23 +03:00
tophf
3713c252a8 broadcast affectsIcon's keys on startup 2017-04-21 15:52:23 +03:00
tophf
47eefd1cd2 code cosmetics: contextMenus use prefs.subscribe() 2017-04-21 15:52:23 +03:00
tophf
468a758cec code cosmetics: inverted "no????" params to straight ones 2017-04-21 15:52:23 +03:00
tophf
9e9723cfd2 code cosmetics 2017-04-21 15:52:22 +03:00
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