Bug 1583531 - add in-bookmarks-menu class for arrowscrollboxes to adjust padding in bookmarks submenus r=bgrins

Differential Revision: https://phabricator.services.mozilla.com/D49633

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Alexander Surkov 2019-10-17 18:23:44 +00:00
Родитель 7554377f8c
Коммит 94f3a35a6b
3 изменённых файлов: 29 добавлений и 15 удалений

Просмотреть файл

@ -47,6 +47,13 @@
`;
}
initShadowDOM() {
super.initShadowDOM();
if (this.closest("#BMB_bookmarksPopup")) {
this.scrollBox.classList.add("in-bookmarks-menu");
}
}
connectedCallback() {
if (this.delayConnectedCallback()) {
return;

Просмотреть файл

@ -45,26 +45,27 @@
}
}
initShadowDOM() {
// Retarget events from shadow DOM arrowscrollbox to the host.
this.scrollBox.addEventListener("scroll", ev =>
this.dispatchEvent(new Event("scroll"))
);
this.scrollBox.addEventListener("overflow", ev =>
this.dispatchEvent(new Event("overflow"))
);
this.scrollBox.addEventListener("underflow", ev =>
this.dispatchEvent(new Event("underflow"))
);
this.scrollBox._scrollButtonUp.classList.add("menupopup-scrollbutton");
this.scrollBox._scrollButtonDown.classList.add("menupopup-scrollbutton");
}
get shadowRoot() {
// We generate shadow DOM lazily on popupshowing event to avoid extra load
// on the system during browser startup.
if (!super.shadowRoot.firstElementChild) {
super.shadowRoot.appendChild(this.fragment);
// Retarget events from shadow DOM arrowscrollbox to the host.
this.scrollBox.addEventListener("scroll", ev =>
this.dispatchEvent(new Event("scroll"))
);
this.scrollBox.addEventListener("overflow", ev =>
this.dispatchEvent(new Event("overflow"))
);
this.scrollBox.addEventListener("underflow", ev =>
this.dispatchEvent(new Event("underflow"))
);
this.scrollBox._scrollButtonUp.classList.add("menupopup-scrollbutton");
this.scrollBox._scrollButtonDown.classList.add(
"menupopup-scrollbutton"
);
this.initShadowDOM();
}
return super.shadowRoot;
}

Просмотреть файл

@ -11,6 +11,12 @@ arrowscrollbox[notoverflowing=true]::part(scrollbutton-down) {
visibility: collapse;
}
/* Add some space at the top because there are no headers in menupopups of
the bookmarks menu. */
arrowscrollbox.in-bookmarks-menu::part(scrollbox) {
padding-top: 4px;
}
/*
* Scroll arrows
*/