Commit graph

696 commits

Author SHA1 Message Date
Jonathan Watt
8191eda786 Bug 1900195. Remove support for the 'align-tracks' and 'justify-tracks' properties. r=emilio
These properties were added as part of the experimental Masonry support added
in bug 1607954. Since then the CSS WG resolved to remove these properties in:
https://github.com/w3c/csswg-drafts/pull/9529

This patch is a fairly brain dead removal of the properties, simply changing
the consumer code to take the code paths that would have been taken previously
if the properties were not set. That leaves some obvious dead code, which has
been removed, but no attempt has been made to redesign the Masonry code to
"make sense" without these properties. That would require a more prolonged
effort to understand Masonry, how the spec has changed in the last four years,
and how we should best change our code.

For now, this removal is simply focused on reducing the amount of memory used
by nsStyleDisplay to unblock the landing of bug 1899949.

Differential Revision: https://phabricator.services.mozilla.com/D212358
2024-06-02 00:16:26 +00:00
Ting-Yu Lin
1e80f659a2 Bug 1896516 Part 11 - Remove nsIScrollableFrame usages under layout/, widget/, and toolkit/. r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D211498
2024-05-30 06:32:22 +00:00
Ting-Yu Lin
df8ff2d9ac 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
ccb101be8f 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
6bd29e633d Bug 1896516 Part 11 - Remove nsIScrollableFrame usages under layout/, widget/, and toolkit/. r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D211498
2024-05-28 04:46:20 +00:00
Ting-Yu Lin
9a9b18c0b6 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
Ting-Yu Lin
fb92ee5f64 Bug 1824877 Part 2 - Rename nsHTMLScrollFrame to mozilla::ScrollContainerFrame. r=dholbert
Also, change the ScrollContainerFrame::GetFrameName() to return
"ScrollContainer" instead of "HTMLScroll".

Differential Revision: https://phabricator.services.mozilla.com/D210233
2024-05-15 17:50:48 +00:00
Ting-Yu Lin
89d03cb81b Bug 1824877 Part 1 - Rename nsGfxScrollFrame.{h,cpp} to ScrollContainerFrame.{h,cpp}. r=dholbert
Remove the #include from `nsFrameState.cpp` because it is not used.

Differential Revision: https://phabricator.services.mozilla.com/D210232
2024-05-15 17:50:48 +00:00
Daniel Holbert
abcd073473 Bug 1410243: Make nsGridContainerFrame give each child a dedicated ReflowStatus to use for reflow. r=TYLin
This matches what we do in flexbox, here:
https://searchfox.org/mozilla-central/rev/8c3ca2f5a74e0ba59c3d9dddf5468a2ffab13467/layout/generic/nsFlexContainerFrame.cpp#2024,2033-2035,2038-2042

We have fuzzer testcases where the child reflow sets the reflow status to
"OverflowIncomplete", which is fine from the perspective of the
immediately-following "IsComplete()" assertion in the contextual code of this
patch; but it's not fine if we then go on to reuse that
already-set-to-OverflowIncomplete status for another child's reflow.

Differential Revision: https://phabricator.services.mozilla.com/D207094
2024-04-19 16:06:29 +00:00
Ting-Yu Lin
94a4dc82fb Bug 1891173 - Convert PhysicalAxis to an enum class. r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D207332
2024-04-15 22:17:25 +00:00
Cjm531
e325c06b96 Bug 1885695 - Change LogicalEdge to an enum class and change its variants names. r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D206265
2024-04-15 20:19:47 +00:00
Emilio Cobos Álvarez
a56d7fbba4 Bug 1887867 - Fix button-as-subgrid border/padding computations. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D206896
2024-04-08 19:49:29 +00:00
Ting-Yu Lin
b518ef30fa Bug 1888535 Part 5 - Remove DISPLAY_REFLOW. r=layout-reviewers,emilio
It is used in `Reflow()` implementations.

