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:
Erica Wright 2017-06-29 11:31:59 -07:00
parent ab72fbf791
commit de48536bed
2 changed files with 8 additions and 8 deletions

View File

@ -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);
},

View File

@ -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;
}