Commit Graph

284 Commits

Author SHA1 Message Date
Rob Garrison
68dfa0153c Add style exclusions. Closes #113 2018-07-22 11:21:43 -05:00
tophf
c6724b02d3 code cosmetics: pacify eslint 2018-07-21 21:04:47 +03:00
Rob Garrison
c61d34d053 Update libraries (#440) 2018-07-21 20:58:54 +03:00
tophf
165f7b5684 don't add varDef to code if there are no vars 2018-07-15 17:55:54 +03:00
tophf
26f673f30d move linter worker loaders to edit/ 2018-07-10 11:35:19 +03:00
tophf
d8b776bedf try installing from full code if 'sections' is empty in style json
fixes #414
2018-07-05 15:46:01 +03:00
tophf
766a38e9e8 polyfill Error.captureStackTrace in FF
fixes #412
2018-07-04 19:21:21 +03:00
tophf
d36fea27ad fixup 3418ac9c: append to updateLog 2018-05-09 18:33:28 +03:00
tophf
10a0fedd05 make sure BG.API_METHODS is defined 2018-05-05 20:17:33 +03:00
tophf
5ef347a4d9 LESS preprocessor
closes #373
2018-04-19 20:02:23 +03:00
tophf
0614aa2eee new editor option: selectByTokens
implements #361 except for toggling via Ctrl
2018-04-18 19:33:36 +03:00
tophf
8cad7d61eb scrollElementIntoView: skip if orphaned 2018-04-17 22:34:18 +03:00
tophf
32f05861e3 FF: register hotkeys on startup; reset if empty 2018-04-13 14:30:36 +03:00
tophf
e80efa7604 FF: hotkeys dialog 2018-04-12 21:28:45 +03:00
tophf
5b9fd4454b $create should read opt.appendChild if selector is string 2018-04-12 20:42:01 +03:00
tophf
2a75159d2a USO bug workaround: collapse long URL vars
#195
2018-04-12 09:13:55 +03:00
tophf
009970965f let openURL() replace browser-specific New/empty Tab Page 2018-03-30 03:23:21 +03:00
tophf
9969266379 FF60+: show additional info in popup on AMO
#312
2018-03-23 01:44:40 +03:00
tophf
89d4bb1ed4 handle chrome:// scheme in openURL() 2018-03-22 03:09:20 +03:00
tophf
f2d49ecbb9 resolve activateTab() to tab instead of [tab, window] 2018-03-14 22:00:25 +03:00
tophf
06ded49131 openURL+message: use onTabReady instead of repeated sending
because the tab may take many seconds to start loading depending on connectivity etc.
2018-03-14 05:58:28 +03:00
tophf
de0920da53 enable 'editor.autoCloseBrackets' in fresh installs by default
because now that we have LivePreview enabled by default typing a single { breaks the style until a closing } is entered.
2018-03-13 20:43:19 +03:00
tophf
4901e97f9f open USO style settings even if the site tab is auto-activated 2018-03-13 18:35:28 +03:00
tophf
34799263eb fixup 259f3732: only switch to POST if 'body' wasn't customized 2018-03-12 22:39:19 +03:00
tophf
259f373207 properly cut URL#href on '?' when sending a POST request
fixes #365
2018-03-12 21:41:25 +03:00
tophf
dbba338229 report line:ch in live-preview errors for usercss 2018-03-11 16:47:27 +03:00
tophf
0ba26072f7 restore Chrome 49 compatibility: remove "u" flag in RegExp
since it wasn't used globally (e.g. vendor code) it made no real difference
2018-02-28 05:15:28 +03:00
tophf
a8769e375b browser.runtime.getBrowserInfo was added in FF 51 2018-02-25 16:51:07 +03:00
tophf
95a24cd29b catch fatal parsing errors 2018-01-30 18:59:28 +03:00
tophf
ca5f8c941b don't refresh own tabs twice
fixes #336
2018-01-29 04:37:24 +03:00
tophf
10b82ae7cc actually import settings from sync
fixes #331
2018-01-24 03:47:26 +03:00
tophf
4493c9e9f0 don't double-process 'styleUpdated' in manager 2018-01-14 18:18:08 +03:00
tophf
bb34538da0 smart invalidateCache: try to update filters in-place 2018-01-12 00:54:40 +03:00
tophf
989df35b05 live preview in editor
* refreshAllTabs was extracted
* ...and fixed to use each frame's url when getting the styles
2018-01-12 00:54:36 +03:00
tophf
b754635b81 lenient parsing of invalid single \ in regexp() function 2018-01-11 15:29:52 +03:00
tophf
022e588c97 allow errors in usercss when saving in editor and live-reloading 2018-01-07 16:36:30 +03:00
tophf
2036819442 reuse parserCache on subsequent saving of usercss 2018-01-07 12:31:23 +03:00
tophf
d2cba96e10 refactor CSSLint
* reduce linting delay
* parse mozformat in worker
* allow empty functions in 'filter:' property
  https://drafts.fxtf.org/filter-effects/#supported-filter-functions
* support comma-separated list in :lang()
* strip vendor prefix in isLiteral()
2018-01-07 12:31:23 +03:00
tophf
807ea6aa70 extract colorconverter.js 2018-01-07 11:52:43 +03:00
tophf
71c3e0c7a8 extract and improve dummy chrome.storage in FF
* chrome.storage.onChanged supported in own pages
* values are stored in the background page
* chrome.storage in own pages accesses that background storage
2018-01-04 17:04:23 +03:00
tophf
2374c88e1b extract styleSectionsEqual 2018-01-04 16:43:54 +03:00
tophf
e6d04fad6d meta value starts after a name on the same line 2018-01-04 11:10:59 +03:00
tophf
28e9e38dad remove 'dysfunctional' page 2018-01-03 10:44:12 +03:00
tophf
3418ac9cb9 FF: support private/container tabs 2018-01-03 10:43:56 +03:00
tophf
5bc4206593 reuse existing usercss installer tab
A few additional checks were needed to circumvent FF bugs
so openURL was refactored to keep the code readable
2017-12-31 17:59:32 +03:00
tophf
46a3038394 don't add soft hyphens at the end of text 2017-12-29 23:37:17 +03:00
tophf
0f96e2fa4d set language for CSS :lang and [FF-only] hyphenation 2017-12-29 18:19:35 +03:00
tophf
5ac3662699 fixup 5a07bbb1: parse ISO date strings
#319
2017-12-29 17:52:47 +03:00
tophf
8c5ad8fe4b postpone addTooltipsToEllipsized more to avoid accidental layout 2017-12-26 08:46:05 +03:00
Rob Garrison
5a07bbb1e3 Add manager sort block 2017-12-25 12:17:18 +03:00
tophf
2d12bfd1f5 l10n: actually stop observing 2017-12-22 11:22:02 +03:00
tophf
4946aad684 FF: allow access to AMO in FF (actually works in 59+)
fixes #312
2017-12-22 08:36:10 +03:00
tophf
154187f1bc use offsetWidth to decide if the button text is ellipsized 2017-12-19 08:48:55 +03:00
tophf
6607455e8f silence eslint; switch shirt-circuiting to single-line if/else 2017-12-18 10:27:50 +03:00
tophf
4a924d6aa8 add 'textarea' to focusAccessibility.ELEMENTS 2017-12-18 10:27:50 +03:00
tophf
50d3dbe394 expose prefs.defaults 2017-12-18 10:27:50 +03:00
tophf
fefe82fd54 remove what-input, use own implementation, rebase on master 2017-12-13 03:27:10 +03:00
tophf
510ae91ac0 don't insert ­ before whitespace 2017-12-12 03:18:37 +03:00
tophf
3410a58cd9 don't add ­ on word boundaries and strip it from tooltips
addresses #300
2017-12-11 22:39:22 +03:00
tophf
d035e18b9f expose responseType in download() 2017-12-10 10:11:19 +03:00
tophf
b2b82f8310 break shorter words (5-10) followed by punctuation in tWordBreak 2017-12-10 10:11:18 +03:00
tophf
0a865318a4 popup: "configure" opens USO page and expands the settings area 2017-12-10 07:56:41 +03:00
tophf
4b207f3dd4 basic tweaks/fixes for inline search 2017-12-10 04:03:04 +03:00
tophf
36fcb02b51 auto-unsubscribe prefs observer when element is gone 2017-12-09 17:38:00 +03:00
tophf
18b20d13be onDOMscriptReady: notify all matching subscribers 2017-12-08 21:55:08 +03:00
tophf
1c68ac1a3a initialize editor page fully in First Meaningful Paint frame
* previously it wasn't the case when colorpicker option was enabled
* the cost of always loading colorview is ~1ms for >200ms here
2017-12-08 06:20:56 +03:00
tophf
99cce55a8e ensure long words break before breaking the layout
supersedes 40075a0d
2017-12-07 23:21:27 +03:00
tophf
f40dc29497 add rudimentary reject/catch for mozParser inside worker 2017-12-07 08:41:52 +03:00
tophf
e4e8f04c95 code cosmeticsiv 2017-12-07 06:54:51 +03:00
tophf
fb3138f700 add .vivaldi class on <html> 2017-12-07 06:52:43 +03:00
tophf
543132aafa auto-apply on changes - new option in usercss config 2017-12-06 23:33:48 +03:00
tophf
f337e18515 recognize usercss @updateURL
* installation URL is preferred - same behavior as before

* @updateURL is used when the style was drag'n'dropped into the manage page
  because there's no real URL in this case

* install-usercss page shows the new update URL, which is set as per the above,
  under the checkbox that enables updates
2017-12-06 22:35:19 +03:00
tophf
1273903b05 import usercss files drag'n'dropped into the manage page 2017-12-06 11:03:43 +03:00
tophf
03b6f6c263 manage: search regexps, add search help, fix favicons toggle icon
* the toggle icon is now a triangle, rotated when open
2017-12-06 09:39:45 +03:00
Rob Garrison
db621b8657 Manage: Make filter & backup containers collapsible 2017-12-06 00:09:56 +03:00
tophf
a6f63d096e extract checkboxes to global.css, fixes 2017-12-05 04:39:29 +03:00
tophf
dd05955a38 fixup d97337de: preceding comment may be absent 2017-12-04 20:12:47 +03:00
tophf
c0c60fb7a2 add a terse invocation syntax for $element and rename it to $create 2017-12-04 08:57:12 +03:00
tophf
39a521fb80 FF: don't style checkboxes in FF < 54, not 57
See #271
2017-12-03 07:59:41 +03:00
tophf
e6e762505f FF: don't style checkboxes in FF < 57 2017-12-03 07:07:43 +03:00
tophf
55564b543a replace 'about:blank' tabs in openURL() 2017-12-03 02:44:20 +03:00
tophf
6704956b22 fixup 0de69e30: avoid passing falsy selectors to $() 2017-12-02 21:41:28 +03:00
tophf
0de69e306d code refactor: add $.remove() and $$.remove() 2017-12-02 19:54:54 +03:00
tophf
f5516db8f4 off-load mozParser to a worker 2017-12-01 02:35:56 +03:00
tophf
9c3229717f fixup d660e6bd: off-by-1 in parseStringUnquoted 2017-12-01 00:23:06 +03:00
tophf
a61ee5f093 fixup 362d9444: autoscroll manage page only during incremental search 2017-11-30 01:13:13 +03:00
tophf
6f0dd5e9b6 fixup 362d9444: never scroll manage page on toggling a visible entry 2017-11-30 00:54:40 +03:00
tophf
189342472e manage: collapsible #options block 2017-11-29 19:27:31 +03:00
tophf
362d944428 manage: incremental search on typing + up/down arrows 2017-11-29 17:59:02 +03:00
tophf
cbe90272b9 silence some useless warnings in console 2017-11-29 17:59:01 +03:00
tophf
d660e6bd72 usercss validator: more precise error position report 2017-11-27 14:54:18 +03:00
tophf
13d7e30a75 usercss saving: display errors from mozparser in <pre> 2017-11-27 06:55:12 +03:00
tophf
8d3fd9cc3b fixups for a58f42de (backtick) and 05677d93 (copy changed meta) 2017-11-27 03:19:31 +03:00
tophf
23efcb1db8 usercss: inform when the entire metadata block is missing/invalid 2017-11-26 21:13:54 +03:00
tophf
0d80177691 accept xhr options in download(url, options)
also fixup d1964bbc: an error should reject with a code, not XHR's ProgressEvent
2017-11-26 21:09:29 +03:00
tophf
a58f42dee0 usercss editor: save as template when @name is empty
* reduced the flickering on page open
* show * in title for new styles
* align the values in the default template
* don't ask to save an untouched template
* don't spam the console with errors
* trivial code refactor and cosmetics
2017-11-26 18:43:40 +03:00
tophf
0e518bddcb don't add usercss vars to empty sections 2017-11-26 04:52:14 +03:00
tophf
6aef6cdcd7 0 is a valid tab id 2017-11-25 20:24:15 +03:00
tophf
978e5ca9f0 sendMessage()
Promise mode [default]:
  - rejects on receiving {__ERROR__: message} created by
    background.js::onRuntimeMessage
  - suppresses chrome.runtime.lastError
    by browserAction.setText which lacks a callback param in chrome API

Callback mode:
  - enabled by passing a second param
  - doesn't suppress chrome.runtime.lastError
2017-11-25 18:00:38 +03:00
tophf
8f04e17d27 fix #223 - Android compatibility 2017-11-25 16:25:20 +03:00