mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-25 03:05:34 +00:00
Bug 1377182 - Fix animation for tabbar session restore button. r=Gijs
MozReview-Commit-ID: 9bkpvelpQEw --HG-- extra : rebase_source : b7bcfef89c40bf94489751de26121b1329237760
This commit is contained in:
parent
ab72fbf791
commit
de48536bed
@ -8199,10 +8199,11 @@ var RestoreLastSessionObserver = {
|
||||
if (SessionStore.canRestoreLastSession &&
|
||||
!PrivateBrowsingUtils.isWindowPrivate(window)) {
|
||||
if (Services.prefs.getBoolPref("browser.tabs.restorebutton")) {
|
||||
let {restoreTabsButton} = gBrowser.tabContainer;
|
||||
let {restoreTabsButton, restoreTabsButtonWrapperWidth} = gBrowser.tabContainer;
|
||||
let restoreTabsButtonWrapper = restoreTabsButton.parentNode;
|
||||
restoreTabsButtonWrapper.setAttribute("session-exists", "true");
|
||||
gBrowser.tabContainer.updateSessionRestoreVisibility();
|
||||
restoreTabsButton.style.maxWidth = `${restoreTabsButtonWrapperWidth}px`;
|
||||
gBrowser.tabContainer.addEventListener("TabOpen", this);
|
||||
}
|
||||
Services.obs.addObserver(this, "sessionstore-last-session-cleared", true);
|
||||
@ -8219,17 +8220,16 @@ var RestoreLastSessionObserver = {
|
||||
},
|
||||
|
||||
removeRestoreButton() {
|
||||
let {restoreTabsButton, restoreTabsButtonWrapperWidth} = gBrowser.tabContainer;
|
||||
let {restoreTabsButton} = gBrowser.tabContainer;
|
||||
let restoreTabsButtonWrapper = restoreTabsButton.parentNode;
|
||||
restoreTabsButtonWrapper.removeAttribute("session-exists");
|
||||
gBrowser.tabContainer.addEventListener("transitionend", function maxWidthTransitionHandler(e) {
|
||||
if (e.propertyName == "max-width") {
|
||||
if (e.target == gBrowser.tabContainer && e.propertyName == "max-width") {
|
||||
gBrowser.tabContainer.updateSessionRestoreVisibility();
|
||||
gBrowser.tabContainer.removeEventListener("transitionend", maxWidthTransitionHandler);
|
||||
}
|
||||
});
|
||||
restoreTabsButton.style.maxWidth = `${restoreTabsButtonWrapperWidth}px`;
|
||||
requestAnimationFrame(() => restoreTabsButton.style.maxWidth = 0);
|
||||
restoreTabsButtonWrapper.removeAttribute("session-exists");
|
||||
restoreTabsButton.style.maxWidth = 0;
|
||||
gBrowser.tabContainer.removeEventListener("TabOpen", this);
|
||||
},
|
||||
|
||||
|
@ -628,7 +628,8 @@
|
||||
border-radius: 3px;
|
||||
margin: 3px;
|
||||
margin-inline-start: 9px;
|
||||
transition: max-width 300ms;
|
||||
transition: max-width 100ms;
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
.restore-tabs-button:hover {
|
||||
@ -660,5 +661,4 @@
|
||||
|
||||
.restore-tabs-button > .toolbarbutton-text {
|
||||
display: -moz-box;
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user