From d9f21c82b439edb52ed49ce42f75b9b12d7f904f Mon Sep 17 00:00:00 2001 From: Dylan Roeh Date: Wed, 25 Apr 2018 09:39:52 -0500 Subject: [PATCH] Bug 1441810 - Ensure session save/restore works even if no ContentDelegate is set. r=jchen --- mobile/android/chrome/geckoview/GeckoViewContent.js | 12 +++++++----- .../android/modules/geckoview/GeckoViewContent.jsm | 3 ++- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/mobile/android/chrome/geckoview/GeckoViewContent.js b/mobile/android/chrome/geckoview/GeckoViewContent.js index e47594b195da..20a31aaeb2e3 100644 --- a/mobile/android/chrome/geckoview/GeckoViewContent.js +++ b/mobile/android/chrome/geckoview/GeckoViewContent.js @@ -41,11 +41,6 @@ class GeckoViewContent extends GeckoViewContentModule { this); this.messageManager.addMessageListener("GeckoView:ZoomToInput", this); - - this.progressFilter = - Cc["@mozilla.org/appshell/component/browser-status-filter;1"] - .createInstance(Ci.nsIWebProgress); - this.flags = Ci.nsIWebProgress.NOTIFY_LOCATION; } onDisable() { @@ -206,6 +201,13 @@ class GeckoViewContent extends GeckoViewContentModule { addEventListener("load", this, {capture: true, mozSystemGroup: true, once: true}); addEventListener("pageshow", this, {capture: true, mozSystemGroup: true, once: true}); + if (!this.progressFilter) { + this.progressFilter = + Cc["@mozilla.org/appshell/component/browser-status-filter;1"] + .createInstance(Ci.nsIWebProgress); + this.flags = Ci.nsIWebProgress.NOTIFY_LOCATION; + } + this.progressFilter.addProgressListener(this, this.flags); let webProgress = docShell.QueryInterface(Ci.nsIInterfaceRequestor) .getInterface(Ci.nsIWebProgress); diff --git a/mobile/android/modules/geckoview/GeckoViewContent.jsm b/mobile/android/modules/geckoview/GeckoViewContent.jsm index 1866c3d5941f..5a7f66033e81 100644 --- a/mobile/android/modules/geckoview/GeckoViewContent.jsm +++ b/mobile/android/modules/geckoview/GeckoViewContent.jsm @@ -16,6 +16,8 @@ class GeckoViewContent extends GeckoViewModule { "GeckoView:SaveState", "GeckoView:RestoreState" ]); + + this.messageManager.addMessageListener("GeckoView:SaveStateFinish", this); } onEnable() { @@ -33,7 +35,6 @@ class GeckoViewContent extends GeckoViewModule { this.messageManager.addMessageListener("GeckoView:DOMFullscreenExit", this); this.messageManager.addMessageListener("GeckoView:DOMFullscreenRequest", this); - this.messageManager.addMessageListener("GeckoView:SaveStateFinish", this); } onDisable() {