Commit Graph
168 Commits
Author SHA1 Message Date
Sylvestre Ledru 4f6b8b516d Bug 2023419 - Remove Emacs/Vim modelines from widget/ r=emilio
replaced by .editorconfig
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D287877
2026-03-16 17:22:02 +00:00
Norisz Fay a86d829321 Revert "Bug 2012637 - part 9: Add a Firefox Source Docs documentation page for TreeKind and notable issues r=smaug,dom-core" as requested by dev
This reverts commit 88008cd8ca.

Revert "Bug 2012637 - part 8: Make `nsContentUtils::ComparePoints` handle `TreeKind::Flat` and `TreeKind::FlatForSelection` correctly r=smaug,dom-core"

This reverts commit 73e6f6587b.

Revert "Bug 2012637 - part 7: Make `RangeUtils::CompareNodeToRangeBoundaries()` use `nsContentUtils::ComparePoints` with valid point in the tree r=smaug"

This reverts commit 6985d5e80f.

Revert "Bug 2012637 - part 6: Make `nsRange::CutContents()` convert the range boundaries to the ones in the DOM before comparing r=smaug"

This reverts commit 73b585af3d.

Revert "Bug 2012637 - part 5: Delete the default template parameter of `nsContentUtils::ComparePoints` and relatives r=smaug,dom-core"

This reverts commit 1a7f24e5b5.

Revert "Bug 2012637 - part 4: Make `nsContentUtils` use `nsIContent` for taking a child node as a parameter r=smaug"

This reverts commit a6ea8d6824.

Revert "Bug 2012637 - part 3: Add template `nsINode` API which can switch to call API from `TreeKind` r=smaug,dom-core,webidl"

This reverts commit a4211e9df0.

Revert "Bug 2012637 - part 2: Add `TreeKind::FlatForSelection` and change the template parameter of `ChildIteratorBase` to `TreeKind` r=smaug,dom-core"

This reverts commit 0241749ee7.

Revert "Bug 2012637 - part 1: Make `ChildIterBase` template class to re-implement `FlattenedChildIterator` for DOM, Flat and FlatForSelection TreeKind r=smaug,dom-core,layout-reviewers,emilio"

This reverts commit 9e71cb77fb.
2026-03-13 02:52:45 +00:00
Masayuki Nakano a4211e9df0 Bug 2012637 - part 3: Add template nsINode API which can switch to call API from TreeKind r=smaug,dom-core,webidl
This will make the main patch simpler. However, some of them do not
support `TreeKind::ShadowIncludingDOM` because it's unclear what
should return as a parent node of a child of `ShadowRoot`, what should
return as a child node of a shadow host. To avoid the developers to use
them on wrong assumptions, this patch makes the users use `DOM`, `Flat`
or `FlatForSelection` explicitly.

Differential Revision: https://phabricator.services.mozilla.com/D281305
2026-03-12 03:01:50 +00:00
Emilio Cobos Álvarez 5624defbfd Bug 2016280 - Use shadow DOM for editor. r=masayuki,dom-core,smaug,Jamie
There's still a ton of things that can be cleaned up after this, but
this setup is nicer.

For now, editor keeps getting set-up / torn down on BindToFrame. Seems
all that could be untangled, but step by step.

The preview stuff and placeholder can just be created on demand now,
rather than requiring frame reconstruction.

Also, nsSearchControlFrame and co no longer do anything of interest, so
move the still relevant bits elsewhere and remove them.

test_bug1248459.html is removed because it messes with the editor
selection using SpecialPowers, in a way such that it crosses shadow
boundaries, and messes up the selected state triggering debug asserts.

test_focus_docnav.xhtml now triggers a different code-path because of
the shadow root (rather than the frame tree traversal). Keep it working
for now by replacing it with something that isn't a shadow root.

