| OLD | NEW | 
|---|
| 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 388 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 399     { | 399     { | 
| 400       // Only the top frame keeps a record of the popup window's ID, | 400       // Only the top frame keeps a record of the popup window's ID, | 
| 401       // so if this isn't the top frame we need to pass the ID on. | 401       // so if this isn't the top frame we need to pass the ID on. | 
| 402       if (window == window.top) | 402       if (window == window.top) | 
| 403       { | 403       { | 
| 404         blockelementPopupId = popupId; | 404         blockelementPopupId = popupId; | 
| 405       } | 405       } | 
| 406       else | 406       else | 
| 407       { | 407       { | 
| 408         browser.runtime.sendMessage({ | 408         browser.runtime.sendMessage({ | 
| 409           type: "forward", | 409           type: "composer.forward", | 
| 410           payload: {type: "composer.content.dialogOpened", popupId} | 410           payload: {type: "composer.content.dialogOpened", popupId} | 
| 411         }); | 411         }); | 
| 412       } | 412       } | 
| 413     }); | 413     }); | 
| 414 | 414 | 
| 415     if (selectors.length > 0) | 415     if (selectors.length > 0) | 
| 416       highlightElements(selectors.join(",")); | 416       highlightElements(selectors.join(",")); | 
| 417 | 417 | 
| 418     highlightElement(currentElement, "#fd1708", "#f6a1b5"); | 418     highlightElement(currentElement, "#fd1708", "#f6a1b5"); | 
| 419   }); | 419   }); | 
| (...skipping 22 matching lines...) Expand all  Loading... | 
| 442 | 442 | 
| 443 // We're done with the block element feature for now, tidy everything up. | 443 // We're done with the block element feature for now, tidy everything up. | 
| 444 function deactivateBlockElement(popupAlreadyClosed) | 444 function deactivateBlockElement(popupAlreadyClosed) | 
| 445 { | 445 { | 
| 446   if (currentlyPickingElement) | 446   if (currentlyPickingElement) | 
| 447     stopPickingElement(); | 447     stopPickingElement(); | 
| 448 | 448 | 
| 449   if (blockelementPopupId != null && !popupAlreadyClosed) | 449   if (blockelementPopupId != null && !popupAlreadyClosed) | 
| 450   { | 450   { | 
| 451     browser.runtime.sendMessage({ | 451     browser.runtime.sendMessage({ | 
| 452       type: "forward", | 452       type: "composer.forward", | 
| 453       targetPageId: blockelementPopupId, | 453       targetPageId: blockelementPopupId, | 
| 454       payload: | 454       payload: | 
| 455       { | 455       { | 
| 456         type: "composer.dialog.close" | 456         type: "composer.dialog.close" | 
| 457       } | 457       } | 
| 458     }); | 458     }); | 
| 459   } | 459   } | 
| 460 | 460 | 
| 461   blockelementPopupId = null; | 461   blockelementPopupId = null; | 
| 462   lastRightClickEvent = null; | 462   lastRightClickEvent = null; | 
| (...skipping 23 matching lines...) Expand all  Loading... | 
| 486   // element. | 486   // element. | 
| 487   //   We also need to make sure that the previous right click event, | 487   //   We also need to make sure that the previous right click event, | 
| 488   // if there is one, is removed. We don't know which frame it is in so we must | 488   // if there is one, is removed. We don't know which frame it is in so we must | 
| 489   // send a message to the other frames to clear their old right click events. | 489   // send a message to the other frames to clear their old right click events. | 
| 490   document.addEventListener("contextmenu", event => | 490   document.addEventListener("contextmenu", event => | 
| 491   { | 491   { | 
| 492     lastRightClickEvent = event; | 492     lastRightClickEvent = event; | 
| 493     lastRightClickEventIsMostRecent = true; | 493     lastRightClickEventIsMostRecent = true; | 
| 494 | 494 | 
| 495     browser.runtime.sendMessage({ | 495     browser.runtime.sendMessage({ | 
| 496       type: "forward", | 496       type: "composer.forward", | 
| 497       payload: | 497       payload: | 
| 498       { | 498       { | 
| 499         type: "composer.content.clearPreviousRightClickEvent" | 499         type: "composer.content.clearPreviousRightClickEvent" | 
| 500       } | 500       } | 
| 501     }); | 501     }); | 
| 502   }, true); | 502   }, true); | 
| 503 | 503 | 
| 504   ext.onMessage.addListener((message, sender, sendResponse) => | 504   ext.onMessage.addListener((message, sender, sendResponse) => | 
| 505   { | 505   { | 
| 506     switch (message.type) | 506     switch (message.type) | 
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 555       case "composer.content.dialogOpened": | 555       case "composer.content.dialogOpened": | 
| 556         if (window == window.top) | 556         if (window == window.top) | 
| 557           blockelementPopupId = message.popupId; | 557           blockelementPopupId = message.popupId; | 
| 558         break; | 558         break; | 
| 559       case "composer.content.dialogClosed": | 559       case "composer.content.dialogClosed": | 
| 560         // The onRemoved hook for the popup can create a race condition, so we | 560         // The onRemoved hook for the popup can create a race condition, so we | 
| 561         // to be careful here. (This is not perfect, but best we can do.) | 561         // to be careful here. (This is not perfect, but best we can do.) | 
| 562         if (window == window.top && blockelementPopupId == message.popupId) | 562         if (window == window.top && blockelementPopupId == message.popupId) | 
| 563         { | 563         { | 
| 564           browser.runtime.sendMessage({ | 564           browser.runtime.sendMessage({ | 
| 565             type: "forward", | 565             type: "composer.forward", | 
| 566             payload: | 566             payload: | 
| 567             { | 567             { | 
| 568               type: "composer.content.finished", | 568               type: "composer.content.finished", | 
| 569               popupAlreadyClosed: true | 569               popupAlreadyClosed: true | 
| 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     browser.runtime.sendMessage({type: "composer.ready"}); | 578     browser.runtime.sendMessage({type: "composer.ready"}); | 
| 579 | 579 | 
| 580   return true; | 580   return true; | 
| 581 } | 581 } | 
| 582 | 582 | 
| 583 if (document instanceof HTMLDocument) | 583 if (document instanceof HTMLDocument) | 
| 584 { | 584 { | 
| 585   // There's a bug in Firefox that causes document_end content scripts to run | 585   // There's a bug in Firefox that causes document_end content scripts to run | 
| 586   // before document_start content scripts on extension startup. In this case | 586   // before document_start content scripts on extension startup. In this case | 
| 587   // the ext object is undefined, we fail to initialize, and initializeComposer | 587   // the ext object is undefined, we fail to initialize, and initializeComposer | 
| 588   // returns false. As a workaround, try again after a timeout. | 588   // returns false. As a workaround, try again after a timeout. | 
| 589   // https://bugzilla.mozilla.org/show_bug.cgi?id=1395287 | 589   // https://bugzilla.mozilla.org/show_bug.cgi?id=1395287 | 
| 590   if (!initializeComposer()) | 590   if (!initializeComposer()) | 
| 591     setTimeout(initializeComposer, 2000); | 591     setTimeout(initializeComposer, 2000); | 
| 592 } | 592 } | 
| OLD | NEW | 
|---|