OLD | NEW |
1 /* | 1 /* |
2 * This file is part of Adblock Plus <http://adblockplus.org/>, | 2 * This file is part of Adblock Plus <http://adblockplus.org/>, |
3 * Copyright (C) 2006-2013 Eyeo GmbH | 3 * Copyright (C) 2006-2013 Eyeo GmbH |
4 * | 4 * |
5 * Adblock Plus is free software: you can redistribute it and/or modify | 5 * Adblock Plus is free software: you can redistribute it and/or modify |
6 * it under the terms of the GNU General Public License version 3 as | 6 * it under the terms of the GNU General Public License version 3 as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
8 * | 8 * |
9 * Adblock Plus is distributed in the hope that it will be useful, | 9 * Adblock Plus is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
12 * GNU General Public License for more details. | 12 * GNU General Public License for more details. |
13 * | 13 * |
14 * You should have received a copy of the GNU General Public License | 14 * You should have received a copy of the GNU General Public License |
15 * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. | 15 * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. |
16 */ | 16 */ |
17 | 17 var require; |
18 var require = AdblockPlus.require; | |
19 var Prefs = require("prefs").Prefs; | |
20 var Utils = require("utils").Utils; | |
21 var Filter = require("filterClasses").Filter; | |
22 | 18 |
23 function addListener(object, type, listener) | 19 function addListener(object, type, listener) |
24 { | 20 { |
25 // all IE versions require the use of attachEvent for message event to work | 21 // all IE versions require the use of attachEvent for message event to work |
26 if (type != "message" && "addEventListener" in object) | 22 if (type != "message" && "addEventListener" in object) |
27 object.addEventListener(type, listener, false); | 23 object.addEventListener(type, listener, false); |
28 else | 24 else |
29 { | 25 { |
30 object.attachEvent("on" + type, function() | 26 object.attachEvent("on" + type, function() |
31 { | 27 { |
32 listener(event); | 28 listener(event); |
33 }); | 29 }); |
34 } | 30 } |
35 } | 31 } |
36 | 32 |
37 function removeListener(object, type, listener) | 33 function removeListener(object, type, listener) |
38 { | 34 { |
39 // all IE versions require the use of detachEvent for message event to work | 35 // all IE versions require the use of detachEvent for message event to work |
40 if (type != "message" && "removeEventListener" in object) | 36 if (type != "message" && "removeEventListener" in object) |
41 object.removeEventListener(type, listener); | 37 object.removeEventListener(type, listener); |
42 else | 38 else |
43 object.detachEvent("on" + type, listener); | 39 object.detachEvent("on" + type, listener); |
44 } | 40 } |
45 | 41 |
46 function openSharePopup(url) | 42 function openSharePopup(url) |
47 { | 43 { |
| 44 var Prefs = require("prefs").Prefs; |
| 45 var Utils = require("utils").Utils; |
| 46 var Filter = require("filterClasses").Filter; |
| 47 |
| 48 |
48 var iframe = document.getElementById("share-popup"); | 49 var iframe = document.getElementById("share-popup"); |
49 var glassPane = document.getElementById("glass-pane"); | 50 var glassPane = document.getElementById("glass-pane"); |
50 var popupMessageReceived = false; | 51 var popupMessageReceived = false; |
51 | 52 |
52 var popupMessageListener = function(event) | 53 var popupMessageListener = function(event) |
53 { | 54 { |
| 55 var Filter = require("filterClasses").Filter; |
54 var originFilter = Filter.fromText("||adblockplus.org^"); | 56 var originFilter = Filter.fromText("||adblockplus.org^"); |
55 if (!originFilter.matches(event.origin, "OTHER", null, null)) | 57 if (!originFilter.matches(event.origin, "OTHER", null, null)) |
56 return; | 58 return; |
57 | 59 |
58 var data = JSON.parse(event.data); | 60 var data = JSON.parse(event.data); |
59 iframe.width = data.width; | 61 iframe.width = data.width; |
60 iframe.height = data.height; | 62 iframe.height = data.height; |
61 popupMessageReceived = true; | 63 popupMessageReceived = true; |
62 removeListener(window, "message", popupMessageListener); | 64 removeListener(window, "message", popupMessageListener); |
63 }; | 65 }; |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 addListener(link, "click", function(e) | 112 addListener(link, "click", function(e) |
111 { | 113 { |
112 e.preventDefault(); | 114 e.preventDefault(); |
113 openSharePopup(getDocLink("share-" + network) + "&variant=" + variant); | 115 openSharePopup(getDocLink("share-" + network) + "&variant=" + variant); |
114 }); | 116 }); |
115 }); | 117 }); |
116 } | 118 } |
117 | 119 |
118 function getDocLink(page) | 120 function getDocLink(page) |
119 { | 121 { |
| 122 var Prefs = require("prefs").Prefs; |
| 123 var Utils = require("utils").Utils; |
| 124 |
120 return Prefs.documentation_link | 125 return Prefs.documentation_link |
121 .replace(/%LINK%/g, page) | 126 .replace(/%LINK%/g, page) |
122 .replace(/%LANG%/g, Utils.appLocale); | 127 .replace(/%LANG%/g, Utils.appLocale); |
123 } | 128 } |
124 | 129 |
125 function initTranslations() | 130 function initTranslations() |
126 { | 131 { |
127 // Map message ID to HTML element ID | 132 // Map message ID to HTML element ID |
128 var mapping = { | 133 var mapping = { |
129 "title-main": "first-run-title-install", | 134 "title-main": "first-run-title-install", |
130 "i18n-features-heading": "first-run-features-heading", | 135 "i18n-features-heading": "first-run-features-heading", |
131 "i18n-feature-betterSurfing": "first-run-feature-betterSurfing", | 136 "i18n-feature-betterSurfing": "first-run-feature-betterSurfing", |
132 "i18n-feature-videoAds": "first-run-feature-videoAds", | 137 "i18n-feature-videoAds": "first-run-feature-videoAds", |
133 "share-text1": "first-run-share1", | 138 "share-text1": "first-run-share1", |
134 "share-text2": "first-run-share2", | 139 "share-text2": "first-run-share2", |
135 "share-donate": "first-run-share2-donate", | 140 "share-donate": "first-run-share2-donate", |
136 "share2-connection": "first-run-share2-or" | 141 "share2-connection": "first-run-share2-or" |
137 }; | 142 }; |
138 | 143 |
139 document.title = AdblockPlus.getMessage("first-run-title-install"); | 144 document.title = Settings.GetMessage("first-run", "first-run-title-install"); |
140 for (var i in mapping) | 145 for (var i in mapping) |
141 { | 146 { |
142 var element = document.getElementById(i); | 147 var element = document.getElementById(i); |
143 element.innerText = AdblockPlus.getMessage(mapping[i]); | 148 element.innerText = Settings.GetMessage("first-run", mapping[i]); |
144 } | 149 } |
145 } | 150 } |
146 | 151 |
147 function init() | 152 function init() |
148 { | 153 { |
| 154 require = function(p){ |
| 155 eval("var response = " + Settings.require(p) + ";"); |
| 156 return response; |
| 157 } |
| 158 |
149 // Choose a share text variant randomly | 159 // Choose a share text variant randomly |
150 var variant = Math.floor(Math.random() * 2) + 1; | 160 var variant = Math.floor(Math.random() * 2) + 1; |
151 var classList = document.documentElement.className.split(" "); | 161 var classList = document.documentElement.className.split(" "); |
152 classList.push("share-variant-" + variant); | 162 classList.push("share-variant-" + variant); |
153 document.documentElement.className = classList.join(" "); | 163 document.documentElement.className = classList.join(" "); |
154 | 164 |
155 initTranslations(); | 165 initTranslations(); |
156 initSocialLinks(variant); | 166 initSocialLinks(variant); |
157 | 167 |
158 var donateLink = document.getElementById("share-donate"); | 168 var donateLink = document.getElementById("share-donate"); |
159 donateLink.href = getDocLink("donate") + "&variant=" + variant; | 169 donateLink.href = getDocLink("donate") + "&variant=" + variant; |
160 } | 170 } |
161 | 171 |
162 addListener(window, "load", init); | 172 addListener(window, "load", init); |
OLD | NEW |