Differential Revision: https://phabricator.services.mozilla.com/D206317
2024-04-02 19:03:05 +00:00
Ting-Yu Lin
26c26e265f Bug 1888535 Part 4 - Remove DISPLAY_PREF_INLINE_SIZE and DISPLAY_MIN_INLINE_SIZE. r=layout-reviewers,emilio
The two macros are used in `GetPrefISize()` and `GetMinISize()` implementations.
After removing them, we could further simplify some implementations because we
don't need a `result` variable in many cases.

This patch doesn't change behavior.

Differential Revision: https://phabricator.services.mozilla.com/D206316
2024-04-02 19:03:04 +00:00
sid
cc52f88dc8 Bug 1825386 - Converted LogicalAxis to enum class and type casted where necessary. r=TYLin
LogicalAxis is one of the Logical* enums. Converting it from enum to
enum class increases type safety. To run with the pre-existing code,
type casting was added when needed. Comments have been edited where
needed.

Differential Revision: https://phabricator.services.mozilla.com/D206108
2024-03-30 16:20:37 +00:00
flowejam
68f084fc8b Bug 1885693: Converted LogicalSide to an enum class, and renamed variables accordingly. r=TYLin
Values were static_casted where required. Some functions in WritingModes.h were
rewritten such that bitwise operations aren't being used. Added static_casts to
avoid (debug) build errors from debugging printfs in layout/tables/nsCellMap.cpp.

Differential Revision: https://phabricator.services.mozilla.com/D205510
2024-03-26 17:55:16 +00:00
Ting-Yu Lin
5d27842b5d Bug 1881495 part 1: Add ShrinkWrap flag for grid items that are self-aligned (not stretched) in MeasuringReflow(). r=dholbert
Bug 1350037 Part 3 [1] removed the code in ReflowInput that adds `ShrinkWrap`
flag self-aligned grid items, to prevent the table-caption from getting aligned
behavior, but it accidentally broke self-aligned behavior for other types of
frames that are grid items.

We actually already check if we need to add `ShrinkWrap` in grid item's final
reflow [2], but we were missing the same logic in `MeasuringReflow()`. This
patch adds that.

[1] https://hg.mozilla.org/mozilla-central/rev/6e8085865f74
[2] https://searchfox.org/mozilla-central/rev/202c48686136360a23b73a49b611a19e64f3e1b8/layout/generic/nsGridContainerFrame.cpp#7651,7657

Differential Revision: https://phabricator.services.mozilla.com/D203514
2024-03-05 00:50:31 +00:00
Ting-Yu Lin
a591467fd5 Bug 1879770 Part 2 - Add a helper to query intrinsic scrollbar-gutter size for subgrid. r=emilio
See https://bugzilla.mozilla.org/show_bug.cgi?id=1879770#c2 for an analysis.

Differential Revision: https://phabricator.services.mozilla.com/D201893
2024-03-04 14:30:23 +00:00
Tiaan Louw
07bc09908b Bug 1878846 - Take writing mode into account when calculating baseline sharing group. r=layout-reviewers,dholbert,emilio
https://drafts.csswg.org/css-align-3/#baseline-terms
The baseline sharing group is not equal to the baseline specified for
the item. It has to be calculated separately.  The baseline sharing
group determines on which side of the block the item is aligned, but the
specified baseline is still used to determine the baseline of the item.

Depends on D200767

Differential Revision: https://phabricator.services.mozilla.com/D200768
2024-02-20 10:05:12 +00:00
Norisz Fay
56f2d9ced0 Backed out changeset c59a7f7b8852 (bug 1878846) for causing Wr failures on align-items-baseline-row-vert.html 2024-02-14 18:40:55 +02:00
Tiaan Louw
b1e88439bc Bug 1878846 - Take writing mode into account when calculating baseline sharing group. r=layout-reviewers,dholbert,emilio
https://drafts.csswg.org/css-align-3/#baseline-terms
The baseline sharing group is not equal to the baseline specified for
the item. It has to be calculated separately.  The baseline sharing
group determines on which side of the block the item is aligned, but the
specified baseline is still used to determine the baseline of the item.

