Backport several style changes from Gecko (11)#30770
Merged
mrobinson merged 90 commits intoservo:masterfrom Nov 24, 2023
Merged
Backport several style changes from Gecko (11)#30770mrobinson merged 90 commits intoservo:masterfrom
mrobinson merged 90 commits intoservo:masterfrom
Conversation
|
🔨 Triggering try run (#6963615222) with platforms=linux,macos,windows and layout=all |
Collaborator
|
🤖 Opened new upstream WPT pull request (web-platform-tests/wpt#43316) with upstreamable changes. |
|
Test results for linux-wpt-layout-2013 from try job (#6963615222): Flaky unexpected result (15)
Stable unexpected results that are known to be intermittent (13)
Stable unexpected results (26)
|
|
Test results for linux-wpt-layout-2020 from try job (#6963615222): Flaky unexpected result (21)
Stable unexpected results that are known to be intermittent (12)
Stable unexpected results (22)
|
|
|
Collaborator
|
🛠 These changes could not be applied onto the latest upstream WPT. Servo's copy of the Web Platform Tests may be out of sync. |
Avoid trying to resolve a currentcolor when a foreground color is not available. Differential Revision: https://phabricator.services.mozilla.com/D177368
So the line break suppression flags should be propagated through it. Otherwise ruby invariants might break, leading to a nullptr crash in this case. On debug builds the assertion was this one: https://searchfox.org/mozilla-central/rev/e6cb503ac22402421186e7488d4250cc1c5fecab/layout/generic/nsRubyBaseContainerFrame.cpp#631 Differential Revision: https://phabricator.services.mozilla.com/D177093
This should allow making these work on canvas. Differential Revision: https://phabricator.services.mozilla.com/D177074
See blocked bug. For non-Locked types we can just use the same underlying type at the FFI boundary. Port StylesheetContents and CssUrlData to this set-up. CssUrlData is already generated by cbindgen anyways. Differential Revision: https://phabricator.services.mozilla.com/D177559
See previous patches for context. Differential Revision: https://phabricator.services.mozilla.com/D177622
No behavior change, but using Self is shorter and while I'm touching this code might as well clean it up a little bit. Differential Revision: https://phabricator.services.mozilla.com/D177732
Much like with font-relative units, when they're used for a non-inherited property we need to avoid using the rule cache. This is because two elements matching the same rules won't get guaranteed-equal non-inherited style structs. Depends on D177732 Differential Revision: https://phabricator.services.mozilla.com/D177733
That's how we do it for all other platforms. Do this rather than via a custom mostly-untested pref, which allows us to simplify text zoom handling. Differential Revision: https://phabricator.services.mozilla.com/D177062
Use the actual Locked<T> types around (via a typedef, just for convenience). Differential Revision: https://phabricator.services.mozilla.com/D177824
This simplifies a tiny bit our bindings in some places, and complicates it in others, but over all I think it's better. It requires a bit more manual code in the rust side to drop and cast the relevant pointers (which was done implicitly before), but it's a lot less magic than it used to be, and that's all autogenerated so consumers don't need to care about it. The set up is still not ideal. I don't like that we rely on destructors running in both sides of the FFI boundary, but that's for another day. This is the last usage of RawOffsetArc, so remove that. We now support proper Arc<> in structs (GridTemplateAreas uses it), so I don't think we'll need it any time soon. Differential Revision: https://phabricator.services.mozilla.com/D177905
Unlike the `ParseRelative` flag, which turns on relative selector parsing for that parsing level only, the newly added `DISALLOW_RELATIVE_SELECTOR` flag propagates through nested parsing calls. Differential Revision: https://phabricator.services.mozilla.com/D176807
So that they aren't imported via #[path]. This allows cargo to see them even before building. Differential Revision: https://phabricator.services.mozilla.com/D178105
This changes the cssparser setup to:
* Avoid having to do copies of the ParsingContext all over the place,
which is useful because I plan to stash more nesting state in there.
* Use the new RuleBodyParser which allows parsing qualified rules,
declarations, and so on. Though we still don't use this anywhere.
The next step is to join NestedRuleParser and PropertyDeclarationParser,
so that we can parse declarations in a lot of the nested rules as well.
Differential Revision: https://phabricator.services.mozilla.com/D178053
Introduce LineWidth (which doesn't snap) and let BorderSideWidth wrap it and actually do the snapping. Differential Revision: https://phabricator.services.mozilla.com/D180688
We don't ever check the particular property, so it can just be a boolean. Differential Revision: https://phabricator.services.mozilla.com/D180680
Move the flag to ComputedValueFlags, like `CONSIDERED_RELATIVE_SELECTOR`. Differential Revision: https://phabricator.services.mozilla.com/D180726
…properties The CSS properties in the list are all shipped. Since we still don't support use counter for developing CSS properties since this bug opens, I assume this feature is not critical. Hence the removal of the comment. Differential Revision: https://phabricator.services.mozilla.com/D180771
At least when the containers are different. For now check that by doing a somewhat simplified test (checking sibling-ness). The new flag can be useful to optimize container query restyles on resizes too, in the future. Differential Revision: https://phabricator.services.mozilla.com/D179268
Layer insertion may change the order of styles, so we may need to fully invalidate. Without this change, bug 1838045 makes layer-statement-before-import.html fail. Differential Revision: https://phabricator.services.mozilla.com/D180929
The only reason we pass the quirks mode around is to compute the case sensitivity, but we can just pass the later. Differential Revision: https://phabricator.services.mozilla.com/D180527
…heck Go through the slow path by default. No behavior change. Differential Revision: https://phabricator.services.mozilla.com/D180528
It's an extra branch which in practice we almost never take, plus extra checks during parsing. Differential Revision: https://phabricator.services.mozilla.com/D180529
Inline the attribute lookup code, and only branch on the attribute selector type if we have found an attribute. Differential Revision: https://phabricator.services.mozilla.com/D180531
mrobinson
approved these changes
Nov 24, 2023
5 tasks
3 tasks
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.
This continues #30748.
./mach build -ddoes not report any errors./mach test-tidydoes not report any errors/_mozilla/gfx-rs-gecko/356774-1.htmlis now failing in legacy, but previously it was already wrong because both the test and the reference were supposed to show a border but they didn't. Now they do show a border, but the contents are shifted by 1px depending on border-collapse.