зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1354782 - Re-use pinned tab width to avoid layout flush and invalidation loop in _positionPinnedTabs. r=florian
MozReview-Commit-ID: 98eGdDUXLm2 --HG-- extra : rebase_source : d454599f50aabbefd6144d7051cb293025e7e1ae
This commit is contained in:
Родитель
cac52d46df
Коммит
c951251cca
|
@ -6075,16 +6075,19 @@
|
|||
|
||||
let scrollButtonWidth = this.mTabstrip._scrollButtonDown.getBoundingClientRect().width;
|
||||
let paddingStart = this.mTabstrip.scrollboxPaddingStart;
|
||||
let pinnedTabWidth;
|
||||
let width = 0;
|
||||
|
||||
for (let i = numPinned - 1; i >= 0; i--) {
|
||||
let tab = this.childNodes[i];
|
||||
width += tab.getBoundingClientRect().width;
|
||||
if (!pinnedTabWidth) {
|
||||
pinnedTabWidth = tab.getBoundingClientRect().width;
|
||||
}
|
||||
width += pinnedTabWidth;
|
||||
tab.style.marginInlineStart = -(width + scrollButtonWidth + paddingStart) + "px";
|
||||
}
|
||||
|
||||
this.style.paddingInlineStart = width + paddingStart + "px";
|
||||
|
||||
} else {
|
||||
this.removeAttribute("positionpinnedtabs");
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче