What it's doing is not so complicated.
Source-Repo: https://github.com/servo/servo
Source-Revision: d423e54d58d6cced950896eed1957ee2989f4eee
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5f2eb141315f4abbc2e2340950d43679aaf79f42
<!-- Please describe your changes on the following line: -->
- Added Cell<bool> type variable in Window object to know whether its mutation observers are present/absent
- Added get and set functions for this variable
- Added supporting test files to check for performance
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#16936.
<!-- Either: -->
- [x] There are tests for these changes, but these are manual tests for checking correctness of added code
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 4454e81878bfdc8bfdac9a24738b2192102b0456
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 837d8457cd82c711f5ec4d550c45e1e6490b2126
Introduce AuthorStyles, which is just a struct aggregating stylesheets +
CascadeData, with a quirks_mode parameter because XBL sucks so bad.
Bug: 1436059
Reviewed-by: xidorn
MozReview-Commit-ID: 7q99tSNXo0K
Source-Repo: https://github.com/servo/servo
Source-Revision: 504b901cc82db5c5e02e157cec9753f7c297ac2c
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 79252144a91938156e03e4bf1be76988a14beeed
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix#16107
- [X] There are tests for these changes
Source-Repo: https://github.com/servo/servo
Source-Revision: a6113af87335d69d11e53bc0ef2618dc7f6d16a0
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e25dc9d4f6a0e66cb91b06e6232d5311f237ea74
The only notable change is that KeywordInfo is now generic.
Source-Repo: https://github.com/servo/servo
Source-Revision: 0baab064df950cff65ce76dc5f134e2cd4c7413b
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 131d52f6ea46fc3ee68b7c539dceedcdba7770ba
Mostly minor cleanups, in preparation for more refactoring.
Source-Repo: https://github.com/servo/servo
Source-Revision: 6f82110c92e3d0f1e00df68d19f51c9321b97126
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9a38b0606bb3d61d56c0f2aefc00f0f08c31869b
Also simplify the servo property id to gecko property id conversion to be faster
and less repetitive.
This is in preparation of some patches to properly allow disabled longhands on enabled shorthands, something that we don't contemplate right now.
Source-Repo: https://github.com/servo/servo
Source-Revision: bdbb298bac881d8cf773739e4d7018080b40beb6
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b8f44fa55ebde80b40339e69a71b94f95f112e11
Use `cstr!()` macro with `CStr` to ensure that literal strings used with FFI is properly nul-terminated to avoid cases like #19915.
Source-Repo: https://github.com/servo/servo
Source-Revision: 5af219e8188f2e657c5711eb5def4c8e8065e29d
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : fb6a22714c7b8ff534181e54c265fca24da7873b
They are not used anyway.
Source-Repo: https://github.com/servo/servo
Source-Revision: 9f3ce51d50401ed6a2472e7d020ba9dcc47fa9a9
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 386a372d9c28868888ca0311c33fcfc385c962f5
This is the Servo side change for [bug 1435984](https://bugzilla.mozilla.org/show_bug.cgi?id=1435984).
Source-Repo: https://github.com/servo/servo
Source-Revision: 27cd4f7b5387f188570a355c58bf87b9a029d76e
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : de2178dad493accc07bda8dd4cded94a002377a8
Right now they're duplicated because we need a new serde release (ping @dtolnay), a new cssparser release (ping @SimonSapin) and a new release of html5ever with https://github.com/servo/html5ever/pull/336
Source-Repo: https://github.com/servo/servo
Source-Revision: 6cb78057bb115262f31548ef651b24a48957f11d
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : fc0f0e8c9c82e44f307c33d3a137a2a1324b236e
I'm tired of only drive-by fixing them :)
Source-Repo: https://github.com/servo/servo
Source-Revision: 7e31ae35e1036467e25484ab30132f8bd49f0ee8
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 36caa8cd45913ca5b0068fef7b234a4992e03c57
It tries to serialize unquoted family names as a series of identifiers. For family names which contain special white spaces like leading white space, trailing white space, and consective white spaces, unquoted names are marked quoted in parsing to avoid complicating serialization code.
This fixes [bug 1434802](https://bugzilla.mozilla.org/show_bug.cgi?id=1434802).
Source-Repo: https://github.com/servo/servo
Source-Revision: 3d6ce6c36aab3229929db3d49a8fec94dcf16f66
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 715a879e920a8d0776412f48607b26a2d38e9d8c
<!-- Please describe your changes on the following line: -->
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] Added unit tests and wpt for these changes
- [x] These changes fix#19958
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 62e1fc7899c2b0210dd24044d388b43ae80c276c
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 148314440b92a4f50ef93e97133ada5afe168ec1
This slims that function by 12KB according to bloaty.
Source-Repo: https://github.com/servo/servo
Source-Revision: e0b38f9c49157bbe885193fb9754a2790cc141ec
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5bd2673051fcb1545302b3f8e21efb64c35b91e6
http://build.servo.org/builders/mac-nightly/builds/606 shows a completely error-free run, despite encountering an error early on in `./etc/ci/update-wpt-checkout fetch-and-update-expectations`. We were swallowing the nonzero error code in this case.
Source-Repo: https://github.com/servo/servo
Source-Revision: 66141e95bb64e6b9a773c4a5b592461ec954db76
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 80cf7aae62b3540f30c3b7d1279f43a2a5dc2647
It was worth a shot!
Source-Repo: https://github.com/servo/servo
Source-Revision: 889bb012efe1bdb08ce85b14b49104a76c4b53f0
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3f3607558ffaf0e24bc5182cbd66b330fc0b9ef8
Just some more use-cases that can be converted right away.
I'm trying to make XBL not use a whole Stylist, slowly...
Source-Repo: https://github.com/servo/servo
Source-Revision: 63691f01d79874aae4bb84badf86667c863cec9b
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : da4fa29f65cb29a337b99877f44fe18db26ee4b9
Added derive(ToCss) annotation : WIP
<!-- Please describe your changes on the following line: -->
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
<!--
- [ ] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable). -->
<!-- Either: -->
<!--
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____
-->
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 0653f3097c07cac0a44e8a1bb1d431885edd7de0
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3b3418f5efde33cfd000b0341b523336c14485c9
The reason why bug 1355721 regressed this is because in non-e10s we definitely
flush before parsing the standards quirks-mode. And bug 1355721 introduced an
unconditional UpdateStylistIfNeeded, unless the counter style / font
equivalents.
That means that the stylist wouldn't remain on its initial state after the first
flush, which itself means that when the compat mode changed, the UA and user
rules were already on the stylist with the quirks mode keys. That makes
class-names be keyed in ascii lowercase.
After that no user style changed, so no rebuild happens for the cascade data in
the user origin, so we keep looking at the wrong keys indefinitely.
We should try to avoid the flush there and ensure that by the time we create a
pres shell the quirks mode is already up-to-date...
Bug: 1394233
Reviewed-by: xidorn
MozReview-Commit-ID: 25dD2bca3tN
Source-Repo: https://github.com/servo/servo
Source-Revision: 2ec0b50ebc65f04a49420e15267f564d36d5ada1
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 763cfe74f08d44b02b166be1c2077b3f4d97e8f5
<!-- Please describe your changes on the following line: -->
This pref (to potentially disable support for a CSS property) is to be removed from Gecko, so we should also remove the reference to it in the Servo (stylo) code; the property will be always-supported, just like the majority of others.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).
(See gecko bug https://bugzilla.mozilla.org/show_bug.cgi?id=1437267.)
<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because ... it's just removing support for a pref that is never actually used (it has defaulted to true ever since it was introduced in Gecko).
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: aacb9085e566bb4a25e3c882fad3110d862fc13d
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : bb1f672f27713c519f31f1713d6e94a5ccd8e1e2
This shaves 40KB off of libxul.
Source-Repo: https://github.com/servo/servo
Source-Revision: 2f4362e0c1371c9ae45f1a71a406578eadc94a8b
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : df1457b06a0eb8d7bdc1097b1c0bf4f79ff14b27
Per https://drafts.csswg.org/css-cascade/#preshint and
https://html.spec.whatwg.org/#presentational-hints.
This was causing failures in the link color reftests with the preferences sheet
as a User sheet.
Bug: 1436782
Reviewed-by: bholley
MozReview-Commit-ID: 9iwEqPBw4CF
Source-Repo: https://github.com/servo/servo
Source-Revision: 2cc75a783d1a7e2a82ef1e6502ca5a4463a3fb4b
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b73986abacd66b82dca889ed4b8f118273548879
This is the Servo side change of [bug 1435139](https://bugzilla.mozilla.org/show_bug.cgi?id=1435139).
Source-Repo: https://github.com/servo/servo
Source-Revision: afaa51b99387df084da421a738f204fefaebfbab
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f0a0b143d2750de047e62ab4ee940e791c2826b1
Making the job take longer in favour of reducing the variability of test results makes sense to me.
Source-Repo: https://github.com/servo/servo
Source-Revision: 1d8e78720b06823e7f77b52a2b8fbd805d2cf2c0
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 6cfe6c5831f0cd6a5ad353ff2262e80936c55c02
Right now Gecko uses a whole `Stylist` for stuff like XBL / Shadow DOM.
That's not great, because it has tons of unrelated logic, and also eats up a lot of memory. Also, it prevents us to optimize style changes in shadow hosts the same way we do for the document.
These patches mostly rejigger stuff around so that you can define a `DocumentStylesheetSet` and then an `AuthorStylesheetSet`, which would contain just the Shadow DOM sheets / XBL resource sheets.
It still doesn't introduce any use for the later, but that will come later.
There's a patch in this PR that requires Gecko changes, posted in https://bugzilla.mozilla.org/show_bug.cgi?id=1436798.
Source-Repo: https://github.com/servo/servo
Source-Revision: 6b1a74672d6b9d9c55b027b147b0a6eb8f727bfd
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 35cd629f88c24439c615e283265dbb78d33279b7
Replaced content_type from DomString to Mime
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#16483 (https://github.com/servo/servo/issues/16483).
<!-- Either: -->
- [x] These changes do not require tests because they make changes to already existing files
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 7e501f50f7ef71c6f877bb2ebbaaeaf0162b5f43
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 1561b203307f82f8731f63c95f91587181a3ef15
<!-- Please describe your changes on the following line: -->
This correctly implements the boldness and stretchiness properties for Freetype fonts. This also modifies the metric used to select fonts so that it takes account of stretchiness and italicness instead of just boldness. Finally there is a test of font selection (and thereby that fonts are having their boldness/italicness correctly read).
These were originally part of an old and abandoned pull request. I've rebased the changes and modified them to make them work with some name changes.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).
<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 13cf8130487851c41aeda474053ca0f42b777194
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : af3608774179f8216616b36c721879f471a94f0e
Issue #17321. Under Linux, using "font-family: sans-serif" previously
caused Servo to select the "UltraLight" face (of DejaVu Sans). There were
two reasons for this:
1. Font weight was only retrieved from the OS/2 table for bold faces.
This neglected to retrieve the weight information for "lighter than
normal" weight faces. This meant that the UltraLight face appeared as
normal weight, and was selected.
2. Retrieval of font stretch information from the OS/2 table was not
implemented at all.
Source-Repo: https://github.com/servo/servo
Source-Revision: 1ed60100695ec21fe6a023f967258fd018c7dafd
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b3bdf54fa6ba47462af20b6037d5d89aa5e25d0e
This is the Servo side change of [bug 1435944](https://bugzilla.mozilla.org/show_bug.cgi?id=1435944).
Source-Repo: https://github.com/servo/servo
Source-Revision: 0d7c2271c284bcc2d4bd005bd0e89f9a87eba636
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ca7343d75f2fd819e0b6c3277773a33ca863d1dd
In particular, every time that there's at least more than one identifier, switch
to quoted family name, since the reconstruction of the serialization will be
lossy anyway.
This allows us to avoid copies and all that.
What Chrome implements doesn't make much sense in the sense that they always
serialize:
font-family: "foo"; -> font-family: foo;
font-family: foo bar; -> font-family: "foo bar";
font-family: foo\ bar; -> font-family: "foo bar";
This patch makes us match on the second case, but not on the rest, because I
think Gecko's behavior is preferable in those cases.
Bug: 1434802
Reviewed-by: xidorn
MozReview-Commit-ID: JwBECA93lfi
Source-Repo: https://github.com/servo/servo
Source-Revision: f317075147a6725d96a4540262275259d15d9e6c
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e1009e0ae0bacd32f21389eccc895421c84aec05
Much like we optimize to_ascii_lowercase.
Source-Repo: https://github.com/servo/servo
Source-Revision: a0e4ea9f56947e9e47397984566e3e0cb5c3561e
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f521b9538c760908309d22f88178b669f5a7fa47