| Index: ext/background.js | 
| =================================================================== | 
| --- a/ext/background.js | 
| +++ b/ext/background.js | 
| @@ -312,26 +312,16 @@ | 
| chrome.tabs.onActivated.addListener(details => | 
| { | 
| ext.pages.onActivated._dispatch(new Page({id: details.tabId})); | 
| }); | 
| /* Browser actions */ | 
| - // On Firefox for Android, open the options page directly when the browser | 
| - // action is clicked. | 
| - if (!("getPopup" in chrome.browserAction)) | 
| - { | 
| - chrome.browserAction.onClicked.addListener(() => | 
| - { | 
| - ext.showOptions(); | 
| - }); | 
| - } | 
| - | 
| let BrowserAction = function(tabId) | 
| { | 
| this._tabId = tabId; | 
| this._changes = null; | 
| }; | 
| BrowserAction.prototype = { | 
| _applyChanges() | 
| { | 
| @@ -698,94 +688,16 @@ | 
| }, | 
| remove(key, callback) | 
| { | 
| chrome.storage.local.remove(key, callback); | 
| }, | 
| onChanged: chrome.storage.onChanged | 
| }; | 
| - /* Options */ | 
| - | 
| - ext.showOptions = callback => | 
| - { | 
| - let info = require("info"); | 
| - | 
| - if ("openOptionsPage" in chrome.runtime && | 
| - // Some versions of Firefox for Android before version 57 do have a | 
| - // runtime.openOptionsPage but it doesn't do anything. | 
| - // https://bugzilla.mozilla.org/show_bug.cgi?id=1364945 | 
| - (info.application != "fennec" || | 
| - parseInt(info.applicationVersion, 10) >= 57)) | 
| - { | 
| - if (!callback) | 
| - { | 
| - chrome.runtime.openOptionsPage(); | 
| - } | 
| - else | 
| - { | 
| - chrome.runtime.openOptionsPage(() => | 
| - { | 
| - if (chrome.runtime.lastError) | 
| - return; | 
| - | 
| - chrome.tabs.query({active: true, lastFocusedWindow: true}, tabs => | 
| - { | 
| - if (tabs.length > 0) | 
| - { | 
| - if (tabs[0].status == "complete") | 
| - callback(new Page(tabs[0])); | 
| - else | 
| - afterTabLoaded(callback)(tabs[0]); | 
| - } | 
| - }); | 
| - }); | 
| - } | 
| - } | 
| - else if ("windows" in chrome) | 
| - { | 
| - // Edge does not yet support runtime.openOptionsPage (tested version 38) | 
| - // and so this workaround needs to stay for now. | 
| - // We are not using extension.getURL to get the absolute path here | 
| - // because of the Edge issue: | 
| - // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/10276332/ | 
| - let optionsUrl = "options.html"; | 
| - let fullOptionsUrl = ext.getURL(optionsUrl); | 
| - | 
| - chrome.tabs.query({}, tabs => | 
| - { | 
| - // We find a tab ourselves because Edge has a bug when quering tabs | 
| - // with extension URL protocol: | 
| - // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/8094141/ | 
| - // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/8604703/ | 
| - let tab = tabs.find(element => element.url == fullOptionsUrl); | 
| - if (tab) | 
| - { | 
| - chrome.windows.update(tab.windowId, {focused: true}); | 
| - chrome.tabs.update(tab.id, {active: true}); | 
| - | 
| - if (callback) | 
| - callback(new Page(tab)); | 
| - } | 
| - else | 
| - { | 
| - ext.pages.open(optionsUrl, callback); | 
| - } | 
| - }); | 
| - } | 
| - else | 
| - { | 
| - // Firefox for Android before version 57 does not support | 
| - // runtime.openOptionsPage, nor does it support the windows API. Since | 
| - // there is effectively only one window on the mobile browser, there's no | 
| - // need to bring it into focus. | 
| - ext.pages.open("options.html", callback); | 
| - } | 
| - }; | 
| - | 
| /* Windows */ | 
| ext.windows = { | 
| create(createData, callback) | 
| { | 
| chrome.windows.create(createData, createdWindow => | 
| { | 
| afterTabLoaded(callback)(createdWindow.tabs[0]); | 
| }); |