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

Unified Diff: chrome/content/ui/firstRun.js

Issue 5056848617013248: Issue 1706 - Move first-run page to adblockplusui repository (Closed)
Patch Set: Export variables differently in common.js Created Jan. 7, 2015, 6:58 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 | « chrome/content/ui/firstRun.html ('k') | chrome/content/ui/i18n.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/content/ui/firstRun.js
===================================================================
deleted file mode 100644
--- a/chrome/content/ui/firstRun.js
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- * This file is part of Adblock Plus <http://adblockplus.org/>,
- * Copyright (C) 2006-2014 Eyeo GmbH
- *
- * Adblock Plus 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.
- *
- * Adblock Plus 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 Adblock Plus. If not, see <http://www.gnu.org/licenses/>.
- */
-
-"use strict";
-
-(function()
-{
- // Load subscriptions for features
- var featureSubscriptions = [
- {
- feature: "malware",
- homepage: "http://malwaredomains.com/",
- title: "Malware Domains",
- url: "https://easylist-downloads.adblockplus.org/malwaredomains_full.txt"
- },
- {
- feature: "social",
- homepage: "https://www.fanboy.co.nz/",
- title: "Fanboy's Social Blocking List",
- url: "https://easylist-downloads.adblockplus.org/fanboy-social.txt"
- },
- {
- feature: "tracking",
- homepage: "https://easylist.adblockplus.org/",
- title: "EasyPrivacy",
- url: "https://easylist-downloads.adblockplus.org/easyprivacy.txt"
- }
- ];
-
- function onDOMLoaded()
- {
- // Set up URLs
- var donateLink = E("donate");
- donateLink.href = Utils.getDocLink("donate");
-
- var contributors = E("contributors");
- contributors.href = Utils.getDocLink("contributors");
-
- setLinks("acceptableAdsExplanation", Utils.getDocLink("acceptable_ads_criteria"), openFilters);
- setLinks("share-headline", Utils.getDocLink("contribute"));
-
- if (typeof backgroundPage != "undefined")
- {
- // Show warning if data corruption was detected
- if (backgroundPage.seenDataCorruption)
- {
- E("dataCorruptionWarning").removeAttribute("hidden");
- setLinks("dataCorruptionWarning", Utils.getDocLink("knownIssuesChrome_filterstorage"));
- }
-
- // Show warning if filterlists settings were reinitialized
- if (backgroundPage.filterlistsReinitialized)
- {
- E("filterlistsReinitializedWarning").removeAttribute("hidden");
- setLinks("filterlistsReinitializedWarning", openFilters);
- }
- }
-
- // Show warning if Safari version isn't supported
- var info = require("info");
- if (info.platform == "safari" && (
- Services.vc.compare(info.platformVersion, "6.0") < 0 || // beforeload breaks websites in Safari 5
- Services.vc.compare(info.platformVersion, "6.1") == 0 || // extensions are broken in 6.1 and 7.0
- Services.vc.compare(info.platformVersion, "7.0") == 0
- ))
- E("legacySafariWarning").removeAttribute("hidden");
-
- // Set up feature buttons linked to subscriptions
- featureSubscriptions.forEach(setToggleSubscriptionButton);
- var filterListener = function(action)
- {
- if (/^subscription\.(added|removed|disabled)$/.test(action))
- {
- for (var i = 0; i < featureSubscriptions.length; i++)
- {
- var featureSubscription = featureSubscriptions[i];
- updateToggleButton(featureSubscription.feature, isSubscriptionEnabled(featureSubscription));
- }
- }
- }
- FilterNotifier.addListener(filterListener);
- window.addEventListener("unload", function(event)
- {
- FilterNotifier.removeListener(filterListener);
- }, false);
-
- initSocialLinks();
- }
-
- function isSubscriptionEnabled(featureSubscription)
- {
- return featureSubscription.url in FilterStorage.knownSubscriptions
- && !Subscription.fromURL(featureSubscription.url).disabled;
- }
-
- function setToggleSubscriptionButton(featureSubscription)
- {
- var feature = featureSubscription.feature;
-
- var element = E("toggle-" + feature);
- updateToggleButton(feature, isSubscriptionEnabled(featureSubscription));
- element.addEventListener("click", function(event)
- {
- var subscription = Subscription.fromURL(featureSubscription.url);
- if (isSubscriptionEnabled(featureSubscription))
- FilterStorage.removeSubscription(subscription);
- else
- {
- subscription.disabled = false;
- subscription.title = featureSubscription.title;
- subscription.homepage = featureSubscription.homepage;
- FilterStorage.addSubscription(subscription);
- if (!subscription.lastDownload)
- Synchronizer.execute(subscription);
- }
- }, false);
- }
-
- function openSharePopup(url)
- {
- var iframe = E("share-popup");
- var glassPane = E("glass-pane");
- var popupMessageReceived = false;
-
- var popupMessageListener = function(event)
- {
- var originFilter = Filter.fromText("||adblockplus.org^");
- if (!originFilter.matches(event.origin, "OTHER", null, null))
- return;
-
- var width = event.data.width;
- var height = event.data.height;
- iframe.width = width;
- iframe.height = height;
- iframe.style.marginTop = -height/2 + "px";
- iframe.style.marginLeft = -width/2 + "px";
- popupMessageReceived = true;
- window.removeEventListener("message", popupMessageListener);
- };
- // Firefox requires last parameter to be true to be triggered by unprivileged pages
- window.addEventListener("message", popupMessageListener, false, true);
-
- var popupLoadListener = function()
- {
- if (popupMessageReceived)
- {
- iframe.className = "visible";
-
- var popupCloseListener = function()
- {
- iframe.className = glassPane.className = "";
- document.removeEventListener("click", popupCloseListener);
- };
- document.addEventListener("click", popupCloseListener, false);
- }
- else
- {
- glassPane.className = "";
- window.removeEventListener("message", popupMessageListener);
- }
-
- iframe.removeEventListener("load", popupLoadListener);
- };
- iframe.addEventListener("load", popupLoadListener, false);
-
- iframe.src = url;
- glassPane.className = "visible";
- }
-
- function initSocialLinks()
- {
- var networks = ["twitter", "facebook", "gplus"];
- networks.forEach(function(network)
- {
- var link = E("share-" + network);
- link.addEventListener("click", onSocialLinkClick, false);
- });
- }
-
- function onSocialLinkClick(event)
- {
- // Don't open the share page if the sharing script would be blocked
- var filter = defaultMatcher.matchesAny(event.target.getAttribute("data-script"), "SCRIPT", "adblockplus.org", true);
- if (!(filter instanceof BlockingFilter))
- {
- event.preventDefault();
- openSharePopup(Utils.getDocLink(event.target.id));
- }
- }
-
- function setLinks(id)
- {
- var element = E(id);
- if (!element)
- {
- return;
- }
-
- var links = element.getElementsByTagName("a");
-
- for (var i = 0; i < links.length; i++)
- {
- if (typeof arguments[i + 1] == "string")
- {
- links[i].href = arguments[i + 1];
- links[i].setAttribute("target", "_blank");
- }
- else if (typeof arguments[i + 1] == "function")
- {
- links[i].href = "javascript:void(0);";
- links[i].addEventListener("click", arguments[i + 1], false);
- }
- }
- }
-
- function openFilters()
- {
- if (typeof UI != "undefined")
- UI.openFiltersDialog();
- else
- {
- backgroundPage.openOptions();
- }
- }
-
- function updateToggleButton(feature, isEnabled)
- {
- var button = E("toggle-" + feature);
- if (isEnabled)
- button.classList.remove("off");
- else
- button.classList.add("off");
- }
-
- document.addEventListener("DOMContentLoaded", onDOMLoaded, false);
-})();
« no previous file with comments | « chrome/content/ui/firstRun.html ('k') | chrome/content/ui/i18n.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld