| author | Mike Conley <mconley@mozilla.com> |
| Fri, 29 Sep 2017 17:15:18 -0400 | |
| changeset 384210 | a75e0386aad86b8f9c763fdde8c1c046841b3b31 |
| parent 384209 | a9e6c3c0d2c2dbe4b2c81d65f48bd9cfebb510a2 |
| child 384211 | b0c2046983c668954fc7a6cb221cb346056d5f30 |
| push id | 52568 |
| push user | mconley@mozilla.com |
| push date | Tue, 03 Oct 2017 19:37:45 +0000 |
| treeherder | autoland@a75e0386aad8 [default view] [failures only] |
| perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
| reviewers | jaws |
| bugs | 1404465 |
| milestone | 58.0a1 |
| first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
| last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/browser/app/profile/firefox.js +++ b/browser/app/profile/firefox.js @@ -482,16 +482,19 @@ pref("browser.tabs.restorebutton", 0); // true return to the tab that opened this tab (its owner) // false return to the adjacent tab (old default) pref("browser.tabs.selectOwnerOnClose", true); pref("browser.tabs.showAudioPlayingIcon", true); // This should match Chromium's audio indicator delay. pref("browser.tabs.delayHidingAudioPlayingIconMS", 3000); +// The minimum tab width in pixels +pref("browser.tabs.tabMinWidth", 50); + pref("browser.ctrlTab.previews", false); // By default, do not export HTML at shutdown. // If true, at shutdown the bookmarks in your menu and toolbar will // be exported as HTML to the bookmarks.html file. pref("browser.bookmarks.autoExportHTML", false); // The maximum number of daily bookmark backups to
--- a/browser/base/content/browser.css +++ b/browser/base/content/browser.css @@ -5,16 +5,17 @@ @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); @namespace html url("http://www.w3.org/1999/xhtml"); :root { --panelui-subview-transition-duration: 150ms; --lwt-additional-images: none; --lwt-background-alignment: right top; --lwt-background-tiling: no-repeat; + --tab-min-width: 50px; } :root:-moz-lwtheme { color: var(--lwt-text-color) !important; } :root:-moz-lwtheme { background-color: var(--lwt-accent-color) !important; @@ -127,17 +128,17 @@ tabbrowser { .tabbrowser-tab { -moz-binding: url("chrome://browser/content/tabbrowser.xml#tabbrowser-tab"); } .tabbrowser-tab:not([pinned]) { -moz-box-flex: 100; max-width: 225px; - min-width: 100px; + min-width: var(--tab-min-width); width: 0; transition: min-width 100ms ease-out, max-width 100ms ease-out; } .tabbrowser-tab:not([pinned]):not([fadein]) { max-width: 0.1px; min-width: 0.1px;
--- a/browser/base/content/tabbrowser.xml +++ b/browser/base/content/tabbrowser.xml @@ -5809,16 +5809,25 @@ // This is the only pref observed. this._findAsYouType = Services.prefs.getBoolPref("accessibility.typeaheadfind"); break; } } ]]></body> </method> + <field name="_tabMinWidthLimit">50</field> + <property name="tabMinWidth"> + <setter><![CDATA[ + let root = document.documentElement; + root.style.setProperty("--tab-min-width", val + "px"); + return val; + ]]></setter> + </property> + <constructor> <![CDATA[ this.mCurrentBrowser = document.getAnonymousElementByAttribute(this, "anonid", "initialBrowser"); this.mCurrentBrowser.permanentKey = {}; Services.obs.addObserver(this, "contextual-identity-updated"); this.mCurrentTab = this.tabContainer.firstChild; @@ -5899,16 +5908,23 @@ XPCOMUtils.defineLazyPreferenceGetter(this, "animationsEnabled", "toolkit.cosmeticAnimations.enabled", true); XPCOMUtils.defineLazyPreferenceGetter(this, "tabWarmingEnabled", "browser.tabs.remote.warmup.enabled", false); XPCOMUtils.defineLazyPreferenceGetter(this, "tabWarmingMax", "browser.tabs.remote.warmup.maxTabs", 3); XPCOMUtils.defineLazyPreferenceGetter(this, "tabWarmingUnloadDelay" /* ms */, "browser.tabs.remote.warmup.unloadDelayMs", 2000); + XPCOMUtils.defineLazyPreferenceGetter(this, "tabMinWidthPref", + "browser.tabs.tabMinWidth", this._tabMinWidthLimit, + (pref, prevValue, newValue) => this.tabMinWidth = newValue, + newValue => Math.max(newValue, this._tabMinWidthLimit), + ); + + this.tabMinWidth = this.tabMinWidthPref; ]]> </constructor> <method name="_generateUniquePanelID"> <body><![CDATA[ if (!this._uniquePanelIDCounter) { this._uniquePanelIDCounter = 0; }