From fb291846a59f9b8eaf8bba29e0d9794893e895bf Mon Sep 17 00:00:00 2001 From: wolfbeast Date: Tue, 12 Jun 2018 22:02:00 +0200 Subject: Minimal easy fix -- move findbar getters to tabbrowser. Resolves #487 --- application/palemoon/base/content/browser.js | 21 ++++-------- application/palemoon/base/content/tabbrowser.xml | 41 ++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 14 deletions(-) diff --git a/application/palemoon/base/content/browser.js b/application/palemoon/base/content/browser.js index ba791f709..6df6488b1 100644 --- a/application/palemoon/base/content/browser.js +++ b/application/palemoon/base/content/browser.js @@ -53,20 +53,13 @@ var gEditUIVisible = true; // Smart getter for the findbar. If you don't wish to force the creation of // the findbar, check gFindBarInitialized first. -var gFindBarInitialized = false; -XPCOMUtils.defineLazyGetter(window, "gFindBar", function() { - let XULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; - let findbar = document.createElementNS(XULNS, "findbar"); - findbar.id = "FindToolbar"; - - let browserBottomBox = document.getElementById("browser-bottombox"); - browserBottomBox.insertBefore(findbar, browserBottomBox.firstChild); - - // Force a style flush to ensure that our binding is attached. - findbar.clientTop; - findbar.browser = gBrowser.mCurrentBrowser; - window.gFindBarInitialized = true; - return findbar; + +this.__defineGetter__("gFindBar", function() { + return window.gBrowser.getFindBar(); +}); + +this.__defineGetter__("gFindBarInitialized", function() { + return window.gBrowser.isFindBarInitialized(); }); XPCOMUtils.defineLazyModuleGetter(this, "BrowserUtils", diff --git a/application/palemoon/base/content/tabbrowser.xml b/application/palemoon/base/content/tabbrowser.xml index c054318ec..2db38e56f 100644 --- a/application/palemoon/base/content/tabbrowser.xml +++ b/application/palemoon/base/content/tabbrowser.xml @@ -128,6 +128,10 @@ false + + "" + + + + + + + + + + + + Date: Fri, 15 Jun 2018 17:52:59 +0200 Subject: Transfer findbar data to torn-off tabs. --- application/palemoon/base/content/tabbrowser.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/application/palemoon/base/content/tabbrowser.xml b/application/palemoon/base/content/tabbrowser.xml index 2db38e56f..74bd04467 100644 --- a/application/palemoon/base/content/tabbrowser.xml +++ b/application/palemoon/base/content/tabbrowser.xml @@ -2277,6 +2277,17 @@ this._swapBrowserDocShells(aOurTab, otherBrowser); } + // Handle findbar data (if any) + let otherFindBar = aOtherTab._findBar; + if (otherFindBar && + otherFindBar.findMode == otherFindBar.FIND_NORMAL) { + let ourFindBar = this.getFindBar(aOurTab); + ourFindBar._findField.value = otherFindBar._findField.value; + if (!otherFindBar.hidden) { + ourFindBar.onFindCommand(); + } + } + // Finish tearing down the tab that's going away. remoteBrowser._endRemoveTab(aOtherTab); -- cgit v1.2.3