Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: lib/typoCollector.js

Issue 29366643: Issue 4682 - Remove typo collection functionality from URL Fixer (Closed) Base URL: https://hg.adblockplus.org/urlfixer
Patch Set: Removed some leftovers Created Dec. 8, 2016, 12:47 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « lib/prefs.json ('k') | lib/typoFixer.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/typoCollector.js
===================================================================
deleted file mode 100644
--- a/lib/typoCollector.js
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * This file is part of the URL Fixer,
- * Copyright (C) 2006-2016 Eyeo GmbH
- *
- * URL Fixer is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 3 as
- * published by the Free Software Foundation.
- *
- * URL Fixer 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 URL Fixer. If not, see <http://www.gnu.org/licenses/>.
- */
-
-Cu.import("resource://gre/modules/Services.jsm");
-
-let {Prefs} = require("prefs");
-let {WindowObserver} = require("windowObserver");
-
-let DOMAIN_TYPED = 1;
-let DOMAIN_TYPO = 2;
-let DOMAIN_CORRECTION = 3;
-let DOMAIN_FALSE_POSITIVE = 4;
-
-let domains = null;
-let timer = null;
-
-// Initialize and make sure to react to pref changes
-if (Prefs.domainOptIn)
- startCollection();
-Prefs.addListener(function(name)
-{
- if (name != "domainOptIn")
- return;
- if (Prefs.domainOptIn)
- {
- Prefs.domainOptInAsk = true;
- startCollection();
- }
- else
- stopCollection();
-});
-
-// Make sure to intercept TypedItCollectorInit event from web pages
-new WindowObserver({
- applyToWindow: function(window)
- {
- if (window.document.documentElement.getAttribute("windowtype") != "navigator:browser")
- return;
-
- window.document.addEventListener("TypedItCollectorInit", initWebUI, false, true);
- },
-
- removeFromWindow: function(window)
- {
- if (window.document.documentElement.getAttribute("windowtype") != "navigator:browser")
- return;
-
- window.document.removeEventListener("TypedItCollectorInit", initWebUI, false, true);
- }
-});
-
-exports.onBrowserInitialized = onBrowserInitialized;
-function onBrowserInitialized(window)
-{
- // Don't do anything on Fennec.
- if ("Browser" in window || "BrowserApp" in window)
- return;
-
- if (Prefs.counter < 5)
- Prefs.counter++;
- else if (!Prefs.domainOptInAsk && !Prefs.domainOptIn)
- window.openDialog("chrome://url-fixer/content/typedItOptIn.xul", "typedItOptIn", "chrome,dialog,centerscreen,titlebar");
-}
-
-exports.processTypedDomain = processTypedDomain;
-function processTypedDomain(domain)
-{
- if (domains && !privateBrowsingEnabled())
- domains[domain] = DOMAIN_TYPED;
-}
-
-exports.processDomainCorrection = processDomainCorrection;
-function processDomainCorrection(domainFrom, domainTo)
-{
- if (domains && !privateBrowsingEnabled())
- {
- domains[domainFrom] = DOMAIN_TYPO;
- domains[domainTo] = DOMAIN_CORRECTION;
- }
-}
-
-exports.processFalsePositive = processFalsePositive;
-function processFalsePositive(domainFrom, domainTo)
-{
- if (domains && !privateBrowsingEnabled())
- {
- domains[domainFrom] = DOMAIN_FALSE_POSITIVE;
- domains[domainTo] = DOMAIN_TYPED;
- }
-}
-
-exports.processUserCorrection = processUserCorrection;
-function processUserCorrection(domainFrom, domainTo)
-{
- if (domains && !privateBrowsingEnabled())
- {
- domains[domainFrom] = DOMAIN_TYPO;
- domains[domainTo] = DOMAIN_CORRECTION;
- }
-}
-
-exports.openDisclosurePage = openDisclosurePage;
-function openDisclosurePage()
-{
- let window = Services.wm.getMostRecentWindow("navigator:browser");
- if (!window)
- return;
-
- let url = "http://urlfixer.org/data/";
- if ("Browser" in window && typeof window.Browser.addTab != 'undefined')
- window.Browser.addTab(url, true);
- else if ("gBrowser" in window)
- window.gBrowser.loadOneTab(url, {inBackground: false});
-}
-
-function startCollection()
-{
- if (domains)
- return;
-
- onShutdown.add(stopCollection);
-
- domains = {};
-
- // Send data every 60 minutes
- timer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer);
- timer.initWithCallback(sendAnonymousData, 1000 * 60 * 60, Ci.nsITimer.TYPE_REPEATING_SLACK);
-}
-
-function stopCollection()
-{
- if (!domains)
- return;
-
- onShutdown.remove(stopCollection);
- domains = null;
-
- try
- {
- timer.cancel();
- }
- catch (e)
- {
- Cu.reportError(e);
- }
- timer = null;
-}
-
-function privateBrowsingEnabled()
-{
- if (!("service" in privateBrowsingEnabled))
- privateBrowsingEnabled.service = Cc["@mozilla.org/privatebrowsing;1"].getService(Ci.nsIPrivateBrowsingService);
-
- return privateBrowsingEnabled.service.privateBrowsingEnabled;
-}
-
-function sendAnonymousData()
-{
- if (!Prefs.domainOptIn || privateBrowsingEnabled())
- return;
-
- let postData = JSON.stringify(domains);
- if (postData == JSON.stringify({}))
- return;
-
- let savedDomains = domains;
- domains = {};
-
- let request = Cc["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(Ci.nsIXMLHttpRequest);
- request.open("POST", "http://urlfixer.org/submitData");
- request.setRequestHeader("Content-Type", "application/json");
- request.addEventListener("load", function(event)
- {
- if (event.target.status != 200)
- for (var i in savedDomains)
- domains[i] = savedDomains[i];
- }, false);
- request.send(postData);
-}
-
-function initWebUI(event)
-{
- if (Prefs.domainOptIn)
- return;
-
- let container = event.target;
- let source = container.ownerDocument.defaultView.location.hostname;
- if (!/(^|\.)urlfixer\.org$/.test(source))
- return;
-
- let button = container.getElementsByClassName("allowButton")[0];
- let message = container.getElementsByClassName("confirmationMessage")[0];
-
- if (!button || !message)
- return;
-
- button.addEventListener("click", function(event)
- {
- if (!event.isTrusted)
- return;
-
- Prefs.domainOptInAsk = true;
- Prefs.domainOptIn = true;
- button.style.display = "none";
- message.style.display = "";
- }, false);
-
- message.style.display = "none";
- container.style.display = "";
-}
« no previous file with comments | « lib/prefs.json ('k') | lib/typoFixer.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld