After this patch somebody just needs to implement the new IndexedGetter (and probably frames/length) on window to fix#4589.
Source-Repo: https://github.com/servo/servo
Source-Revision: a227faa41610cdc826da4ec8d25839c2ec3061db
We do not intend to implement the DOM in JS, so this code isn't necessary.
Source-Repo: https://github.com/servo/servo
Source-Revision: 665f0e9c77292a42aa5a939bd31886e3f371419e
iframes added or loaded via script are not reflected visibly in the content of a page. The next step in making this happen is to have compositor layers accurately reflect newly recreated or loaded iframes. This change allows iframes to appear, but there are still some further changes necessary to make the output correct and reliable.
Source-Repo: https://github.com/servo/servo
Source-Revision: 16c2025a4e30121baebde348e3c3f0e6ed197667
Fixes#3758
Store the sandbox attribute of HTMLIFrameElement as a TokenList
internally. Use .tokens() to iterate over the tokens instead of
splitting on the string value.
The external interface for sandbox remains a DOMString, which will need
to be fixed when DOMSettableTokenList is implemented (#1717).
Source-Repo: https://github.com/servo/servo
Source-Revision: ebb702ab943a6baa971d316bf0e7a773d84b3710
Content of the canvas is drawn, tests/html/test_canvas.html now works.
Source-Repo: https://github.com/servo/servo
Source-Revision: da400a7a453eacf6f3089cc07e5dc61f385a0909
As a first start, this allows them indiscriminately where used.
Source-Repo: https://github.com/servo/servo
Source-Revision: f74d5360ba30ec7aaa12f675eb267fd11053d8a8
Fixes#4573 Replaces the boolean argument of TextInput::adjust[horizontal | vertical] with enum to self document the code
Source-Repo: https://github.com/servo/servo
Source-Revision: 3e8cab758e3154d0df91aa4c4e1f8a22093ddeb2
Notes:
* This adds `#![allow(missing_copy_implementations)]` to components/*/lib.rs. I'm not sure how to approach the missing Copy warnings (are there things for which Copy should NOT be implemented, and how can I tell?) so I stuck this in to make life easier when looking through the warnings. I can easily remove this if necessary.
* This leaves the following type of warnings, which I couldn't figure out how to approach (I'll investigate it later if no one else wants to).
```
css/matching.rs:72:23: 72:35 warning: use of deprecated item: Use overloaded core::cmp::PartialEq, #[warn(deprecated)] on by default
css/matching.rs:72 this_as_query.equiv(other)
^~~~~~~~~~~~
css/matching.rs:95:10: 95:49 warning: use of deprecated item: Use overloaded core::cmp::PartialEq, #[warn(deprecated)] on by default
css/matching.rs:95 impl<'a> Equiv<ApplicableDeclarationsCacheEntry> for ApplicableDeclarationsCacheQuery<'a> {
```
Source-Repo: https://github.com/servo/servo
Source-Revision: 0793137631cbe4ebbff8fb85639206ce8e41bbb7
Didn't do the `Vec<Temporary<T>>` banning since we might want to whitelist something there. I'll work on that next.
Source-Repo: https://github.com/servo/servo
Source-Revision: ec474ae835586c14ec4e1fb72196f2bc211f865f
In particular, this contains changes to qualify enums where rust will require it, and to stop using some features that will be removed.
Source-Repo: https://github.com/servo/servo
Source-Revision: ba8cf6b0e6145265f9472d4855f078d8b5943fe7
A lot of tests were failing when I ran `./mach test tests/wpt/web-platform-tests/workers --processes=4` and
`./mach test tests/wpt/web-platform-tests/XMLHttpRequest --processes=4` on master. So I could not completely test it. I verified that the tests that were failing were the same, before and after the change.
Is there any way to run it here?
Source-Repo: https://github.com/servo/servo
Source-Revision: 076e28795d90a9a8bb523774b993f841602ae9e6
This prepares for the rust upgrade currently being conducted.
Source-Repo: https://github.com/servo/servo
Source-Revision: e8fac3681b690adb0796b2a807ac95bd9c13597a
It is possible for a PaintTask to start exiting soon after sending new
buffers to the compositor. In that case, the compositor should return
the now unnecessary buffers to the PaintTask so that it can properly
free them.
To accomplish this, the compositor now keeps a hash map of paint task
channels per pipeline id. When a PaintTask exists, the constellation
informs the compositor that it can forget about it. Additionally, the
PaintTask should not wait for any buffers when the engine is doing a
complete shutdown. In that case, the compositor is already halted and
has simply let all buffers leak. We pipe through the shutdown type when
destroying the pipeline to make this decision.
Fixes#2641.
Source-Repo: https://github.com/servo/servo
Source-Revision: a31acffb0405b2c38b39c39c6d552f2ba79b6326
This is a start towards fixing #3868. Not all callers have been fixed yet, so the `Deref` implementation remains for now.
Source-Repo: https://github.com/servo/servo
Source-Revision: 141b5d038fad3c0c44a6f1b309b8ca9edea54580
This method is deprecated in rust master; removing its users in advance will
make a future rust upgrade smoother.
Source-Repo: https://github.com/servo/servo
Source-Revision: a61417e2a87004e30e2a02f2e6ae58629062e3d5
A follow-up for issue #1820, adds the optional "type" support.
Source-Repo: https://github.com/servo/servo
Source-Revision: 111a196e9d300164391d12ab292c1d4c0ef2b44a
This replaces the specialized TrustedXHRAddress and TrustedWorkerAddress code that was used for the same purpose. A non-zero refcount pins the given DOM object's reflector and prevents it from being GCed even when there are no other outstanding references visible to SpiderMonkey. This will enable us to implement asynchronous operations that refer to particular DOM objects (such as "queue a task to fire a simple event named load at the iframe element" from the spec) safely and conveniently, and paves the way for things like asynchronous network responses.
Some concerns about the resulting size of XHR progress messages have been expressed, but I believe optimizations to reduce that can be implemented in subsequent PRs.
r? @Ms2ger - note in particular the changes to the worker lifetime code. I couldn't figure out how to achieve an identical lifetime to the previous addref/release pairing, and I also was having trouble figuring out why the existing setup was safe. The new implementation now holds the main script task Worker object alive via the TrustedWorkerAddress field in the dedicated worker global scope, which is a significant difference.
Source-Repo: https://github.com/servo/servo
Source-Revision: 2c259f477c41331e66beab8bda865971982a1ff4
Now `#[dom_struct]` also generates Reflectable impls, and there's another lint to ensure that a DOM struct only contains one bare DOM field (as the first field) or a Reflector.
A lot of this was generated by sed -- each autogenerated change has its own commit for easy review; these will be squashed later.
Source-Repo: https://github.com/servo/servo
Source-Revision: 56d1b16d1b3a18d5ffa1d9c32562d3b209851711
`str::to_string()` goes through a `Formatter`, `str::into_string()` is a direct copy and is apparently 5× faster.
This is a rebase of the boring and bitrot-prone parts of #4366.
Source-Repo: https://github.com/servo/servo
Source-Revision: 9857ea26cb9ee262654bee97322dbbf373486bff
This refs #3735. As discussed in the issue, I did it cloning when I couldn't dereference an attribute. The trait method should be on `&self` for object-safety reasons.
Source-Repo: https://github.com/servo/servo
Source-Revision: 194ce20969f04bf2d077ebed106fc1bfb5eb32ee
Fixes#4411.
I didn't find any tests for the text control functionality so I didn't write any for this, let me know if I should.
Source-Repo: https://github.com/servo/servo
Source-Revision: 71b9f17b6b1695c08036f688249b486fa58c25c9
Implementation of #4432 adding `getPropertyPriority` to CSSStyleDeclaration. This is my first attempt at a Servo PR so I'm sure I've done something wrong. Let me know, and I'll fix it up.
As stated in #4432 tests for this are in #4085. If there are additional tests I can write now I would love to do that, I'm just not sure where or what those would be.
Source-Repo: https://github.com/servo/servo
Source-Revision: 7b7fe964d328362126a8a56ff463d48f3285391f