Граф коммитов

79664 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez 46d78bbdfd Bug 1799918 - Use UniquePtr in nsMenuChainItem. r=mstange
This makes it clear what is supposed to keep alive what.

Differential Revision: https://phabricator.services.mozilla.com/D161705
2022-11-09 17:16:44 +00:00
David Shin 247d54c98b Bug 1791069 - Clamp scrollable element's first/last baseline position to border box. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D161068
2022-11-09 16:25:46 +00:00
Emilio Cobos Álvarez 58a308d108 Bug 1799580 - Remove display: -moz-popup. r=TYLin
We already rely on it applying only to XULPopupElement's. Make it
explicit and remove the CSS value.

Differential Revision: https://phabricator.services.mozilla.com/D161552
2022-11-09 14:19:22 +00:00
Emilio Cobos Álvarez 5c5c337a98 Bug 1799343 - Simplify XUL popup handling. r=TYLin
* Make non-menulist popups just absolute positioned top-layer items.
 * Simplify menulist popups to just be static-positioned items under
   nsMenuFrame.

We need to keep kPopupList only for nsMenuFrame. In the future it can be
removed, see TODO in xul.css

Differential Revision: https://phabricator.services.mozilla.com/D161404
2022-11-09 14:19:22 +00:00
Cristian Tuns 01dcbc81d3 Backed out 2 changesets (bug 1799580, bug 1799343) for causing mochitest failures on win7 CLOSED TREE
Backed out changeset fb0df93a4719 (bug 1799580)
Backed out changeset 493c9ca00c91 (bug 1799343)
2022-11-09 07:15:51 -05:00
Olli Pettay 155ecf9171 Bug 1633019 - Crash in [@ mozilla::PresShell::EventHandler::MaybeFlushThrottledStyles], r=masayuki
GetViewManager() may return null if the relevant presshell is being destroyed.
This is a guess fix, but the crash reports seem to hint about this issue.

Differential Revision: https://phabricator.services.mozilla.com/D161587
2022-11-09 10:36:24 +00:00
Emilio Cobos Álvarez 636d705f3b Bug 1799580 - Remove display: -moz-popup. r=TYLin
We already rely on it applying only to XULPopupElement's. Make it
explicit and remove the CSS value.

Differential Revision: https://phabricator.services.mozilla.com/D161552
2022-11-09 09:17:22 +00:00
Emilio Cobos Álvarez b513d45bea Bug 1799343 - Simplify XUL popup handling. r=TYLin
* Make non-menulist popups just absolute positioned top-layer items.
 * Simplify menulist popups to just be static-positioned items under
   nsMenuFrame.

We need to keep kPopupList only for nsMenuFrame. In the future it can be
removed, see TODO in xul.css

Differential Revision: https://phabricator.services.mozilla.com/D161404
2022-11-09 09:17:21 +00:00
Stanca Serban edb43a2039 Backed out 2 changesets (bug 1745969) for causing mochitests failures on test_bug842853-2.html.CLOSED TREE
Backed out changeset 11b84155f96e (bug 1745969)
Backed out changeset 6fd4ba66ac87 (bug 1745969)
2022-11-09 03:20:35 +02:00
Butkovits Atila 670b9fcab3 Backed out changeset 33ba5e2e97b1 (bug 1791069) for causing failures at grid-align-baseline-line-clamp-002.tentative.html. CLOSED TREE 2022-11-09 01:06:06 +02:00
David Shin a8a89e8507 Bug 1791069 - Clamp scrollable element's first/last baseline position to border box. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D161068
2022-11-08 21:32:44 +00:00
Hiroyuki Ikezoe a9fdcf76cc Bug 1745969 - Stop doing SnapCoord. r=tnikkel
With doing SnapCoord we mis-consider non-scrollable frames as scrollable in APZ,
thus it causes unexpected overscroll gutters.

Depends on D161417

Differential Revision: https://phabricator.services.mozilla.com/D161419
2022-11-08 21:08:35 +00:00
Hiroyuki Ikezoe fa898ae0fa Bug 1745969 - Use "MozReftestInvalidate" event instead of onload to wait for ready to be tested. r=tnikkel
With onload event handler this reftest isn't in a good state, in other words
it's not stable on all platforms. Specifically on Windows 10 this testing html
is rendered at 1px upper than the reference html without pixel snapping on the
main-thread. Interestingly this reftest doesn't fail at least on my Windows 11
laptop without the pixel snapping. So there's something that metrics are timing
specific (e.g. font loading) to make this test flaky.

Differential Revision: https://phabricator.services.mozilla.com/D161417
2022-11-08 21:08:34 +00:00
stransky 7d2d31927b Bug 1761877 [Linux] Add isWaylandDragSource and isWaylandPopup attributes to XULPopupElement r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D161127
2022-11-08 20:43:17 +00:00
Ben Freist b0c60a603d Bug 1799348 - [refactor] Migrate NS_STYLE_CELL_SCOPE_* defines r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D161406
2022-11-08 20:18:45 +00:00
Edgar Chen 04cf2a513c Bug 1795116 - Support specifying tiltX/tiltY/twist on synthesized touch event; r=webdriver-reviewers,smaug,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D160970
2022-11-08 19:47:29 +00:00
Mathew Hodson 989ac59e8d Bug 1294360 - Remove mozCurrentTransform. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D160998
2022-11-08 12:42:23 +00:00
Sandor Molnar 8e6fe2de11 Backed out 4 changesets (bug 1799343) for causing multiple crashes. CLOSED TREE
Backed out changeset 3150074bccfd (bug 1799343)
Backed out changeset 7f6358a0b692 (bug 1799343)
Backed out changeset 34f040f379b1 (bug 1799343)
Backed out changeset a609c8c27ca8 (bug 1799343)
2022-11-08 05:54:37 +02:00
Sandor Molnar 1ae11a4732 Backed out 2 changesets (bug 1745969) for causing wpt/mochitest failures.
Backed out changeset a23bb92cb6fe (bug 1745969)
Backed out changeset aec681965be3 (bug 1745969)
2022-11-08 05:51:09 +02:00
Hiroyuki Ikezoe 23cced6f2f Bug 1745969 - Stop doing SnapCoord. r=tnikkel
With doing SnapCoord we mis-consider non-scrollable frames as scrollable in APZ,
thus it causes unexpected overscroll gutters.

Differential Revision: https://phabricator.services.mozilla.com/D161419
2022-11-08 02:56:03 +00:00
Hiroyuki Ikezoe 4724645ebe Bug 1745969 - Use "MozReftestInvalidate" event instead of onload to wait for ready to be tested. r=tnikkel
With onload event handler this reftest isn't in a good state, in other words
it's not stable on all platforms. Specifically on Windows 10 this testing html
is rendered at 1px upper than the reference html without pixel snapping on the
main-thread. Interestingly this reftest doesn't fail at least on my Windows 11
laptop without the pixel snapping. So there's something that metrics are timing
specific (e.g. font loading) to make this test flaky.

Differential Revision: https://phabricator.services.mozilla.com/D161417
2022-11-08 02:56:02 +00:00
Emilio Cobos Álvarez 44ef3b8685 Bug 1799435 - Make RFP checks faster. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D161447
2022-11-08 02:36:25 +00:00
Emilio Cobos Álvarez 879de0046e Bug 1799343 - Fix a crashtest that try didn't catch.
I'll remove display: -moz-popup in bug 1799580.

MANUAL PUSH: Trivial orange fix CLOSED TREE
2022-11-08 03:34:27 +01:00
Emilio Cobos Álvarez 8a44079e57 Bug 1799343 - Remove another test whose expectation no longer holds.
Only nodes with popup display that get out of flow should be panel /
menupopup / tooltip.

MANUAL PUSH: Trivial reftest orange fix CLOSED TREE
2022-11-08 01:57:55 +01:00
Emilio Cobos Álvarez 7c743cf916 Bug 1799343 - Simplify XUL popup handling. r=TYLin
* Make non-menulist popups just absolute positioned top-layer items.
 * Simplify menulist popups to just be static-positioned items under
   nsMenuFrame.

We need to keep kPopupList only for nsMenuFrame. In the future it can be
removed, see TODO in xul.css

Differential Revision: https://phabricator.services.mozilla.com/D161404
2022-11-08 00:18:00 +00:00
Sandor Molnar 7a39c6eef3 Backed out changeset c7f5349824c4 (bug 1799435) for causing crashes in mozilla::dom::HTMLImageElement::LoadSelectedImage CLOSED TREE 2022-11-08 02:39:14 +02:00
Sandor Molnar dd9e307496 Backed out 3 changesets (bug 1796690) for causing mochitest failures in browser/components/urlbar/tests/browser/browser_UrlbarInput_overflow.js CLOSED TREE
Backed out changeset 5040c6736ee7 (bug 1796690)
Backed out changeset d86f25e5b636 (bug 1796690)
Backed out changeset 887104a60dc4 (bug 1796690)
2022-11-08 01:20:27 +02:00
Emilio Cobos Álvarez 68c342910f Bug 1799435 - Make RFP checks faster. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D161447
2022-11-07 22:23:50 +00:00
Emilio Cobos Álvarez 1fffc2bd61 Bug 1793410 - Print changed bits in assert failure. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D161515
2022-11-07 21:09:00 +00:00
Dan Robertson 4fa4081971 Bug 1796690 - Fire scrollend for scroll that updates scroll position. r=hiro
Do not fire a scrollend event for a instant scroll that does not change the
scroll position.

Depends on D161265