Differential Revision: https://phabricator.services.mozilla.com/D200768
2024-02-14 10:39:43 +00:00
Iulian Moraru
d5f275e2c1 Backed out changeset b6eb0c382d2f (bug 1878846) for causing wr failures on masonry-grid-item-content-baseline-001.html. CLOSED TREE 2024-02-13 00:55:32 +02:00
Tiaan Louw
8df4d36b00 Bug 1878846 - Take writing mode into account when calculating baseline sharing group. r=layout-reviewers,dholbert,emilio
https://drafts.csswg.org/css-align-3/#baseline-terms
The baseline sharing group is not equal to the baseline specified for
the item. It has to be calculated separately.  The baseline sharing
group determines on which side of the block the item is aligned, but the
specified baseline is still used to determine the baseline of the item.

Differential Revision: https://phabricator.services.mozilla.com/D200768
2024-02-12 21:56:07 +00:00
Tiaan Louw
9dc9b76e19 Bug 1878846 - Change grid items to use PerLogicalAxis types. r=TYLin
This avoids using raw integer values which might cause bugs.
Also removed a clang-format: off block for better formatting.

Differential Revision: https://phabricator.services.mozilla.com/D200767
2024-02-12 21:51:00 +00:00
Cristian Tuns
592571a8e6 Backed out changeset cab51450b6bd (bug 1878846) for causing build bustages in nsIFrame.h CLOSED TREE 2024-02-12 12:03:06 -05:00
Tiaan Louw
1253566d0d Bug 1878846 - Change grid items to use PerLogicalAxis types. r=TYLin
This avoids using raw integer values which might cause bugs.
Also removed a clang-format: off block for better formatting.

Differential Revision: https://phabricator.services.mozilla.com/D200767
2024-02-12 14:34:53 +00:00
Tiaan Louw
bcbf7287d2 Bug 1877943 - Remove GetFirstLineBaseline function from grid r=dshin
Differential Revision: https://phabricator.services.mozilla.com/D200277
2024-02-05 09:28:30 +00:00
Tiaan Louw
b2f97bc9f1 Bug 1868084 - Refactor baseline calculation to use Maybe. r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D199964
2024-01-30 18:01:15 +00:00
Tiaan Louw
32b2a5c770 Bug 1876612 - Use the newer function for calculating item baselines r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D199870
2024-01-30 17:41:48 +00:00
Ting-Yu Lin
8fad687bb1 Bug 1874336 Part 1 - Use ApplyMinMaxBSize() and ApplyMinMaxISize() more. r=layout-reviewers,jfkthame
Also, add a note to `NS_CSS_MINMAX` to point to these two methods.

Differential Revision: https://phabricator.services.mozilla.com/D198351
2024-01-12 21:25:39 +00:00
Daniel Holbert
d4a20e6668 Bug 1833482 part 1: Propagate baseline offset metrics from temporary GridItemInfo structs in parent grid to the canonical GridItemInfo structs in the subgrids. r=emilio,layout-reviewers
Before this patch, when we baseline-aligned items in a grid, we were careful to
include items from subgrids in that alignment geometry.  However, we ended up
dropping the baseline alignment metrics for those subgrid items on the floor,
per the code-comment and TruncateLength call here:
https://searchfox.org/mozilla-central/rev/b580e3f77470b2337bc8ae032b58a85c11e66aba/layout/generic/nsGridContainerFrame.cpp#3744-3747

This patch makes us propagate subgrid items' baseline-alignment metrics to
their actual GridItemInfo structs (which canonically live in the Subgrid()
frame-property on their direct subgrid parent).

Now that those baseline-alignment metrics are having an effect, we can also see
that the (previously-ignored) metrics are wrong in some cases -- they don't
properly account for various forms of padding on subgrid containers of
baseline-aligned grid items.  That's tracked in bug 1871719, and that's the
reason this patch has several WPT subtests, which were previously passing.
(They were passing just by chance, since our previous trivial-fallback behavior
happened to place some items at the correct start/end-aligned location, and our
new baseline-aligned location happens to be incorrect due to bug 1871719.)

