diff options
Diffstat (limited to 'data/extensions/https-everywhere@eff.org/chrome/content/code/AndroidUI.jsm')
-rw-r--r-- | data/extensions/https-everywhere@eff.org/chrome/content/code/AndroidUI.jsm | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/data/extensions/https-everywhere@eff.org/chrome/content/code/AndroidUI.jsm b/data/extensions/https-everywhere@eff.org/chrome/content/code/AndroidUI.jsm index e476345..1a4936d 100644 --- a/data/extensions/https-everywhere@eff.org/chrome/content/code/AndroidUI.jsm +++ b/data/extensions/https-everywhere@eff.org/chrome/content/code/AndroidUI.jsm @@ -27,6 +27,16 @@ function loadIntoWindow() { } else if (urlbarId) { aWindow.NativeWindow.pageactions.remove(urlbarId); } + + // When navigating away from a page, we want to clear the applicable list for + // that page. There are a few different APIs to do this, but this is the one + // that work on mobile. We trigger on pagehide rather than pageshow because we + // want to capture subresources during load. + var BrowserApp = aWindow.BrowserApp; + BrowserApp.deck.addEventListener("pagehide", function(evt) { + var browser = BrowserApp.getBrowserForDocument(evt.target); + HTTPSEverywhere.resetApplicableList(browser); + }, true); } function unloadFromWindow() { @@ -82,8 +92,8 @@ var popupInfo = { ruleStatus: [], alist: null, getApplicableList: function() { - var domWin = aWindow.BrowserApp.selectedTab.window; - return HTTPSEverywhere.getApplicableListForDOMWin(domWin); + var browser = aWindow.BrowserApp.selectedBrowser; + return HTTPSEverywhere.getApplicableListForBrowser(browser); }, fill: function() { this.clear(); |