Replace character indices with UTF-8 byte offsets throughout all code dealing with text runs. This eliminates a lot of complexity when converting from one to the other, and interoperates better with the rest of the Rust ecosystem.
For most code this is just a simple replacement of char indices with byte indices. In a few places like glyph storage and text fragment scanning, it also lets us get rid of code that existed only to map between bytes and chars.
Also includes some related fixes to text shaping, discovered while working on this conversion. See the commit messages for details.
r? @pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: cf121ad8dff90b8fa55558ca9bdcbfe29512a617
Since WebRender uses the pipeline ID stored in the iframe element to
determine which pipeline to display, it had better be kept up to date!
Closes#9919.
r? @jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 3836c2c4cba1f49ea5ce3ce802b0bd604213c2a2
new_uninitialized function on ErrorEvent has already been in components/script/dom/errorevent.rs
close#10738
Source-Repo: https://github.com/servo/servo
Source-Revision: 311dd0f930b9e8e90d08151f1956e2da25737d8a
This is a work in progress PR for #10581. I just want to make sure I am headed in the right direction.
cc @jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: daa1a2a0a82d336205dae340d705ea6c0bed4ed2
PR1 for https://github.com/servo/servo/issues/10311
This puts the code and data structures in place to set the Referer header based on the Referrer Policy for a given document. Note that document:: get_referrer_policy() always returns the 'No Referrer' option, so for now, this should have no impact on production code, and that policy requires that the Referer header is not added.
Later PRs will determine the policy and edit that get_referrer_policy() accordingly.
Source-Repo: https://github.com/servo/servo
Source-Revision: 34900814fca3b21fbb27bed58d4f4af8a8e307e9
This fixes#10577.
I'm not sure if the `worker.js` file needed by this test is in the right location. I placed it within `tests/wpt/web-platform-tests/workers/constructors/Worker/sample_worker/` but thought it could also be placed in `tests/wpt/web-platform-tests/resources/`. Let me know if I should change its location. Thanks! :)
Source-Repo: https://github.com/servo/servo
Source-Revision: ec9e1fe7e6a98b52fc0a8706160ad7f9201440fe
Fixes#10746
I adapted the tests from dom/nodes/Node-isEqualNode.html
should I also add ones for xhtml too like here : dom/nodes/Node-isEqualNode-xhtml.xhtml ?
Source-Repo: https://github.com/servo/servo
Source-Revision: 4f05ea73fed3625238b9e662b8b296fe58be44a0
Fixes#10748 .
Implement Element::hasAttributes. I'm not sure if tests are enough. I'm open to suggestion :)
Source-Repo: https://github.com/servo/servo
Source-Revision: 8163347e347996f0337086f605d74ce19b4930d0
…oading.
No bug report corresponds to this, but I noticed it while trying to
reduce #10593
Source-Repo: https://github.com/servo/servo
Source-Revision: 47a0f58f98e1a6ddcf5db24347fc6bf890d4a7d6
Fixes#10747.
I don't know whether it's OK to recurse up the tree, though it is a tail call.
Source-Repo: https://github.com/servo/servo
Source-Revision: 82938547ed0fbc2b5fb80f72f229a07524e72d6e
This is a large-ish refactor of the Texture2D code, but it should be
easier to read and of course more correct.
I tried to annotate every error condition with a spec paragraph.
I made just a reftest to ensure this works as intended, since I expect #10373 to land pretty soon.
Source-Repo: https://github.com/servo/servo
Source-Revision: f1defb446e8cd4e36231acae77f11c72c74964b0
Partial implementation of the issue #10692 (the easy part).
Source-Repo: https://github.com/servo/servo
Source-Revision: d926b5d3762a101d5280266f806f2b979f73b695
Fixes#10601
The change seems deceptively easy, I hope I am not missing anything...
Source-Repo: https://github.com/servo/servo
Source-Revision: 4da6855e2332ce433fd6d6ea9d84cbb940df2b41
This might be a bad idea, especially on the webidl side. However, we started talking about the idea that modelines are a lint error (https://github.com/servo/servo/issues/10719), and these changes would be required before enabling a modeline lint.
If it bitrots, it's easy to recreate with
```
find * -type f -exec sed '/- Mode:/d' -i {} +
find * -type f -exec sed '/ vim:/d' -i {} +
git checkout -- python/tidy/servo_tidy/tidy.py
git checkout -- python/tidy/servo_tidy_tests/spec.webidl
git commit -a
```
Source-Repo: https://github.com/servo/servo
Source-Revision: dff217c2e3ff0b77eeebf62d36c2bf57c044cf14
This is a work in progress to solve https://github.com/servo/servo/issues/9650. Thanks a lot for helping the review.
- [x] scroll
- [x] scrollTo
- [x] scrollBy
- [x] scrollTop (setter and getter)
- [x] scrollLeft (setter and getter)
The setters will be implemented in another PR after this is merged.
Source-Repo: https://github.com/servo/servo
Source-Revision: 8d988f20c12e0a5267e79650a90310951c66ca77
issue: #10709
found another ``` const WHITESPACE: &'static [char] = &['\t', '\n', '\r', ' ']; ``` in ```components/style/viewports.rs ``` maybe this could be replaced too with the ```util::str::HTML_SPACE_CHARACTERS```
Source-Repo: https://github.com/servo/servo
Source-Revision: ae63688db8cb7de8643845bdd5880cc50bf927f7
Reduces the amount of spew when running with settings like `RUST_LOG=script=debug`.
Source-Repo: https://github.com/servo/servo
Source-Revision: 82873d688e9260b5fc755ec16eec959d94a5cb14
add a test with base path set to the resources path and an img with a cat and the reference directly to the image
Source-Repo: https://github.com/servo/servo
Source-Revision: 3d4416e1b0ae758e68900f725979238cc0128f8b
Use the document base url when resolving stylesheets. Fixes#10575 .
Source-Repo: https://github.com/servo/servo
Source-Revision: a7c885706ec4bd526b00ecad5d870415ae6cc1e1
Tests on `tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html` all pass and the other tests don't panic due to double borrows anymore.
cc: @KiChjang
Fixes#9994.
Source-Repo: https://github.com/servo/servo
Source-Revision: b00c2740e300fd7b8c18276d8d416a9f78c42674
Fixes#10596. I have split up this commit from #10618 as it seem the easiest to review.
Source-Repo: https://github.com/servo/servo
Source-Revision: bae2ab0771972874e9039754e11a2f54c1aae29c