Differential Revision: https://phabricator.services.mozilla.com/D160156
2022-11-07 20:05:20 +00:00
Andrew Osmond 48ba41716e Bug 1799198 - Check FontFaceSetImpl::GetURLExtraData for nullptr. r=emilio
FontFaceSetWorkerImpl::GetURLExtraData should generally not return a
null pointer, but if it failed to initialize because the worker was
shutdown during FontFaceSetWorkerImpl initialization, then it may never
be created. This patch ensures we check for this race and handle it
appropriately.

Differential Revision: https://phabricator.services.mozilla.com/D161476
2022-11-07 19:34:52 +00:00
Stephen A Pohl 0a408a0948 Bug 1642138: Improve integration with the macOS-level Window menu handling to unlock built-in OS functionality such as tiling of windows. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D159723
2022-11-07 19:04:40 +00:00
Ting-Yu Lin 6992561e6b Bug 1799407 - Move definitions in FrameChildList.h/cpp into nsFrameList.h/cpp. r=emilio
There shouldn't be any circular dependency that requires putting definitions in
FrameChildList.h/cpp.

Differential Revision: https://phabricator.services.mozilla.com/D161426
2022-11-07 18:59:10 +00:00
Tom Schuster b680625ab0 Bug 1797070 - CSP: Add a basic implementation of unsafe-hashes behind a flag. r=freddyb
Differential Revision: https://phabricator.services.mozilla.com/D160046
2022-11-07 17:56:23 +00:00
Iulian Moraru 2f0dd0e293 Backed out changeset 44cb21194dc0 (bug 1799435) for causing multiple resist fingerprint related failures. CLOSED TREE 2022-11-07 18:42:11 +02:00
Emilio Cobos Álvarez bac0597c49 Bug 1799435 - Make RFP checks faster. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D161447
2022-11-07 14:40:57 +00:00
Ben Freist f6f0a84d0a Bug 1799346 - [refactor] Remove unused nsStylePage and nsStyleText defines r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D161405
2022-11-07 00:28:48 +00:00
Ben Freist 3c194fa1d6 Bug 1799342 - [refactor] Remove unused nsStyleBreaks defines r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D161403
2022-11-06 17:27:17 +00:00
Connor Pearson 0f359a70e2 Bug 1764850 Implement CSS round() function. r=emilio
Co-Authored-By: Emilio Cobos Álvarez <emilio@crisal.io>

Differential Revision: https://phabricator.services.mozilla.com/D156742
2022-11-05 21:25:16 +00:00
Emilio Cobos Álvarez 25e4585462 Bug 1798836 - Improve sizing of the profile manager (again). r=Gijs,webidl,smaug
Instead of imposing the min-width as a max-size, make prefwidth act as
it should (as suggesting a preferred width, but with min-content as a
minimum).

This can be reproduced locally by applying a patch like:

```
diff --git a/toolkit/profile/content/profileSelection.xhtml b/toolkit/profile/content/profileSelection.xhtml
index 3dd1c864f79f1..7e8cbf8ce8c3e 100644
--- a/toolkit/profile/content/profileSelection.xhtml
+++ b/toolkit/profile/content/profileSelection.xhtml
@@ -17,7 +17,7 @@
   data-l10n-id="profile-selection-window"
   orient="vertical"
   prefwidth="min-width"
-  style="min-width: 30em;"
+  style="min-width: 10em;"
   onload="startup();">
 <dialog id="profileWindow"
   buttons="accept,cancel"
```

Before patch, stuff overflowed. This patch guarantees that everything is
on-screen.

Differential Revision: https://phabricator.services.mozilla.com/D161229
2022-11-05 19:24:31 +00:00
Cosmin Sabou d6ab6f4a98 Backed out changeset f456713ddff8 (bug 1798836) for causing build bustages on Window.webidl. CLOSED TREE 2022-11-05 15:15:53 +02:00
Emilio Cobos Álvarez fe3a1ffba6 Bug 1798836 - Improve sizing of the profile manager (again). r=Gijs,webidl,smaug
Instead of imposing the min-width as a max-size, make prefwidth act as
it should (as suggesting a preferred width, but with min-content as a
minimum).

This can be reproduced locally by applying a patch like:

```
diff --git a/toolkit/profile/content/profileSelection.xhtml b/toolkit/profile/content/profileSelection.xhtml
index 3dd1c864f79f1..7e8cbf8ce8c3e 100644
--- a/toolkit/profile/content/profileSelection.xhtml
+++ b/toolkit/profile/content/profileSelection.xhtml
@@ -17,7 +17,7 @@
   data-l10n-id="profile-selection-window"
   orient="vertical"
   prefwidth="min-width"
-  style="min-width: 30em;"
+  style="min-width: 10em;"
   onload="startup();">
 <dialog id="profileWindow"
   buttons="accept,cancel"
```

Before patch, stuff overflowed. This patch guarantees that everything is
on-screen.

Differential Revision: https://phabricator.services.mozilla.com/D161229
2022-11-05 13:02:31 +00:00
Jonathan Kew 8c2b30ffe2 Bug 1799193 - Refactor XUL textbox-label/treeview-cell cropping to share code. r=emilio
This shouldn't change any behavior, it just refactors the code to use a shared string-cropping function.

It's still an approximation, and theoretically could be quite inaccurate in the case of complex text shaping,
but in practice is "good enough" for the kind of UI-element display where we use it.

Differential Revision: https://phabricator.services.mozilla.com/D161328
2022-11-05 10:45:31 +00:00
Iulian Moraru 1c8854ed1e Backed out changeset 46538d8cbaf1 (bug 1642138) as per dev's request. CLOSED TREE 2022-11-05 03:02:28 +02:00
Daniel Holbert 7b87120655 Bug 942794: Add crashtest for this no-longer-reproducible bug. (no review, crashtest-only)
Differential Revision: https://phabricator.services.mozilla.com/D161348
2022-11-04 21:37:30 +00:00
Csoregi Natalia 4f7b803fd6 Backed out changeset c7e10bd5cd69 (bug 1764850) for causing bustage on nsStyleStruct.cpp. CLOSED TREE 2022-11-05 00:01:38 +02:00
Connor Pearson c3971e400d Bug 1764850 Implement CSS round() function. r=emilio
Co-Authored-By: Emilio Cobos Álvarez <emilio@crisal.io>

Differential Revision: https://phabricator.services.mozilla.com/D156742
2022-11-04 20:00:06 +00:00
Jonathan Kew 72a059fe5c Bug 1799093 - Avoid breaking surrogate pairs etc when truncating titles in nsTreeBodyFrame.cpp. r=emilio
This is basically copied from how nsTextBoxFrame handles truncation, and avoids breaking surrogate pairs
(or other grapheme clusters such as base character + diacritic). It's still a "poor man's" version
of truncation that doesn't correctly measure the string in the presence of complex font shaping.

Longer-term, we should unify all this kind of truncation/ellipsizing of labels etc to use an implementation
based on CSS text-overflow, but that doesn't yet support center-cropping so it's not a drop-in replacement.
So I think we should do this as an interim measure to fix the most egregious brokenness, and make treeview
cells at least work similarly to textbox labels.

Tested manually; seems difficult to do automated tests as it'd be sensitive to exact glyph metrics.

Differential Revision: https://phabricator.services.mozilla.com/D161251
2022-11-04 18:30:12 +00:00
Razvan Cojocaru 1629218702 Bug 1060421 - Change the type of [Int]PointTyped::[x|y] back to [Int]CoordTyped. r=botond
[Int]CoordTyped no longer inherits Units because otherwise
instances of [Int]IntPointTyped may get one Base subobject because
it inherits Units, and others because of BasePoint's Coord members,
which end up increasing the [Int]CoordTyped's objects size (since
according to the ISO C++ standard, different Base subobject are
required to have different addresses).

Differential Revision: https://phabricator.services.mozilla.com/D160713
2022-11-04 18:29:35 +00:00
Jonathan Kew 6c978a4239 Bug 1796983 - patch 1 - Fix property_database.js to correctly respect the font-variant-emoji pref. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D160256
2022-11-04 17:41:39 +00:00
Cristian Tuns 47d4ab36e9 Backed out changeset b2e56f907f70 (bug 1799111) reftest failures on grid-track-fit-content-sizing-001.html CLOSED TREE 2022-11-04 11:38:46 -04:00
Tiaan Louw 8c0f480a7d Bug 1799111 - Don't apply auto min sizing when spanning flexible tracks. r=emilio
This is the first part of the bug.  A clarification in the spec states
that a grid item spanning multiple tracks, which include a flexible
track, should not participate in auto min sizing calculation and should
have a width of 0.

https://w3c.github.io/csswg-drafts/css-grid-1/#min-size-auto

Differential Revision: https://phabricator.services.mozilla.com/D160900
2022-11-04 14:05:48 +00:00
Emilio Cobos Álvarez 204a200802 Bug 1798218 - Ignore transitions for printing. r=hiro
Two tweaks:

 * Use nsPresContext::Medium to decide whether to start transitions.
   This catches both the print emulation and the before/afterprint event
   dispatching code too, which is desirable.

 * Don't clone transition effects for print docs. This seems to match
   other browsers (click "trigger transition", then Ctrl+P in Chromium
   for example).

Move our existing css-animations tests to WPT. They were written for
compat with other browsers so we want to know if other browsers behave
differently.

