Commit Graph

329 Commits

Author SHA1 Message Date
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
tophf
d97337ded7 fix mozImport: properly discern comments outside of @-moz-document 2017-11-24 13:19:16 +03:00
tophf
479d95711b linter report expands/collapses on click; the state is saved 2017-11-24 13:19:15 +03:00
tophf
fe3b1511f6 add "[x] only Usercss" filter in the manager 2017-11-24 13:19:12 +03:00
tophf
b99391887d add colorpicker hotkey config icon [default: none]
* uses the last submitted color by default
* doesn't insert the default color until a change or the Enter key
* fix a few bugs in colorpicker introduced in the rewrite
2017-11-24 13:19:06 +03:00
tophf
37a62b0407 fix/rewrite/integrate colorpicker
* full rewrite of colorview.js to make it 10-100 times faster (render on demand via extendMode)
* full rewrite of colorpicker.js to simplify CSS
* automatic light/dark theme based on current color of the editor
* fixes, tweaks, speedups
* color spot will always be on the left of its text i.e. no line break on wrapping
* support #RRGGBBAA and #RGBA hex colors
* support "transparent" as rgba(0, 0, 0, 0)
* HEX/hex toggle
* fix HSLA regexp
* Esc/Enter key to close
* innerHTML -> textContent
* toggle the feature correctly
* fade out before autohiding
* always show alpha 1 like devtools does
* set cursor:pointer only on the clickable part of the sliders
* bigger color format switcher with a tooltip
* autofocus input on open, disable spellcheck
* try not to obscure the source color spot & text
* restore focus without scrolling
2017-11-20 15:19:58 +03:00
tophf
10ce4eeefa prefs.subscribe: allow multiple listeners for one key 2017-11-19 15:55:35 +03:00
tophf
9689288bdc new editor option: autoclose brackets/quotes [default: off] 2017-11-17 02:36:05 +03:00
tophf
0ed37c2667 popup: add side borders in Chrome 62+
fixes #226
2017-11-14 11:20:49 +03:00
tophf
94ed435e75 fixup d2b9b302: prevent setting version var to 'undefined' 2017-11-14 11:12:18 +03:00
tophf
3c08342e98 open usercss installer tab next to the source tab 2017-11-14 09:38:08 +03:00
tophf
417d6855ff remove backtrackTo and trimNewLines from mozParser
* backtrackTo is not needed since 2e86c958
* trimNewLines does exactly the same as trim()
2017-11-14 09:24:38 +03:00
tophf
70a827b033 dd69e1e5 followup + handle empty at-values
see #235
2017-11-14 08:55:53 +03:00
tophf
1d463d7820
Merge pull request #134 from eight04/dev-user-css
Install styles from *.user.css file
2017-11-14 08:22:56 +03:00
eight
d02984ee2a Add: expose parseError.index 2017-11-09 15:53:09 +08:00
eight
988a920a2f Fix: use getOwnTab in closeCurrentTab 2017-11-09 14:11:26 +08:00
eight
7842ac752a i18n: styleMetaErrorPreprocessor 2017-11-09 09:12:15 +08:00
eight
09e7d67dd2 Refactor: buildMeta 2017-11-09 09:12:15 +08:00
eight
a1b818f0c5 Fix: invalid default value for dropdown 2017-11-09 09:12:15 +08:00
eight
f86d0fc2e7 Fix: use sticky flag to avoid slicing string 2017-11-09 09:12:15 +08:00
eight
6358162bec Fix: createOption in one line 2017-11-09 09:12:15 +08:00
eight
3a78681d9e Fix: use .map to build varDef 2017-11-09 09:12:14 +08:00
eight
95e3ba13cd Fix: newStyleInUsercss -> newStyleAsUsercss 2017-11-09 09:12:14 +08:00
eight
0c292c3150 Fix: download should throw status code 2017-11-09 09:12:14 +08:00
eight
5f5b06b10c Fix: use FIREFOX variable 2017-11-09 09:12:14 +08:00
eight
2b614bdee2 Fix: dom.js is not a content script anymore 2017-11-09 09:12:13 +08:00
tophf
d2b9b30239 reliable userAgent detection in FF before 57
fixes #228
2017-11-08 06:53:36 +03:00
eight
5a9f78e2ac Add: key:label syntax in var select 2017-11-04 08:38:17 +08:00
eight
db1643e9b8 Refactor: pull out colorParser 2017-11-01 11:18:13 +08:00
eight
71a1c5e18a Fix: old -> oldStyle 2017-11-01 11:17:01 +08:00
eight
f35fbb5b36 Fix: add styleMetaErrorSelectValueMismatch 2017-11-01 11:17:01 +08:00
eight
45e70b2b6a Fix: use Array.isArray 2017-11-01 11:17:01 +08:00
eight
79b6266cf9 Fix: no new line before use strict 2017-11-01 11:13:57 +08:00
eight
62748b3b79 Fix: use arrow function for IIFE 2017-10-30 01:22:10 +08:00
eight
7c2248933a Change: let makeLink accept object 2017-10-15 02:59:55 +08:00
tophf
721dfc4787 export: create blob directly
fixes #211
2017-10-14 04:25:54 +03:00
eight
54076d9f17 Merge branch 'master' of https://github.com/openstyles/stylus into dev-user-css 2017-10-12 16:28:18 +08:00
eight
40ad7837fc Change: allow makeLink to append child. Add rel=noopener 2017-10-12 16:12:34 +08:00
eight
eec52ad239 Revert "Add: detail dialog. Move makeAuthor to dom.js. Move external.svg into"
This reverts commit 5b701d06ad.
2017-10-12 16:10:17 +08:00
eight
5b701d06ad Add: detail dialog. Move makeAuthor to dom.js. Move external.svg into
images.
2017-10-11 14:52:42 +08:00
eight
3906060aef Add: multi-line string syntax 2017-10-09 02:45:26 +08:00
eight
4115705d8f Fix: uso replace doesn't work on var select 2017-10-09 02:45:11 +08:00
eight
c0378e3f05 Fix: uso preprocessor infinite recursion 2017-10-09 02:44:17 +08:00
eight
77b6b6c857 Change: drop looseJSONParse 2017-10-09 01:03:51 +08:00
eight
a901ca29c1 Add: allow array in var select 2017-10-09 00:59:10 +08:00
eight
cd00c20fa4 Fix: newStyleFormat -> newStyleInUsercss 2017-10-09 00:52:05 +08:00
eight
3cb1943648 Add: newStyleFormat option 2017-10-08 23:26:23 +08:00
eight
fc51d806da Fix: force using stylelint when editor mode is not css 2017-10-07 18:00:25 +08:00
eight
56e669fbcf Fix: normalize version 2017-10-06 17:09:28 +08:00
eight
c0514a6699 Change: default linter 2017-10-06 16:33:49 +08:00
tophf
0978308325 openerTabId added in FF57: https://bugzil.la/1238314 2017-09-30 02:40:01 +03:00
tophf
bf9ebab295 extract browser version instead of boolean 2017-09-30 02:32:05 +03:00
eight
7365a8bada Fix: various fixes 2017-09-25 18:43:55 +08:00
eight
d1964bbc16 Fix: make download be able to read file: 2017-09-19 08:51:55 +08:00
eight
1e9ee786ea Fix: normalize new line 2017-09-18 08:16:11 +08:00
eight
aed3698c74 Fix: looseJSONParse doesn't work on chrome 49 2017-09-16 10:14:24 +08:00