Differential Revision: https://phabricator.services.mozilla.com/D282953
2026-02-17 09:53:01 +00:00
Emilio Cobos Álvarez a71fc67673 Bug 2008041 - Make XUL disabled / checked attributes html-style boolean attributes. r=desktop-theme-reviewers,tabbrowser-reviewers,extension-reviewers,credential-management-reviewers,devtools-reviewers,fxview-reviewers,translations-reviewers,layout-reviewers,sthompson,nsharpley,robwu,nchevobbe,jwatt,dimi,dao
Much like bug 1979014 did for other attributes (these ones were a bit
harder because there's also native code that looked at them).

Make disabled imply :disabled, and checked imply :checked, which
simplifies the theming code while at it.

Differential Revision: https://phabricator.services.mozilla.com/D277665
2026-01-06 22:02:03 +00:00
Emilio Cobos Álvarez 4ab5bc3c65 Bug 2007883 - Remove some unused nsNativeTheme XUL code. r=layout-reviewers,TYLin
Differential Revision: https://phabricator.services.mozilla.com/D277583
2025-12-30 10:29:15 +00:00
Emilio Cobos Álvarez 41ce34c37a Bug 1982188 - Don't use the orient attribute to determine scrollbar direction. r=layout-reviewers,jfkthame
Checking for attribute presence is cheaper. Also stop propagating it to
slider / thumb. Slider doesn't use it, and thumb can just look at the
scrollbar.

Differential Revision: https://phabricator.services.mozilla.com/D260688
2025-08-11 16:42:59 +00:00
Emilio Cobos Álvarez 20d042e259 Bug 1979338 - Use an <html:img> rather than <xul:image> for menu icons. r=Gijs,desktop-theme-reviewers,settings-reviewers,tabbrowser-reviewers,sidebar-reviewers,sthompson,nsharpley,dao
We're not using the validate or triggeringprincipal attributes, so get
rid of them.

Main benefit is that now `image` can use srcset, which allows for hidpi
stuff and so on.

Main drawback is that `list-style-image` doesn't work on <html:img>, so
we need to use a separate variable.

Differential Revision: https://phabricator.services.mozilla.com/D258733
2025-07-30 11:38:20 +00:00
Emilio Cobos Álvarez 38b8cf7821 Bug 663367 - Merge nsMeterFrame into nsProgressFrame. r=TYLin
These two frames are indeed copy-pasta. Account for the very minor
differences with a member variable.

Differential Revision: https://phabricator.services.mozilla.com/D253257
2025-06-17 06:17:44 +00:00
Emilio Cobos Álvarez 7e9f44c2d3 Bug 1971450 - Remove internal appearance values for meter / progress / range thumb / chunk. r=dshin
This is technically a behavior change because we don't really look at
the appearance value of the progressbar etc anymore. We could do that if
wanted, but it's more consistent to just look at the individual frame
(looking forward to appearance: base and other potential compat
improvements we could make in the area).

Differential Revision: https://phabricator.services.mozilla.com/D253256
2025-06-16 23:16:37 +00:00
Emilio Cobos Álvarez 7d7d876d65 Bug 1971443 - Stop using native rendering for progress/meter/range on cocoa. r=mac-reviewers,mstange
Same reasoning as in
https://bugzilla.mozilla.org/show_bug.cgi?id=1967569#c2 and following.

This also allows simplifying a bit the native appearance rendering of
these in the future. e.g. we don't really need separate appearance
values for these anymore.

Differential Revision: https://phabricator.services.mozilla.com/D253253
2025-06-16 22:24:45 +00:00
Emilio Cobos Álvarez 347507e646 Bug 1971443 - Use non-native appearance for listbox on cocoa, and remove CoreUI drawing path. r=mac-reviewers,desktop-theme-reviewers,dao,mstange
It doesn't do anything too special, our non-native drawing is actually nicer.

Differential Revision: https://phabricator.services.mozilla.com/D253248
2025-06-16 22:24:36 +00:00
Emilio Cobos Álvarez eb0e5eec8a Bug 1971374 - Use non-native toolbarbutton rendering on macOS. r=mac-reviewers,desktop-theme-reviewers,places-reviewers,dao,mstange,mak
Our current drawing code doesn't really match the platform anymore.

Since Big Sur, toolbars are taller on macOS than what we can draw. I
tried to hook NSControlSizeLarge to our code but that went anywhere
(CoreUI doesn't even know about it it seems), so this seems like the
best path forward, and also allows us to get rid of a fair chunk of
code.

Turn the page info window tabs into flat buttons, and turn the places
window buttons into regular non-native toolbarbuttons like on Windows
and Linux, which IMO still look good.

Differential Revision: https://phabricator.services.mozilla.com/D253210
2025-06-16 22:17:42 +00:00
Emilio Cobos Álvarez 427c3bcb41 Bug 1971383 - Remove now unused appearance: searchfield. r=layout-reviewers,AlaskanEmily,mstange
We keep it as a <compat-auto> value as per spec, but we don't need to do
the specialness for number/password (at least for now), as
nsSearchControlFrame doesn't allow removing the x like that, nor it has
-moz-default-appearance: searchfield.

Differential Revision: https://phabricator.services.mozilla.com/D253213
2025-06-16 20:34:36 +00:00
Emilio Cobos Álvarez e6d482c37f Bug 1964046 - Use HiDPI symbolic icons for the titlebar. r=stransky,desktop-theme-reviewers,dao
This looks better on the native theme, and on the built-in themes too.

It's a mixed improvement and regression for non-native themes:

 * On one hand, we use the system icons.
 * On the other, we don't use the theme fill (which usually would be
   used via context-fill / context-stroke).

So over-all I think it's worth it.

Differential Revision: https://phabricator.services.mozilla.com/D248603
2025-05-14 09:47:38 +00:00
Emilio Cobos Álvarez d58f9ecbbc Bug 1963446 - Use non-native buttons on Linux. r=stransky,desktop-theme-reviewers,dao
Differential Revision: https://phabricator.services.mozilla.com/D247164
2025-05-01 17:52:51 +00:00
Emilio Cobos Álvarez 00fefccf69 Bug 1963446 - Remove unused button-arrow-{previous,next} appearance values. r=stransky
Differential Revision: https://phabricator.services.mozilla.com/D247163
2025-05-01 17:52:48 +00:00
Serban Stanca 9b69fc90a0 Revert Bug 1963446 - Unify button.css between Linux and Windows. r=desktop-theme-reviewers,dao
This reverts commit e35ce6ba6f.

This reverts commit cb24a82ae3.

This reverts commit 5cf47a8af2.

This reverts commit dc8cd0b077.

This reverts commit 00d023c923.
2025-05-01 16:47:42 +00:00
Emilio Cobos Álvarez cb24a82ae3 Bug 1963446 - Use non-native buttons on Linux. r=stransky,desktop-theme-reviewers,dao
Differential Revision: https://phabricator.services.mozilla.com/D247164
2025-05-01 15:22:19 +00:00
Emilio Cobos Álvarez 5cf47a8af2 Bug 1963446 - Remove unused button-arrow-{previous,next} appearance values. r=stransky
Differential Revision: https://phabricator.services.mozilla.com/D247163
2025-05-01 15:22:16 +00:00
Emilio Cobos Álvarez 3d1806d8f8 Bug 1938683 - Don't support menulist-button as a proper widget. r=dshin
Use it only to enable the combobox dropmarker. This matches wpt and
blink.

Differential Revision: https://phabricator.services.mozilla.com/D240314
2025-03-04 15:21:34 +00:00
Emilio Cobos Álvarez 32fcd9b466 Bug 1946161 - Simplify spinner-related appearance values. r=stransky,mac-reviewers,spohl
* Spinner and spinner-textfield are totally unused.
 * up/down buttons are only used for <input type=number>. The only
   number inputs we have in our UI use the non-native theme already (the
   print preview dialog).
 * Windows already always uses non-native spinner up/down unconditionally, and
   linux does it on mismatched color scheme.

We can probably live without native theme support for these. It's
completely unused right now.

Differential Revision: https://phabricator.services.mozilla.com/D236904
2025-02-05 22:05:38 +00:00
Emilio Cobos Álvarez a13711ff7b Bug 1918802 - Simplify scrollbar track drawing. r=mstange,mac-reviewers
This was caught by Markus. When you hover over an overlay scrollbar on
macOS, you'd hit this the PaintScrollbar() code-path (or rather, you
won't bail out from the if (overlay && !hovered)), but macOS draws the
track in PaintScrollbarTrack().

Android doesn't hit this because android scrollbars can't ever be
hovered (they have pointer-events: none). This is a better fix than
D222172, which didn't paint the background for the non-overlay
scrollbars...

This doesn't change behavior since scrollbar and the track have the same
size (as cocoa scrollbars can never have buttons). Removing
nsSliderFrame is a refactor for another day if ever.

Differential Revision: https://phabricator.services.mozilla.com/D222194
2024-09-17 15:59:43 +00:00
Ting-Yu Lin 19542ed32d Bug 1896516 Part 3 - Change GetScrollTargetFrame() to return ScrollContainerFrame. r=layout-reviewers,emilio
Also, simplify some callers of `GetScrollTargetFrame()` to drop
`nsIScrollableFrame*` and unnecessary `do_QueryFrame`. We'll continue removing
more `nsIScrollableFrame*` in later parts.

Differential Revision: https://phabricator.services.mozilla.com/D211490
2024-05-30 06:32:18 +00:00
Sebastian Hengst bf4dfe53f8 Backed out 15 changesets (bug 1896516) for causing scrolling crashes on macOS. a=backout
Backed out changeset fd6904338812 (bug 1896516)
Backed out changeset 2977ff81a23e (bug 1896516)
Backed out changeset c8a6b0e526d6 (bug 1896516)
Backed out changeset 3c06f22da72b (bug 1896516)
Backed out changeset f63b0c4335fe (bug 1896516)
Backed out changeset 6f7ab8adfa6e (bug 1896516)
Backed out changeset 997c9249dbed (bug 1896516)
Backed out changeset c964fccd5180 (bug 1896516)
Backed out changeset 7b481b747b7a (bug 1896516)
Backed out changeset 42e1bbe0ecb6 (bug 1896516)
Backed out changeset 717dac08b607 (bug 1896516)
Backed out changeset 2f0817331dbe (bug 1896516)
Backed out changeset b765169a7a8f (bug 1896516)
Backed out changeset a2d37b98273c (bug 1896516)
Backed out changeset ea9ecb543e66 (bug 1896516)
2024-05-29 11:22:52 +02:00
Ting-Yu Lin 7e7ff289d4 Bug 1896516 Part 3 - Change GetScrollTargetFrame() to return ScrollContainerFrame. r=layout-reviewers,emilio
Also, simplify some callers of `GetScrollTargetFrame()` to drop
`nsIScrollableFrame*` and unnecessary `do_QueryFrame`. We'll continue removing
more `nsIScrollableFrame*` in later parts.

Differential Revision: https://phabricator.services.mozilla.com/D211490
2024-05-28 04:46:17 +00:00
Emilio Cobos Álvarez 7de669cb54 Bug 1750072 - Allow to opt-out of password reveal using appearance: textfield. r=jwatt
Much like we do for the number input spinners.

Differential Revision: https://phabricator.services.mozilla.com/D208673
2024-05-06 15:13:35 +00:00
Emilio Cobos Álvarez c39cabe97e Bug 1560702 - Improve hit boxes of titlebar buttons. r=stransky,desktop-theme-reviewers,dao
In order to do it, expose the button padding to CSS via env(), and make
the buttons just use the regular drawing.

This slightly changes the padding to the end of the titlebar to match
one half of the inter-button spacing, rather that however much padding
the headerbar has.

We could improve on this slightly by also exposing the headerbar padding
and applying that to the last button, but that's not terribly easy to do
due to us supporting re-ordering of the titlebar buttons, and reversing
their placement, so it'd involve some rather hacky CSS. Not impossible,
but not trivial, and this looks good enough IMO.

Differential Revision: https://phabricator.services.mozilla.com/D202616
2024-02-27 10:28:56 +00:00
Emilio Cobos Álvarez 58cf7baa59 Bug 1868338 - Improve non-native toolbarbutton appearance. r=dao,stransky
Differential Revision: https://phabricator.services.mozilla.com/D195546
2023-12-06 08:33:33 +00:00
Emilio Cobos Álvarez 1b1835b4aa Bug 1866022 - Teach GTK to render non-native tree columns and toolbars. r=dao,stransky,desktop-theme-reviewers
This fixes various things, like sort arrows not working, even in regular
non-mixed-color-scheme settings, and is a lot less code.

The toolbarbutton appearance on the problematic case described in
comment 0 could get some work (the extra borders aren't exactly pretty),
but it's still a much better improvement.

Differential Revision: https://phabricator.services.mozilla.com/D195345
2023-12-04 18:57:35 +00:00
Emilio Cobos Álvarez 24fe7cd3cc Bug 1858349 - Remove now-unused menuarrow code. r=spohl,mac-reviewers,win-reviewers,rkraesig
The windows bits were already unused.

Depends on D190663

Differential Revision: https://phabricator.services.mozilla.com/D190664
2023-10-11 19:37:40 +00:00
Emilio Cobos Álvarez d02e297b2d Bug 1624819 - Remove TaskCategory and other quantum dom remnants. r=smaug,media-playback-reviewers,credential-management-reviewers,cookie-reviewers,places-reviewers,win-reviewers,valentin,mhowell,sgalich,alwu
Sorry this is not a particularly easy patch to review. But it should be
mostly straight-forward.

I kept Document::Dispatch mostly for convenience, but could be
cleaned-up too / changed by SchedulerGroup::Dispatch. Similarly maybe
that can just be NS_DispatchToMainThread if we add an NS_IsMainThread
check there or something (to preserve shutdown semantics).

Differential Revision: https://phabricator.services.mozilla.com/D190450
2023-10-10 08:51:12 +00:00
Emilio Cobos Álvarez 8acb9034cb Bug 1849793 - Use non-native rendering for menuarrows on Linux. r=dholbert,stransky
Differential Revision: https://phabricator.services.mozilla.com/D186712
2023-08-29 11:16:36 +00:00
Emilio Cobos Álvarez 13c5e7ce8f Bug 1846859 - Remove appearance: {checkbox,radio}-{label,container}. r=desktop-theme-reviewers,dao
I didn't find a single GTK theme that drew something useful for this:

 * The container appearance isn't needed. It is a hack needed to get the
   right styles for the native checkbox, but that's it, we don't need to
   expose it to CSS.

 * The label appearance was meant to draw the focus outline but since it
   didn't work reliably we've been doing it manually since seven years
   ago (see bug 582951 and bug 1312169).

Other platforms also don't use these so this simplifies the code a bit.

Depends on D185279

Differential Revision: https://phabricator.services.mozilla.com/D185286
2023-08-03 16:36:39 +00:00
Emilio Cobos Álvarez f9e8ec8dc6 Bug 1845636 - Allow browser chrome to enable the non-native theme. r=dshin
I tried to reftest this, but actually the non-native-theme is already
enabled on all reftests, so...

Differential Revision: https://phabricator.services.mozilla.com/D184740
2023-07-27 22:09:10 +00:00
Emilio Cobos Álvarez 529c9ee321 Bug 1839922 - Remove usage of {Has,Get}Attr(kNameSpaceID_None, ..). r=edgar
We have more readable and faster versions (that just omit the namespace
arg).

Mostly done via sed, with a couple helpers to use the faster lookups
where possible.

Differential Revision: https://phabricator.services.mozilla.com/D181795
2023-06-23 10:01:32 +00:00
Emilio Cobos Álvarez 8e6367b37d Bug 1833403 - Simplify some appearance code. r=stransky,mac-reviewers,handyman,devtools-reviewers,mstange
I was looking into simplifying our scrollbar styles:

 * StyleAppearance::Resizer is not used in content, and some of the
   values were only for <xul:window> which are not supported anymore.

 * Statusbarpanel and Resizerpanel aren't used. Statusbar is only used
   once on macOS so we only need to keep it there.

Differential Revision: https://phabricator.services.mozilla.com/D178374
2023-05-24 11:13:58 +00:00
Iulian Moraru 9c594bd090 Backed out changeset f020820671c4 (bug 1833403) for causing reftest failures on resizer-bottomend.xhtml. CLOSED TREE 2023-05-24 01:48:48 +03:00
Emilio Cobos Álvarez 3bc9e17a57 Bug 1833403 - Simplify some appearance code. r=stransky,mac-reviewers,handyman,devtools-reviewers,mstange
I was looking into simplifying our scrollbar styles:

 * StyleAppearance::Resizer is not used in content, and some of the
   values were only for <xul:window> which are not supported anymore.

 * Statusbarpanel and Resizerpanel aren't used. Statusbar is only used
   once on macOS so we only need to keep it there.

Differential Revision: https://phabricator.services.mozilla.com/D178374
2023-05-23 15:43:45 +00:00
Norisz Fay 7241bae46b Backed out changeset e2d6154400a7 (bug 1833403) for causing reftest failures on resizer-bottomend.xhtml 2023-05-23 01:03:26 +03:00
Emilio Cobos Álvarez 5305c92984 Bug 1833403 - Simplify some appearance code. r=stransky,mac-reviewers,handyman,devtools-reviewers,mstange
I was looking into simplifying our scrollbar styles:

 * StyleAppearance::Resizer is not used in content, and some of the
   values were only for <xul:window> which are not supported anymore.

 * Statusbarpanel and Resizerpanel aren't used. Statusbar is only used
   once on macOS so we only need to keep it there.

Differential Revision: https://phabricator.services.mozilla.com/D178374
2023-05-22 20:39:11 +00:00
Emilio Cobos Álvarez 72ba65d517 Bug 1828413 - Use more non-native rendering of menus. r=stransky
This makes our menus closer to GTK4, and depends less on the native menu
rendering etc. Thunderbird already does this to some extent.

Leave the old code behind a pref for now (just in case). Also fix some
code in nsNativeTheme::GetContentState (fixes rendering of radio menu
items).

Differential Revision: https://phabricator.services.mozilla.com/D175664
2023-04-20 11:42:44 +00:00
Cristina Horotan c241653bb0 Backed out changeset c099d64b17e6 (bug 1828413) for causing multiple Menu related failures. CLOSED TREE 2023-04-19 14:51:33 +03:00
Emilio Cobos Álvarez 29fa0b6781 Bug 1828413 - Use more non-native rendering of menus. r=stransky
This makes our menus closer to GTK4, and depends less on the native menu
rendering etc. Thunderbird already does this to some extent.

Leave the old code behind a pref for now (just in case). Also fix some
code in nsNativeTheme::GetContentState (fixes rendering of radio menu
items).

Differential Revision: https://phabricator.services.mozilla.com/D175664
2023-04-19 10:08:30 +00:00
Emilio Cobos Álvarez 59e7b13fee Bug 1805414 - Remove nsMenuFrame and nsMenuParent. r=smaug,Jamie,desktop-theme-reviewers,settings-reviewers,dao
Move most the event handling stuff to the DOM. I've left nsMenuBarFrame
for now, but I will be removing that in the future.

The basic set up is:

  * nsMenuParent becomes XULMenuParentElement (menubar or popup, manages
    the current active menu item)

  * nsMenuFrame -> XULButtonElements that return true for IsMenu().
    Can't use XULMenuElement because of <button type=menu>, which
    behaves like a, well, menu.

This makes the a11y events for menus (DOMMenuItem{Active,Inactive}) make
sense (before that we were firing duplicate Inactive events etc, and the
event order was rather suspicious).

Differential Revision: https://phabricator.services.mozilla.com/D164210
2023-01-04 19:01:13 +00:00
Csoregi Natalia 16528aebb2 Backed out changeset f11c529b2407 (bug 1805414) for failures on test_submenuClose.xhtml and nsMenuPopupFrame.cpp. CLOSED TREE 2023-01-04 01:48:30 +02:00
Emilio Cobos Álvarez dd6fd3a3b0 Bug 1805414 - Remove nsMenuFrame and nsMenuParent. r=smaug,Jamie,desktop-theme-reviewers,settings-reviewers,dao
Move most the event handling stuff to the DOM. I've left nsMenuBarFrame
for now, but I will be removing that in the future.

The basic set up is:

  * nsMenuParent becomes XULMenuParentElement (menubar or popup, manages
    the current active menu item)

  * nsMenuFrame -> XULButtonElements that return true for IsMenu().
    Can't use XULMenuElement because of <button type=menu>, which
    behaves like a, well, menu.

This makes the a11y events for menus (DOMMenuItem{Active,Inactive}) make
sense (before that we were firing duplicate Inactive events etc, and the
event order was rather suspicious).

Differential Revision: https://phabricator.services.mozilla.com/D164210
2023-01-03 22:06:01 +00:00
Emilio Cobos Álvarez d052b879f5 Bug 1792802 - Fix tree column picker. r=aminomancer
This element had a really weird dependency on the order of the command
events from the menuitems and the button which broke in bug 1790920.

Instead of keeping this element as a XULButtonElement, have a separate
button and popup. That's simpler and less prone to breakage, and allows
to get rid of special cases in Gecko.

Differential Revision: https://phabricator.services.mozilla.com/D158438
2022-10-05 06:59:13 +00:00
Norisz Fay 1071114092 Backed out changeset f9249f760526 (bug 1792802) for causing mochitest failures on test_struct_tree.xhtml CLOSED TREE 2022-10-05 05:58:02 +03:00
Emilio Cobos Álvarez 20976f106a Bug 1792802 - Fix tree column picker. r=aminomancer
This element had a really weird dependency on the order of the command
events from the menuitems and the button which broke in bug 1790920.

Instead of keeping this element as a XULButtonElement, have a separate
button and popup. That's simpler and less prone to breakage, and allows
to get rid of special cases in Gecko.

Differential Revision: https://phabricator.services.mozilla.com/D158438
2022-10-05 02:09:03 +00:00