Commit Graph

93 Commits

Author SHA1 Message Date
eight
33200dbde4 Fix: cleanup injectContent 2017-09-12 18:34:48 +08:00
eight
8207d608be Fix: injectResource -> injectContent 2017-09-12 18:28:16 +08:00
tophf
a8796b0bd2 prevent race condition in getStyles before dbExec.initialized
fixes #184
2017-09-12 12:12:11 +03:00
eight
d4ddefe8a0 Merge branch 'master' of https://github.com/openstyles/stylus into dev-user-css 2017-09-12 03:40:56 +08:00
eight
f305719db3 Fix: update progress 2017-09-12 01:23:32 +08:00
eight
cb23f89b6a Add: allow saveUsercss to build style 2017-09-10 22:04:43 +08:00
eight
3daff40acf Add: vars validation 2017-09-09 19:29:35 +08:00
eight
1f44898475 Add: adopt node-semver 2017-09-06 03:08:03 +08:00
eight
f74641e20d Add: make filterUsercss build code to get section includes 2017-09-05 18:48:18 +08:00
tophf
36d790e0c2 improve CSS transition suppression on own pages in FF 2017-09-04 01:05:32 +03:00
tophf
538da08a95 fixup d843b4e2: a shallow copy is needed 2017-09-03 22:34:42 +03:00
tophf
50239a49df fixup 53aa239d for new installations 2017-09-03 21:56:46 +03:00
tophf
09010c20a6 enqueue stuff dependent on DB decision 2017-09-03 21:25:19 +03:00
tophf
53aa239da3 fallback to chrome.storage when IndexedDB is dysfunctional 2017-09-03 20:06:42 +03:00
tophf
ea8eaf3146 swap parameters in prefs.subscribe 2017-09-03 20:06:30 +03:00
tophf
d843b4e23f filterStyles: code cosmetics and a bug fix 2017-09-03 19:43:38 +03:00
tophf
519d745f59 globally disable CSS transitions for a moment during page opening
the problem we fix is that since we add the styles asynchronously, the browsers, esp. Firefox, sometimes apply transitions from the null/default state to the one specified in the injected CSS.

supersedes 72e8213b and 4dbca46b
2017-09-03 19:43:37 +03:00
eight
3c40b52f96 Add 'injectResource' message to inject js/css 2017-09-01 18:21:45 +08:00
tophf
c88438c6eb use tryCatch to simplify 7e5396a1 2017-08-30 18:05:22 +03:00
eight
dece4b57f3 Add: install styles from *.user.css file
Fix: handle dup name+namespace

Fix: eslint eqeqeq

Fix: trim @name's spaces

Add: check update for userstyle

Add: build CSS variable

Fix: only check dup when id is not provided

Refactor: userStyle2json -> userstyle.json

Add: style for input

Add: config dialog

Fix: preserve config during update

Fix: onchange doesn't fire on keyboard enter event

Fix: remove empty file

Add: validator. Metas must stay in the same line

Add: warn the user if installation failed

Fix: add some delay before starting installation

Add: open the editor after first installation

Fix: add openEditor to globals

Fix: i18n

Add: preprocessor. Move userstyle.build to background page.

Fix: remove unused global

Fix: preserved unknown prop in saveStyleSource() like saveStyle()

Add: edit userstyle source

Fix: load preprocessor dynamically

Fix: load content script dynamically

Fix: buildCode is async function

Fix: drop Object.entries

Fix: style.sections is undefined

Fix: don't hide the name input but disable it

Fix: query the style before installation

Revert: changes to editor, editor.html

Refactor: use term `usercss` instead of `userstyle`

Fix: don't show homepage action for usercss

Refactor: move script-loader to js/

Refactor: pull out mozParser

Fix: code style

Fix: we don't need to build meta anymore

Fix: use saveUsercss instead of saveStyle to get responsed error

Fix: last is undefined, load script error

Fix: switch to moz-format

Fix: drop injectContentScript. Move usercss check into install-user-css

Fix: response -> respond

Fix: globals -> global

Fix: queryUsercss -> filterUsercss

