diff options
Diffstat (limited to 'application/palemoon/base')
-rw-r--r-- | application/palemoon/base/content/browser.css | 8 | ||||
-rw-r--r-- | application/palemoon/base/content/browser.js | 2 | ||||
-rw-r--r-- | application/palemoon/base/content/tabbrowser.xml | 39 |
3 files changed, 29 insertions, 20 deletions
diff --git a/application/palemoon/base/content/browser.css b/application/palemoon/base/content/browser.css index 76e49436c..a2970aefc 100644 --- a/application/palemoon/base/content/browser.css +++ b/application/palemoon/base/content/browser.css @@ -43,6 +43,8 @@ tabbrowser { .tabbrowser-tab:not([pinned]) { -moz-box-flex: 100; + max-width: 250px; + min-width: 100px; width: 0; transition: min-width 175ms ease-out, max-width 200ms ease-out, @@ -65,12 +67,6 @@ tabbrowser { display: none; } -.tabbrowser-tab[pinned] { - -moz-box-flex: 0; - min-width: 0 !important; - max-width: none !important; -} - .tabbrowser-tabs[positionpinnedtabs] > .tabbrowser-tab[pinned] { position: fixed !important; display: block; /* position:fixed already does this (bug 579776), but let's be explicit */ diff --git a/application/palemoon/base/content/browser.js b/application/palemoon/base/content/browser.js index 4bdac7850..a51b73fe8 100644 --- a/application/palemoon/base/content/browser.js +++ b/application/palemoon/base/content/browser.js @@ -64,7 +64,7 @@ XPCOMUtils.defineLazyGetter(window, "gFindBar", function() { // Force a style flush to ensure that our binding is attached. findbar.clientTop; - findbar.browser = gBrowser; + findbar.browser = gBrowser.mCurrentBrowser; window.gFindBarInitialized = true; return findbar; }); diff --git a/application/palemoon/base/content/tabbrowser.xml b/application/palemoon/base/content/tabbrowser.xml index 10f109ce8..12319a62b 100644 --- a/application/palemoon/base/content/tabbrowser.xml +++ b/application/palemoon/base/content/tabbrowser.xml @@ -1445,9 +1445,6 @@ t.setAttribute("label", aURI); t.setAttribute("crop", "end"); - t.style.maxWidth = this.tabContainer.mTabMaxWidth + "px"; - t.style.minWidth = this.tabContainer.mTabMinWidth + "px"; - t.width = 0; t.setAttribute("validate", "never"); //PMed t.setAttribute("onerror", "this.removeAttribute('image');"); t.className = "tabbrowser-tab"; @@ -3096,13 +3093,25 @@ break; } case "Findbar:Keypress": - if (!gFindBarInitialized) { - // If the find bar for this tab is not yet alive, change that, - // and make sure we return the result: - return gFindBar.receiveMessage(aMessage); + // If the find bar for this tab is not yet alive, only initialize + // it if there's a possibility FindAsYouType will be used. + // There's no point in doing it for most random keypresses. + if (!gFindBarInitialized && aMessage.data.shouldFastFind) { + let shouldFastFind = this._findAsYouType; + if (!shouldFastFind) { + // Please keep in sync with toolkit/content/widgets/findbar.xml + const FAYT_LINKS_KEY = "'"; + const FAYT_TEXT_KEY = "/"; + let charCode = aMessage.data.fakeEvent.charCode; + let key = charCode ? String.fromCharCode(charCode) : null; + shouldFastFind = key == FAYT_LINKS_KEY || key == FAYT_TEXT_KEY; + } + if (shouldFastFind) { + // Make sure we return the result. + return gFindBar.receiveMessage(aMessage); + } } break; - } ]]></body> </method> @@ -3169,6 +3178,10 @@ this.mCurrentBrowser); } messageManager.addMessageListener("DOMWebNotificationClicked", this); + + // To correctly handle keypresses for potential FindAsYouType, while + // the tab's find bar is not yet initialized. + this._findAsYouType = Services.prefs.getBoolPref("accessibility.typeaheadfind"); messageManager.addMessageListener("Findbar:Keypress", this); ]]> </constructor> @@ -3413,8 +3426,6 @@ <implementation implements="nsIDOMEventListener"> <constructor> <![CDATA[ - this.mTabMinWidth = Services.prefs.getIntPref("browser.tabs.tabMinWidth"); - this.mTabMaxWidth = Services.prefs.getIntPref("browser.tabs.tabMaxWidth"); this.mTabClipWidth = Services.prefs.getIntPref("browser.tabs.tabClipWidth"); this.mCloseButtons = Services.prefs.getIntPref("browser.tabs.closeButtons"); this._closeWindowWithLastTab = Services.prefs.getBoolPref("browser.tabs.closeWindowWithLastTab"); @@ -3422,13 +3433,11 @@ var tab = this.firstChild; tab.setAttribute("label", this.tabbrowser.mStringBundle.getString("tabs.emptyTabTitle")); - tab.style.minWidth = this.mTabMinWidth + "px"; - tab.style.maxWidth = this.mTabMaxWidth + "px"; - tab.width = 0; tab.setAttribute("crop", "end"); tab.setAttribute("onerror", "this.removeAttribute('image');"); this.adjustTabstrip(); + Services.prefs.addObserver("accessibility.typeaheadfind", this._prefObserver, false); Services.prefs.addObserver("browser.tabs.", this._prefObserver, false); window.addEventListener("resize", this, false); window.addEventListener("load", this, false); @@ -3444,6 +3453,7 @@ <destructor> <![CDATA[ + Services.prefs.removeObserver("accessibility.typeaheadfind", this._prefObserver); Services.prefs.removeObserver("browser.tabs.", this._prefObserver); ]]> </destructor> @@ -3509,6 +3519,9 @@ observe: function (subject, topic, data) { switch (data) { + case "accessibility.typeaheadfind": + this._findAsYouType = Services.prefs.getBoolPref(data); + break; case "browser.tabs.closeButtons": this.tabContainer.mCloseButtons = Services.prefs.getIntPref(data); this.tabContainer.adjustTabstrip(); |