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 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
314 }); | 314 }); |
315 }); | 315 }); |
316 | 316 |
317 port.on("composer.quoteCSS", (message, sender) => | 317 port.on("composer.quoteCSS", (message, sender) => |
318 { | 318 { |
319 return quoteCSS(message.CSS); | 319 return quoteCSS(message.CSS); |
320 }); | 320 }); |
321 | 321 |
322 ext.pages.onLoading.addListener(page => | 322 ext.pages.onLoading.addListener(page => |
323 { | 323 { |
324 // A newly opened tab that is still loading has its URL set to about:blank | 324 // When tabs start loading we send them a message to ensure that the state |
325 if (/^https?:/.test(page.url.protocol)) | 325 // of the "block element" tool is reset. This is necessary since Firefox will |
326 page.sendMessage({type: "composer.content.finished"}); | 326 // sometimes cache the state of a tab when the user navigates back / forward, |
| 327 // which includes the state of the "block element" tool. |
| 328 // Since sending this message will often fail (e.g. for new tabs which have |
| 329 // just been opened) we catch and ignore any exception thrown. |
| 330 browser.tabs.sendMessage( |
| 331 page.id, {type: "composer.content.finished"} |
| 332 ).catch(() => {}); |
327 }); | 333 }); |
OLD | NEW |