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

Delta Between Two Patch Sets: composer.postload.js

Issue 29570614: Issue 5028 - Use browser namespace (Closed) Base URL: https://hg.adblockplus.org/adblockpluschrome/
Left Patch Set: Promisify Created Oct. 11, 2017, 3:22 a.m.
Right Patch Set: Update adblockplusui dependency Created Oct. 17, 2017, 1:02 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
Right: Side by side diff | Download
« no previous file with change/comment | « composer.js ('k') | dependencies » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
(no file at all)
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
(...skipping 27 matching lines...) Expand all
38 // Last right click state stored for element blocking via the context menu. 38 // Last right click state stored for element blocking via the context menu.
39 let lastRightClickEvent = null; 39 let lastRightClickEvent = null;
40 let lastRightClickEventIsMostRecent = false; 40 let lastRightClickEventIsMostRecent = false;
41 41
42 42
43 /* Utilities */ 43 /* Utilities */
44 44
45 function getFiltersForElement(element, callback) 45 function getFiltersForElement(element, callback)
46 { 46 {
47 let src = element.getAttribute("src"); 47 let src = element.getAttribute("src");
48 chrome.runtime.sendMessage({ 48 browser.runtime.sendMessage({
49 type: "composer.getFilters", 49 type: "composer.getFilters",
50 tagName: element.localName, 50 tagName: element.localName,
51 id: element.id, 51 id: element.id,
52 src: src && src.length <= 1000 ? src : null, 52 src: src && src.length <= 1000 ? src : null,
53 style: element.getAttribute("style"), 53 style: element.getAttribute("style"),
54 classes: Array.prototype.slice.call(element.classList), 54 classes: Array.prototype.slice.call(element.classList),
55 urls: getURLsFromElement(element), 55 urls: getURLsFromElement(element),
56 mediatype: typeMap.get(element.localName), 56 mediatype: typeMap.get(element.localName),
57 baseURL: document.location.href 57 baseURL: document.location.href
58 }, 58 },
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 { 382 {
383 if (!currentElement) 383 if (!currentElement)
384 return; 384 return;
385 385
386 let element = currentElement.prisoner || currentElement; 386 let element = currentElement.prisoner || currentElement;
387 getFiltersForElement(element, (filters, selectors) => 387 getFiltersForElement(element, (filters, selectors) =>
388 { 388 {
389 if (currentlyPickingElement) 389 if (currentlyPickingElement)
390 stopPickingElement(); 390 stopPickingElement();
391 391
392 chrome.runtime.sendMessage({ 392 browser.runtime.sendMessage({
393 type: "composer.openDialog" 393 type: "composer.openDialog"
394 }, 394 },
395 popupId => 395 popupId =>
396 { 396 {
397 chrome.runtime.sendMessage({ 397 browser.runtime.sendMessage({
398 type: "forward", 398 type: "forward",
399 targetPageId: popupId, 399 targetPageId: popupId,
400 payload: {type: "composer.dialog.init", filters} 400 payload: {type: "composer.dialog.init", filters}
401 }); 401 });
402 402
403 // Only the top frame keeps a record of the popup window's ID, 403 // Only the top frame keeps a record of the popup window's ID,
404 // so if this isn't the top frame we need to pass the ID on. 404 // so if this isn't the top frame we need to pass the ID on.
405 if (window == window.top) 405 if (window == window.top)
406 { 406 {
407 blockelementPopupId = popupId; 407 blockelementPopupId = popupId;
408 } 408 }
409 else 409 else
410 { 410 {
411 chrome.runtime.sendMessage({ 411 browser.runtime.sendMessage({
412 type: "forward", 412 type: "forward",
413 payload: {type: "composer.content.dialogOpened", popupId} 413 payload: {type: "composer.content.dialogOpened", popupId}
414 }); 414 });
415 } 415 }
416 }); 416 });
417 417
418 if (selectors.length > 0) 418 if (selectors.length > 0)
419 highlightElements(selectors.join(",")); 419 highlightElements(selectors.join(","));
420 420
421 highlightElement(currentElement, "#fd1708", "#f6a1b5"); 421 highlightElement(currentElement, "#fd1708", "#f6a1b5");
(...skipping 22 matching lines...) Expand all
444 /* Core logic */ 444 /* Core logic */
445 445
446 // We're done with the block element feature for now, tidy everything up. 446 // We're done with the block element feature for now, tidy everything up.
447 function deactivateBlockElement() 447 function deactivateBlockElement()
448 { 448 {
449 if (currentlyPickingElement) 449 if (currentlyPickingElement)
450 stopPickingElement(); 450 stopPickingElement();
451 451
452 if (blockelementPopupId != null) 452 if (blockelementPopupId != null)
453 { 453 {
454 chrome.runtime.sendMessage({ 454 browser.runtime.sendMessage({
455 type: "forward", 455 type: "forward",
456 targetPageId: blockelementPopupId, 456 targetPageId: blockelementPopupId,
457 payload: 457 payload:
458 { 458 {
459 type: "composer.dialog.close" 459 type: "composer.dialog.close"
460 } 460 }
461 }); 461 });
462 462
463 blockelementPopupId = null; 463 blockelementPopupId = null;
464 } 464 }
(...skipping 21 matching lines...) Expand all
486 // this because the contextMenu API only provides a URL, not the actual DOM 486 // this because the contextMenu API only provides a URL, not the actual DOM
487 // element. 487 // element.
488 // We also need to make sure that the previous right click event, 488 // We also need to make sure that the previous right click event,
489 // if there is one, is removed. We don't know which frame it is in so we must 489 // if there is one, is removed. We don't know which frame it is in so we must
490 // send a message to the other frames to clear their old right click events. 490 // send a message to the other frames to clear their old right click events.
491 document.addEventListener("contextmenu", event => 491 document.addEventListener("contextmenu", event =>
492 { 492 {
493 lastRightClickEvent = event; 493 lastRightClickEvent = event;
494 lastRightClickEventIsMostRecent = true; 494 lastRightClickEventIsMostRecent = true;
495 495
496 chrome.runtime.sendMessage({ 496 browser.runtime.sendMessage({
497 type: "forward", 497 type: "forward",
498 payload: 498 payload:
499 { 499 {
500 type: "composer.content.clearPreviousRightClickEvent" 500 type: "composer.content.clearPreviousRightClickEvent"
501 } 501 }
502 }); 502 });
503 }, true); 503 }, true);
504 504
505 ext.onMessage.addListener((msg, sender, sendResponse) => 505 ext.onMessage.addListener((msg, sender, sendResponse) =>
506 { 506 {
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
555 break; 555 break;
556 case "composer.content.dialogOpened": 556 case "composer.content.dialogOpened":
557 if (window == window.top) 557 if (window == window.top)
558 blockelementPopupId = msg.popupId; 558 blockelementPopupId = msg.popupId;
559 break; 559 break;
560 case "composer.content.dialogClosed": 560 case "composer.content.dialogClosed":
561 // The onRemoved hook for the popup can create a race condition, so we 561 // The onRemoved hook for the popup can create a race condition, so we
562 // to be careful here. (This is not perfect, but best we can do.) 562 // to be careful here. (This is not perfect, but best we can do.)
563 if (window == window.top && blockelementPopupId == msg.popupId) 563 if (window == window.top && blockelementPopupId == msg.popupId)
564 { 564 {
565 chrome.runtime.sendMessage({ 565 browser.runtime.sendMessage({
566 type: "forward", 566 type: "forward",
567 payload: 567 payload:
568 { 568 {
569 type: "composer.content.finished" 569 type: "composer.content.finished"
570 } 570 }
571 }); 571 });
572 } 572 }
573 break; 573 break;
574 } 574 }
575 }); 575 });
576 576
577 if (window == window.top) 577 if (window == window.top)
578 chrome.runtime.sendMessage({type: "composer.ready"}); 578 browser.runtime.sendMessage({type: "composer.ready"});
579 } 579 }
LEFTRIGHT

Powered by Google App Engine
This is Rietveld