Commit Graph

150 Commits

Author SHA1 Message Date
tophf
e84afd9a20 fix a copypaste error 2018-02-03 06:31:43 +03:00
tophf
75a9ce4696 don't overwrite url in stylus-iframe attr with "true" 2018-01-20 16:26:13 +03:00
tophf
a3962b7adf put https://top.site.origin in "stylus-iframe" attr 2018-01-19 15:37:26 +03:00
tophf
0fa391732b workaround for Chrome devtools bug (fixed in v65)
recreate the style element on style code change because older devtools inspector can't edit injected rules after we update textContent of an existing element
2018-01-15 19:43:35 +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
9fdabe3582 simplify getStyles
* 'asHash' implies 'enabled'
* 'length' is added to the style hash
2018-01-10 22:18:30 +03:00
tophf
11dbfea897 apply.js: FF forgets the extra methods on MutationObserver 2018-01-10 19:50:48 +03:00
tophf
9aa382ebf5 disconnect an orphaned chrome.runtime message/port listener 2018-01-10 19:50:29 +03:00
tophf
825fd00a80 fixes for FF52 2018-01-07 12:50:17 +03:00
tophf
a339b50e27 allow live-reload without reinstalling 2018-01-04 13:36:27 +03:00
tophf
c9e60dc19b t() is not defined in content scripts 2018-01-04 11:13:40 +03:00
tophf
3418ac9cb9 FF: support private/container tabs 2018-01-03 10:43:56 +03:00
tophf
6607455e8f silence eslint; switch shirt-circuiting to single-line if/else 2017-12-18 10:27:50 +03:00
tophf
0a865318a4 popup: "configure" opens USO page and expands the settings area 2017-12-10 07:56:41 +03:00
tophf
7832c3c581 code cosmetics 2017-12-09 21:31:34 +03:00
tophf
a6fdb49503 content script may run before documentElement is present 2017-12-09 21:29:49 +03:00
tophf
2fe4c0793c countStylesInHash when skipping styleReplaceAll 2017-12-09 21:16:41 +03:00
tophf
cb32b9debf skip styleReplaceAll if same; add some safety checks 2017-12-09 20:37:08 +03:00
tophf
491fcef08b also move style element when it's the first child
see #295
2017-12-09 19:37:31 +03:00
tophf
57e335abb8 raise style restoration limit; don't count own changes 2017-12-09 18:41:05 +03:00
tophf
9486c7f3df don't report usercss as installed on USO if homepage matches 2017-12-09 04:43:02 +03:00
tophf
a71d2fa226 ...even less eager 2017-12-07 11:10:32 +03:00
tophf
6e1a6d1ad6 don't be too eager at restoring style elements to prevent deadlocks 2017-12-07 10:49:47 +03:00
tophf
6d4689e559 ensure own style elements dominance over other style elements 2017-12-07 10:12:01 +03:00
tophf
2b22494f3f move style elements after head/body regardless of prior stuff
fixes #284
2017-12-05 08:50:07 +03:00
tophf
3bf0f7e2f8 FF: ensure styles are ordered correctly in background tabs
should probably help #284
2017-12-05 06:27:51 +03:00
tophf
7de3e37a51 show "Style installed" in manager for styles added while it's open 2017-12-02 07:07:12 +03:00
tophf
bf13383c93 workaround for URLSearchParams not stripping "?" in chrome 49-51 2017-11-28 22:19:00 +03:00
tophf
fb3554a351 simplify orphanCheck; use IIFE; fix comm issues 2017-11-26 04:24:23 +03:00
tophf
babeb695c1 kick out orphaned script 2017-11-26 00:23:38 +03:00
tophf
2495ded507 fixup c8b6672d: restore deleted elements 2017-11-25 23:47:39 +03:00
tophf
aedb02bbb1 install usercss from raw.githubusercontent.com 2017-11-25 18:24:37 +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
3fe3f08407 USO page: animate the update button's spinner on consequent clicks 2017-11-24 13:19:16 +03:00
tophf
c8b6672d79 always sort applied style elements by id 2017-11-24 13:19:13 +03:00
tophf
777adf1bae correctly fix the USO bug with populating settings on their site
previously we disconnected the interceptor on first XHR response, which is not necessarily for the style, so now we wait until an actual one.
2017-11-21 13:42:51 +03:00
tophf
e8d0c7d039 update button on USO page now confirms only on the first click 2017-11-21 13:33:11 +03:00
tophf
f1836f399f try to get style json on USO install page twice
also report errors
fixes #195
2017-11-21 13:23:32 +03:00
tophf
24c60b7e8a fixup 8a1908b7: don't protect disabled elements 2017-11-21 10:59:14 +03:00
tophf
8a1908b760 protect own style elements (100 times max to avoid deadlocks)
fixes #252
2017-11-21 09:45:44 +03:00
tophf
ac8331e6ae FF: use tabs API for XML viewer 2017-11-14 09:52:51 +03:00
tophf
9503acc2bf styleSectionsEqual() order of sections should be identical
Thus we account for the case of multiple sections matching the same URL because the order of rules is part of cascading
2017-11-14 09:38:09 +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
tophf
b6703e7b15 fix disableAll in XML documents: tag names are case-sensitive in XML 2017-11-13 20:25:07 +03:00
tophf
8efe4b806b revert 3cf32048: Chrome 49+ XML viewer works with styles under <html> 2017-11-13 20:09:19 +03:00
eight
29f5daa912 i18n: live reload error 2017-11-09 14:11:25 +08:00
eight
e0bd991482 Fix: promise indent 2017-11-09 09:12:03 +08:00
eight
92b01e19e8 Fix: reindent single then 2017-11-09 09:12:03 +08:00
eight
90be1dae25 Fix: status: 'success' -> success: true 2017-11-09 05:35:45 +08:00
tophf
684f445957 workaround for USO double-firing of install/update events 2017-11-08 07:00:38 +03:00
tophf
d2b9b30239 reliable userAgent detection in FF before 57
fixes #228
2017-11-08 06:53:36 +03:00
eight
398056c262 Fix: _source -> newSource 2017-11-01 11:15:18 +08:00
eight
098dc10f85 Fix: pull out runtimeSend 2017-11-01 11:15:11 +08:00
tophf
e9a7640a3f apply: recognize moz-extension:// 2017-10-20 02:13:01 +03:00
tophf
5064ca1d4e prevent DOM id confusion
DOM elements with an id are propagated as global variables
https://stackoverflow.com/q/6381425
2017-10-18 21:30:17 +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
f194155830 Add: close source tab after install 2017-10-06 16:33:50 +08:00
tophf
869168f727 install: better USO title bug workaround on page>=2 2017-09-30 03:20:59 +03:00
eight
c2eadda708 Add: live-reload 2017-09-25 20:01:50 +08:00
eight
18fd15317e WIP: install page 2017-09-24 11:39:04 +08:00
eight
2b6404cb11 Fix: stop live-reload and refresh the page when style is removed 2017-09-19 08:51:57 +08:00
eight
0852b56ce4 Fix: add set updateUrl option 2017-09-19 08:51:56 +08:00
eight
ead006a311 Fix: remove button style 2017-09-19 05:10:45 +08:00
eight
1d829fe8f5 Fix: split up usercss logic from saveStyle 2017-09-18 11:34:12 +08:00
eight
94e5336018 Fix: don't set updateUrl to a local file 2017-09-18 07:39:46 +08:00
tophf
054528edde apply: SVG className workaround 2017-09-17 10:56:03 +03:00
eight
a0495f466f Change style structure 2017-09-16 10:14:23 +08:00
eight
eaf33afbe3 Rewrite parser, add uso preprocessor 2017-09-15 13:40:04 +08:00
eight
21256e32f7 Fix: wrap long line 2017-09-15 08:11:18 +08:00
eight
553cc94bc8 Fix: style install button 2017-09-15 01:30:26 +08:00
eight
a542d227ec Fix: adjust install page layout 2017-09-14 11:06:32 +08:00
eight
97fd2aa083 Compat: firefox 2017-09-13 23:35:34 +08:00
eight
b61b058824 Fix: pull out makeLink 2017-09-13 17:34:27 +08:00
eight
fa06b29748 Fix: add 'v' before version 2017-09-13 16:54:09 +08:00
eight
93fe23f2a6 Fix: innerHTML -> textContent 2017-09-13 01:39:34 +08:00
eight
acaa1ed158 Fix: appendChild -> textContent 2017-09-12 23:23:56 +08:00
eight
2506b957f8 Fix: rewrite loadScript, merge onDOMscripted, injectCSS, injectScript 2017-09-12 23:19:16 +08:00
eight
431dbdc81c Fix: remove escapeHtml completely 2017-09-12 20:03:24 +08:00
eight
43b912c195 Fix: remove suffix check 2017-09-12 19:30:53 +08:00
eight
bbe37adfef Fix: drop tHTML 2017-09-12 19:28:20 +08:00
eight
97b4d91ec9 Fix: communicate -> runtimeSend 2017-09-12 18:58:39 +08:00
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
eight
5fecd7e91b Drop .before, .after, .prepend, .append 2017-09-12 04:10:20 +08:00
eight
e2ea93a3c7 Fix: decodeURI -> encodeURI 2017-09-12 03:56:05 +08: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
3730a4e483 Fix: i18n and escapeHtml, url 2017-09-12 02:32:27 +08:00
eight
8c374db353 Add: live-reload 2017-09-10 22:56:44 +08:00
eight
1f44898475 Add: adopt node-semver 2017-09-06 03:08:03 +08:00
eight
3f06ce8152 Fix: don't mix url and updateUrl 2017-09-05 18:48:19 +08:00
eight
6e52d48c6c Add: Add 'applies to' to install page 2017-09-05 18:48:18 +08: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
4dec09708c Rewrite usercss installation page 2017-09-01 18:31:58 +08: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
b011d206cf make disableAll mode more reliable in popup
fixes #159
2017-08-20 17:05:59 +03:00
tophf
a077de3624 fixup! 2017-08-16 14:06:06 +03:00
tophf
93fdd787d4 apply: ensure style elements follow <body> 2017-08-16 14:00:59 +03:00
Rob Garrison
417e3b5de3 Add eqeqeq definition to eslint 2017-07-16 13:07:21 -05:00
Rob Garrison
1940318f0f Fix eslint issues & use arrow functions 2017-07-16 13:07:15 -05:00
Rob Garrison
7a9d629ec8 Restructure folders 2017-07-12 16:26:20 -05:00