 Issue 29602561:
  Issue 5817 - Make sure to send initialization message to the Block Element pop-up only after it is …  (Closed) 
  Base URL: https://hg.adblockplus.org/adblockpluschrome
    
  
    Issue 29602561:
  Issue 5817 - Make sure to send initialization message to the Block Element pop-up only after it is …  (Closed) 
  Base URL: https://hg.adblockplus.org/adblockpluschrome| Left: | ||
| Right: | 
| 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 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 218 return browser.windows.create({ | 218 return browser.windows.create({ | 
| 219 url: browser.extension.getURL("composer.html"), | 219 url: browser.extension.getURL("composer.html"), | 
| 220 left: 50, | 220 left: 50, | 
| 221 top: 50, | 221 top: 50, | 
| 222 width: 420, | 222 width: 420, | 
| 223 height: 200, | 223 height: 200, | 
| 224 type: "popup" | 224 type: "popup" | 
| 225 }).then(window => | 225 }).then(window => | 
| 226 { | 226 { | 
| 227 let popupPageId = window.tabs[0].id; | 227 let popupPageId = window.tabs[0].id; | 
| 228 function onRemoved(removedPageId) | 228 | 
| 229 let doInit = () => | |
| 229 { | 230 { | 
| 230 if (popupPageId == removedPageId) | 231 browser.tabs.sendMessage(popupPageId, { | 
| 232 type: "composer.dialog.init", | |
| 233 sender: sender.page.id, | |
| 234 filters: message.filters | |
| 235 }); | |
| 236 }; | |
| 237 if (window.tabs[0].status != "complete") | |
| 238 { | |
| 239 let updateListener = (tabId, changeInfo, tab) => | |
| 240 { | |
| 241 if (tabId == popupPageId && changeInfo.status == "complete") | |
| 242 { | |
| 243 browser.tabs.onUpdated.removeListener(updateListener); | |
| 244 doInit(); | |
| 245 } | |
| 246 }; | |
| 247 browser.tabs.onUpdated.addListener(updateListener); | |
| 248 } | |
| 249 else | |
| 250 doInit(); | |
| 251 | |
| 252 let onRemoved = removedTabId => | |
| 
Wladimir Palant
2017/11/09 14:14:12
The changes after this line aren't strictly necess
 
kzar
2017/11/10 14:51:50
Acknowledged.
 | |
| 253 { | |
| 254 if (removedTabId == popupPageId) | |
| 231 { | 255 { | 
| 232 sender.page.sendMessage({ | 256 sender.page.sendMessage({ | 
| 233 type: "composer.content.dialogClosed", | 257 type: "composer.content.dialogClosed", | 
| 234 popupId: popupPageId | 258 popupId: popupPageId | 
| 235 }); | 259 }); | 
| 236 ext.pages.onRemoved.removeListener(onRemoved); | 260 browser.tabs.onRemoved.removeListener(onRemoved); | 
| 237 } | 261 } | 
| 238 } | 262 }; | 
| 239 ext.pages.onRemoved.addListener(onRemoved); | 263 browser.tabs.onRemoved.addListener(onRemoved); | 
| 240 | 264 | 
| 241 if (require("info").application == "firefox" && | 265 if (require("info").application == "firefox" && | 
| 242 navigator.oscpu.startsWith("Linux")) | 266 navigator.oscpu.startsWith("Linux")) | 
| 243 { | 267 { | 
| 244 // Work around https://bugzil.la/1408446 | 268 // Work around https://bugzil.la/1408446 | 
| 245 browser.windows.update(window.id, {width: window.width + 1}); | 269 browser.windows.update(window.id, {width: window.width + 1}); | 
| 246 } | 270 } | 
| 247 return popupPageId; | 271 return popupPageId; | 
| 248 }); | 272 }); | 
| 249 }); | 273 }); | 
| (...skipping 18 matching lines...) Expand all Loading... | |
| 268 { | 292 { | 
| 269 return quoteCSS(message.CSS); | 293 return quoteCSS(message.CSS); | 
| 270 }); | 294 }); | 
| 271 | 295 | 
| 272 ext.pages.onLoading.addListener(page => | 296 ext.pages.onLoading.addListener(page => | 
| 273 { | 297 { | 
| 274 // A newly opened tab that is still loading has its URL set to about:blank | 298 // A newly opened tab that is still loading has its URL set to about:blank | 
| 275 if (/^https?:/.test(page.url.protocol)) | 299 if (/^https?:/.test(page.url.protocol)) | 
| 276 page.sendMessage({type: "composer.content.finished"}); | 300 page.sendMessage({type: "composer.content.finished"}); | 
| 277 }); | 301 }); | 
| OLD | NEW |