summaryrefslogtreecommitdiff
path: root/data/extensions/jid1-KtlZuoiikVfFew@jetpack/lib/ui.js
diff options
context:
space:
mode:
Diffstat (limited to 'data/extensions/jid1-KtlZuoiikVfFew@jetpack/lib/ui.js')
-rw-r--r--data/extensions/jid1-KtlZuoiikVfFew@jetpack/lib/ui.js190
1 files changed, 0 insertions, 190 deletions
diff --git a/data/extensions/jid1-KtlZuoiikVfFew@jetpack/lib/ui.js b/data/extensions/jid1-KtlZuoiikVfFew@jetpack/lib/ui.js
deleted file mode 100644
index 9229c4c..0000000
--- a/data/extensions/jid1-KtlZuoiikVfFew@jetpack/lib/ui.js
+++ /dev/null
@@ -1,190 +0,0 @@
-/**
- * GNU LibreJS - A browser add-on to block nonfree nontrivial JavaScript.
- * *
- * Copyright (C) 2015 Nik Nyby
- *
- * This file is part of GNU LibreJS.
- *
- * GNU LibreJS is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * GNU LibreJS is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU LibreJS. If not, see <http://www.gnu.org/licenses/>.
- */
-
-let data = require("sdk/self").data;
-let panel = require('sdk/panel');
-let tabs = require("sdk/tabs");
-let {getMostRecentBrowserWindow} = require('sdk/window/utils');
-let {ToggleButton} = require('sdk/ui/button/toggle');
-
-let settings_tab = require('./settings/settings_tab');
-let allowedRef = require("./http_observer/allowed_referrers")
- .allowedReferrers;
-let urlHandler = require("./url_handler/url_handler");
-let removedScripts = require("./script_entries/removed_scripts")
- .removedScripts;
-let acceptedScripts = require("./script_entries/accepted_scripts")
- .acceptedScripts;
-let jsLabelsPagesVisited = require('./html_script_finder/web_labels/js_web_labels')
- .jsLabelsPagesVisited;
-let dryRunScripts = require("./script_entries/dryrun_scripts").dryRunScripts;
-let types = require("./js_checker/constant_types");
-const removeHashCallback = require("./js_checker/js_checker").removeHashCallback;
-
-// move to sub-module later
-const scriptsCached = require("./script_entries/scripts_cache").scriptsCached;
-
-function generateDataURI (encodedText) {
- return "data:text/html;charset=UTF-8;base64," + encodedText;
-}
-
-/**
- * UI
- *
- * A singleton that starts the user interface content scripts.
- */
-let UI = exports.UI = {
- init: function() {
- var mainPanel = panel.Panel({
- contentURL: data.url('display_panel/content/display-panel.html'),
- width: 800,
- height: 500,
- contentScriptFile: [
- data.url('settings/third-party/jquery/jquery.min.js'),
- data.url('display_panel/main_panel.js')
- ],
- onShow: this.showPanelContent,
- onHide: function() {
- toggleButton.state('window', { checked: false });
- }
- });
-
- mainPanel.port.on('hideMainPanel', function () {
- mainPanel.hide();
- });
-
- mainPanel.port.on('allowAllClicked', function (url) {
- url = urlHandler.removeFragment(url);
- allowedRef.addPage(url);
- tabs.activeTab.reload();
- });
-
- mainPanel.port.on('disallowAllClicked', function (url) {
- console.debug('url is', url);
- url = urlHandler.removeFragment(url);
- console.debug('before clear, url is in allowedRef',
- allowedRef.urlInAllowedReferrers(url));
- allowedRef.clearSinglePageEntry(url);
- console.debug('after clear, url is in allowedRef',
- allowedRef.urlInAllowedReferrers(url));
- mainPanel.hide();
- tabs.activeTab.reload();
- });
-
- mainPanel.port.on('openInTab', function (text) {
- var str = generateDataURI(text);
- tabs.open(str);
- mainPanel.hide();
- });
-
- mainPanel.port.on('whitelistByHash', function(
- hash, url, name, reason
- ) {
- console.debug("hash is", hash);
- url = urlHandler.removeFragment(url);
- /* var cached_result = scriptsCached.isCached(hash);
- if (cached_results) {
- reason = cached_result['reason'];
- }*/
- scriptsCached.addEntryByHash(
- hash, types.whitelisted(reason), {}, true, url);
- });
-
- mainPanel.port.on('removeFromWhitelistByHash', function (hash) {
- scriptsCached.removeEntryByHash(hash);
- removeHashCallback(hash);
- });
-
- mainPanel.port.on('openSesame', function () {
- // open the settings tab.
- settings_tab.settingsManager.open();
- mainPanel.hide();
- });
-
- var toggleButton = ToggleButton({
- id: 'librejs-toggle-switch',
- label: 'LibreJS',
- icon: {
- '16': './widget/images/librejs.png',
- '32': './widget/images/librejs-32.png',
- '64': './widget/images/librejs-64.png'
- },
- panel: mainPanel,
- onChange: function(state) {
- if (state.checked) {
- mainPanel.show({
- position: toggleButton
- });
- }
- }
- });
-
- var menuitem = require("menuitem").Menuitem({
- id: 'librejs_settings',
- menuid: 'menu_ToolsPopup',
- label: 'LibreJS Whitelist',
- onCommand: function() {
- settings_tab.settingsManager.open();
- },
- insertBefore: "menu_pageInfo"
- });
- },
-
- showPanelContent: function() {
- let that = this;
- var message, externalEntries,
- externalScripts, urlTabIndex, tabData;
-
- var worker = tabs.activeTab.attach({
- contentScriptFile: [
- data.url('complain/contact_regex.js'),
- data.url('complain/link_types.js'),
- data.url('settings/third-party/jquery/jquery.min.js'),
- data.url('complain/contact_finder.js'),
- data.url('complain/pagemod_finder.js'),
- data.url('script_detector/script_detector.js')
- ],
- contentScriptWhen: 'ready',
- onMessage: function(respData) {
- var url = urlHandler.removeFragment(tabs.activeTab.url);
-
- if (respData.event === 'scriptsFetched') {
- var scriptsData = {
- 'jsLabelsPagesVisited': jsLabelsPagesVisited,
- 'removed': removedScripts.getScripts(url),
- 'accepted': acceptedScripts.getScripts(url),
- 'dryRun': dryRunScripts.getScripts(url)
- };
- that.postMessage({
- 'pageURL': url,
- 'urlData': scriptsData,
- 'isAllowed': allowedRef.urlInAllowedReferrers(url)
- });
- worker.port.emit('pageUrl', url);
- } else {
- that.postMessage(respData);
- }
- }
- });
- }
-};
-
-UI.init();