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); |