This code used to insert duplicate entries to avoid expensive shuffling of the LRU cache. With uluru this is no longer necessary, because reordering the cache is cheap.
Now it uses the `LRUCache::find` method from uluru 0.2 to update entries in-place. This should increase cache hits by eliminating unnecessary evictions.
This PR also updates `arrayvec` because `uluru` depends on it, and `immeta` because it depends on `arrayvec`.
---
- [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 don't change behavior
Source-Repo: https://github.com/servo/servo
Source-Revision: 0c13f14aaa151764e1b3dd2d4503cb6fc3c9595b
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b1551f8e564b25ef5a332d0492584e8e179e9325
This makes it a bit easier to compare results with other browsers.
- [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: c4482ebe77fd6ac517dc75b7084d08e3a82a7036
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 8e9d07fa9a2f4ff32e1e9efbe3402c72bb4a4181
… and 'cargo test', etc. Include Servo and its unit tests, but not Stylo because that would try to compile the style crate with incompatible feature flags: https://github.com/rust-lang/cargo/issues/4463
`workspace.default-members` was added in https://github.com/rust-lang/cargo/pull/4743. Older Cargo versions ignore it.
Source-Repo: https://github.com/servo/servo
Source-Revision: df68eea3f21cc3bbf24d5bbb66be42c4e3a9e427
--HG--
rename : servo/tests/unit/stylo/Cargo.toml => servo/ports/geckolib/tests/Cargo.toml
rename : servo/tests/unit/stylo/build.rs => servo/ports/geckolib/tests/build.rs
rename : servo/tests/unit/stylo/lib.rs => servo/ports/geckolib/tests/lib.rs
rename : servo/tests/unit/stylo/servo_function_signatures.rs => servo/ports/geckolib/tests/servo_function_signatures.rs
rename : servo/tests/unit/stylo/size_of.rs => servo/ports/geckolib/tests/size_of.rs
rename : servo/tests/unit/stylo/specified_values.rs => servo/ports/geckolib/tests/specified_values.rs
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 0939a7049dc771e9d1b4f45f6e3ade2866266fa4
style: Make all keywords CamelCase for consistency.
Source-Repo: https://github.com/servo/servo
Source-Revision: b24778202a4d886a990ee493adfb6851ac4be40c
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9d8fcab8dc2664b0282591a370d6f17e93e00a58
This also makes the `border` shorthand not reset them.
Bug: 1417200
Reviewed-by: xidorn
MozReview-Commit-ID: KNais1e5FnE
Source-Repo: https://github.com/servo/servo
Source-Revision: af8d53372f1cb7364b07f48bbd3d9ecd01d9b69a
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 20695ab01754b373d7f8514f5303c768d0edb3b1
Details of why this pause happens in the first place are at https://github.com/servo/servo/issues/19439.
Source-Repo: https://github.com/servo/servo
Source-Revision: ba0240a3887e828a084929ab5c8952800ab01123
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4c0b1e68939a749f50714e8f0f5c7dfdcbddfe15
Except in webdriver, which source is in m-c.
Source-Repo: https://github.com/servo/servo
Source-Revision: 56b5a4d8cb3a6feecf4df45f9b54f87fa0cb48cb
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d2390ee9709c884aee5379d4a055c7d71eaaec6d
Part of #8700.
I modified the algorithm so that it accurately checks for the presence of the `Path` attribute of the cookie, before checking whether it has a value of `/`.
Source-Repo: https://github.com/servo/servo
Source-Revision: 7029e07ab980f7ae16b0e827066529bf145c5ff5
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 204d3ed55802460096d320bd31ac7ecaa39c710a
`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
This PR implements cancellation for fetch, and uses it for XHR. This means that fetch clients can now send a message to the fetch task asking for the network request to be aborted.
Previously, clients like XHR had abort functionality but would implement it by simply ignoring future messages from the network task; and would not actually cancel the network fetch.
Source-Repo: https://github.com/servo/servo
Source-Revision: 00b3612fe9045f1cb6ba6c89ba7801642a6fa2c9
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4ab32f3b8477c9f2157490eeeb76683e5a5d98f7
This fixes [bug 1417548](https://bugzilla.mozilla.org/show_bug.cgi?id=1417548).
Apparently it makes no sense to have different error between top level rules and nested rules.
Source-Repo: https://github.com/servo/servo
Source-Revision: bf29f64bf699154c8cbb22a13495c43a49ed5f96
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4c53e18163852c8eaaa9ad88f21e6d7d46222900
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
<!-- 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] These changes fix#18997 (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: fa319170ebb34afcdfc120b7c3e47fe5b1c21210
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2a5d1cd283156c691e475d88bda21d4fdb6392b2
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
<!-- Please describe your changes on the following line: -->
Added time to interactive metrics and refactored metrics/lib
I need to write tests, but wanted to submit the PR for review
---
<!-- 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: e438b094f675469b8bdbb1ab4ff84c374fc399d4
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : bac1798200377932a85607154d5baa4f451b30e6
That is, in cases where it would fail to link.
This will help make Rust CI be gated on compiling Stylo: https://github.com/rust-lang/rust/pull/44603
Source-Repo: https://github.com/servo/servo
Source-Revision: 38fe9533b93e985657f99a29772bf3d3c8694822
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3a2413e03efb4754cf657f4637a3543fbc13074a
<!-- 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 #__ (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they should not change behavior.
<!-- 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: f26aa3b016beb5717d8a53477c162dd832b24d7e
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : afcd2a0b7b9b5d21776cb7fcc775f9046f8b94e9
<!-- 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: 91077ee4185b4917f5f67bf7ebe7ea03ca3e7241
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 8086d3b411e9c203784fd3f8b210079d3a251a3d
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
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
* Add support for clip masks on text runs.
* Fix atomic ordering of items with multiple shadows.
* Update to bincode + ipc-channel with optimizations.
* Fix some plane splitting precision errors.
* Improve the anti-aliasing quality significantly.
* Add internal ClipChain support.
* Fix diacritic glyphs on Linux.
Source-Repo: https://github.com/servo/servo
Source-Revision: d3d2b0261a8aacd4f74e330f8c007a91f829a96e
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7e4b2cb3c1826baf96fbd87667ed36f872c8e282
This is a compatibility hack that Gecko supports that is apparently important for android.
I want to remove it, but let's see...
See https://bugzilla.mozilla.org/show_bug.cgi?id=1407701 for reference.
Source-Repo: https://github.com/servo/servo
Source-Revision: 2be76c5fd7b74f334f8ce975e2051c77762314c2
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : a9655cb7c02405fe565dc4db79bdefc4697f6bc5
This function disappeared a while ago.
Source-Repo: https://github.com/servo/servo
Source-Revision: 8b366a7441a7a4febcb5e2047807f9ad447c7adb
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3c5cf3bc77c2a247809da5ba0b89c15a485f40a3
Casting `*const T` to `*const U` with `U: Sized` is allowed even if `T: ?Sized`. This safely extracts the data pointer out of a trait object, without relying on the memory representation of trait objects.
Source-Repo: https://github.com/servo/servo
Source-Revision: 86a5135ffaa60d4743b6f6950fc395c2615e85ba
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f9537801cc60eb748264f777462090141fe51307
With `--no-default-features --features default-except-unstable`, more crates can now be compiled on stable Rust. This will help integrate them in rustc’s regression testing and compiler performance benchmarking.
Source-Repo: https://github.com/servo/servo
Source-Revision: 78aaa85aec8184d0a2d70006c45034d7c2ec561a
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3490c14736cf026c4bd910423786ec46bbccfc5f
… rather than the start location of the current construct. This likely places the error just *after* of the unexpected token whereas before would be best, but that’s likely a much bigger change.
See https://bugzilla.mozilla.org/show_bug.cgi?id=1378861
Source-Repo: https://github.com/servo/servo
Source-Revision: c79a54dbd9d3a590f5fd8191b8e57a0b9d1d0fdb
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7a78da26aa9801972da42123730f90bcddc92930
Rebased from #17896.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#14975 (github issue number if applicable).
- [x] There are tests for these changes
Source-Repo: https://github.com/servo/servo
Source-Revision: e3624e62a4b247d7af5e783fcd4205d2914b6aab
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : a9cb84a19be11be5d2a4077d450a4f04deb24b67
I'm about to introduce more state here to implement optimizations for custom
property cascading, so this abstraction is useful to encapsulate that state.
Source-Repo: https://github.com/servo/servo
Source-Revision: 55a37930b218713fff4ba84b4fa1e43a0455e498
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 836b42e1e79da3ddb1f695622c4b23920fd90c22
This is going to help the work in bug 1405411.
Source-Repo: https://github.com/servo/servo
Source-Revision: 47efcd5e52afd62dcd84ba350948039f67613e20
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3194de3a0a9c123f0a507e4d2f6e01abd89b3d69
This PR changes build_gecko.rs to only generate the `structs.rs` for the current build (rather than both), depending on whether `gecko_debug` feature is set.
The in-tree files are switched to use the previous release one, because that's what we currently use for stylo test and it is in general what we really care about. For this change, `gecko_debug` mode is removed from Servo CI (in `build-geckolib`) with the assumption that people general do that build locally for stylo development, so it is less likely to be broken than release.
Source-Repo: https://github.com/servo/servo
Source-Revision: f2879a568d34ecc8d42de55569813d8a851e904f
--HG--
rename : servo/components/style/gecko/generated/structs_release.rs => servo/components/style/gecko/generated/structs.rs
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d06ba7f9e4d7dfc0b4c688531baa9445a6d4e863
Squashed version of #18313.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix (partially) #11416
- [x] There are tests for these changes
Source-Repo: https://github.com/servo/servo
Source-Revision: 1f9182507f1a671dc2f1f9425b19cf1becd88c73
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ecc0df39261a403447a39840e119ba1ffc68f39f
These diagnostics have served their purpose, time to remove them.
https://bugzilla.mozilla.org/show_bug.cgi?id=1403397
Source-Repo: https://github.com/servo/servo
Source-Revision: 0b69887387567d1bbaa93fe874014a925ef9fe05
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 048d7a45ecf6d963209a252d4dbde30a5e890489
Squashed version of #17808.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix (partially) #11416
- [x] There are tests for these changes
Source-Repo: https://github.com/servo/servo
Source-Revision: 77afc3f33a72627fd4d6e83485722f3b38ae8420
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e4c391a022878d9d8032343ca5ffc6d1ea417dd4
We have three different enums to represent slightly different things. Reuse them
properly, and kill some code in the animated_properties module while at it.
Source-Repo: https://github.com/servo/servo
Source-Revision: 9ffd2b8c9e2b897f12daa5eac48a76a0c10c60c9
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : dd97b322e75cdcdf26f991e11da85056aad56cc6
<!-- Please describe your changes on the following line: -->
https://bugzilla.mozilla.org/show_bug.cgi?id=1402219
---
<!-- 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: 92eb88277f23d7358125e6d7462f9039e6242746
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : bb5bd1280858321aaf97d83cd54578feb8238ae9