Differential Revision: https://phabricator.services.mozilla.com/D161086
2022-11-03 23:23:39 +00:00
Stephen A Pohl 177c2181ca Bug 1642138: Improve integration with the macOS-level Window menu handling to unlock built-in OS functionality such as tiling of windows. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D159723
2022-11-03 19:32:27 +00:00
Daniel Holbert 6d7a2bc895 Bug 1798953 part 1: Initialize ClusterIterator::mIterator in the init list. r=jfkthame
Before this patch, we implicitly invoke the default constructor for this
member-var, and then immediately stomp on the results with a reassignment.

This patch avoids that unnecessary usage of the default constructor, saving
ourslves a bit of work and getting this member-var more directly into a
fully-initialized/valid state.

Differential Revision: https://phabricator.services.mozilla.com/D159903
2022-11-03 18:03:59 +00:00
Richard Marti 66b80c7e7f Bug 1796619 - Make the tree better work with the modern flexbox emulation. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D161165
2022-11-03 17:15:07 +00:00
William Durand 560aa1a276 Bug 1797050 - Part 6 - Use `browser_specific_settings` instead of `applications` in test manifests. r=rpl,perftest-reviewers,sparky
We want to encourage extension developers to use `browser_specific_settings` instead of `applications`, which will be unsupported in Manifest Version 3+. This patch makes sure test manifests in m-c won't cause any issues in the future.

Depends on D160541

Differential Revision: https://phabricator.services.mozilla.com/D160668
2022-11-03 16:23:03 +00:00
Narcis Beleuzu a9a07a1d4d Backed out changeset 183400ded7d4 (bug 1294360) for bustages on CanvasRenderingContext2D.cpp. CLOSED TREE 2022-11-03 13:06:15 +02:00
Mathew Hodson d09399daf1 Bug 1294360 - Remove mozCurrentTransform. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D160998
2022-11-03 10:26:08 +00:00
Emilio Cobos Álvarez 078a10f45f Bug 1798830 - Clean up DisplayFlagForFlexOrGridItem. r=dholbert
No need to be an out of band member function given the only callers are
in flex / grid code.

I was looking at this in the context of bug 1798396. This probably
doesn't matter for PGO, but it being a static method helps reason about
the flags being the same for all items.

Differential Revision: https://phabricator.services.mozilla.com/D161102
2022-11-03 02:32:47 +00:00
Emily McDonough 7f3a7a1925 Bug 1798581 - Add optional page name argument to Servo_ComputedValues_GetForAnonymousBox and ServoStyleSet::ResolveNonInheritingAnonymousBoxStyle r=emilio
This needs to bypass the cache on ServoStyleSet when looking up styles with
named pages. We could possibly cache the last used named page style, which
would avoid extra style calculations for multiple sequential pages with the
same page name, but for now the cache is just ignored.

Differential Revision: https://phabricator.services.mozilla.com/D160976
2022-11-02 23:24:41 +00:00
Sandor Molnar 07b5a37242 Backed out changeset a0bebf5f154c (bug 1798581) for causing build bustages. CLOSED TREE 2022-11-03 00:56:11 +02:00
Emily McDonough f697f06790 Bug 1798581 - Add optional page name argument to Servo_ComputedValues_GetForAnonymousBox and ServoStyleSet::ResolveNonInheritingAnonymousBoxStyle r=emilio
This needs to bypass the cache on ServoStyleSet when looking up styles with
named pages. We could possibly cache the last used named page style, which
would avoid extra style calculations for multiple sequential pages with the
same page name, but for now the cache is just ignored.

Differential Revision: https://phabricator.services.mozilla.com/D160976
2022-11-02 22:30:19 +00:00
Adam Vandolder 0be4513261 Bug 1665151 - Part 2: Expose custom element default accessibility attributes. r=edgar,Jamie,credential-management-reviewers,sgalich
Differential Revision: https://phabricator.services.mozilla.com/D159237
2022-11-02 14:50:56 +00:00
Cristian Tuns 4d37cf70f1 Backed out 19 changesets (bug 1541508) for causing xpcshell failures on test_notHeadlessByDefault.js CLOSED TREE
Backed out changeset 08476fa2bc27 (bug 1541508)
Backed out changeset 0bf7514845db (bug 1541508)
Backed out changeset aa612a5e9ef7 (bug 1541508)
Backed out changeset 6bb9360473f7 (bug 1541508)
Backed out changeset b3d8e92f50c2 (bug 1541508)
Backed out changeset fa40dded133e (bug 1541508)
Backed out changeset 2e7db4aa8d4f (bug 1541508)
Backed out changeset 6098e2eb62ea (bug 1541508)
Backed out changeset 2c599ee639c4 (bug 1541508)
Backed out changeset 7d44f6e2644c (bug 1541508)
Backed out changeset c1279c3d674c (bug 1541508)
Backed out changeset 8bd08a62a590 (bug 1541508)
Backed out changeset 740010cb005c (bug 1541508)
Backed out changeset 0bfc7dd85c62 (bug 1541508)
Backed out changeset c4374a351356 (bug 1541508)
Backed out changeset 44ccfeca7364 (bug 1541508)
Backed out changeset e944e706a523 (bug 1541508)
Backed out changeset 2c59d66f43e4 (bug 1541508)
Backed out changeset a1896eacb6f1 (bug 1541508)
2022-11-01 22:38:52 -04:00
Barret Rennie 267a101012 Bug 1541508 - Use Services.env in layout/ r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D160140
2022-11-02 02:08:55 +00:00
Timothy Nikkel 81dc489b3c Bug 1798571. Remove unused nsCSSFrameConstructor::mIsDestroyingFrameTree. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D160967
2022-11-01 22:41:13 +00:00
Ting-Yu Lin da28d9e26e Bug 1798373 Part 8 - Convert more frame list manipulation methods to take rvalue references of nsFrameList. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D160844
2022-11-01 21:15:55 +00:00
Ting-Yu Lin 040feb02dd Bug 1798373 Part 7 - Change nsContainerFrame::InsertFrames() to take rvalue reference of nsFrameList. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D160843
2022-11-01 21:15:55 +00:00
Ting-Yu Lin c99b45fa14 Bug 1798373 Part 6 - Change nsContainerFrame::AppendFrames() to take rvalue reference of nsFrameList. r=emilio
Change nsBlockFrame::AppendFrames() helper, too.

Differential Revision: https://phabricator.services.mozilla.com/D160842
2022-11-01 21:15:54 +00:00
Ting-Yu Lin 4787078c5c Bug 1798373 Part 5 - Change nsContainerFrame::SetInitialChildList() to take rvalue reference of nsFrameList. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D160841
2022-11-01 21:15:54 +00:00
Ting-Yu Lin fc3719b5aa Bug 1798373 Part 4 - Remove nsFrameList::SetFrames() that takes nsFrameList. r=emilio
SetFrame() is equivalent to `operator=`, so external callers can use `operator=`
instead. For the two callers wanting to set `nsFrameList` to `AbsoluteFrameList`
in `nsCSSFrameConstructor`, removing SetFrame() disallows it. However, we can
easily change the declaration from `nsFrameList` to a `AbsoluteFrameList` to
resolve the problem.

Differential Revision: https://phabricator.services.mozilla.com/D160840
2022-11-01 21:15:53 +00:00
Ting-Yu Lin 2d28e97d61 Bug 1798373 Part 3 - Remove nsFrameList::SetFrames() that takes nsIFrame*. r=emilio
The removed SetFrames() is slow (it traverses the next sibling chain to find the
last sibling) and has only one caller. Let's remove it.

The rewrite in nsInlineFrame::PullOneFrame() doesn't change behavior because
`frame` is just removed from the overflow list, so it won't have any next
sibling. We are creating a frame list containing only `frame`.

Differential Revision: https://phabricator.services.mozilla.com/D160839
2022-11-01 21:15:53 +00:00
Ting-Yu Lin adf4fab73c Bug 1798373 Part 2 - Change nsFrameList::AppendFrames to take rvalue reference of nsFrameList. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D160838
2022-11-01 21:15:52 +00:00
Ting-Yu Lin 569c5f244b Bug 1798373 Part 1 - Change nsFrameList::InsertFrames to take rvalue reference of nsFrameList. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D160837
2022-11-01 21:15:52 +00:00
David Shin 96cf231f1f Bug 1792285 - Part 1: Refactor `DisplayListBuilder::PushIFrame` in preparation for proper subpixel snapping. r=emilio
Incoming `bounds` parameter is now `LayoutDeviceRect` in preparation for
proper subpixel snapping.

Differential Revision: https://phabricator.services.mozilla.com/D159884
2022-11-01 20:32:06 +00:00
Jonathan Kew 04d92e487b Bug 1798297 - Add reftest for the Yu Gothic UI kerning special-case. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D160888
2022-11-01 19:41:47 +00:00
David Shin c22e9caa8a Bug 1798022 - Attempt to give last baseline for scroll container before falling back to synthesized baseline. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D160680
2022-11-01 13:58:43 +00:00
Boris Chiou 71eaeb877e Bug 1774275 - Support the basic dynamic change among document-timeline, scroll-timeline, and null timeline. r=hiro
This patch tries to let SetTimelineNoUpdate() and
SilentlySetCurrentTime() be closer to the spec,
https://drafts.csswg.org/web-animations-2/#setting-the-timeline, and
https://drafts.csswg.org/web-animations-2/#silently-set-the-current-time

