| Index: lib/options.js |
| =================================================================== |
| --- a/lib/options.js |
| +++ b/lib/options.js |
| @@ -119,16 +119,35 @@ |
| browser.tabs.create({url: optionsUrl}, () => |
| { |
| returnShowOptionsCall(optionsTab, callback); |
| }); |
| } |
| }); |
| }; |
| +// We need to clear the popup URL on Firefox for Android in order for the |
| +// options page to open instead of the bubble. Unfortunately there's a bug[1] |
| +// which prevents us from doing that, so we must avoid setting the URL on |
| +// Firefox from the manifest at all, instead setting it here only for |
| +// non-mobile. |
| +// [1] - https://bugzilla.mozilla.org/show_bug.cgi?id=1414613 |
| +if (info.application == "firefox") |
|
Manish Jethani
2017/11/06 14:15:10
Firefox 50 doesn't have runtime.getBrowserInfo so
|
| +{ |
| + browser.browserAction.setPopup({popup: "popup.html"}); |
| +} |
| +else if (info.platform == "gecko") |
|
Manish Jethani
2017/11/06 14:15:10
We can restrict this to Gecko-based browsers so we
|
| +{ |
| + browser.runtime.getBrowserInfo().then(browserInfo => |
| + { |
| + if (browserInfo.name != "Fennec") |
| + browser.browserAction.setPopup({popup: "popup.html"}); |
| + }); |
| +} |
| + |
| // On Firefox for Android, open the options page directly when the browser |
| // action is clicked. |
| browser.browserAction.onClicked.addListener(() => |
| { |
| browser.tabs.query({active: true, lastFocusedWindow: true}, ([tab]) => |
| { |
| let currentPage = new ext.Page(tab); |