gecko-dev/browser
Emilio Cobos Álvarez a8d469a8d0 Bug 1744009 - Simplify combobox <select> code. r=mconley,dholbert
With this patch on its own we get some a11y tests failures, but those
are fixed on a later patch.

Combobox select no longer creates frames for its <options>, nor an
nsListControlFrame. Instead, it computes its right intrinsic size using
the largest size of the options. This is better, because we render the
option text using the select style so if the select and option styles
are mismatched it'd cause changes in the size of the select when text
changes. See the following in a build without the patch, for example:

  <select>
    <option>ABC</option>
    <option style="font-size: 1px">Something long</option>
  </select>

This seems like a rather obscure case, but it's important to get it
right, see bug 1741888.

With this patch we use the same setup in content and parent processes
(this needs bug 1596852 and bug 1744152). This means we can remove a
bunch of the native view and popup code in nsListControlFrame. A couple
browser_* tests are affected by this change and have been tweaked
appropriately (the changes there are trivial).

Not creating an nsListControlFrame for dropdown select means that we
need to move a bunch of the event handling code from nsListControlFrame
to a common place that nsComboboxControlFrame can also use. That place
is HTMLSelectEventListener, and I think the setup is much nicer than
having the code intertwined with nsListControlFrame. It should be
relatively straight-forward to review, mostly moving code from one part
to another.

Another thing that we need to do in HTMLSelectEventListener that we
didn't use to do is listening for DOM mutations on the dropdown. Before,
we were relying on changes like text mutations triggering a reflow of
the listcontrolframe, which also triggered a reflow of the
comboboxcontrolframe, which in turn updated the text of the anonymous
content. Now we need to trigger that reflow manually.

There are some further simplifications that can be done after this
lands (cleanup naming of openInParentProcess and so on, among others),
but I'd rather land this first (after the merge of course) and work on
them separately.

Differential Revision: https://phabricator.services.mozilla.com/D132719
2022-01-16 23:31:22 +00:00
..
actors Bug 1741736 - Add overlay to Screenshots component implementation. r=sfoster,fluent-reviewers 2022-01-14 18:06:11 +00:00
app Bug 1569859 - [devtools] Spawn WindowGlobal targets for popup opened by the currently debugged tab r=nchevobbe,devtools-backward-compat-reviewers 2022-01-14 12:02:24 +00:00
base Bug 1744009 - Simplify combobox <select> code. r=mconley,dholbert 2022-01-16 23:31:22 +00:00
branding Bug 1592731 - Update Firefox ESR's update failure doorhanger to direct user to the ESR download page. r=nalexander,mkaply 2021-12-21 20:57:08 +00:00
components Bug 1747422 - Rename the allDownloads list box. r=dao 2022-01-16 10:54:32 +00:00
config Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2022-01-10 17:50:37 +00:00
docs Bug 1748443 - Drop reference to search telemetry from BrowserUsageTelemetry documentation. r=adw 2022-01-04 17:12:34 +00:00
extensions Bug 1746439 - Shim for Crave.ca to fix login for dFPI, r=anti-tracking-reviewers,webcompat-reviewers,twisniewski,pbz 2022-01-11 12:30:44 +00:00
fonts Bug 1714632 - Update bundled TwemojiMozilla font to 0.6.0 (Twemoji 13.1). r=lsalzman 2021-07-16 23:04:00 +00:00
fxr Bug 1708243 - Part 4: Remove tab-content.js and onExtensionBrowser.js, stop touching .content eagerly r=robwu 2021-10-09 22:45:28 +00:00
installer Bug 1745437: Add an app execution alias for MSIX packages. r=nalexander 2022-01-12 15:42:04 +00:00
locales Bug 1685387 - Update the text on about:restartrequired to account for private windows. r=Gijs,fluent-reviewers 2022-01-16 10:40:27 +00:00
modules Bug 1746941 - Add tags to all Firefox-on-Glean metrics r=janerik 2022-01-14 18:11:08 +00:00
themes Bug 1747422 - flatten out the preprocessor vars in downloads CSS. r=dao 2022-01-16 11:20:31 +00:00
tools/mozscreenshots Bug 1741369 - [devtools] Update paths to loader files outside devtools/ r=perftest-reviewers,preferences-reviewers,sparky,Gijs 2021-11-17 12:43:27 +00:00
.eslintrc.js
LICENSE
Makefile.in
app.mozbuild Bug 1746299 - Remove broken support for --enable-project=extensions and --enable-extensions. r=Gijs,firefox-build-system-reviewers,mhentges 2021-12-18 00:32:34 +00:00
build.mk
confvars.sh Bug 1747855 - Move --disable-updater to python configure. r=firefox-build-system-reviewers,geckoview-reviewers,mhentges,calu 2021-12-30 00:54:02 +00:00
defs.mk
l10n-registry.manifest
moz.build
moz.configure