Spec: https://w3c.github.io/FileAPI/#BlobURLStore.
I finally decide to put the store under `ScriptThread` and interpret the "global object" as the script thread itself. The new APIs will be used during the page loading (if scheme is `blob`) and `URL.createObjectURL/revokeObjectURL`.
Related to #11131.
<!-- 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 part of #10539
<!-- Either: -->
- [x] These changes do not require tests because it is new stub code which needs further integrating PRs.
<!-- 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: b389ecda67d834de1893c6e7a118c0f0fd713b8c
<!-- Please describe your changes on the following line: -->
Remove `CompositorThread` struct, since it wraps only `IOCompositor`. Use `IOCompositor` directly.
---
<!-- 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#10261 (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because refactoring
<!-- 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: 6c5f5d35f56f75e5a235836c042a55b67da553d6
<!-- Please describe your changes on the following line: -->
This makes `generate_style_structs.py` generate bindings for both `DEBUG` and non-`DEBUG` Gecko configurations. The corresponding generated bindings are used in geckolib based on `cfg(debug-assertions)`.
I regenerated bindings on top of Gecko master plus https://bugzilla.mozilla.org/show_bug.cgi?id=1277154 (landing soon), which tripped up the bindgen due to bitfield layout issues.
r? @emilio
---
<!-- 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
- [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 are geckolib only
<!-- 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: 71db2705edbf2381849af0e2edf7743c286881ec
--HG--
rename : servo/ports/geckolib/gecko_bindings/structs.rs => servo/ports/geckolib/gecko_bindings/structs_debug.rs
rename : servo/ports/geckolib/gecko_bindings/structs.rs => servo/ports/geckolib/gecko_bindings/structs_release.rs
<!-- Please describe your changes on the following line: -->
Add `--all` argument to get `./mach test --all` for running all test suites. Remove broken `faster` argument passed to `test_tidy()` when running `./mach test`.
---
<!-- 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#9544 (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because fixing `mach test`
<!-- 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: fd03e02291623bea34d94fb4f12671d9735ed04e
<!-- 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#10311 (github issue number if applicable).
<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____
<!-- 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: 530b5a649eb7284c0ff4e316b8eabd5cc62c1e80
This makes mouse events take the same code path, regardless of whether
WebRender is in use or not. This approach enables accurate
display-list-based hit testing when WebRender is in use.
Closes#11108.
r? @glennw
Source-Repo: https://github.com/servo/servo
Source-Revision: 77e6ea95873c1fc06ea6e19fa20c727b9ca808a9
<!-- 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 do not require tests because removing unused imports
<!-- 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: 4e277d74e83bf9c3e1d237d1f779753c4c6a3a6e
- [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 refactoring
Source-Repo: https://github.com/servo/servo
Source-Revision: e8cf789fc56dfbc4bfd6145d3bd1a30aa9459c95
<!-- Please describe your changes on the following line: -->
The [spec](https://webbluetoothcg.github.io/web-bluetooth/#add-an-allowed-bluetooth-device) (2. step) defines that the device id can't be the public address, therefore we generate a random id.
---
<!-- 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 there are no webbluetooth test api implementation yet.
<!-- 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: 90c66e0db3dc6501b2e11400bad1eb0dbf54ec49
This PR supports setting the background-image property to a linear-gradient in Geckolib.
---
<!-- 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 do not require tests because these are geckolib-only changes.
r? @mbrubeck
cc @heycam @bholley
Source-Repo: https://github.com/servo/servo
Source-Revision: e23962c4045a6ff20126996fa8fd7aa26c22def8
--HG--
rename : servo/components/script/dom/validation.rs => servo/ports/geckolib/gecko_bindings/sugar/mod.rs
Change the `font-size` property for `input` and `textarea` from 0.7em to 0.8333em.
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix#11529 (github issue number if applicable).
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because the issue has the label `C-has-test` Forgive me if I'm wrong; this is my first time contributing to Servo!
Source-Repo: https://github.com/servo/servo
Source-Revision: 592842ccc3884d72d3a62d02334b2c80746c5722
<!-- Please describe your changes on the following line: -->
When an html anchor has a non-self target, fire a `mozbrowseropenwindow` event.
---
<!-- 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#11539.
- [X] These changes do not require tests because we don't have the infrastructure for mozbrowser testing yet.
<!-- 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: bdecfa13d2114281472d5df4548a8faaf8a5bd87
<!-- 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: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____
<!-- 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: e7241c8215d070860e1830ba4b690f1243725000
<!-- Please describe your changes on the following line: -->
This pull request adds support for "application/xml" and "application/xhtml+xml" to DOMParser::parseFromString.
---
<!-- 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#11505 (github issue number if applicable).
<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____
<!-- 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: 196adaff07201deb273077213fa63c460cc11629
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] We don't run debug-mozjs tests
Runtime::new() will call JS_Init a second time, leading to an assertion.
Source-Repo: https://github.com/servo/servo
Source-Revision: d191a4754727abe470d39710e7ef47907faf9131
Without this change, each text fragment in a block that establishes a
stacking context will establish its own stacking context. This is
unnecessary and increases the amount of work done during display list
construction. This change should not change output, but should improve
performance.
Source-Repo: https://github.com/servo/servo
Source-Revision: cc7953e25eaf6221a0e6e31af43214d0807185eb
- [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 refactoring
Source-Repo: https://github.com/servo/servo
Source-Revision: 0594d58bc8e074facacb26b6d8d3fab2083771d0
<!-- Please describe your changes on the following line: -->
I found these `println!`s cause a significant performance hit while testing stylo.
r? @mbrubeck
---
<!-- 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
- [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 it's just a change to some logging info in geckolib
<!-- 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: 862ebee6e6e1e5f64df00b732b41a8f7f5a5ad6c
<!-- 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#11339 (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because refactoring
<!-- 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: c641ec97f02bf03a97f3562b9d138b14ebe1406c
<!-- 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#11223
<!-- Either: -->
- [ ] There are tests for these changes.
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
This fixes#11223.
Note that this didn't happen in the root pipeline because we explicitly set the
window size in that case.
Source-Repo: https://github.com/servo/servo
Source-Revision: 4c8c57992b9addb8d45a1f1f5593f7490d975734
<!-- 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
<!-- Either: -->
- [x] These changes do not require tests because they're just moving a repo source.
Source-Repo: https://github.com/servo/servo
Source-Revision: bc9c4b1cbaccb0e50216dd5b792e56ff42d2c0c0
<!-- 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#11467
<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because: in this case if code compiles then it's good enough.
<!-- 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: 351b851e21ab34f30280b506e48c2d61aa115f1a
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy --faster` does not report any errors
- [x] These changes fix#10851, related to #11131
- [x] These changes do not require tests because the implementation is partial and can't work alone
1. Add new backend to `Blob` and a `BlobImpl` struct to abstract multiple backends
2. Rewrite most interfaces of `Blob` to accommodate the change
3. Change the `read` behaviour of `FileReader`, considering the case when blob is file-backed and not cached
The design is still immature, welcome comments!
- [x] I used `DOMRefCell` to cache the bytes in `BlobImpl`, is it sound?
- [x] The interfaces (like `BlobImpl::get_bytes`) handle requests in a default-to-empty way when the inner `DataSlice` is not cached. It might be possible to handle this condition better.
Source-Repo: https://github.com/servo/servo
Source-Revision: 3d7b17681dc9c20358fda9efc72575feb968cc81
- [x] These changes fix#4431.
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy --faster` reports one error for the `css_properties_accessors!` macro not having a spec link
```
$ git log -1 --format=oneline
91fb9bf1d388c3ede304a5d649dd21fe975787b0 fixup! implement cssText
$ ./mach build -d
Compiling style v0.0.1 (file:///Users/greg/servo/components/style)
Compiling gfx v0.0.1 (file:///Users/greg/servo/components/gfx)
Compiling script v0.0.1 (file:///Users/greg/servo/components/script)
Compiling layout_traits v0.0.1 (file:///Users/greg/servo/components/layout_traits)
Compiling compositing v0.0.1 (file:///Users/greg/servo/components/compositing)
Compiling glutin_app v0.0.1 (file:///Users/greg/servo/ports/glutin)
Compiling constellation v0.0.1 (file:///Users/greg/servo/components/constellation)
Compiling layout v0.0.1 (file:///Users/greg/servo/components/layout)
Compiling servo v0.0.1 (file:///Users/greg/servo/components/servo)
Build completed in 0:05:11.475584
$ ./mach test-tidy --faster
Checking files for tidiness...
./components/script/dom/cssstyledeclaration.rs:386: method declared in webidl is missing a comment with a specification link
Progress: 100% (12/12)
```
- [x] There are tests for these changes. More CSSOM tests pass, but others fail that probably shouldn't:
* `./mach test-css tests/wpt/css-tests/cssom-1_dev/html/index-002.htm` and a bunch of the other tests in `/css-tests/cssom-1_dev/html/ crash when run individually
* `./mach test-css tests/wpt/css-tests/cssom-1_dev/html/cssom-cssText-serialize.htm` fails to strip a trailing semicolon (`left: 10px` vs `left: 10px;`)
* `./mach test-css tests/wpt/css-tests/cssom-1_dev/html/index-001.htm` shared shorthand values aren't coalesced (`margin: 20px` vs. `margin: 20px 20px 20px 20px`)
* `./mach test-css tests/wpt/css-tests/cssom-1_dev/html/cssstyledeclaration-csstext.htm` also crashes and fails for `color: red;` vs. `color: RED;`, preserving declaration insertion order, whitespace in the value, and setting an unknown style property.
Source-Repo: https://github.com/servo/servo
Source-Revision: 09e6f4ac546a77294d9af7fe0ff0bc344be8de91
rename
<!-- Please describe your changes on the following line: -->
rename of page_fetch_complete and handle_page_fetch_complete for page_headers_available and handle_page_headers_available .
---
<!-- 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#11418 (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____
<!-- 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: 5d86b9b2ae801685cbae7a1d96587a25d993fdf6
- [x] `./mach build -d` does not report any errors
- [X] `./mach test-tidy --faster` does not report any errors
- [X] There are tests for these changes
Add the remaining longhand CSS properties of flexbox for servo,
including `flex-wrap`, `flex-grow`, `flex-shrink`, `justify-content`,
`align-items`, `align-self` and `align-content`.
Tests for the remaining longhand properties are also enabled. Test for
default value of `align-self` is modified because the new default value
for this property is "auto" is current flexbox CR.
Source-Repo: https://github.com/servo/servo
Source-Revision: f0b3d1e77d69533371e2258f63223c37b4cb09ca
This happens asynchronously, just as it does in non-WebRender mode.
This functionality is a prerequisite for doing proper display-list-based
hit testing in WebRender, since it moves the scroll offsets into Servo
(and, specifically, into the script thread, enabling iframe event
forwarding) instead of keeping them private to WebRender.
Requires servo/webrender_traits#55 and servo/webrender#277.
Partially addresses #11108.
r? @glennw
Source-Repo: https://github.com/servo/servo
Source-Revision: 27d1f182713077395426a53a9c91ec35c95887ee
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 --faster` 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 there are no webbluetooth tests yet.
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: 6b1088234bca2643a993dd8b9b809e8a763c03bb
- [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 dead code removal
It is unused.
Source-Repo: https://github.com/servo/servo
Source-Revision: 963e28a4b6cabad39533891508c3fba8a9bb4f09
Fixes#11486
The previous code assumed that the diagonals of the elements were
perpendicular, which only happens with squares.
---
<!-- 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#11486 (github issue number if applicable).
<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____
<!-- 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: 134fd1876718e9e547873c5d1acf140ae5d6aaac
<!-- Please describe your changes on the following line: -->
Refactor WebBluetooth Adapter code.
---
<!-- 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 do not require tests because there are no webbluetooth tests yet.
<!-- 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: 5668a55ef43f7eab701c802736e451d8bdacab83
<!-- Please describe your changes on the following line: -->
Allow either commas or space to separate `rect()` arguments, but not both. Don't allocate unnecessary `Vec`
---
<!-- 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#9283
<!-- Either: -->
- [X] There are tests for these changes OR
<!-- 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: 509c04cab870fa45f8213211f6c3df7f98819367
We can merge it but it doesn't make things work more than before. Mostly filing it for comments, especially the `description` method. If you feel it's too verbose I guess the way to go would be to properly formalise all types involved in the devtools server, but that's going to be a gigantic task.
Source-Repo: https://github.com/servo/servo
Source-Revision: 4a016599835ec22738dec700750a361fdeaf3507
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] There are tests for these changes OR
Source-Repo: https://github.com/servo/servo
Source-Revision: 3eb9403b4d7309ccfa030348fa174b0decc958d7
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy --faster` does not report any errors
- [X] These changes fix#11357
- [X] There are tests for these changes
Source-Repo: https://github.com/servo/servo
Source-Revision: b11648903bb07a31ec93f3030058ed41b3472b17
<!-- 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#11475
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because its just switching types
<!-- 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: e8e7c6545d714a64d7971fad74f2b2c538dbed65