| LEFT | RIGHT | 
|---|
| 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 85 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 96   { | 96   { | 
| 97     window.clearTimeout(activateClickHide.timeout); | 97     window.clearTimeout(activateClickHide.timeout); | 
| 98     activateClickHide.timeout = null; | 98     activateClickHide.timeout = null; | 
| 99   } | 99   } | 
| 100   document.body.classList.remove("clickhide-active"); | 100   document.body.classList.remove("clickhide-active"); | 
| 101   browser.tabs.sendMessage(tab.id, {type: "composer.content.finished"}); | 101   browser.tabs.sendMessage(tab.id, {type: "composer.content.finished"}); | 
| 102 } | 102 } | 
| 103 | 103 | 
| 104 function reportIssue() | 104 function reportIssue() | 
| 105 { | 105 { | 
| 106   browser.tabs.captureVisibleTab( | 106   // the issue reporter needs to take a screenshot of the | 
| 107     null, | 107   // currently active tab, which is why active is explicitly | 
| 108     {format: "png"}, | 108   // set as false, in case option defaults will ever change. | 
| 109     screenshot => | 109   browser.tabs.create({ | 
| 110     { | 110     active: false, | 
| 111       // setup a listener to provide once tab url | 111     url: browser.runtime.getURL("/issue-reporter.html?" + tab.id) | 
| 112       // and base64 screenshot data once asked | 112   }).then(() => | 
| 113       browser.runtime.onMessage.addListener( | 113   { | 
| 114         function onMessage(event) | 114     window.close(); | 
| 115         { | 115   }); | 
| 116           if (event.type == "issue-reporter") |  | 
| 117           { |  | 
| 118             browser.runtime.onMessage.removeListener(onMessage); |  | 
| 119             return Promise.resolve({url: tab.url, screenshot}); |  | 
| 120           } |  | 
| 121         } |  | 
| 122       ); |  | 
| 123 |  | 
| 124       browser.tabs.create({ |  | 
| 125         active: true, |  | 
| 126         url: browser.runtime.getURL("/issue-reporter.html?" + tab.id) |  | 
| 127       }); |  | 
| 128     } |  | 
| 129   ); |  | 
| 130 } | 116 } | 
| 131 | 117 | 
| 132 function toggleCollapse(event) | 118 function toggleCollapse(event) | 
| 133 { | 119 { | 
| 134   let collapser = event.currentTarget; | 120   let collapser = event.currentTarget; | 
| 135   let collapsible = document.getElementById(collapser.dataset.collapsible); | 121   let collapsible = document.getElementById(collapser.dataset.collapsible); | 
| 136   collapsible.classList.toggle("collapsed"); | 122   collapsible.classList.toggle("collapsed"); | 
| 137   togglePref(collapser.dataset.option); | 123   togglePref(collapser.dataset.option); | 
| 138 } | 124 } | 
| 139 | 125 | 
| (...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 350       { | 336       { | 
| 351         if (event.target.id == "notification-optout") | 337         if (event.target.id == "notification-optout") | 
| 352           setPref("notifications_ignoredcategories", true); | 338           setPref("notifications_ignoredcategories", true); | 
| 353 | 339 | 
| 354         notificationElement.hidden = true; | 340         notificationElement.hidden = true; | 
| 355         browser.runtime.sendMessage({type: "notifications.clicked"}); | 341         browser.runtime.sendMessage({type: "notifications.clicked"}); | 
| 356       } | 342       } | 
| 357     }, true); | 343     }, true); | 
| 358   }); | 344   }); | 
| 359 }); | 345 }); | 
| LEFT | RIGHT | 
|---|