Since this patch is regressing those cases: out of an abundance of caution, I'm
putting the new behavior behind an about:config preference
"layout.css.grid-subgrid-baselines.enabled" (defaulting to true in Nightly,
false in other builds), so that this patch will have no behavioral effect for
users of release builds.  We can remove the about:config pref once bug 1871719
is fixed.

Differential Revision: https://phabricator.services.mozilla.com/D197233
2024-01-01 11:40:16 +00:00
Daniel Holbert
6033db45c9 Bug 1833482 part 0: Rename CollectSubgridForAxis to CollectSubgridItemsForAxisRecursive. r=emilio,layout-reviewers
This patch doesn't change behavior; it's just a rename.

We have an "entry-point" function CollectSubgridItemsForAxis that the outer
grid calls, and most of its work is done by a recursive helper function.

Before this patch, the recursive helper function has nearly the same name but
with the word "Items" removed, which doesn't make any sense, since it's still
collecting items from subgrids.

Let's just rename the recursive helper to match its entry-point, with a
"Helper" suffix, and document that it's a recursive helper. This makes the
function name a little longer, but not too much longer.

(I'm bothering to do this because the next patch in this series will add a
similar pair of functions, and I want the new functions to use the same naming
scheme as these existing functions.)

Differential Revision: https://phabricator.services.mozilla.com/D197232
2024-01-01 11:40:15 +00:00
Emilio Cobos Álvarez
64f95e649a Bug 1871412 - Fix scroll container checks for automatic minimum size and grid stretching checks. r=dholbert
The spec says scroll container, so overflow: visible and clip shouldn't
be different.

Note that the spec here is pending some edits from
https://github.com/w3c/csswg-drafts/issues/7714 tho.

Differential Revision: https://phabricator.services.mozilla.com/D197052
2023-12-26 20:49:16 +00:00
Daniel Holbert
932657ef4e Bug 1871617: Capture CollectSubgridItemsForAxis output in a temporary array, to avoid mutation while iteration. r=TYLin
This patch doesn't change behavior.

Before this patch, we're appending to the array that we're iterating over,
which is risky, though it happens to be safe right now since we don't use
any of the newly-invalid-data after the array is mutated.

This patch just uses a less risky approach (appending to a temporary array)
to avoid this fragility.

Differential Revision: https://phabricator.services.mozilla.com/D197217
2023-12-23 00:28:23 +00:00
Ting-Yu Lin
553181f924 Bug 1841297 - Fix subgrid position when the gap is larger than track size. r=dholbert
When the subgrid gap forces a track to have a negative size, the old code was
clamping the track-size (`mBase`) to 0, but it was still placing that track at
`mPosition` that reflected its theoretical negative-size (shifting it
startwards). This patch removes that startwards shift.

Note on the tests: the existing grid-gap-011.html doesn't test the code change
around `lastTrack`. That is, we still pass the test without the position fix to
`lastTrack`. Hence I added grid-gap-012.html, which is adapted from
grid-gap-011.html, but with the subgrid gap changed to 250px (larger than the 2x
track size to test the position of the last track). Both Chrome and Safari
already pass the test.