Besides, I update the test in scroll-timeline-dynamic.tentative.html
when changing the timeline from a scroll-timeline to none. Per the spec,
we should preserve the progress (note: step 10 in
https://drafts.csswg.org/web-animations/#setting-the-timeline).

Differential Revision: https://phabricator.services.mozilla.com/D159656
2022-11-01 01:49:36 +00:00
Ting-Yu Lin d3a255d610 Bug 1797995 - Add a crashtest fixed by Bug 1797703. r=layout-reviewers,tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D160859
2022-11-01 01:29:27 +00:00
Emilio Cobos Álvarez ad0925318b Bug 1798429 - Remove useless variables in nsSprocketLayout. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D160863
2022-11-01 01:12:51 +00:00
Boris Chiou 722dd73447 Bug 1771282 - Introduce ScrollTimelineAnimationTracker. r=hiro
It's possible to change the timeline if the animation is in pending. So
we still need an animation tracker to track the scroll-linked
animations. Besides, per the spec, we should keep this animation in
pending if its timeline is inactive. So in this patch, we always put the
scroll-linked animations into ScrollTimelineAnimationTracker, and if we
change the timeline but the animation is still in pending, we move the
animation into the correct animation tracker if needed.

Using two different animation trackers because we would like to trigger
scroll-linked animations after frame construction and reflow,
and don't want to ensure the paint is scheduled.

Note:
1. All tests in scroll-timeline-dynamic.tentative.html are failed. We
   will fix them in Bug 1774275.
2. Drop `animation-duration: infinite` from
   progress-based-animation-animation-longhand-properties.tentative.html,
   because infinite is not defined in animation-duration in [css-animations-1].

Differential Revision: https://phabricator.services.mozilla.com/D159650
2022-10-31 23:25:17 +00:00
Hiroyuki Ikezoe 512ea500ee Bug 1791606 - Downgrade the assertion when we found multiple SnapTargets for the same focused content. r=emilio
The assertion is valid, but fixing it would be a bit of work (bug 1798240),
so now we degrade the assertion to make it harmless on fuzzers works.

Differential Revision: https://phabricator.services.mozilla.com/D160742
2022-10-31 22:58:12 +00:00
Jonathan Watt 0f1f88eea5 Bug 1798312 - Rename page::PageOrientation to page::PageSizeOrientation. r=AlaskanEmily
The @page rule may contain both 'page-orientation' and 'size' properties. The
'size' property can contain an orientation component which was being
represented as 'PageOrientation' prior to this patch. This patch changes that
to 'PageSizeOrientation' so that 'PageOrientation' can be used for
'page-orientation' in a subsequent patch.

Differential Revision: https://phabricator.services.mozilla.com/D160790
2022-10-31 22:52:16 +00:00
David Shin 9f1502417d Bug 1797982 - Avoid double counting padding when getting first baseline of scroll containers. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D160667
2022-10-31 17:52:03 +00:00
Sandor Molnar 6df873bdfb Backed out changeset 5ace811f7315 (bug 1771282) for causing bustages in dist/include/mozilla/RefPtr.h CLOSED TREE 2022-10-31 18:17:50 +02:00
Boris Chiou 195cc77578 Bug 1771282 - Introduce ScrollTimelineAnimationTracker. r=hiro
It's possible to change the timeline if the animation is in pending. So
we still need an animation tracker to track the scroll-linked
animations. Besides, per the spec, we should keep this animation in
pending if its timeline is inactive. So in this patch, we always put the
scroll-linked animations into ScrollTimelineAnimationTracker, and if we
change the timeline but the animation is still in pending, we move the
animation into the correct animation tracker if needed.

Using two different animation trackers because we would like to trigger
scroll-linked animations after frame construction and reflow,
and don't want to ensure the paint is scheduled.

Note:
1. All tests in scroll-timeline-dynamic.tentative.html are failed. We
   will fix them in Bug 1774275.
2. Drop `animation-duration: infinite` from
   progress-based-animation-animation-longhand-properties.tentative.html,
   because infinite is not defined in animation-duration in [css-animations-1].

Differential Revision: https://phabricator.services.mozilla.com/D159650
2022-10-31 15:31:57 +00:00
Emilio Cobos Álvarez e40d15ea20 Bug 1798111 - Remove an unused variable.
MANUAL PUSH: Trivial bustage fix CLOSED TREE
2022-10-31 14:38:43 +01:00
Emilio Cobos Álvarez a35e196f1c Bug 1798111 - Add good enough equalsize=always support for the cert manager. r=dao
certManager is the only thing using it (both here and in comm-central,
excluding suite/).

There are better ways to do it generally, so just remove it from elsewhere.

Differential Revision: https://phabricator.services.mozilla.com/D160720
2022-10-31 13:02:01 +00:00
Andrew Osmond 3eb6504096 Bug 1793127. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D159655
2022-10-30 23:48:26 +00:00
Andrew Osmond c356c45582 Bug 1793379. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D159654
2022-10-30 23:48:26 +00:00
Daniel Holbert e2a93ede17 Bug 1316884: Add crashtest for this no-longer-reproducible bug. (no review, crashtest-only)
Depends on D160734

Differential Revision: https://phabricator.services.mozilla.com/D160735
2022-10-30 21:48:59 +00:00
Daniel Holbert edd3b8cf72 Bug 1234726: Add crashtest for this no-longer-reproducible bug. (no review, crashtest-only)
Depends on D160733

Differential Revision: https://phabricator.services.mozilla.com/D160734
2022-10-30 21:48:59 +00:00
Daniel Holbert 54ba809ba3 Bug 1232881: Add crashtest for this no-longer-reproducible bug. (no review, crashtest-only)
Depends on D160732

Differential Revision: https://phabricator.services.mozilla.com/D160733
2022-10-30 21:48:58 +00:00
Daniel Holbert 9f4a85a02b Bug 897883: Add crashtest for this no-longer-reproducible bug. (no review, crashtest-only)
Depends on D160731

Differential Revision: https://phabricator.services.mozilla.com/D160732
2022-10-30 21:48:58 +00:00
Daniel Holbert d159245100 Bug 866767: Add crashtest for this no-longer-reproducible bug. (no review, crashtest-only)
Differential Revision: https://phabricator.services.mozilla.com/D160731
2022-10-30 21:48:58 +00:00
Iulian Moraru 82b06c58a4 Backed out 4 changesets (bug 1796697) as per Daniel Holbert's request. CLOSED TREE
Backed out changeset f9d2d5f60fe9 (bug 1796697)
Backed out changeset b7ee22f54a6c (bug 1796697)
Backed out changeset d43777f8ef79 (bug 1796697)
Backed out changeset a2763d3ad250 (bug 1796697)
2022-10-30 23:06:57 +02:00
Emilio Cobos Álvarez 73ff5f1ac4 Bug 1797308 - Make <xul:spacer> use non-XUL layout. r=jwatt
Nothing overrides its display value so it would get -moz-box display by
default, like all other XUL elements.

Differential Revision: https://phabricator.services.mozilla.com/D160222
2022-10-29 21:51:29 +00:00
Butkovits Atila 0dc4da0978 Backed out 2 changesets (bug 1379458) for causing failures at nsGfxScrollFrame.cpp. CLOSED TREE
Backed out changeset dd6888957eff (bug 1379458)
Backed out changeset 3239f01e81d7 (bug 1379458)
2022-10-29 22:15:03 +03:00
Daniel Holbert 6cb8b4b589 Bug 1798080 part 2: Add const annotation to some never-modified member-vars in SVGTextFrame's helper classes, to reflect reality. r=jfkthame
This patch doesn't impact behavior.

The new const annotations will help to simplify reasoning about these various
helper classes & what states they could possibly be in.

Differential Revision: https://phabricator.services.mozilla.com/D160695
2022-10-29 17:43:29 +00:00
Daniel Holbert 0aa03120aa Bug 1798080 part 1: Add MOZ_STACK_CLASS annotation to some text layout/painting classes, to reflect reality. r=jfkthame
This patch doesn't impact behavior; it's just adding an annotation to activate
a static analysis check for various classes.

The annotation gives us some confidence that these instances are tightly scoped
to a particular function-call.  This helps reduce concerns about to-what-extent
the affected classes might need to worry about the lifetimes of the objects
pointed to by their member-vars.

The specific classes I'm annotating are:

 - gfxTextRunDrawCallbacks and PaintTextParams, both of which have multiple
   subclasses, all of which will automatically inherit this annotation and
   benefit from it.

 - TextFrameIterator and CharIterator, two local utility classes in
   SVGTextFrame.cpp.

Differential Revision: https://phabricator.services.mozilla.com/D160694
2022-10-29 17:43:29 +00:00
Dan Robertson 4cb0054282 Bug 1379458 - Remove the unused SCROLLABLE flag. r=botond
Remove the unused SCROLLABLE_FOLLOW_OOF_TO_PLACEHOLDER flag now that ASRs should
match the mScrollParentId.

Differential Revision: https://phabricator.services.mozilla.com/D153104
2022-10-29 02:44:43 +00:00
Dan Robertson 71d94d4d28 Bug 1379458 - The ScrollParentId should match the ASR tree. r=botond,tnikkel,mstange
Make the ScrollMetadata's mScrollParentId match what is found in the active
scroll root tree.

Differential Revision: https://phabricator.services.mozilla.com/D149925
2022-10-29 02:44:43 +00:00
Daniel Holbert 707a9a407d Bug 1797148: Simplify checkVisibility API (on nsISelectionController and nsIFrame) into a single nsTextFrame::HasVisibleText method. r=masayuki
Before this patch, we had two `checkVisibilty` methods on the
nsISelectionController interface, backed by several layers of implementation,
ultimately backed by a single function on nsTextFrame (which didn't actually
do anything meaningful with any of the parameters).

As it turns out, this API only had one caller, in HTMLEditUtils.cpp.

This patch converts that caller to directly query nsTextFrame (if the given
node's primary frame is indeed a nsTextFrame).  The direct function-call is
renamed to HasVisibleText(), to be a bit clearer about it being text-specific
and also to avoid confusion with the (unrelated) recently-specified HTML
checkVisibility() API.

With these changes, we can remove the API from the nsISelectionController
interface and its implementations.

This patch also updates the HTMLEditUtils::IsInVisibleTextFrames documentation
(with s/all/any/) to reflect the reality of what the nsTextFrame impl actually
does.

Differential Revision: https://phabricator.services.mozilla.com/D160563
2022-10-28 17:56:04 +00:00
Andrew Osmond 77b6b3ccc7 Bug 1794722 - Part 3. Remove all uses of GfxInfo::GetWebRenderEnabled. r=jrmuizel,webcompat-reviewers,twisniewski
This is always true.

Differential Revision: https://phabricator.services.mozilla.com/D160122
2022-10-28 12:36:06 +00:00
Andrew Osmond 9d245b8325 Bug 1794722 - Part 2. Remove all uses of gfxVars::UseWebRender(). r=jrmuizel,media-playback-reviewers,alwu
This is always true.

Differential Revision: https://phabricator.services.mozilla.com/D160121
2022-10-28 12:36:06 +00:00
Emilio Cobos Álvarez 953f64d63b Bug 1797703 - Fix frame constructor save state restoration. r=emilio
Restore the old logic [1] prior to introducing Bug 1797011 Part 2.

[1] https://searchfox.org/mozilla-central/rev/85cbcecd24554c1fa88360412452ad0f7ed48630/layout/base/nsCSSFrameConstructor.cpp#1309-1335
[2] https://hg.mozilla.org/mozilla-central/rev/3f443cbb5bdd

The wpt test is written by Emilio Cobos Álvarez <emilio@crisal.io> in
https://phabricator.services.mozilla.com/D160523.

Differential Revision: https://phabricator.services.mozilla.com/D160600
2022-10-28 07:56:50 +00:00
Cristian Tuns 1303ee58d8 Backed out 3 changesets (bug 1794722) for causing multiple failures on RemoteProcessMonitor CLOSED TREE
Backed out changeset 0217af5b1aa6 (bug 1794722)
Backed out changeset d7805be9dfb3 (bug 1794722)
Backed out changeset 0093f071f1a5 (bug 1794722)
2022-10-27 20:52:36 -04:00
Chris Peterson 075d5c8197 Bug 1794164 - Fix C++20 -Wenum-float-conversion warnings in layout-related code. r=dholbert
C++20 deprecates some operations between enums and floating point types:

https://clang.llvm.org/docs/DiagnosticsReference.html#wenum-float-conversion

dom/canvas/CanvasRenderingContext2D.cpp:4743:58 [-Wenum-float-conversion] arithmetic between enumeration type 'VideoInfo::Rotation' and floating-point type 'double'

dom/events/EventStateManager.cpp:6656:35 [-Wenum-float-conversion] comparison of floating-point type 'double' with enumeration type 'mozilla::EventStateManager::(unnamed enum at dom/events/EventStateManager.h:342:3)'
dom/events/EventStateManager.cpp:6664:35 [-Wenum-float-conversion] comparison of floating-point type 'double' with enumeration type 'mozilla::EventStateManager::(unnamed enum at dom/events/EventStateManager.h:342:3)'

gfx/thebes/gfxTextRun.cpp:2992:24 [-Wenum-float-conversion] comparison of floating-point type 'gfxFloat' (aka 'double') with enumeration type 'gfxFontGroup::(unnamed enum at gfx/thebes/gfxTextRun.h:1035:3)'

layout/generic/nsVideoFrame.cpp:59:58 [-Wenum-float-conversion] arithmetic between enumeration type 'VideoInfo::Rotation' and floating-point type 'double'

layout/painting/nsCSSRenderingBorders.cpp:2752:27 [-Wenum-float-conversion] arithmetic between enumeration type 'mozilla::Corner' and floating-point type 'double'

Differential Revision: https://phabricator.services.mozilla.com/D158867
2022-10-28 00:45:25 +00:00
Andrew Osmond f8dc716e8d Bug 1794722 - Part 3. Remove all uses of GfxInfo::GetWebRenderEnabled. r=jrmuizel,webcompat-reviewers,twisniewski
This is always true.

Differential Revision: https://phabricator.services.mozilla.com/D160122
2022-10-28 00:08:04 +00:00
Andrew Osmond 93abf26cbc Bug 1794722 - Part 2. Remove all uses of gfxVars::UseWebRender(). r=jrmuizel,media-playback-reviewers,alwu
This is always true.

Differential Revision: https://phabricator.services.mozilla.com/D160121
2022-10-28 00:08:03 +00:00
Noemi Erli 9ad9fc4449 Backed out changeset 4dfea46f3cd0 (bug 1797703) for causing reftest failures 2022-10-28 01:40:58 +03:00
Cristian Tuns d82d2ab676 Backed out 3 changesets (bug 1379458) for causing reftest failures on nsDisplayList.cpp CLOSED TREE
Backed out changeset 1d37427ef6f2 (bug 1379458)
Backed out changeset 54494d5e152c (bug 1379458)
Backed out changeset e1347c761038 (bug 1379458)
2022-10-27 18:09:35 -04:00
Emilio Cobos Álvarez bc6fbbde9c Bug 1797703 - Fix frame constructor save state restoration. r=TYLin,layout-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D160523
2022-10-27 21:20:02 +00:00
Dan Robertson 8f225ca879 Bug 1379458 - Remove the unused SCROLLABLE flag. r=botond
Remove the unused SCROLLABLE_FOLLOW_OOF_TO_PLACEHOLDER flag now that ASRs should
match the mScrollParentId.

Differential Revision: https://phabricator.services.mozilla.com/D153104
2022-10-27 21:16:23 +00:00
Dan Robertson 321a256996 Bug 1379458 - The ScrollParentId should match the ASR tree. r=botond,tnikkel,mstange
Make the ScrollMetadata's mScrollParentId match what is found in the active
scroll root tree.

Differential Revision: https://phabricator.services.mozilla.com/D149925
2022-10-27 21:16:22 +00:00
Jonathan Kew c8a2f63e06 Bug 1796648 - Drop any SVG table from downloaded fonts if OpenType-SVG rendering is disabled. r=gfx-reviewers,lsalzman
This makes e.g. https://nabla.typearture.com/ perform VASTLY better on macOS if OT-SVG is preffed off;
without it, we get bogged down in Core Text internally parsing all the SVG when all we want are the
TrueType outlines.

Differential Revision: https://phabricator.services.mozilla.com/D159888
2022-10-27 20:55:04 +00:00
Daniel Holbert 99ab2bae3c Bug 1797211: Make TextOverflow's default constructor private (as a nudge towards its static factory method). r=dshin
This patch also reorders the destructor/constructor decls so that all the
deleted ones are bunched together.

Differential Revision: https://phabricator.services.mozilla.com/D160547
2022-10-27 17:58:06 +00:00
Daniel Holbert 1cbd9ebe1f Bug 1797805: Run clang-format on layout directory. r=dshin
This patch doesn't change behavior.  The changes were auto-generated by the
following command:
    ./mach clang-format -p layout/

Differential Revision: https://phabricator.services.mozilla.com/D160552
2022-10-27 17:50:45 +00:00
Emilio Cobos Álvarez dcedd55035 Bug 1794040 - Simplify container-type implementation. r=dshin
It was made a bitfield so that we could include style. But then style
containment was removed and the bitfield keeps causing us to do wrong
check (since INLINE_SIZE intersects SIZE).

So just make it an enum. This causes a progression and a test that
failed now times out (which is a pre-existing issue, just like the
pseudo-elements test that times out).

Differential Revision: https://phabricator.services.mozilla.com/D160371
2022-10-27 10:48:58 +00:00
Ben Freist b8dbfb37ef Bug 1793483 - [refactor] Migrate NS_STYLE_FRAME_* defines r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D158526
2022-10-26 18:51:45 +00:00
Marian-Vasile Laza 52127c7dd1 Backed out changeset bee94ed5a33d (bug 1794040) for causing wpt failures on container-type-containment.html. 2022-10-26 22:31:01 +03:00
Emilio Cobos Álvarez 4e91d2f0e8 Bug 1797504 - Make nsFlexContainerFrame::UnionChildOverflow() keep including out of flows. r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D160374
2022-10-26 18:38:27 +00:00
Daniel Holbert ac10e10cc4 Bug 1796590: Remove fuzzy-if(appleSilicon) annotation for css-grid/grid-item-video-stretch-001.html. (no review, just updating reftest manifest to reflect reality)
Looks like this test used to catastrophically fail on this platform, per this
annotation; and that failure seems to have been fixed by bug 1792257.

DONTBUILD when this lands on autoland, because it won't make a difference
since we don't seem to schedule tasks for this platform on that branch.

Differential Revision: https://phabricator.services.mozilla.com/D160390
2022-10-26 18:26:15 +00:00
Emilio Cobos Álvarez 3a328a3ef8 Bug 1794040 - Simplify container-type implementation. r=dshin
It was made a bitfield so that we could include style. But then style
containment was removed and the bitfield keeps causing us to do wrong
check (since INLINE_SIZE intersects SIZE).

So just make it an enum. This causes a progression and a test that
failed now times out (which is a pre-existing issue, just like the
pseudo-elements test that times out).

Differential Revision: https://phabricator.services.mozilla.com/D160371
2022-10-26 16:56:07 +00:00
Nicolas B. Pierron 859240b35e Bug 1797312 - SharedSubResourceCacheLoadingValueBase use on accessors. r=emilio
`SharedSubResourceCacheLoadingValueBase` define the `mIsCancelled` field which
is overloaded by `SheetLoadData`. This patch moves all fields including
`mIsLoading` to `SheetLoadData` and add accessors to access these fields.

Differential Revision: https://phabricator.services.mozilla.com/D160226
2022-10-26 16:36:03 +00:00
Emilio Cobos Álvarez d9378b9fc5 Bug 1797146 - Remove system font support for various font longhands. r=jfkthame
We don't use them[1], and these are generally not properties that
authors would be able to set via the font shorthand anyways.

Let's simplify the code. This fixes the font-variant bug and also
unblocks further clean-ups of these properties in the future.

[1]: https://searchfox.org/mozilla-central/rev/59f0bf3c13dd455d9f5415b89178de701ea6b850/widget/LookAndFeelTypes.ipdlh#12-18

Differential Revision: https://phabricator.services.mozilla.com/D160352
2022-10-26 14:42:49 +00:00
Ting-Yu Lin c0245a1523 Bug 1797011 Part 4 - Rename AbsoluteFrameList::containingBlock to mContainingBlock to match coding style. r=emilio,layout-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D160104
2022-10-26 04:22:25 +00:00
Ting-Yu Lin babc81bc9c Bug 1797011 Part 3 - Delete nsFrameList's copy assigment operator. r=emilio
This patch doesn't change behavior.

Differential Revision: https://phabricator.services.mozilla.com/D160015
2022-10-26 04:22:25 +00:00
Ting-Yu Lin b91a315ae3 Bug 1797011 Part 2 - Make AbsoluteFrameList a move-only class; improve nsFrameConstructorSaveState and PushAbsoluteContainingBlock(). r=emilio
This patch doesn't change behavior.

AbsoluteFrameList is a derived class of nsFrameList, so we change it a move-only
class in order to nsFrameList move-only in Part 3.

Some detail of this patch:

- Define move constructor and move assignment operator for AbsoluteFrameList.
  This effectively disables the auto generated copy constructor and copy
  assignement operator.

- Initialize nsFrameConstructorSaveState's member variables in class definition,
  and remove its constructor.

- Remove `mSavedFixedList` since we can rewire the logic in
  `~nsFrameConstructorSaveState` and `PushAbsoluteContainingBlock()` to make it
  redundant.

- Make self-assignment correct in nsFrameList's move assignment operator.

Differential Revision: https://phabricator.services.mozilla.com/D160014
2022-10-26 04:22:24 +00:00
Ting-Yu Lin 13d40cfd97 Bug 1797011 Part 1 - Delete nsFrameList's copy constructor. r=layout-reviewers,emilio
This patch doesn't change behavior, and eliminates copy construction of
nsFrameList via utilizing const-references to store the return value of
`GetChildList()`.

nsFrameList::Clone() is added in case the caller wants a copy of a list.

This is the first step toward making nsFrameList a move-only class.

Differential Revision: https://phabricator.services.mozilla.com/D160013
2022-10-26 04:22:24 +00:00
Emilio Cobos Álvarez c45abc29af Bug 1797272 - Fix flex container dynamic overflow updates to avoid triggering extra reflows. r=TYLin
Move the custom overflow code to UnionChildOverflow, so that it's
computed correctly from UpdateOverflow() when a transformed descendant
changes.

This can cause extra reflows in some cases. In the case of the tab bar
it was here:

  https://searchfox.org/mozilla-central/rev/12a18f7e112a4dcf88d8441d439b84144bfbe9a3/layout/generic/nsGfxScrollFrame.cpp#6916

The subsequent reflow ended up fixing up the overflow areas, so I don't
think it's a correctness issue otherwise.

It seems grid has the same issue, but it seems a bit harder to fix
because of subgrid and masonry. Filed filed bug 1797305 for that.

Differential Revision: https://phabricator.services.mozilla.com/D160221
2022-10-25 22:42:27 +00:00
Ting-Yu Lin d0b5d62f69 Bug 1797009 - Use PushTruncatedLine() once more. r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D160171
2022-10-25 17:28:28 +00:00
Andrew Osmond 868238bf65 Bug 1791622 - Ensure FontFaceSet::Delete removes entries in the correct order. r=jfkthame
FontFaceSet and FontFaceSetImpl maintain independent but matching lists
of FontFace and FontFaceImpl objects respectively. When
FontFaceSet::Delete is called, we should remove from the FontFaceSet
first instead of the FontFaceSetImpl because FontFaceSetImpl::Delete
calls back into FontFaceSet to update its status if the removed FontFace
was the last object holding it back from a status change.

Differential Revision: https://phabricator.services.mozilla.com/D159857
2022-10-25 14:05:29 +00:00
Mark Banner 7f41141c4b Bug 1796143 - Update *.sjs files for imports that have already been transitioned to ES module files. r=arai,extension-reviewers,credential-management-reviewers,willdurand
Differential Revision: https://phabricator.services.mozilla.com/D159709
2022-10-25 07:10:55 +00:00
Jan-Niklas Jaeschke 67840fe563 Bug 1783641: Deleting a selected word deletes surrounding whitespace on MacOS. r=masayuki
Native behaviour on MacOS dictates one whitespace being removed after double-clicking a word and pressing delete.
This behaviour is achieved by saving the information that the selection is created by doubleclick to the `nsFrameSelection`
and using it in the `DeleteRangeTransaction`, where the range is extended by one whitespace character before or after the range.

Differential Revision: https://phabricator.services.mozilla.com/D159613
2022-10-25 07:00:26 +00:00
Ting-Yu Lin e7055d8d51 Bug 1797009 - Extract common operation when reporting line-break-before status, and use PushTruncatedLine() more. r=emilio
This patch doesn't change behavior.

Differential Revision: https://phabricator.services.mozilla.com/D160012
2022-10-25 02:33:47 +00:00
Butkovits Atila b704dcf231 Backed out 4 changesets (bug 1797011) for causing high frequency ThreadSanitizer failures. CLOSED TREE
Backed out changeset e55bef9aa488 (bug 1797011)
Backed out changeset 515757be2f7e (bug 1797011)
Backed out changeset 360739dfb6d1 (bug 1797011)
Backed out changeset 9a3f104b78c5 (bug 1797011)
2022-10-25 01:03:29 +03:00
Daniel Holbert 6cd5f0c320 Bug 1797143: Remove unnecessary const_cast usage in nsTextFrame.cpp. r=layout-reviewers,emilio
This patch doesn't affect behavior.

The removed const_casts are unnecessary; they're in a non-const function, so
'this' is already a non-const type.

Depends on D160101

Differential Revision: https://phabricator.services.mozilla.com/D160102
2022-10-24 19:17:23 +00:00
Daniel Holbert a10820f200 Bug 1797143: Add curly braces around if-controlled statements in nsTextFrame.cpp. r=layout-reviewers,emilio
This patch doesn't impact behavior.

This patch changes the code to align with this Mozilla coding style rule:
"Always brace controlled statements, even a single-line consequent [...]"
https://firefox-source-docs.mozilla.org/code-quality/coding-style/coding_style_cpp.html#control-structures

Differential Revision: https://phabricator.services.mozilla.com/D160101
2022-10-24 19:17:22 +00:00
Daniel Holbert 3edbf95781 Bug 1797143: Switch from 'new' to 'MakeUnique' to construct an instance that's stored in a UniquePtr, in nsTextFrame.cpp. r=layout-reviewers,emilio
This patch doesn't change behavior.

'observers' is a pointer to nsTArray<UniquePtr<GlyphObserver>>; and UniquePtr
prefers[1] MakeUnique over 'new' (due to stronger ownership-related
guarantees), so let's switch to MakeUnique for construction here.

[1] reference:
https://searchfox.org/mozilla-central/rev/88f285c5163f73abd209d4f73cfa476660351982/mfbt/UniquePtr.h#129-131

Depends on D160099

Differential Revision: https://phabricator.services.mozilla.com/D160100
2022-10-24 19:17:22 +00:00
Daniel Holbert 880ea24d1f Bug 1797143: Remove unnecessary null-check for infallible append to an AutoTArray in nsTextFrame.cpp. r=layout-reviewers,TYLin,emilio
As noted in nsTArray.h, "nsTArray, CopyableTArray, AutoTArray [...] are
infallible by default" (unless you explicitly pass mozilla::fallible, and we
don't do that here.)

So, there's no need to check for failure.

Differential Revision: https://phabricator.services.mozilla.com/D160099
2022-10-24 19:17:21 +00:00
Ting-Yu Lin 4cd1e6f862 Bug 1797011 Part 4 - Rename AbsoluteFrameList::containingBlock to mContainingBlock to match coding style. r=emilio,layout-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D160104
2022-10-24 19:14:33 +00:00
Ting-Yu Lin aae6173a16 Bug 1797011 Part 3 - Delete nsFrameList's copy assigment operator. r=emilio
This patch doesn't change behavior.

Differential Revision: https://phabricator.services.mozilla.com/D160015
2022-10-24 19:14:33 +00:00
Ting-Yu Lin 5f9b5759c1 Bug 1797011 Part 2 - Make AbsoluteFrameList a move-only class; improve nsFrameConstructorSaveState and PushAbsoluteContainingBlock(). r=emilio
This patch doesn't change behavior.

AbsoluteFrameList is a derived class of nsFrameList, so we change it a move-only
class in order to nsFrameList move-only in Part 3.

Some detail of this patch:

- Define move constructor and move assignment operator for AbsoluteFrameList.
  This effectively disables the auto generated copy constructor and copy
  assignement operator.

- Initialize nsFrameConstructorSaveState's member variables in class definition,
  and remove its constructor.

- Remove `mSavedFixedList` since we can rewire the logic in
  `~nsFrameConstructorSaveState` and `PushAbsoluteContainingBlock()` to make it
  redundant.

- Make self-assignment correct in nsFrameList's move assignment operator.

Differential Revision: https://phabricator.services.mozilla.com/D160014
2022-10-24 19:14:32 +00:00
Ting-Yu Lin a3eea20a9b Bug 1797011 Part 1 - Delete nsFrameList's copy constructor. r=layout-reviewers,emilio
This patch doesn't change behavior, and eliminates copy construction of
nsFrameList via utilizing const-references to store the return value of
`GetChildList()`. This is the first step toward making nsFrameList a move-only
class.

Differential Revision: https://phabricator.services.mozilla.com/D160013
2022-10-24 19:14:32 +00:00
sskcvqikf c53abb7b6e Bug 1797012 - Change NS_STYLE_MATH_STYLE_* macros to enum StyleMathStyle. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D160016
2022-10-24 17:47:34 +00:00
Daniel Holbert 580cd3342a Bug 1796697 part 2: Remove gfxSkipCharsIterator's dummy no-arg constructor, as well as its associated now-unnecessary "IsInitialized()" API. r=jfkthame
This patch doesn't change behavior.

This no-arg constructor only had one inadvertent usage -- it was used to
default-initialize one of ClusterIterator's member-vars, just before we
reassign it to something else in the constructor body.  (I'm fixing that here
by explicitly constructing that member-var up-front in the init list, rather
than in the constructor body.)

Depends on D159902

Differential Revision: https://phabricator.services.mozilla.com/D159903
2022-10-24 14:06:12 +00:00
Daniel Holbert 11acbcefd2 Bug 1796697 part 1: Update SVGTextFrame.cpp to use Maybe<> to represent an optionally-invalid gfxSkipCharsIterator. r=jfkthame
This patch shouldn't change behavior.

This lets us remove the rarely-used no-arg constructor for gfxSkipCharsIterator
in the next patch. (That constructor was an alternate representation of an
invalid gfxSkipCharsIterator; but the Maybe<> representation added here makes
things a bit easier to reason about.)

Differential Revision: https://phabricator.services.mozilla.com/D159902
2022-10-24 14:06:12 +00:00
Marian-Vasile Laza e80c0a7ce7 Backed out changeset f39d284f4db7 (bug 1797012) for causing wpt failures on frac-1.html. CLOSED TREE 2022-10-24 15:46:12 +03:00
sskcvqikf 15eb00a7bf Bug 1797012 - Change NS_STYLE_MATH_STYLE_* macros to enum StyleMathStyle. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D160016
2022-10-24 09:29:05 +00:00
Adam Vandolder f7d84f0ab3 Bug 1795887 - Fix IsValueMissing update for certain input types. r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D159592
2022-10-22 16:34:48 +00:00
Jonathan Kew ee4d1a7219 Bug 1461589 - Add/update CSS parsing tests to cover font-variant-emoji. r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D147496
2022-10-22 09:43:49 +00:00
Jonathan Kew 89c8d6a003 Bug 1461589 - Add support for the CSS font-variant-emoji property to the style system. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D147494
2022-10-22 09:43:48 +00:00
Razvan Cojocaru 605f03838c Bug 1719330 - Limit line-scrolling to one page in scrollable elements with a short viewport. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D159662
2022-10-21 18:31:46 +00:00
Emilio Cobos Álvarez ed02e6e84e Bug 1796735 - Remove XULPopupElement.autoPosition. r=dao
This was used to prevent reflows due to popuppositioned events during
view transitions.

The previous patch should've prevented the popuppositioned events to
begin with, plus we no longer use arrows that need positioning etc,
which means we shouldn't be triggering the reflows anyways.

Since this is the only consumer of autoPosition = true/false, we can
remove the code supporting it. It's a bit bogus as per the commit
message of the previous patch and, while fixable, it doesn't seem worth
fixing if we can just get rid of it.

Depends on D159936

Differential Revision: https://phabricator.services.mozilla.com/D159937
2022-10-21 13:13:54 +00:00
Timothy Nikkel a8037fdc9b Bug 1795990. Remove unused nsImageFrame/nsImageBoxFrame::RestartAnimation/StopAnimation. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D159630
2022-10-21 06:03:52 +00:00
Emilio Cobos Álvarez 766fb1725c Bug 1679797 - The containing block of a subgridded item is the root grid container. r=dholbert
We reflow subgrid items with a ParentReflowInput from the grid
container.

Note I'm not the most familiar with subgrid, though this does fix the
crash. Maybe we should just build the right reflow input here for
subgrid items (by building a stack of them or so on)?

  https://searchfox.org/mozilla-central/rev/c5c002f81f08a73e04868e0c2bf0eb113f200b03/layout/generic/nsGridContainerFrame.cpp#4981,5018-5026,5053-5054

Differential Revision: https://phabricator.services.mozilla.com/D159901
2022-10-20 23:02:25 +00:00
Iulian Moraru 7f78673181 Backed out 3 changesets (bug 1796143) for causing mochitest failures on test_double_submit.html. CLOSED TREE
Backed out changeset d02d2c2ad921 (bug 1796143)
Backed out changeset 680008b18ad1 (bug 1796143)
Backed out changeset 61a9ae6c1a8f (bug 1796143)
2022-10-20 22:59:56 +03:00
Mark Banner 41fe0ea28c Bug 1796143 - Update *.sjs files for imports that have already been transitioned to ES module files. r=arai,extension-reviewers,credential-management-reviewers,willdurand
Differential Revision: https://phabricator.services.mozilla.com/D159709
2022-10-20 18:13:11 +00:00
Emilio Cobos Álvarez 487b3234a1 Bug 1793359 - Simplify bookmarks popup placement. r=Itiel,dao,mak
By using delegatesanchor="true", we delegate the anchor node to the
first in-flow box (that is the icon), simplifying a lot of the
hard-coded margins in the CSS.

Do that, plus make menupopup[type="arrow"] work consistently, to
simplify the styling of the bookmarks popup a bit.

Differential Revision: https://phabricator.services.mozilla.com/D158569
2022-10-20 15:50:23 +00:00
Emilio Cobos Álvarez 5dcfa83235 Bug 1794720 - fix invalidation of sibling combinators in different slots. r=firefox-style-system-reviewers,layout-reviewers,boris
This extends the code to deal with sibling invalidation to handle the
case where the flat tree doesn't match the DOM tree. In the test-case
for example, dom is:

 * details
   * summary id=a
   * summary

But flat tree is:

 * details
  * slot
    * summary id=a
  * slot
    * summary

Differential Revision: https://phabricator.services.mozilla.com/D159150
2022-10-20 08:39:18 +00:00
Emilio Cobos Álvarez f8e67172a3 Bug 1795661 - Don't apply scroll padding on the sticky sides for a stuck element. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D159532
2022-10-19 09:12:08 +00:00
Nicolas Silva 45667d24f2 Bug 1792313 - Add fuziness to an intermittent reftest. r=gfx-reviewers,jnicol
Why the fuzziness is intermittent is beyond me, but the idea of the test is to stress preicsion issues with a scaling transform applied to an SVG rect so it is prone to result in small difference on the antialiased edges.

Differential Revision: https://phabricator.services.mozilla.com/D159501
2022-10-19 08:14:44 +00:00
Timothy Nikkel ce8b367250 Bug 1788192. Deal with frame/image size overflow and handle it gracefully in border code. r=nical
imgDimension comes directly from the size of the frame, which has overflowed into the negatives. The code wants value to be positive but hasn't considered that imgDimension can be negative.

Differential Revision: https://phabricator.services.mozilla.com/D159138
2022-10-18 19:57:57 +00:00
Timothy Nikkel 19337561b3 Bug 1667503. Add crashtest. r=nical
Differential Revision: https://phabricator.services.mozilla.com/D159564
2022-10-18 17:50:44 +00:00
Olli Pettay aaa37485cc Bug 1778575, add support for low priority tasks and use such to trigger pending RefreshDriverTimer, r=bas
This improves the setup so that whenever there are only idle/deferred tasks, we can run low priority tasks immediately.
Manual testing shows that this way we get couple of more ticks every now and then.

Without this patch we'd rely on normal priority tasks, but since there might be multiple of those pending, ShouldGiveNonVsyncTasksMoreTime() would
return true.

So, low priority tasks are effectively "run when the queue is otherwise empty (but idle-type of tasks are still special)".

Differential Revision: https://phabricator.services.mozilla.com/D159583
2022-10-18 17:29:44 +00:00
Olli Pettay f71ca38455 Bug 1778575, try to run a pending vsync asap if the main thread is otherwise empty, or if we skipped paints because of pending transactions, r=bas
There are (at least) two different cases leading to lower fps.
Motionmark seems to hit FinishedWaitingForTransaction() case rather often, but the testcase in the bug
hits the other case more often.

Differential Revision: https://phabricator.services.mozilla.com/D159260
2022-10-18 17:29:44 +00:00
Emilio Cobos Álvarez b3cd02b7ed Bug 1795661 - Fix typo fixed in the following patch of the bug that causes orange.
MANUAL PUSH: Orange fix CLOSED TREE.
2022-10-18 17:26:25 +02:00
Emilio Cobos Álvarez 5f4c502cc0 Bug 1795661 - Clean-up ScrollFrameIntoView code. r=hiro
I want to do the whole target -> container chain walk in the same
function, reason will be apparent in a second :)

Differential Revision: https://phabricator.services.mozilla.com/D159531
2022-10-18 14:18:37 +00:00
Mark Banner 2ffde1e92f Bug 1792341 - Migrate more toolkit/modules consumers to use direct ES module import. r=Gijs,webdriver-reviewers,perftest-reviewers,necko-reviewers,geckoview-reviewers,preferences-reviewers,application-update-reviewers,pip-reviewers,credential-management-reviewers,sgalich,owlish,bytesized,AlexandruIonescu,whimboo,mconley,mixedpuppy
Mainly automated changes. Some manual ESLint fixes and whitespace cleanup.

Differential Revision: https://phabricator.services.mozilla.com/D158452
2022-10-18 11:21:26 +00:00
Jonathan Kew 92a15b0d02 Bug 1793113 - Apply overflow:clip to meter and progress elements, for better rendering when rounded corners are used. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D159507
2022-10-18 09:06:18 +00:00
Frederic Wang 36b880a97d Bug 1795630 - Export MathML crashtests to WPT. r=emilio
This commit moves crash tests from dom/mathml and layout/mathml into
testing/web-platform/tests/mathml/crashtests/mozilla, trying to do only
minimal changes (i.e. use 'test-wait' instead of 'reftest-wait' and
fix whitespace errors). lint errors are ignored for usage of
setTimeout as well as the invalid XML file testing bug 289180.

Regarding 400157.xhtml, it uses special powers to trigger a
zoom changes. It could probably be tweaked to convert to a mochitest or
rely on a different dynamic change. However, this was testing a crash for
the `<mfenced>` element in nsMathMLmfencedFrame whose code has been
completely removed, so it's now hard to reproduce the original crash.
Also that makes the test no longer very useful, so we just remove it.

Differential Revision: https://phabricator.services.mozilla.com/D159491
2022-10-18 04:21:41 +00:00
Ting-Yu Lin 556a172274 Bug 1795196 Part 3 - Remove the special case for viewport in SetComputedISize(). r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D159539
2022-10-18 00:26:20 +00:00
Ting-Yu Lin cd2c1471d2 Bug 1795196 Part 2 - Convert ComputedMin{I|B}Size() and ComputedMax{I|B}Size() that return writable references to setters. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D159353
2022-10-18 00:26:20 +00:00
Ting-Yu Lin 261c24ebe5 Bug 1795196 Part 1 - Remove ComputedISize() and ComputedBSize() that return writable references. r=emilio
Users of these two getters should use setters such as SetComputedISize() instead.

Differential Revision: https://phabricator.services.mozilla.com/D159352
2022-10-18 00:26:19 +00:00
Cristian Tuns 0f148c29c0 Backed out changeset ae36f7ea16cf (bug 1793113) for causing reftest failures on bar-pseudo-element.html CLOSED TREE 2022-10-17 18:14:04 -04:00
Jonathan Kew eacf8c524f Bug 1793113 - Apply overflow:clip to meter and progress elements, for better rendering when rounded corners are used. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D159507
2022-10-17 20:54:43 +00:00
Cristian Tuns daaaf0a3af Backed out changeset f792a9947d0f (bug 1795630) for causing lint failures CLOSED TREE 2022-10-17 14:32:24 -04:00
Frederic Wang 5cbb8bbec5 Bug 1795630 - Export MathML crashtests to WPT. r=emilio
This commit moves crash tests from dom/mathml and layout/mathml into
testing/web-platform/tests/mathml/crashtests/mozilla, trying to do only
minimal changes (i.e. use 'test-wait' instead of 'reftest-wait').

The exception is 400157.xhtml which uses special powers to trigger a
zoom changes. It could probably be tweaked to convert to a mochitest or
rely on a different dynamic change. However, this was testing a crash for
the `<mfenced>` element in nsMathMLmfencedFrame whose code has been
completely removed, so it's now hard to reproduce the original crash.
Also that makes the test no longer very useful, so we just remove it.

Differential Revision: https://phabricator.services.mozilla.com/D159491
2022-10-17 17:16:33 +00:00
Olli Pettay 44faf1c345 Bug 1795624 - remove dom.input_events.strict_input_vsync_alignment, r=sefeng
Had to rename input_event_queue.supported to dom.input_event_queue.supported so that
it could be used as a static pref.

Differential Revision: https://phabricator.services.mozilla.com/D159488
2022-10-17 17:02:24 +00:00
Andrew McCreight b1fa3e3b36 Bug 1794811, part 1 - Include nsISupports.h instead of nsISupportsBase.h. r=necko-reviewers,nika,valentin
nsISupports.h includes nsISupportsBase.h, so it should be equivalent.

In the next patch, I'm changing things so that nsISupports is defined in
nsISupports.h instead of nsISupportsBase.h, and deleting the latter, so
this change will be needed anyways. I'm guessing people were using IWYU
or something like that.

Differential Revision: https://phabricator.services.mozilla.com/D159169
2022-10-17 16:09:22 +00:00
Anurag Kalia a98122da5e Bug 1792608 - Make vertical writing mode (left/right) in text-emphasis-position optional r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D158399
2022-10-17 09:28:44 +00:00
Norisz Fay 320e015715 Backed out changeset 8afa6eaecd2f (bug 1793483) for causing mochitest failures on test_Prototype.html and test_HTMLFrameElement01.html CLOSED TREE 2022-10-14 22:50:10 +03:00
Ting-Yu Lin afb125c52f Bug 1795030 - Add a crashtest. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D159355
2022-10-14 16:31:47 +00:00
Ting-Yu Lin 22e4122af4 Bug 1795051 - Fix the condition before calling ResetColIndices in nsTableFrame::InsertColGroups. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D159354
2022-10-14 16:31:47 +00:00
Ben Freist daa6ba0ae4 Bug 1793483 - [refactor] Migrate NS_STYLE_FRAME_* defines r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D158526
2022-10-14 16:03:35 +00:00
Hiroyuki Ikezoe 37cf82422c Bug 1791883 - Ignore scroll-snap-align properties on scrollIntoView operations in the case where the scroll container equals to the target frame. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D159009
2022-10-14 09:42:05 +00:00
Iulian Moraru a3a61d1d43 Backed out changeset c5ede12b748e (bug 1790059) for causing multiple failures container related. CLOSED TREE 2022-10-13 18:52:25 +03:00
Jan-Niklas Jaeschke 311f68ad19 Bug 1793485: Fixed memory issue in `NodeWillBeDestroyed()` for `MultiMutationObserver` classes. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D158671
2022-10-13 14:26:07 +00:00
Martin Robinson ba9267985d Bug 1792416 - Do not display top layer elements that are skipped contents r=emilio
The CSS Contain specification says that descendants of elements with
`content-visibility: hidden` that are in the top layer should not
generate boxes. Implementing this would lead to many open questions that
are currently not answered by the specification. While these questions
are hashed out in the specification, ensure that these top layer
elements do not generate display list items.

Differential Revision: https://phabricator.services.mozilla.com/D159051
2022-10-13 14:17:18 +00:00
Ziran Sun 81361c6b99 Bug 1790059 - Only a single name allowed in @container rule. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D158775
2022-10-13 13:56:24 +00:00
Joel Maher 52f4e17b80 Bug 1794897 - Add fuzzy-if for 8 reftests to run on Pixel5. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D159241
2022-10-13 12:41:08 +00:00
Emilio Cobos Álvarez b883ec04da Bug 1794630 - Fix and re-enable test_splitter_sibling.xhtml.
Make sure that the relevant box is in the viewport even on automation.

Differential Revision: https://phabricator.services.mozilla.com/D159249
2022-10-13 10:23:01 +00:00
Cristian Tuns 67ff6520de Backed out changeset 928edafe970f (bug 1793485) for causing leaks CLOSED TREE 2022-10-12 17:09:32 -04:00
Jan-Niklas Jaeschke e71ca074c5 Bug 1793485: Fixed memory issue in `NodeWillBeDestroyed()` for `MultiMutationObserver` classes. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D158671
2022-10-12 19:36:46 +00:00
Emilio Cobos Álvarez 8f17ace846 Bug 1794630 - Disable the new test for now to avoid orange on Linux.
MANUAL PUSH: Orange fix CLOSED TREE
2022-10-12 14:00:12 +02:00
Emilio Cobos Álvarez e1cbb120ee Bug 1794630 - Improve behavior of splitters when child box is flexible. r=TYLin
This is not easy to test precisely. What the width attribute / property
set is the preferred size, but the boxes can flex expanding that, which
may cause jumps when dragging. This is easy to see with the previous
patches on the urlbar / searchbar split.

While at it make the flex and xul code-paths more similar.

Differential Revision: https://phabricator.services.mozilla.com/D159081
2022-10-12 10:57:49 +00:00
Emilio Cobos Álvarez a41ff99af7 Bug 1794630 - Implement resize{before,after}=none/sibling for XUL splitters. r=TYLin
This trivially enhances splitters so that resizing a single element,
which is a common thing to do in our front-end code, is easier.

Differential Revision: https://phabricator.services.mozilla.com/D159069
2022-10-12 10:47:14 +00:00
Ting-Yu Lin 3bb8ea5ca6 Bug 1794456 Part 4 - Remove unused nsFrameList::Enumerator. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D158987
2022-10-11 21:01:28 +00:00