@browserless.io/browserless 2.0.0-beta-5 → 2.0.0-beta-7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +2 -0
- package/README.md +11 -11
- package/bin/browserless.js +169 -11
- package/bin/scaffold/README.md +415 -0
- package/bin/scaffold/package.json +21 -0
- package/bin/scaffold/src/hello-world.http.ts +27 -0
- package/bin/scaffold/tsconfig.json +4 -0
- package/build/browserless.js +18 -15
- package/build/browsers/index.d.ts +2 -18
- package/build/browsers/index.js +43 -14
- package/build/file-system.d.ts +5 -0
- package/build/file-system.js +20 -5
- package/build/file-system.spec.d.ts +1 -0
- package/build/file-system.spec.js +44 -0
- package/build/http.d.ts +3 -3
- package/build/http.js +3 -3
- package/build/router.js +2 -4
- package/build/routes/chromium/http/content-post.body.json +8 -8
- package/build/routes/chromium/http/content-post.d.ts +15 -3
- package/build/routes/chromium/http/content-post.js +14 -15
- package/build/routes/chromium/http/download-post.d.ts +16 -3
- package/build/routes/chromium/http/download-post.js +17 -22
- package/build/routes/chromium/http/function-post.d.ts +16 -3
- package/build/routes/chromium/http/function-post.js +17 -22
- package/build/routes/chromium/http/pdf-post.body.json +8 -8
- package/build/routes/chromium/http/pdf-post.d.ts +15 -3
- package/build/routes/chromium/http/pdf-post.js +19 -15
- package/build/routes/chromium/http/performance.d.ts +15 -3
- package/build/routes/chromium/http/performance.js +15 -23
- package/build/routes/chromium/http/scrape-post.body.json +8 -8
- package/build/routes/chromium/http/scrape-post.d.ts +15 -3
- package/build/routes/chromium/http/scrape-post.js +15 -16
- package/build/routes/chromium/http/screenshot-post.body.json +8 -8
- package/build/routes/chromium/http/screenshot-post.d.ts +15 -3
- package/build/routes/chromium/http/screenshot-post.js +18 -15
- package/build/routes/chromium/tests/websocket.spec.js +20 -1
- package/build/routes/chromium/utils/function/handler.js +2 -2
- package/build/routes/chromium/ws/browser.d.ts +13 -3
- package/build/routes/chromium/ws/browser.js +10 -11
- package/build/routes/chromium/ws/cdp-chromium.d.ts +13 -3
- package/build/routes/chromium/ws/cdp-chromium.js +10 -11
- package/build/routes/chromium/ws/page.d.ts +13 -3
- package/build/routes/chromium/ws/page.js +10 -11
- package/build/routes/chromium/ws/playwright-chromium.d.ts +13 -3
- package/build/routes/chromium/ws/playwright-chromium.js +11 -12
- package/build/routes/firefox/ws/playwright-firefox.d.ts +13 -3
- package/build/routes/firefox/ws/playwright-firefox.js +11 -12
- package/build/routes/management/http/config-get.d.ts +15 -3
- package/build/routes/management/http/config-get.js +15 -20
- package/build/routes/management/http/metrics-get.d.ts +15 -3
- package/build/routes/management/http/metrics-get.js +16 -21
- package/build/routes/management/http/metrics-total-get.d.ts +15 -3
- package/build/routes/management/http/metrics-total-get.js +16 -21
- package/build/routes/management/http/sessions-get.d.ts +15 -3
- package/build/routes/management/http/sessions-get.js +16 -20
- package/build/routes/management/http/static-get.d.ts +15 -3
- package/build/routes/management/http/static-get.js +15 -20
- package/build/routes/webkit/ws/playwright-webkit.d.ts +13 -3
- package/build/routes/webkit/ws/playwright-webkit.js +11 -12
- package/build/server.js +0 -1
- package/build/types.d.ts +48 -38
- package/build/types.js +135 -0
- package/extensions/ublock/1p-filters.html +0 -1
- package/extensions/ublock/3p-filters.html +0 -2
- package/extensions/ublock/_locales/bg/messages.json +6 -6
- package/extensions/ublock/_locales/br_FR/messages.json +14 -14
- package/extensions/ublock/_locales/bs/messages.json +8 -8
- package/extensions/ublock/_locales/ca/messages.json +1 -1
- package/extensions/ublock/_locales/da/messages.json +5 -5
- package/extensions/ublock/_locales/fa/messages.json +1 -1
- package/extensions/ublock/_locales/fi/messages.json +6 -6
- package/extensions/ublock/_locales/hr/messages.json +4 -4
- package/extensions/ublock/_locales/nb/messages.json +1 -1
- package/extensions/ublock/_locales/no/messages.json +1 -1
- package/extensions/ublock/_locales/ro/messages.json +2 -2
- package/extensions/ublock/_locales/ru/messages.json +1 -1
- package/extensions/ublock/_locales/sk/messages.json +1 -1
- package/extensions/ublock/_locales/sv/messages.json +2 -2
- package/extensions/ublock/_locales/te/messages.json +17 -17
- package/extensions/ublock/_locales/vi/messages.json +12 -12
- package/extensions/ublock/_locales/zh_TW/messages.json +13 -13
- package/extensions/ublock/assets/assets.json +3 -3
- package/extensions/ublock/assets/resources/scriptlets.js +218 -97
- package/extensions/ublock/assets/thirdparties/easylist/easylist.txt +3010 -2056
- package/extensions/ublock/assets/thirdparties/easylist/easyprivacy.txt +624 -433
- package/extensions/ublock/assets/thirdparties/pgl.yoyo.org/as/serverlist +93 -24
- package/extensions/ublock/assets/thirdparties/publicsuffix.org/list/effective_tld_names.dat +7 -15
- package/extensions/ublock/assets/thirdparties/urlhaus-filter/urlhaus-filter-online.txt +795 -777
- package/extensions/ublock/assets/ublock/badware.min.txt +138 -72
- package/extensions/ublock/assets/ublock/filters.min.txt +1929 -2735
- package/extensions/ublock/assets/ublock/privacy.min.txt +57 -26
- package/extensions/ublock/assets/ublock/quick-fixes.min.txt +125 -74
- package/extensions/ublock/assets/ublock/unbreak.min.txt +46 -53
- package/extensions/ublock/css/codemirror.css +8 -7
- package/extensions/ublock/css/dom-inspector.css +40 -0
- package/extensions/ublock/css/logger-ui-inspector.css +7 -1
- package/extensions/ublock/css/logger-ui.css +12 -5
- package/extensions/ublock/css/popup-fenix.css +1 -1
- package/extensions/ublock/devtools.html +1 -0
- package/extensions/ublock/js/1p-filters.js +4 -3
- package/extensions/ublock/js/3p-filters.js +25 -31
- package/extensions/ublock/js/about.js +1 -1
- package/extensions/ublock/js/advanced-settings.js +1 -1
- package/extensions/ublock/js/asset-viewer.js +1 -1
- package/extensions/ublock/js/assets.js +74 -44
- package/extensions/ublock/js/background.js +9 -3
- package/extensions/ublock/js/base64-custom.js +1 -1
- package/extensions/ublock/js/benchmarks.js +1 -1
- package/extensions/ublock/js/biditrie.js +1 -1
- package/extensions/ublock/js/broadcast.js +75 -0
- package/extensions/ublock/js/cachestorage.js +68 -45
- package/extensions/ublock/js/click2load.js +1 -1
- package/extensions/ublock/js/cloud-ui.js +1 -1
- package/extensions/ublock/js/code-viewer.js +1 -1
- package/extensions/ublock/js/codemirror/search-thread.js +1 -1
- package/extensions/ublock/js/codemirror/search.js +1 -1
- package/extensions/ublock/js/codemirror/ubo-dynamic-filtering.js +1 -1
- package/extensions/ublock/js/codemirror/ubo-static-filtering.js +98 -24
- package/extensions/ublock/js/commands.js +1 -1
- package/extensions/ublock/js/console.js +1 -1
- package/extensions/ublock/js/contentscript-extra.js +1 -1
- package/extensions/ublock/js/contentscript.js +1 -3
- package/extensions/ublock/js/contextmenu.js +1 -1
- package/extensions/ublock/js/cosmetic-filtering.js +4 -4
- package/extensions/ublock/js/dashboard-common.js +1 -1
- package/extensions/ublock/js/dashboard.js +1 -1
- package/extensions/ublock/js/devtools.js +23 -15
- package/extensions/ublock/js/diff-updater.js +3 -3
- package/extensions/ublock/js/document-blocked.js +1 -1
- package/extensions/ublock/js/dom-inspector.js +68 -0
- package/extensions/ublock/js/dom.js +1 -1
- package/extensions/ublock/js/dyna-rules.js +1 -1
- package/extensions/ublock/js/dynamic-net-filtering.js +1 -1
- package/extensions/ublock/js/epicker-ui.js +35 -59
- package/extensions/ublock/js/fa-icons.js +1 -1
- package/extensions/ublock/js/filtering-context.js +1 -1
- package/extensions/ublock/js/filtering-engines.js +1 -1
- package/extensions/ublock/js/hnswitches.js +1 -1
- package/extensions/ublock/js/hntrie.js +1 -1
- package/extensions/ublock/js/html-filtering.js +1 -1
- package/extensions/ublock/js/httpheader-filtering.js +1 -1
- package/extensions/ublock/js/i18n.js +1 -1
- package/extensions/ublock/js/is-webrtc-supported.js +1 -1
- package/extensions/ublock/js/logger-ui-inspector.js +203 -145
- package/extensions/ublock/js/logger-ui.js +21 -5
- package/extensions/ublock/js/logger.js +6 -2
- package/extensions/ublock/js/lz4.js +2 -2
- package/extensions/ublock/js/messaging.js +266 -166
- package/extensions/ublock/js/mrucache.js +58 -0
- package/extensions/ublock/js/pagestore.js +1 -1
- package/extensions/ublock/js/popup-fenix.js +2 -1
- package/extensions/ublock/js/redirect-engine.js +1 -1
- package/extensions/ublock/js/redirect-resources.js +1 -12
- package/extensions/ublock/js/reverselookup-worker.js +1 -1
- package/extensions/ublock/js/reverselookup.js +1 -1
- package/extensions/ublock/js/scriptlet-filtering-core.js +300 -0
- package/extensions/ublock/js/scriptlet-filtering.js +122 -350
- package/extensions/ublock/js/scriptlets/cosmetic-logger.js +36 -47
- package/extensions/ublock/js/scriptlets/cosmetic-off.js +1 -1
- package/extensions/ublock/js/scriptlets/cosmetic-on.js +1 -1
- package/extensions/ublock/js/scriptlets/cosmetic-report.js +1 -1
- package/extensions/ublock/js/scriptlets/dom-inspector.js +341 -323
- package/extensions/ublock/js/scriptlets/dom-survey-elements.js +1 -1
- package/extensions/ublock/js/scriptlets/dom-survey-scripts.js +1 -1
- package/extensions/ublock/js/scriptlets/epicker.js +80 -89
- package/extensions/ublock/js/scriptlets/load-3p-css.js +1 -1
- package/extensions/ublock/js/scriptlets/load-large-media-all.js +1 -1
- package/extensions/ublock/js/scriptlets/load-large-media-interactive.js +1 -1
- package/extensions/ublock/js/scriptlets/noscript-spoof.js +1 -1
- package/extensions/ublock/js/scriptlets/should-inject-contentscript.js +1 -1
- package/extensions/ublock/js/scriptlets/subscriber.js +1 -1
- package/extensions/ublock/js/scriptlets/updater.js +20 -3
- package/extensions/ublock/js/settings.js +1 -1
- package/extensions/ublock/js/start.js +19 -20
- package/extensions/ublock/js/static-dnr-filtering.js +1 -1
- package/extensions/ublock/js/static-ext-filtering-db.js +1 -1
- package/extensions/ublock/js/static-ext-filtering.js +1 -1
- package/extensions/ublock/js/static-filtering-io.js +1 -1
- package/extensions/ublock/js/static-filtering-parser.js +5 -3
- package/extensions/ublock/js/static-net-filtering.js +57 -37
- package/extensions/ublock/js/storage.js +49 -29
- package/extensions/ublock/js/support.js +4 -4
- package/extensions/ublock/js/tab.js +1 -1
- package/extensions/ublock/js/tasks.js +1 -1
- package/extensions/ublock/js/text-encode.js +1 -1
- package/extensions/ublock/js/text-utils.js +1 -1
- package/extensions/ublock/js/theme.js +1 -1
- package/extensions/ublock/js/traffic.js +2 -1
- package/extensions/ublock/js/ublock.js +15 -11
- package/extensions/ublock/js/uri-utils.js +1 -1
- package/extensions/ublock/js/url-net-filtering.js +1 -1
- package/extensions/ublock/js/utils.js +1 -73
- package/extensions/ublock/js/vapi-background-ext.js +1 -1
- package/extensions/ublock/js/vapi-background.js +92 -83
- package/extensions/ublock/js/vapi-client.js +4 -33
- package/extensions/ublock/js/vapi-common.js +16 -30
- package/extensions/ublock/js/vapi.js +1 -1
- package/extensions/ublock/js/wasm/biditrie.wat +1 -1
- package/extensions/ublock/js/wasm/hntrie.wat +1 -1
- package/extensions/ublock/js/webext.js +1 -1
- package/extensions/ublock/js/whitelist.js +1 -1
- package/extensions/ublock/logger-ui.html +2 -2
- package/extensions/ublock/manifest.json +1 -1
- package/extensions/ublock/support.html +0 -1
- package/extensions/ublock/web_accessible_resources/dom-inspector.html +25 -0
- package/extensions/ublock/web_accessible_resources/epicker-ui.html +0 -1
- package/extensions/ublock/web_accessible_resources/googletagservices_gpt.js +1 -0
- package/package.json +7 -19
- package/scripts/build-open-api.js +7 -4
- package/src/browserless.ts +42 -18
- package/src/browsers/index.ts +48 -20
- package/src/file-system.spec.ts +58 -0
- package/src/file-system.ts +36 -8
- package/src/http.ts +3 -3
- package/src/router.ts +2 -6
- package/src/routes/chromium/http/content-post.ts +13 -16
- package/src/routes/chromium/http/download-post.ts +16 -27
- package/src/routes/chromium/http/function-post.ts +16 -25
- package/src/routes/chromium/http/pdf-post.ts +19 -15
- package/src/routes/chromium/http/performance.ts +14 -26
- package/src/routes/chromium/http/scrape-post.ts +14 -16
- package/src/routes/chromium/http/screenshot-post.ts +18 -15
- package/src/routes/chromium/tests/websocket.spec.ts +28 -1
- package/src/routes/chromium/utils/function/handler.ts +2 -1
- package/src/routes/chromium/ws/browser.ts +10 -12
- package/src/routes/chromium/ws/cdp-chromium.ts +10 -12
- package/src/routes/chromium/ws/page.ts +10 -12
- package/src/routes/chromium/ws/playwright-chromium.ts +10 -12
- package/src/routes/firefox/ws/playwright-firefox.ts +10 -12
- package/src/routes/management/http/config-get.ts +14 -23
- package/src/routes/management/http/metrics-get.ts +15 -24
- package/src/routes/management/http/metrics-total-get.ts +15 -26
- package/src/routes/management/http/sessions-get.ts +15 -23
- package/src/routes/management/http/static-get.ts +14 -22
- package/src/routes/webkit/ws/playwright-webkit.ts +10 -12
- package/src/server.ts +0 -1
- package/src/types.ts +59 -45
- package/static/docs/browserless-logo-inline.svg +1 -0
- package/static/docs/index.html +27 -0
- package/static/docs/swagger.json +33 -33
- package/static/function/client.js +626 -78
- package/extensions/ublock/js/vapi-client-extra.js +0 -312
- package/extensions/ublock/web_accessible_resources/addthis_widget.js +0 -39
- package/extensions/ublock/web_accessible_resources/ligatus_angular-tag.js +0 -29
- package/extensions/ublock/web_accessible_resources/monkeybroker.js +0 -43
- package/extensions/ublock/web_accessible_resources/mxpnl_mixpanel.js +0 -51
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*******************************************************************************
|
|
2
2
|
|
|
3
|
-
uBlock Origin - a
|
|
3
|
+
uBlock Origin - a comprehensive, efficient content blocker
|
|
4
4
|
Copyright (C) 2015-present Raymond Hill
|
|
5
5
|
|
|
6
6
|
This program is free software: you can redistribute it and/or modify
|
|
@@ -19,6 +19,8 @@
|
|
|
19
19
|
Home: https://github.com/gorhill/uBlock
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
|
+
/* globals browser */
|
|
23
|
+
|
|
22
24
|
'use strict';
|
|
23
25
|
|
|
24
26
|
/******************************************************************************/
|
|
@@ -28,12 +30,8 @@
|
|
|
28
30
|
|
|
29
31
|
/******************************************************************************/
|
|
30
32
|
|
|
31
|
-
if (
|
|
32
|
-
|
|
33
|
-
vAPI.domWatcher instanceof Object === false
|
|
34
|
-
) {
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
33
|
+
if ( typeof vAPI !== 'object' ) { return; }
|
|
34
|
+
if ( vAPI.domWatcher instanceof Object === false ) { return; }
|
|
37
35
|
|
|
38
36
|
const reHasCSSCombinators = /[ >+~]/;
|
|
39
37
|
const simpleDeclarativeSet = new Set();
|
|
@@ -51,16 +49,16 @@ const loggedSelectors = new Set();
|
|
|
51
49
|
|
|
52
50
|
const rePseudoElements = /:(?::?after|:?before|:[a-z-]+)$/;
|
|
53
51
|
|
|
54
|
-
|
|
52
|
+
function hasSelector(selector, context = document) {
|
|
55
53
|
try {
|
|
56
54
|
return context.querySelector(selector) !== null;
|
|
57
55
|
}
|
|
58
56
|
catch(ex) {
|
|
59
57
|
}
|
|
60
58
|
return false;
|
|
61
|
-
}
|
|
59
|
+
}
|
|
62
60
|
|
|
63
|
-
|
|
61
|
+
function safeMatchSelector(selector, context) {
|
|
64
62
|
const safeSelector = rePseudoElements.test(selector)
|
|
65
63
|
? selector.replace(rePseudoElements, '')
|
|
66
64
|
: selector;
|
|
@@ -70,9 +68,9 @@ const safeMatchSelector = function(selector, context) {
|
|
|
70
68
|
catch(ex) {
|
|
71
69
|
}
|
|
72
70
|
return false;
|
|
73
|
-
}
|
|
71
|
+
}
|
|
74
72
|
|
|
75
|
-
|
|
73
|
+
function safeQuerySelector(selector, context = document) {
|
|
76
74
|
const safeSelector = rePseudoElements.test(selector)
|
|
77
75
|
? selector.replace(rePseudoElements, '')
|
|
78
76
|
: selector;
|
|
@@ -82,9 +80,9 @@ const safeQuerySelector = function(selector, context = document) {
|
|
|
82
80
|
catch(ex) {
|
|
83
81
|
}
|
|
84
82
|
return null;
|
|
85
|
-
}
|
|
83
|
+
}
|
|
86
84
|
|
|
87
|
-
|
|
85
|
+
function safeGroupSelectors(selectors) {
|
|
88
86
|
const arr = Array.isArray(selectors)
|
|
89
87
|
? selectors
|
|
90
88
|
: Array.from(selectors);
|
|
@@ -93,11 +91,11 @@ const safeGroupSelectors = function(selectors) {
|
|
|
93
91
|
? s.replace(rePseudoElements, '')
|
|
94
92
|
: s;
|
|
95
93
|
}).join(',\n');
|
|
96
|
-
}
|
|
94
|
+
}
|
|
97
95
|
|
|
98
96
|
/******************************************************************************/
|
|
99
97
|
|
|
100
|
-
|
|
98
|
+
function processDeclarativeSimple(node, out) {
|
|
101
99
|
if ( simpleDeclarativeSet.size === 0 ) { return; }
|
|
102
100
|
if ( simpleDeclarativeStr === undefined ) {
|
|
103
101
|
simpleDeclarativeStr = safeGroupSelectors(simpleDeclarativeSet);
|
|
@@ -120,11 +118,11 @@ const processDeclarativeSimple = function(node, out) {
|
|
|
120
118
|
simpleDeclarativeStr = undefined;
|
|
121
119
|
loggedSelectors.add(selector);
|
|
122
120
|
}
|
|
123
|
-
}
|
|
121
|
+
}
|
|
124
122
|
|
|
125
123
|
/******************************************************************************/
|
|
126
124
|
|
|
127
|
-
|
|
125
|
+
function processDeclarativeComplex(out) {
|
|
128
126
|
if ( complexDeclarativeSet.size === 0 ) { return; }
|
|
129
127
|
if ( complexDeclarativeStr === undefined ) {
|
|
130
128
|
complexDeclarativeStr = safeGroupSelectors(complexDeclarativeSet);
|
|
@@ -137,7 +135,7 @@ const processDeclarativeComplex = function(out) {
|
|
|
137
135
|
complexDeclarativeStr = undefined;
|
|
138
136
|
loggedSelectors.add(selector);
|
|
139
137
|
}
|
|
140
|
-
}
|
|
138
|
+
}
|
|
141
139
|
|
|
142
140
|
/******************************************************************************/
|
|
143
141
|
|
|
@@ -156,7 +154,7 @@ function processProcedural(out) {
|
|
|
156
154
|
|
|
157
155
|
/******************************************************************************/
|
|
158
156
|
|
|
159
|
-
|
|
157
|
+
function processExceptions(out) {
|
|
160
158
|
if ( exceptionDict.size === 0 ) { return; }
|
|
161
159
|
if ( exceptionStr === undefined ) {
|
|
162
160
|
exceptionStr = safeGroupSelectors(exceptionDict.keys());
|
|
@@ -169,18 +167,18 @@ const processExceptions = function(out) {
|
|
|
169
167
|
exceptionStr = undefined;
|
|
170
168
|
loggedSelectors.add(raw);
|
|
171
169
|
}
|
|
172
|
-
}
|
|
170
|
+
}
|
|
173
171
|
|
|
174
172
|
/******************************************************************************/
|
|
175
173
|
|
|
176
|
-
|
|
174
|
+
function processProceduralExceptions(out) {
|
|
177
175
|
if ( proceduralExceptionDict.size === 0 ) { return; }
|
|
178
176
|
for ( const exception of proceduralExceptionDict.values() ) {
|
|
179
177
|
if ( exception.test() === false ) { continue; }
|
|
180
178
|
out.push(`#@#${exception.raw}`);
|
|
181
179
|
proceduralExceptionDict.delete(exception.raw);
|
|
182
180
|
}
|
|
183
|
-
}
|
|
181
|
+
}
|
|
184
182
|
|
|
185
183
|
/******************************************************************************/
|
|
186
184
|
|
|
@@ -313,41 +311,32 @@ const handlers = {
|
|
|
313
311
|
}
|
|
314
312
|
};
|
|
315
313
|
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
const shutdown = function() {
|
|
319
|
-
processTimer.clear();
|
|
320
|
-
attributeObserver.disconnect();
|
|
321
|
-
if ( typeof vAPI !== 'object' ) { return; }
|
|
322
|
-
if ( vAPI.domFilterer instanceof Object ) {
|
|
323
|
-
vAPI.domFilterer.removeListener(handlers);
|
|
324
|
-
}
|
|
325
|
-
if ( vAPI.domWatcher instanceof Object ) {
|
|
326
|
-
vAPI.domWatcher.removeListener(handlers);
|
|
327
|
-
}
|
|
328
|
-
if ( vAPI.broadcastListener instanceof Object ) {
|
|
329
|
-
vAPI.broadcastListener.remove(broadcastListener);
|
|
330
|
-
}
|
|
331
|
-
};
|
|
314
|
+
vAPI.domWatcher.addListener(handlers);
|
|
332
315
|
|
|
333
316
|
/******************************************************************************/
|
|
334
317
|
|
|
335
|
-
const
|
|
318
|
+
const broadcastHandler = msg => {
|
|
336
319
|
if ( msg.what === 'loggerDisabled' ) {
|
|
337
320
|
shutdown();
|
|
338
321
|
}
|
|
339
322
|
};
|
|
340
323
|
|
|
324
|
+
browser.runtime.onMessage.addListener(broadcastHandler);
|
|
325
|
+
|
|
341
326
|
/******************************************************************************/
|
|
342
327
|
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
328
|
+
function shutdown() {
|
|
329
|
+
browser.runtime.onMessage.removeListener(broadcastHandler);
|
|
330
|
+
processTimer.clear();
|
|
331
|
+
attributeObserver.disconnect();
|
|
332
|
+
if ( typeof vAPI !== 'object' ) { return; }
|
|
333
|
+
if ( vAPI.domFilterer instanceof Object ) {
|
|
334
|
+
vAPI.domFilterer.removeListener(handlers);
|
|
346
335
|
}
|
|
347
|
-
vAPI.
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
336
|
+
if ( vAPI.domWatcher instanceof Object ) {
|
|
337
|
+
vAPI.domWatcher.removeListener(handlers);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
351
340
|
|
|
352
341
|
/******************************************************************************/
|
|
353
342
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*******************************************************************************
|
|
2
2
|
|
|
3
|
-
uBlock Origin - a
|
|
3
|
+
uBlock Origin - a comprehensive, efficient content blocker
|
|
4
4
|
Copyright (C) 2015-2018 Raymond Hill
|
|
5
5
|
|
|
6
6
|
This program is free software: you can redistribute it and/or modify
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*******************************************************************************
|
|
2
2
|
|
|
3
|
-
uBlock Origin - a
|
|
3
|
+
uBlock Origin - a comprehensive, efficient content blocker
|
|
4
4
|
Copyright (C) 2015-2018 Raymond Hill
|
|
5
5
|
|
|
6
6
|
This program is free software: you can redistribute it and/or modify
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*******************************************************************************
|
|
2
2
|
|
|
3
|
-
uBlock Origin - a
|
|
3
|
+
uBlock Origin - a comprehensive, efficient content blocker
|
|
4
4
|
Copyright (C) 2015-present Raymond Hill
|
|
5
5
|
|
|
6
6
|
This program is free software: you can redistribute it and/or modify
|