Differential Revision: https://phabricator.services.mozilla.com/D197084
2023-12-22 04:32:57 +00:00
Daniel Holbert
1e3db41029 Bug 1800566: Wait to clamp lines for items in a subgrid until after we've resolved both the start and the end lines. r=emilio,layout-reviewers
This is a slight change to our "clamping over-large grid" procedure (
https://www.w3.org/TR/css-grid-2/#overlarge-grids ) to more closely match the
spec requirements.

Per spec, we use this same procedure for two different things:
(a) to clamp the placement of grid items that are using extremely large grid line indices -- beyond 10,000.
(b) to clamp grid lines that are simply outside the bounds of their subgrid.

(Of course (b) is much more mundane, but the spec says to "[use] the same
procedure" at https://www.w3.org/TR/css-grid-2/#subgrid-implicit )

Before this patch, we were preemmptively clamping each of a grid item's
specified grid-lines at the moment that we resolve the individual line. This
approach doesn't quite match the #subgrid-implicit spec text linked above,
which says to create implicit grid lines (i.e. lines *beyond the clamp-limits*)
as-needed when placing the grid item; and only clamp once we've determined the
grid area (i.e. once we've resolved all of the grid lines).

The distinction is subtle, but it makes a difference for cases like the bottom
half of https://bug1800566.bmoattachments.org/attachment.cgi?id=9369740 , where
we have to search backwards from the end line in order to find a named line to
use as the item's start-line. The outcome ends up wrong if we clamp the end
line before we do that search (as we were doing before this patch) vs. if we do
the search first and then clamp the range as a whole afterwards.

See comments in the patch for more details.

Differential Revision: https://phabricator.services.mozilla.com/D197044
2023-12-21 14:58:12 +00:00
Daniel Holbert
8ee2695429 Bug 1870949 part 1: When synthesizing a baseline from a grid item, don't bother with central baselines if we're getting a measurement in the item's inline axis. r=TYLin
This patch only changes behavior in cases where the following conditions hold:
(a) We're asking an item for its baseline, and the item has a writing-mode
     that uses a central baseline (e.g. vertical-rl).
(b) We're asking for a baseline **in that item's inline axis**, i.e. a
    measurement in the y-axis.

In this situation, the item really only wants to use central baselines for its
own block-axis baselines, not for its inline-axis baselines.  So let's not
bother trying to generate central baselines in its inline axis.

This is documented to some extent in
https://www.w3.org/TR/css-writing-modes-4/#text-baselines, which describes
central baselines as being between the 'over' and 'under' edges (aka
'line-over' and 'line-under'), i.e. a measurement in the element's own block
axis.

This makes us pass WPT subgrid-stretch.html, because it happens to depend on
the baseline alignment of horizontal-writing-mode grids that have
vertical-writing-mode subgrids.

Differential Revision: https://phabricator.services.mozilla.com/D196932
2023-12-20 23:26:01 +00:00
Ting-Yu Lin
87151816cd Bug 1870983 - Remove child pos workaround when XUL is a grid item. r=dholbert
This patch reverts this patch
https://hg.mozilla.org/mozilla-central/rev/2d39de2be1ae (bug 1593060).

Note: some of the code (around `::MeasuringReflow`) has been reverted in
https://hg.mozilla.org/mozilla-central/rev/cd9c32d42c40 (Bug 1600542).

Differential Revision: https://phabricator.services.mozilla.com/D196939
2023-12-20 22:28:42 +00:00
Daniel Holbert
b99412ee25 Bug 1800563: Inhibit out-of-flow grid containers from being subgrids. r=TYLin
This patch does two things:

1. Extends ShouldInhibitSubgridDueToIFC to return true for out-of-flow frames,
   per spec (which makes us pass the WPT independent-formatting-context.html).
   Spec reference: https://drafts.csswg.org/css-grid-2/#subgrid-listing
   "...if the grid container [the one that's styled to be a subgrid] is
   otherwise forced to establish an independent formatting context (for
   example, due to layout containment or absolute positioning), the used value
   is the initial value, 'none', and the grid container is not a subgrid."

2. Removes some newly-dead code from ComputeSelfSubgridMasonryBits that
   provided some special handling for out-of-flow subgrids (which are now
   impossible to create, as of this change); and also remove
   WillHaveAtLeastOneTrackInAxis() whose last caller I'm removing here.

3. Renames a variable 'gridParent' to 'parentGrid' to match the spec
   terminology at https://drafts.csswg.org/css-grid-2/#parent-grid

Differential Revision: https://phabricator.services.mozilla.com/D193731
2023-12-20 02:03:04 +00:00
Daniel Holbert
5f7834499a Bug 1870906 part 2: Split out a helper function to determine whether we should inhibit a grid from being a subgrid. r=TYLin
This patch doesn't change behavior; it's just refactoring out some
existing checks into a helper function.

Differential Revision: https://phabricator.services.mozilla.com/D196901
2023-12-20 02:03:03 +00:00
Daniel Holbert
64929f8df8 Bug 1870906 part 1: Simplify ComputeSelfSubgridMasonryBits() to return early once we know we can't be a subgrid. r=TYLin,emilio
This patch doesn't change behavior.

The code that follows the new early-return is all in the service of making
changes to the return value `bits`; and all of the modifications are guarded
directly or indirectly by checks for `!inhibitSubgrid`.  So we might as well
just morph this `inhibitSubgrid` variable into an early-return and skip all of
that code entirely when it evaluates to true.

Differential Revision: https://phabricator.services.mozilla.com/D196900
2023-12-20 02:03:03 +00:00
Daniel Holbert
4da6f6aa69 Bug 1870911: Don't inadvertently clobber masonry bits just because a nested grid can't be a subgrid. r=TYLin
This ComputeSelfSubgridMasonryBits() function has some logic to determine
whether a grid is using subgrid layout (i.e. participating in a parent grid)
and also whether it's using masonry layout at all.

There's one early-return for a case where we can't be a subgrid, which
inadvertently also disregards the masonry state that we've set. It looks like
this was an oversight, since in fact we can still use masonry regardless of
whether we're allowed to be a subgrid.

Differential Revision: https://phabricator.services.mozilla.com/D196891
2023-12-19 22:38:25 +00:00
Ting-Yu Lin
a2cb7d7c54 Bug 1841296 - Implement stretch for subgrids in the subgridded axis. r=dholbert
This implements https://drafts.csswg.org/css-grid/#subgrid-box-alignment

Differential Revision: https://phabricator.services.mozilla.com/D196706
2023-12-18 22:58:07 +00:00
Ting-Yu Lin
d9e2309212 Bug 1350037 Part 2 - Add a helper to compute stretch for grid items. r=dholbert
The helper will be used in the next part, too.

This doesn't change behavior.

Differential Revision: https://phabricator.services.mozilla.com/D196704
2023-12-18 22:12:43 +00:00
Ting-Yu Lin
a7f123d197 Bug 1350037 Part 1 - Rename two variables storing grid item's axes. r=dholbert
Rename to make them clearer that they stores child's axes in grid container's
writing-mode. Without the "InWM" suffix, it's a bit confusing why not just use
`eLogicalAxisInline`.

Differential Revision: https://phabricator.services.mozilla.com/D196703
2023-12-18 22:12:42 +00:00
Emilio Cobos Álvarez
119487c4fc Bug 1869580 - Move devtools info bit to specific frame classes. r=tnikkel,layout-reviewers
No need for them to live in nsIFrame.

Differential Revision: https://phabricator.services.mozilla.com/D196198
2023-12-13 12:48:35 +00:00
Tiaan Louw
926339cab4 Bug 1609403 - Grid items with align/justify-self should participate in baseline alginment r=emilio,layout-reviewers
When a grid item is set to align itself to the baseline (first or last)
then it should participate in baseline alignment if the item's size is
not dependent on the size of the track and vice versa.

Also added a test to check for last baseline alignment in addition to
first baseline alignment on empty blocks.

Differential Revision: https://phabricator.services.mozilla.com/D157345
2023-12-07 11:49:40 +00:00
Natalia Csoregi
73a59db841 Backed out changeset 3d0a5f6fd8b4 (bug 1609403) for causing failures on grid-self-baseline-changes-grid-area-size-002.html. CLOSED TREE 2023-12-05 01:37:51 +02:00
Tiaan Louw
bbcb0c22f4 Bug 1609403 - Grid items with align/justify-self should participate in baseline alginment r=emilio,layout-reviewers
When a grid item is set to align itself to the baseline (first or last)
then it should participate in baseline alignment if the item's size is
not dependent on the size of the track and vice versa.

Also added a test to check for last baseline alignment in addition to
first baseline alignment on empty blocks.

Differential Revision: https://phabricator.services.mozilla.com/D157345
2023-12-04 22:10:24 +00:00
Natalia Csoregi
4d3b204da5 Backed out changeset 02d58cff5d1a (bug 1609403) for causing failures on grid-self-baseline-changes-grid-area-size-002.html. CLOSED TREE 2023-12-04 23:03:05 +02:00