Skip to content

Conversation

@paolobarbolini
Copy link

The fxhash crate hasn't been maintained in the last 6 years. This migrates to rustc-hash, which is much more popular crate developed by the Rust project and used by the Rust compiler.

nicoburns and others added 30 commits September 19, 2024 13:06
MANUAL PUSH: Bustage fix CLOSED TREE
…smaug

I didn't put this behind a pref because it was a bit annoying to do with
the parser changes while keeping it fast, and because, at least nesting
wise, this is unlikely to cause compat issues.

There are some complexities for @scope, which I think I got right.

Fixed the tests not to depend on @scope necessarily per the discussion
in web-platform-tests/interop#697.

Differential Revision: https://phabricator.services.mozilla.com/D222817
…s too. r=devtools-reviewers,nchevobbe,dshin

Rename getCSSStyleRules now that it can return something else, and
change getCSSStyleRules_starting_style.html to cover this again.

Unfortunately the asserts in ServoStyleRuleMap.cpp no longer hold,
because the style attribute and other declarations are expected not to
show up there.

Differential Revision: https://phabricator.services.mozilla.com/D222856
…ption<Au>`. r=emilio

Given that `LengthPercentage::to_used_value()` accepts an `Au`, and
`NonNegativeLengthPercentage::maybe_to_used_value()` an `Option<Au>`,
it didn't make much sense for `LengthPercentage::maybe_to_used_value()`
to accept an `Option<Length>`.

All callers from Servo and Stylo have an `Option<Au>` that they needed
to convert into `Option<Length>` in order to call this function. Gecko
doesn't call it.

Differential Revision: https://phabricator.services.mozilla.com/D222210
…le-system-reviewers,zrhoffman

Having them in rust makes them easier to tweak (like change values, make
them conditional, or what not).

Differential Revision: https://phabricator.services.mozilla.com/D222931
-moz-user-modify is a prefixed CSS property which does _almost_ nothing.

It has some effect on caret painting (as in, you could make a
contenteditable element not paint the caret), but there are better ways
of doing that (caret-color: transparent or so).

It is also documented to do nothing in MDN.

Given that, I plan to try to remove it. Only real risk is that someone
uses for feature detection or so, so I expect the risk to be pretty
minimal.

Differential Revision: https://phabricator.services.mozilla.com/D222984
XUL was opted out of support for the CSS display: contents rule due to lack of use, but there may be a valid use case for display: contents in the tab bar with the introduction of tab groups.

See Bug 1918686 for the tab groups use case.

Differential Revision: https://phabricator.services.mozilla.com/D223205
Backed out changeset d5d237db3e73 (bug 1917602)
Backed out changeset f3cc65f111ef (bug 1917602)
…ris,firefox-style-system-reviewers

I think this is a bit more consistent, and makes us preserve the
invariant that from_computed_value().to_computed_value() round-trips.

Differential Revision: https://phabricator.services.mozilla.com/D223878
…thame

This makes #[derive(Parse)] work on a unit struct, which is useful for
bug 1884118.

Differential Revision: https://phabricator.services.mozilla.com/D224758
nicoburns and others added 22 commits March 15, 2025 10:50
Servo and Gecko sometimes have different sized structs, so we
conditionally compile so we can assert them separately.

Signed-off-by: Nico Burns <[email protected]>

Differential Revision: https://phabricator.services.mozilla.com/D241571
The previous version required a "mut" annotation on the closure for
Servo no annotation for Gecko which is annoying to conditionally apply.

So it has been rewritten to use a plain function instead of a closure.

Differential Revision: https://phabricator.services.mozilla.com/D241574
…-elements. r=lukewarlow

This will be tested after a few other related changes land by tests like
testing/web-platform/tests/html/rendering/the-details-element/details-blockification.html

Differential Revision: https://phabricator.services.mozilla.com/D241723
In this case the center is positive, min and max are negative, so we
know the center is greater than both.

But we still can't compare the min and max because they're different
units, so it can't be simplified.

Differential Revision: https://phabricator.services.mozilla.com/D241722
Any ancestors of this commit are from upstream mozilla-central, with
some filtering and renaming. Our patches and sync tooling start here.

The sync tooling has all been squashed into this commit, based on:
https://github.com/servo/stylo/commits/64731e10dc8ef87ef52aa2fb9f988c3b2530f3a7
This is a rebase of 42990da

Signed-off-by: Oriol Brufau <[email protected]>
Signed-off-by: Nico Burns <[email protected]>
@mrobinson
Copy link
Member

mrobinson commented Mar 23, 2025

@paolobarbolini Thanks for the contribution.

This crate is a downstream version of Gecko's style. We ask that non-Servo-specific changes be submitted upstream: https://searchfox.org/mozilla-central/source/servo/components.

@nicoburns
Copy link
Collaborator

There's a guide to submitting patches to Gecko here: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html

However, I would note that "fxhash" stands for Firefox Hash so I'm not sure how open they would be to this change.

@Loirooriol
Copy link
Collaborator

Sorry, I think Github closed this because we are now using the new upstream repo, and the history was too different. Can you rebase and open a new PR?

Though as mentioned above, this should probably be sent upstream instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.