Servo part of https://bugzilla.mozilla.org/show_bug.cgi?id=1420026, reviewed there by TYLin.
Source-Repo: https://github.com/servo/servo
Source-Revision: b8b5c5371f66a95da9ffb238cba2c549f4c85f59
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : abb4932506d8df0e29b9485f10f7e085c8e48638
This is a sub-PR of #19015
Besides, this is the last PR for `font.mako.rs`! 🎉
r? emilio
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#19355
- [x] These changes do not require tests
Source-Repo: https://github.com/servo/servo
Source-Revision: 8f61fde3907f2dde3e697791ccfb9a4d86d1a48c
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 1e3e438583f418932f96140dc434e1a64e4aceff
This helps with bug 1419694.
Source-Repo: https://github.com/servo/servo
Source-Revision: cd70a01d327d4e690626b4ce6f301d4cc6ae9a87
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 1f52f926d453a5038f4c9f160150196bf3059c42
This is a sub-PR of #19015
r? emilio
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#19333
- [x] These changes do not require tests
Source-Repo: https://github.com/servo/servo
Source-Revision: ac576910d27eaee91ae21a38607a44cf7d33e15d
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b9a1d19a17d3d3cc6c4d155e4f2ff0601a625e3c
`compiletest-rs` use internal rustc APIs and is broken in today’s Nightly. rustdoc however is maintained with rustc and so much less fragile.
Closes#9945.
Source-Repo: https://github.com/servo/servo
Source-Revision: 5213e2a5a9ed8859a004e480f52c7e04f8d7f85e
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4549a7b8d21ba3085be304d96d93b958f1a83655
<!-- Please describe your changes on the following line: -->
This is a PR for https://bugzilla.mozilla.org/show_bug.cgi?id=1418867
---
<!-- 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
Source-Repo: https://github.com/servo/servo
Source-Revision: a6ce817045b293b2898aca4d393c6b744955e730
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5409294d683e06e8de99f05d93c5e7b1047e9dec
This makes it possible to run tests in tests/wpt/web-platform-tests/webdriver/tests and focus on investigating why they fail.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix (partially) #15274.
- [x] There are tests for these changes
Source-Repo: https://github.com/servo/servo
Source-Revision: dc35457b4a6dec744de1e8b61bf8fb9b3947a3ba
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 47dad9396967053f7849320a2445a66ea03db895
It's not only more consistent (since we have a proper ParserContext there), but
also fixes a bunch of bugs where Gecko accidentally exposes and allows setting
internal state because of conversions from nsCSSPropertyID to PropertyId.
This adds the extra complexity of caring about aliases for longer, but that's
probably not a big deal in practice, since we have PropertyDeclarationId.
Source-Repo: https://github.com/servo/servo
Source-Revision: 3864f320e8c6ff707d5b11fe46d67c0677cd112a
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 41922d46e6c30b5ec9f5adebceac0978ab35b6e0
They're useless now, provided we remove the hack to not traverse XBL-bound
elements on initial styling.
Bug: 1418456
Reviewed-by: heycam
MozReview-Commit-ID: AvBVdyF1wb6
Source-Repo: https://github.com/servo/servo
Source-Revision: e4cfff8364cebd0ae2236cc8c39ba93072b35148
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b9ae9d359687ae32609a11d9ad5e8457c548e941
This is a sub-PR of #19015
r? @emilio
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#19246
- [x] These changes do not require tests
Source-Repo: https://github.com/servo/servo
Source-Revision: b4c274d190b039443101ba34a3dd84112edfe314
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5e90d778801ac494f6b78445e5c243ffc8bed7eb
This is a sub-PR of #19015
r? emilio
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#19216
- [x] These changes do not require tests
Source-Repo: https://github.com/servo/servo
Source-Revision: 8c332f5dd301dd8e505d14ab2471c068a77f3c4a
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 93dc6aae08f646e281a5b5c7fc150241fffa9830
Part of #19015.
Source-Repo: https://github.com/servo/servo
Source-Revision: 6f1d9a198fa3f060f3eae28f13ac248b0b1186ce
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 67e4b73b154a8ae116473b27f8c6b5f4650dc509
<!-- Please describe your changes on the following line: -->
Support screen.width/height/availWidth/availHeight using information from glutin. r?@paulrouget
Since glutin don't have `availWidth` and `availHeight` information, I let them fallback to `width` and `height`. If that's not acceptable in terms of webcompat, I can remove that part.
There are some test failures on wpt css about mutating screen.width/height should throw exception, but I can't reproduce that behavior on other major browser, so I keep them disabled. Also there are some media query issues, but I believe that's due to some test harness problem on my test machine.
---
<!-- 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#18062 (github issue number if applicable).
<!-- Either: -->
- [x] There are tests for these changes in wpt cssom-view
- [ ] 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: 504ad4de2a426c2bc70161a9190fddaa8728ead2
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 09bb1362ce078c58576f767ec94cedcf660c7277
This fixes [bug 1374178](https://bugzilla.mozilla.org/show_bug.cgi?id=1374178).
Note that the impl of `-moz-window-transform-origin` doesn't exactly match how it is implemented in Gecko. Specifically, that property doesn't accept depth value in Gecko, but it does in this impl. The depth value is simply dropped during conversion. This is because I don't think it's worth adding code for handling this internal property to make it as restrictive.
This is a modified version of #19106. The only difference since then is how `impl_transform_origin` distinguish between `transform-origin` and `-moz-window-transform-origin`. The previous PR has a bug which checks against `transform` rather than `transform-origin`, while this PR changes it to checking the length of the array. It introduces an unsuppressible warning due to rust-lang/rust#45850. This doesn't cause build failure, so maybe it's fine?
Source-Repo: https://github.com/servo/servo
Source-Revision: bc58e18761ef687bd6c5efcda635cabdb742069a
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 28feb95c087a21b85d88d8c530d4754e45f18425
It's not necessary to pass the new size to the resize event as it can be retrieved via `WindowMethods::framebuffer_size()`.
From the perspective of the embedder, that makes things a bit easier.
Source-Repo: https://github.com/servo/servo
Source-Revision: 9de76632f4e26721fac39d0903d290bb8de9775c
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 6a0e281b0944539fc024b6df6ec93ac4f7570d9e
This fixes [bug 1374178](https://bugzilla.mozilla.org/show_bug.cgi?id=1374178).
Note that the impl of `-moz-window-transform-origin` doesn't exactly match how it is implemented in Gecko. Specifically, that property doesn't accept depth value in Gecko, but it does in this impl. The depth value is simply dropped during conversion. This is because I don't think it's worth adding code for handling this internal property to make it as restrictive.
Source-Repo: https://github.com/servo/servo
Source-Revision: 4decea188feb87b880fd2b0663b86d262a346a18
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5655ab7551b2b151417086b9370df0a55897206f
<!-- Please describe your changes on the following line: -->
`Cargo` will print the path where it runs.
Origin python script `cd` into the crate folder, so the root path is set in the crate.
Now I use `--manifest-path PATH` to `cargo build`, so the root path is at `servo`.
Origin path in error message:
```
error: expected one of `!` or `::`, found `#`
--> lib.rs:24:1
```
Now it would be:
```
error: expected one of `!` or `::`, found `use`
--> ports/geckolib/glue.rs:11:1
```
---
<!-- 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#9895 (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: 4df647ed758730dd82a3eae5e78c296e495239d5
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c56cbdaf45e2d8c9bc4a27d13801cd5011f7be1d
This makes the specified and computed value of transform share a generic
backing enum.
This will eventually be a complete fix for
https://bugzilla.mozilla.org/show_bug.cgi?id=1391145 , and also
incidentally fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1405881
Currently WIP -- the generic transform exists and is used, but this
currently misses some animation and glue cases.
Source-Repo: https://github.com/servo/servo
Source-Revision: c494d25e24d515509a5d8bb86a30669ee01742b9
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 83a87a9b3d9271cfcf20745f66ef43ab4b8d4d12
See #18809
Still haven't had time to test it but it should fix the tests failures that appeared in m-c
Source-Repo: https://github.com/servo/servo
Source-Revision: fe4139b779b3af749ec1426ddf4e1393c7b85442
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9a0549d7dd8a99315ba3f8eec5d0f9fdf9eb4c0f
These are inter-dependent patches for bug 1340005. We add two FFIs to create the
AnimationValues of Opacity and Transform because we support these two properties
on the compositor. Besides, we factor out some common function in glue.rs, so we
can use the same code path for both main-thread and compositor-thread animations.
---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug 1340005](https://bugzilla.mozilla.org/show_bug.cgi?id=1340005).
- [X] These changes do not require tests because we have automatic test coverage on Gecko already, and Servo doesn't support compositor animation for now.
Source-Repo: https://github.com/servo/servo
Source-Revision: 4e2c0e3277dda5d8bf462602268bbc1ec8ea26f7
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 66c1dd18d57495d78729a669ec255c087b42c5e1
The secret plan is introducing a `get_elements_with_id` for use by `querySelector` / `querySelectorAll`.
But this allows also to make some code look a bit nicer.
Source-Repo: https://github.com/servo/servo
Source-Revision: ee4e371c73b265946146947bb16042360cb2fa41
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2e34bb4dd31ca9cdafc0756d5366f4ad196f73bd
This fixes multiple things:
* EffectCompositor was using the light tree instead of the flat tree.
* When we insert an element inside the document, we may not style it right away
(we mark it for lazy frame construction with the NODE_NEEDS_FRAME). Since we
trigger animations and transitions from the traversal, we can't skip flushing
if we call getComputedStyle on any of those.
Bug: 1406750
Reviewed-by: hiro
MozReview-Commit-ID: DpAhmLH3uJ2
Source-Repo: https://github.com/servo/servo
Source-Revision: 6035b75d399fbc9a8037743bb5199f3e1475333a
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 27a734decabf029a00a5e735e477f3e7b9c5e46d
This is the servo side of bug 1403213.
Take 2 of #18941 which got backed out because we botched the landing of the gecko side and I wasn't able to fix it in time.
Source-Repo: https://github.com/servo/servo
Source-Revision: 0e6946fd9c279425e66721e6eb2b1e323e4c640f
--HG--
rename : servo/components/style/gecko_bindings/nsstring_vendor/src/lib.rs => servo/support/gecko/nsstring/src/lib.rs
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 6d2fb196b2ed25c0201097d20e07b2e757096d00
This avoids unnecessary UTF-8 validation on OsStrings that we just pass
back to the OS.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they are code cleanup only
Source-Repo: https://github.com/servo/servo
Source-Revision: 5ab0ac162019aede12a8150118328566467fddf2
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c2249af39376e580dd2df6ed2ef943f16abe9fb6
This is the servo side of bug 1403213.
This cannot merge until https://bugzilla.mozilla.org/show_bug.cgi?id=1377351 merges. It is currently on inbound. This will break autoland when it merges until the gecko-side part has also landed.
Source-Repo: https://github.com/servo/servo
Source-Revision: 7e0f5afa83d9f0eba07988735e56f47a2c18b451
--HG--
rename : servo/components/style/gecko_bindings/nsstring_vendor/src/lib.rs => servo/support/gecko/nsstring/src/lib.rs
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ee57178ea85a844d5fb5c15e9aab3d430c0ac9a1
From https://bugzilla.mozilla.org/show_bug.cgi?id=1408311, reviewed there by Xidorn.
Source-Repo: https://github.com/servo/servo
Source-Revision: 7b61e3b6ee62a96f151483f4fc229fa0c03a54d8
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c5a3d2d9b2c644c71590b08cff540e9c89095204
This is the Servo side change of [bug 1397644](https://bugzilla.mozilla.org/show_bug.cgi?id=1397644).
Source-Repo: https://github.com/servo/servo
Source-Revision: b1e6f05ae455748f6091ddf81c1c0488e09546a1
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : bccb30f361f44fe3da55d5f4fe7c0cde61550524
Servo half of https://bugzilla.mozilla.org/show_bug.cgi?id=1390694, reviewed there by Emilio.
Source-Repo: https://github.com/servo/servo
Source-Revision: 44eeb1999b2bf1729ff8ae41438c687f6380e33d
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : db4c7ed76d438a13517aafdb1a65397a91b1bb4f
It still needs dependencies update to remove all the other bitflags
versions.
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because it's a dependency update
Source-Repo: https://github.com/servo/servo
Source-Revision: fe16c1d5c3c9084da0ccb85af599d6ec0f8ab20b
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : bb9d52a22bee6d1fe773718f649c977b07840719
We’ve been bitten before by symbol names changing: https://github.com/servo/heapsize/pull/46, and upstream is planning to stop using jemalloc by default: https://github.com/rust-lang/rust/issues/33082#issuecomment-309781465
So use the (relatively) new `#[global_allocator]` attribute to explicitly select the system allocator on Windows and jemalloc (now in an external crate) on other platforms. This choice matches current defaults.
Source-Repo: https://github.com/servo/servo
Source-Revision: 07e9794306d597afe5d90d192fd32a99572c3cc3
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c773f809c4f783e63c42218220e7c8c190727e6e
This is an inter-dependent patch of Bug 1303235. We add an FFI
to create a temporary ServoStyleContext with the animation value.
We need this because we calculate the Cumulative change hints to check
if we can ignore this animation segment.
---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug 1303235](https://bugzilla.mozilla.org/show_bug.cgi?id=1303235).
- [X] These changes do not require tests because we have tests on Gecko side.
Source-Repo: https://github.com/servo/servo
Source-Revision: 77a47171563fdb3a38dd75f8c58909c9647cb708
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 765daf105f958e9640aa12548429c2e7d6ea1b72
Servo currently uses `heapsize`, but Stylo/Gecko use `malloc_size_of`.
`malloc_size_of` is better -- it handles various cases that `heapsize` does not
-- so this patch changes Servo to use `malloc_size_of`.
This patch makes the following changes to the `malloc_size_of` crate.
- Adds `MallocSizeOf` trait implementations for numerous types, some built-in
(e.g. `VecDeque`), some external and Servo-only (e.g. `string_cache`).
- Makes `enclosing_size_of_op` optional, because vanilla jemalloc doesn't
support that operation.
- For `HashSet`/`HashMap`, falls back to a computed estimate when
`enclosing_size_of_op` isn't available.
- Adds an extern "C" `malloc_size_of` function that does the actual heap
measurement; this is based on the same functions from the `heapsize` crate.
This patch makes the following changes elsewhere.
- Converts all the uses of `heapsize` to instead use `malloc_size_of`.
- Disables the "heapsize"/"heap_size" feature for the external crates that
provide it.
- Removes the `HeapSizeOf` implementation from `hashglobe`.
- Adds `ignore` annotations to a few `Rc`/`Arc`, because `malloc_size_of`
doesn't derive those types, unlike `heapsize`.
<!-- 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
- [ ] These changes fix https://bugzilla.mozilla.org/show_bug.cgi?id=1409255
<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because testing is on the Gecko side.
<!-- 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: 4c538b642e4bdfbf42c522c5a59c258a6d14546e
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f9a6feed1088d0b0be2b55d7f0c2ec9c594ac33b
style: Stop threading the ElementData around the invalidator.
Source-Repo: https://github.com/servo/servo
Source-Revision: c1e0889971582488ed7a4d3a3af21a49bf497abc
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e7648a93a0b2ee03a02355cff9d6a4d7af9169b8
Servo-side part of https://bugzilla.mozilla.org/show_bug.cgi?id=1408305, reviewed there by Xidorn.
Source-Repo: https://github.com/servo/servo
Source-Revision: ac74cd57a257fc95e0513524e196c91807c18bba
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : de3b5a683ea395a1a9be625c1c68b2de9b7b5497
The latter is an unstable feature that might be changed or removed.
Source-Repo: https://github.com/servo/servo
Source-Revision: a5100e3c783f140c368da89e25e50581dce91bfd
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 1f54e2e26a5886ae1b029a72ee98f9e0a1f81d9e