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

Delta Between Two Patch Sets: popup.js

Issue 29570774: Issue 5593 - Merge notification.js and stats.js into popup.js (Closed) Base URL: https://hg.adblockplus.org/adblockpluschrome/
Left Patch Set: Merge code Created Oct. 10, 2017, 4:58 a.m.
Right Patch Set: Rename ev to event Created Oct. 10, 2017, 5:17 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « popup.html ('k') | stats.js » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
1 /* 1 /*
2 * This file is part of Adblock Plus <https://adblockplus.org/>, 2 * This file is part of Adblock Plus <https://adblockplus.org/>,
3 * Copyright (C) 2006-present eyeo GmbH 3 * Copyright (C) 2006-present 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
18 "use strict"; 18 "use strict";
19 19
20 const shareURL = "https://adblockplus.org/"; 20 const shareURL = "https://adblockplus.org/";
Manish Jethani 2017/10/10 05:08:56 These from stats.js are now constants here.
21 const messageMark = {}; 21 const messageMark = {};
22 22
23 const shareLinks = { 23 const shareLinks = {
24 facebook: ["https://www.facebook.com/dialog/feed", { 24 facebook: ["https://www.facebook.com/dialog/feed", {
25 app_id: "475542399197328", 25 app_id: "475542399197328",
26 link: shareURL, 26 link: shareURL,
27 redirect_uri: "https://www.facebook.com/", 27 redirect_uri: "https://www.facebook.com/",
28 ref: "adcounter", 28 ref: "adcounter",
29 name: messageMark, 29 name: messageMark,
30 actions: JSON.stringify([ 30 actions: JSON.stringify([
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 } 129 }
130 130
131 function toggleCollapse(event) 131 function toggleCollapse(event)
132 { 132 {
133 let collapser = event.currentTarget; 133 let collapser = event.currentTarget;
134 let collapsible = document.getElementById(collapser.dataset.collapsible); 134 let collapsible = document.getElementById(collapser.dataset.collapsible);
135 collapsible.classList.toggle("collapsed"); 135 collapsible.classList.toggle("collapsed");
136 togglePref(collapser.dataset.option); 136 togglePref(collapser.dataset.option);
137 } 137 }
138 138
139 function getDocLinks(notification) 139 function getDocLinks(notification)
Manish Jethani 2017/10/10 05:08:56 This is from notification.js
140 { 140 {
141 if (!notification.links) 141 if (!notification.links)
142 return Promise.resolve([]); 142 return Promise.resolve([]);
143 143
144 return Promise.all( 144 return Promise.all(
145 notification.links.map(link => 145 notification.links.map(link =>
146 { 146 {
147 return new Promise((resolve, reject) => 147 return new Promise((resolve, reject) =>
148 { 148 {
149 chrome.runtime.sendMessage({ 149 chrome.runtime.sendMessage({
(...skipping 24 matching lines...) Expand all
174 174
175 let newElement = document.createElement(tagName); 175 let newElement = document.createElement(tagName);
176 if (tagName == "a" && links && links.length) 176 if (tagName == "a" && links && links.length)
177 newElement.href = links.shift(); 177 newElement.href = links.shift();
178 insertMessage(newElement, value, links); 178 insertMessage(newElement, value, links);
179 element.appendChild(newElement); 179 element.appendChild(newElement);
180 180
181 insertMessage(element, after, links); 181 insertMessage(element, after, links);
182 } 182 }
183 183
184 function createShareLink(network, blockedCount) 184 function createShareLink(network, blockedCount)
Manish Jethani 2017/10/10 05:08:56 This is from stats.js
185 { 185 {
186 let url = shareLinks[network][0]; 186 let url = shareLinks[network][0];
187 let params = shareLinks[network][1]; 187 let params = shareLinks[network][1];
188 188
189 let querystring = []; 189 let querystring = [];
190 for (let key in params) 190 for (let key in params)
191 { 191 {
192 let value = params[key]; 192 let value = params[key];
193 if (value == messageMark) 193 if (value == messageMark)
194 value = chrome.i18n.getMessage("stats_share_message", blockedCount); 194 value = chrome.i18n.getMessage("stats_share_message", blockedCount);
(...skipping 18 matching lines...) Expand all
213 }); 213 });
214 214
215 let statsTotal = document.getElementById("stats-total"); 215 let statsTotal = document.getElementById("stats-total");
216 getPref("blocked_total", blockedTotal => 216 getPref("blocked_total", blockedTotal =>
217 { 217 {
218 ext.i18n.setElementText(statsTotal, "stats_label_total", 218 ext.i18n.setElementText(statsTotal, "stats_label_total",
219 [blockedTotal.toLocaleString()]); 219 [blockedTotal.toLocaleString()]);
220 }); 220 });
221 } 221 }
222 222
223 function share(ev) 223 function share(event)
224 { 224 {
225 getPref("blocked_total", blockedTotal => 225 getPref("blocked_total", blockedTotal =>
226 { 226 {
227 // Easter Egg 227 // Easter Egg
228 if (blockedTotal <= 9000 || blockedTotal >= 10000) 228 if (blockedTotal <= 9000 || blockedTotal >= 10000)
229 { 229 {
230 blockedTotal = blockedTotal.toLocaleString(); 230 blockedTotal = blockedTotal.toLocaleString();
231 } 231 }
232 else 232 else
233 { 233 {
234 blockedTotal = chrome.i18n.getMessage("stats_over", 234 blockedTotal = chrome.i18n.getMessage("stats_over",
235 (9000).toLocaleString()); 235 (9000).toLocaleString());
236 } 236 }
237 237
238 chrome.tabs.create({ 238 chrome.tabs.create({
239 url: createShareLink(ev.target.dataset.social, blockedTotal) 239 url: createShareLink(event.target.dataset.social, blockedTotal)
240 }); 240 });
241 }); 241 });
242 } 242 }
243 243
244 function toggleIconNumber() 244 function toggleIconNumber()
245 { 245 {
246 togglePref("show_statsinicon", showStatsInIcon => 246 togglePref("show_statsinicon", showStatsInIcon =>
247 { 247 {
248 document.getElementById("show-iconnumber").setAttribute( 248 document.getElementById("show-iconnumber").setAttribute(
249 "aria-checked", showStatsInIcon 249 "aria-checked", showStatsInIcon
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
289 chrome.tabs.sendMessage(tab.id, { 289 chrome.tabs.sendMessage(tab.id, {
290 type: "composer.content.getState" 290 type: "composer.content.getState"
291 }, 291 },
292 response => 292 response =>
293 { 293 {
294 if (response && response.active) 294 if (response && response.active)
295 document.body.classList.add("clickhide-active"); 295 document.body.classList.add("clickhide-active");
296 }); 296 });
297 } 297 }
298 298
299 updateStats(); 299 updateStats();
Manish Jethani 2017/10/10 05:08:56 These two lines from the previously separate onLoa
300 document.getElementById("stats-container").removeAttribute("hidden"); 300 document.getElementById("stats-container").removeAttribute("hidden");
301 }); 301 });
302 302
303 document.getElementById("enabled").addEventListener( 303 document.getElementById("enabled").addEventListener(
304 "click", toggleEnabled, false 304 "click", toggleEnabled
305 ); 305 );
306 document.getElementById("clickhide").addEventListener( 306 document.getElementById("clickhide").addEventListener(
307 "click", activateClickHide, false 307 "click", activateClickHide
308 ); 308 );
309 document.getElementById("clickhide-cancel").addEventListener( 309 document.getElementById("clickhide-cancel").addEventListener(
310 "click", cancelClickHide, false 310 "click", cancelClickHide
311 ); 311 );
312 document.getElementById("options").addEventListener("click", () => 312 document.getElementById("options").addEventListener("click", () =>
313 { 313 {
314 chrome.runtime.sendMessage({type: "app.open", what: "options"}); 314 chrome.runtime.sendMessage({type: "app.open", what: "options"});
315 window.close(); 315 window.close();
316 }, false); 316 });
317 317
318 // Set up collapsing of menu items 318 // Set up collapsing of menu items
319 for (let collapser of document.getElementsByClassName("collapse")) 319 for (let collapser of document.getElementsByClassName("collapse"))
320 { 320 {
321 collapser.addEventListener("click", toggleCollapse, false); 321 collapser.addEventListener("click", toggleCollapse);
322 getPref(collapser.dataset.option, value => 322 getPref(collapser.dataset.option, value =>
323 { 323 {
324 if (value) 324 if (value)
325 { 325 {
326 document.getElementById( 326 document.getElementById(
327 collapser.dataset.collapsible 327 collapser.dataset.collapsible
328 ).classList.remove("collapsed"); 328 ).classList.remove("collapsed");
329 } 329 }
330 }); 330 });
331 } 331 }
332 332
333 document.getElementById("share-box").addEventListener("click", share, 333 document.getElementById("share-box").addEventListener("click", share);
Manish Jethani 2017/10/10 05:08:56 onLoad code from stats.js
334 false);
335 let showIconNumber = document.getElementById("show-iconnumber"); 334 let showIconNumber = document.getElementById("show-iconnumber");
336 getPref("show_statsinicon", showStatsInIcon => 335 getPref("show_statsinicon", showStatsInIcon =>
337 { 336 {
338 showIconNumber.setAttribute("aria-checked", showStatsInIcon); 337 showIconNumber.setAttribute("aria-checked", showStatsInIcon);
339 }); 338 });
340 showIconNumber.addEventListener("click", toggleIconNumber, false); 339 showIconNumber.addEventListener("click", toggleIconNumber);
341 document.querySelector("label[for='show-iconnumber']").addEventListener( 340 document.querySelector("label[for='show-iconnumber']").addEventListener(
342 "click", toggleIconNumber, false 341 "click", toggleIconNumber
343 ); 342 );
344 }, false); 343 });
345 344
346 window.addEventListener("load", () => 345 window.addEventListener("load", () =>
Manish Jethani 2017/10/10 05:08:56 Nothing has changed in the window's "load" handler
347 { 346 {
348 chrome.runtime.sendMessage({ 347 chrome.runtime.sendMessage({
349 type: "notifications.get", 348 type: "notifications.get",
350 displayMethod: "popup" 349 displayMethod: "popup"
351 }, notification => 350 }, notification =>
352 { 351 {
353 if (!notification) 352 if (!notification)
354 return; 353 return;
355 354
356 let titleElement = document.getElementById("notification-title"); 355 let titleElement = document.getElementById("notification-title");
(...skipping 29 matching lines...) Expand all
386 event.target.id == "notification-hide") 385 event.target.id == "notification-hide")
387 { 386 {
388 if (event.target.id == "notification-optout") 387 if (event.target.id == "notification-optout")
389 setPref("notifications_ignoredcategories", true); 388 setPref("notifications_ignoredcategories", true);
390 389
391 notificationElement.hidden = true; 390 notificationElement.hidden = true;
392 notification.onClicked(); 391 notification.onClicked();
393 } 392 }
394 }, true); 393 }, true);
395 }); 394 });
396 }, false); 395 });
LEFTRIGHT

Powered by Google App Engine
This is Rietveld