Fix: add processUsercss function

Fix: only open editor for usercss

Fix: remove findupUsercss fixme

Fix: globals -> global

Fix: globals -> global

Fix: global pollution

Revert: update.js

Refactor: checkStyle

Add: support usercss

Fix: no need to getURL in background page

Fix: merget semver.js into usercss.js

Fix: drop all_urls in match pattern

Fix: drop respondWithError

Move stylus -> stylus-lang

Add stylus-lang/readme

Fix: use include_globs

Fix: global pollution
2017-08-30 17:29:41 +08:00
tophf
37bff1c5c9 handle null response from API in chromeSync 2017-08-28 15:20:38 +03:00
tophf
5330db11af FF: ignore lastError in sendMessage where irrelevant 2017-08-28 15:20:38 +03:00
tophf
cd6bcc6511 FF: when not dom.storage.enabled use dummies 2017-08-28 15:20:38 +03:00
tophf
9946f3c781 regroup some of lint* data and code
* all lint-related js files are prefixed by lint-
* config-related stuff is grouped in linterConfig
* CM helper is rewritten and moved in /edit now that CSSLint supports these features
* chromeSync methods that apply LZString got LZ in their names
* empty string is used for 'disabled' in linter selector
2017-08-28 15:20:37 +03:00
Rob Garrison
988af5f1b8 Store linter rules with sync & LZ compression 2017-08-27 17:20:47 -05:00
Rob Garrison
8dc2115347 Revert no-inline-comments (2ea5a3bbaa2fdb0a) 2017-08-27 17:20:46 -05:00
Rob Garrison
d563495c26 Fix no-inline-comments issues 2017-08-27 17:20:45 -05:00
tophf
d1924c1d63 deglobalize onAttached listener for editor tabs
* bonus: one unconditional global listener less
* bonus: in FF the saved window size is restored on detaching
* theoretically possible drawback: 100+ editor tabs on a slow computer may be slower than before
2017-08-27 17:17:28 +03:00
tophf
8976bd58b8 inform when dysfunctional due to FF options 2017-08-26 15:34:27 +03:00
tophf
0d038c59bc make getDomains foolproof
fixes #172
2017-08-26 07:57:52 +03:00
tophf
7e5396a11d prevent browser exception bug on sendResponse to a closed tab
fixes #171
2017-08-26 07:51:28 +03:00
tophf
815f8ca959 also find styles for URLs with stripped #hash
kinda fixes #155

as per spec the fragment portion is ignored in @-moz-document:
https://www.w3.org/TR/2012/WD-css3-conditional-20120911/#url-of-doc
but we still respect url("foo#hash") set in userstyles
because the spec is outdated and doesn't account for SPA sites

collateral damage: simplified URLS.supported()
2017-08-18 13:18:19 +03:00
tophf
af41d646dd Don't show editor.contextDelete option in FF; #128 2017-07-31 19:39:44 +03:00
tophf
3ddf812635 Don't count styles on NTP in Chrome 61+, see #122 2017-07-28 08:19:07 +03:00
tophf
3b49d83616 In Chrome 61.0.3161+ NTP can't be styled anymore 2017-07-23 12:42:34 +03:00
tophf
b37b2c5246 fixup e463ca7e: use the actual tab index 2017-07-22 16:57:52 +03:00
tophf
e463ca7ece setBadgeText: skip pre-rendered tabs 2017-07-22 12:56:38 +03:00
Rob Garrison
8cfb37351d Remove unused variables 2017-07-16 14:40:13 -05:00
Rob Garrison
417e3b5de3 Add eqeqeq definition to eslint 2017-07-16 13:07:21 -05:00
Rob Garrison
1a630033bd Use a single declaration per line 2017-07-14 04:10:00 -05:00
Rob Garrison
ac91e25eb4 Move messaging.js file & references 2017-07-13 19:52:40 -05:00
Rob Garrison
bb33ff3981 Fix links & split out edit.css 2017-07-12 16:26:20 -05:00
Rob Garrison
7a9d629ec8 Restructure folders 2017-07-12 16:26:20 -05:00