layout: Let OutsideMarker store an IndependentFormattingContext#42864
Merged
Loirooriol merged 1 commit intoservo:mainfrom Feb 26, 2026
Merged
layout: Let OutsideMarker store an IndependentFormattingContext#42864Loirooriol merged 1 commit intoservo:mainfrom
OutsideMarker store an IndependentFormattingContext#42864Loirooriol merged 1 commit intoservo:mainfrom
Conversation
`OutsideMarker` was storing the `BlockFormattingContext` and the `LayoutBoxBase` in separate fields. Now it will store an entire `IndependentFormattingContext` in a single field. In particular, this fixes the issue that `OutsideMarker::repair_style()` wasn't calling `BlockFormattingContext::repair_style()`. Now we can just rely on `IndependentFormattingContext::repair_style()`, which correctly repairs the style of both the `BlockFormattingContext` and the `LayoutBoxBase`. Also, the `BlockLevelBox::repair_style()` was repairing the style of the `LayoutBoxBase` twice, for all kinds of block-level boxes. This removes the duplication. Testing: Adding a new test Fixes: 42779 Signed-off-by: Oriol Brufau <obrufau@igalia.com>
|
🔨 Triggering try run (#22423493339) for Linux (WPT) |
Collaborator
|
🤖 Opened new upstream WPT pull request (web-platform-tests/wpt#58060) with upstreamable changes. |
|
Test results for linux-wpt from try job (#22423493339): Flaky unexpected result (25)
Stable unexpected results that are known to be intermittent (21)
|
|
✨ Try run (#22423493339) succeeded. |
mrobinson
approved these changes
Feb 26, 2026
shubhamg13
pushed a commit
to shubhamg13/servo
that referenced
this pull request
Mar 2, 2026
…ervo#42864) `OutsideMarker` was storing the `BlockFormattingContext` and the `LayoutBoxBase` in separate fields. Now it will store an entire `IndependentFormattingContext` in a single field. In particular, this fixes the issue that `OutsideMarker::repair_style()` wasn't calling `BlockFormattingContext::repair_style()`. Now we can just rely on `IndependentFormattingContext::repair_style()`, which correctly repairs the style of both the `BlockFormattingContext` and the `LayoutBoxBase`. Also, the `BlockLevelBox::repair_style()` was repairing the style of the `LayoutBoxBase` twice, for all kinds of block-level boxes. This removes the duplication. Testing: Adding a new test Fixes: servo#42779 Signed-off-by: Oriol Brufau <obrufau@igalia.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
OutsideMarkerwas storing theBlockFormattingContextand theLayoutBoxBasein separate fields. Now it will store an entireIndependentFormattingContextin a single field.In particular, this fixes the issue that
OutsideMarker::repair_style()wasn't callingBlockFormattingContext::repair_style(). Now we can just rely onIndependentFormattingContext::repair_style(), which correctly repairs the style of both theBlockFormattingContextand theLayoutBoxBase.Also, the
BlockLevelBox::repair_style()was repairing the style of theLayoutBoxBasetwice, for all kinds of block-level boxes. This removes the duplication.Testing: Adding a new test
Fixes: #42779