fx153: Restore the toolbarbutton dropmarker

Bug 1980856 removed both wantdropmarker support and the rule that gave
.toolbarbutton-menu-dropmarker its image, once Firefox's last consumer
stopped using it, so the New Item, Add Attachment, and New Note buttons
lost their chevrons, along with the ones in advanced search, the feed
settings dialog, and Scaffold.

Draw it with a background, since a <dropmarker> doesn't render
list-style-image, and use chevron-6 to match the quick search dropmarker
and the menu marker on our own buttons. The rule also moves out of the
toolbarbutton block, since a plain <button> can host one too.
This commit is contained in:
Dan Stillman 2026-07-29 10:41:05 -04:00
parent 030cd3dc5e
commit 35a70117b0
3 changed files with 25 additions and 8 deletions

View file

@ -502,6 +502,17 @@ function modify_omni {
}
popupset.appendChild(this._autoScrollPopup);' chrome/toolkit/content/global/elements/browser-custom-element.mjs
# Add the dropmarker for toolbarbuttons with wantdropmarker, which Firefox no longer creates
replace_line 'this.appendChild\(this.constructor.fragment.cloneNode\(true\)\);' \
'this.appendChild(this.constructor.fragment.cloneNode(true));
if (this.hasAttribute("wantdropmarker")) {
let dropmarker = document.createXULElement("dropmarker");
dropmarker.setAttribute("type", "menu");
dropmarker.className = "toolbarbutton-menu-dropmarker";
this.appendChild(dropmarker);
}' chrome/toolkit/content/global/elements/toolbarbutton.js
# Remove non-native text input styles
remove_between 'html\|input\:where\(' '^}' chrome/toolkit/skin/classic/global/global-shared.css

View file

@ -10,14 +10,6 @@ toolbarbutton {
background-color: transparent;
.toolbarbutton-menu-dropmarker {
-moz-default-appearance: none;
@include svgicon-menu("chevron-8", "universal", "8");
color: var(--fill-secondary);
width: 8px;
height: 8px;
}
&:hover {
background-color: var(--fill-quinary);
}
@ -43,6 +35,15 @@ toolbarbutton {
}
}
// Also hosted by plain <button>s, e.g., in the feed settings dialog
.toolbarbutton-menu-dropmarker {
-moz-default-appearance: none;
@include svgicon("chevron-6", "universal", "8");
color: var(--fill-secondary);
width: 8px;
height: 8px;
}
@keyframes rotating {
from {
transform: rotate(0deg);

View file

@ -83,6 +83,11 @@ $scaffold-toolbarbutton-icons: (
margin: 0 4px;
.toolbarbutton-menu-dropmarker {
-moz-default-appearance: none;
@include svgicon("chevron-6", "universal", "8");
color: var(--fill-secondary);
width: 8px;
height: 8px;
margin-inline-start: 4px;
}
}