| Index: lib/filterComposer.js |
| =================================================================== |
| --- a/lib/filterComposer.js |
| +++ b/lib/filterComposer.js |
| @@ -210,43 +210,46 @@ port.on("composer.isPageReady", (message |
| port.on("composer.ready", (message, sender) => |
| { |
| readyPages.set(sender.page, null); |
| updateContextMenu(sender.page); |
| }); |
| port.on("composer.openDialog", (message, sender) => |
| { |
| - return new Promise(resolve => |
| + return browser.windows.create({ |
| + url: browser.extension.getURL("composer.html"), |
| + left: 50, |
| + top: 50, |
| + width: 420, |
| + height: 200, |
| + type: "popup" |
| + }).then(window => |
| { |
| - ext.windows.create({ |
|
kzar
2017/11/03 13:24:06
I think we can remove ext.windows from ext/backgro
Wladimir Palant
2017/11/03 13:49:05
Sure - after the release.
kzar
2017/11/03 13:57:06
Well if we're only doing the bare minimum for the
Wladimir Palant
2017/11/03 13:59:37
Because the ext API only gives us a tab ID but not
kzar
2017/11/03 14:00:56
Ah, OK.
|
| - url: browser.extension.getURL("composer.html"), |
| - left: 50, |
| - top: 50, |
| - width: 420, |
| - height: 200, |
| - type: "popup" |
| - }, |
| - popupPage => |
| + let popupPageId = window.tabs[0].id; |
| + function onRemoved(removedPageId) |
| { |
| - let popupPageId = popupPage.id; |
| - function onRemoved(removedPageId) |
| + if (popupPageId == removedPageId) |
| { |
| - if (popupPageId == removedPageId) |
| - { |
| - sender.page.sendMessage({ |
| - type: "composer.content.dialogClosed", |
| - popupId: popupPageId |
| - }); |
| - ext.pages.onRemoved.removeListener(onRemoved); |
| - } |
| + sender.page.sendMessage({ |
| + type: "composer.content.dialogClosed", |
| + popupId: popupPageId |
| + }); |
| + ext.pages.onRemoved.removeListener(onRemoved); |
| } |
| - ext.pages.onRemoved.addListener(onRemoved); |
| - resolve(popupPageId); |
| - }); |
| + } |
| + ext.pages.onRemoved.addListener(onRemoved); |
| + |
| + if (require("info").application == "firefox" && |
| + navigator.oscpu.startsWith("Linux")) |
|
kzar
2017/11/03 13:24:06
(I'll take your word for it that this is the best
Wladimir Palant
2017/11/03 13:49:05
It's not a great way, but it's worse than any othe
kzar
2017/11/03 13:57:06
Acknowledged.
|
| + { |
| + // Work around https://bugzil.la/1408446 |
| + browser.windows.update(window.id, {width: window.width + 1}); |
| + } |
| + return popupPageId; |
| }); |
| }); |
| port.on("composer.getFilters", (message, sender) => |
| { |
| return composeFilters({ |
| tagName: message.tagName, |
| id: message.id, |