Commit graph

25052 commits

Author SHA1 Message Date
bors-servo
c4ea4b1d77
Auto merge of #26740 - CYBAI:fix-links, r=jdm
Fix rust's remutex source code link

<!-- Please describe your changes on the following line: -->

Should I change it to a permalink instead?

---
- [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 just fix links in comments

<!-- 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. -->
2020-06-02 00:21:23 -04:00
bors-servo
2b24cfed10
Auto merge of #26742 - kunalmohan:gpu-texture, r=kvark
Implement GPUTexture and GPUTextureView

<!-- Please describe your changes on the following line: -->
This also include changes to CodegenRust.py to allow enum values starting with digits.

r?@kvark

---
<!-- 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
- [ ] 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. -->
2020-06-01 20:53:20 -04:00
Kunal Mohan
af95d92231 Implement GPUTexture and GPUTextureView 2020-06-01 23:28:12 +05:30
Kunal Mohan
d9db350df5 Improve webidl precision
Allow enum variants staring with digit
2020-06-01 19:24:34 +05:30
CYBAI
d2a0d383cd Fix rust's remutex source code link 2020-06-01 21:24:05 +09:00
atouchet
ca30ec02fc More Cargo.toml updates 2020-05-31 08:55:28 -07:00
atouchet
77f7fa552d More Cargo.toml updates 2020-05-30 18:18:57 -07:00
bors-servo
e0f3e9b980
Auto merge of #26714 - kunalmohan:gpu-render-pipeline, r=jdm
Implement GPURenderPipeline

<!-- Please describe your changes on the following line: -->
We need to wait for #26699 to merge before this.
A significant amount of validation still needs to be added. I plan on doing that in a follow-up PR.
r?@kvark

---
<!-- 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
- [ ] 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. -->
2020-05-30 14:22:47 -04:00
bors-servo
5dae012db8
Auto merge of #26678 - gterzian:shutdown_net_runtime, r=Manishearth
Net: shutdown async runtime on exit

<!-- Please describe your changes on the following line: -->

Shutting down the async runtime as part of exiting the core resource thread.

---
<!-- 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. -->
2020-05-30 11:59:20 -04:00
Gregory Terzian
fa765168b9 net: shutdown async runtime on exit 2020-05-30 21:04:34 +08:00
Bastien Orivel
c4273d86f2 Fix the webidl for Headers
Make the HeadersInit type match the spec.

Fixes #26441
2020-05-30 12:46:51 +02:00
Kunal Mohan
130de8b8e6 Implement GPURenderPipeline
Add webidl for GPURenderPipeline and implement GPUDevice.createRenderPipeline()
2020-05-30 11:38:32 +05:30
Kunal Mohan
f014f15d4e Allow sequence of nullable dictionary items in webidl
of type "sequence<Dict?> x"
2020-05-30 11:01:13 +05:30
bors-servo
1a61937031
Auto merge of #26718 - jdm:codegen-sequence, r=Manishearth
Improve precision of sequence types for WebIDL codegen.

Unlike #26699, this doesn't attempt to improve any of the resulting types and only maintains the status quo.

---
- [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
2020-05-29 22:10:21 -04:00
Josh Matthews
c4f8167b6f dom: Improve precision of sequence types for WebIDL codegen. 2020-05-29 15:16:55 -04:00
Gregory Terzian
ed688fe2c1 add mechanism to join on service- and dedicated-worker threads 2020-05-29 18:24:47 +08:00
Simon Sapin
d4227b5b0d Remove some unused dependency declarations
This is based on compiling with `RUSTFLAGS="-W unused_crate_dependencies"` (CC https://github.com/rust-lang/rust/pull/72342) in a recent Nightly (more so than used in the tree as of this writing, CC https://github.com/servo/servo/issues/26661 for work-arounds).

Only one crate is actually removed from the dependency graph, others are still dependended from other places.
2020-05-29 00:04:34 +02:00
bors-servo
4094d16323
Auto merge of #26668 - CYBAI:fix-module-current-script, r=jdm
Set `currentScript` to `null` for module scripts

I misunderstood the test case when I worked on #23545. That test case is
actually not related to dynamic import; instead, the reason why it
crashes is, `currentScript` should be updated to `null`.

In spec, the step 6 of [execute-the-script-block](https://html.spec.whatwg.org/multipage/scripting.html#execute-the-script-block) only says `Assert: document's currentScript attribute is null.` but doesn't says it should be set to null. Not sure if it can be improved.

---
- [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)
- [x] There are tests for these changes

<!-- 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. -->
2020-05-27 08:58:36 -04:00
bors-servo
34a41f57c6
Auto merge of #26662 - servo:rustup, r=jdm
Partial preparations for upgrading to Rust nightly-2020-05-26

CC https://github.com/servo/servo/issues/26661
Fixes https://github.com/servo/servo/issues/26645
2020-05-27 02:55:17 -04:00
bors-servo
93a6c37836
Auto merge of #26659 - mrobinson:events, r=jdm
Add support for remaining animation and transition events

This PR adds support for remaining animation and transitions events.
There are two commits here. The first is a bit more complicated: it reworks
how rooting is done for animating nodes. Instead of having the `ScriptThread`
try to track which animations are active via events (which can be inaccurate),
it just maintains roots for nodes that are actually present in the animations-
-related data structures. The second commit adds support for the new events.

Unfortunately, the existing events tests either rely on the Web Animations API
or other behavior (for example, that changing animation delay restarts
an animation). Since those two things are out-of-scope for this change,
I've forked some of the WPT tests, removed the reliance on the Web
Animations API, and added them to Servo's internal tests.

---
<!-- 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 #21564.
- [x] There are tests for these changes OR

<!-- 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. -->
2020-05-27 01:50:39 -04:00
bors-servo
07eb9ab3fe
Auto merge of #26660 - kunalmohan:gpu-async-resource, r=kvark
Make WebGPU resource creation async and prevent panic during shutdown if WebGPU is enabled.

<!-- Please describe your changes on the following line: -->
1. Make WebGPU resource creation async.
2. Remove some unused code in `WebGPURequest::RequestAdapter`.
3. Prevent panic during shutdown. Since WGPU thread is killed before script, sender and receiver in the script panic at either of the two places-
a. If a buffer is still alive, script tries to send `WebGPURequest::DestroyBuffer` to server while dropping the buffer during shutdown.
7170a69695/components/script/dom/gpubuffer.rs (L118-L122) 7170a69695/components/script/dom/gpubuffer.rs (L182-L186)
b. Receiver in script-thread panics with `RecvError` as soon as sender on server side is dropped. 7170a69695/components/script/script_thread.rs (L1456-L1457)

r?@kvark

---
<!-- 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 #25472 (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. -->
2020-05-27 00:54:16 -04:00
CYBAI
a0df94bddc Set currentScript to null for module scripts
I misunderstood the test case when I worked on #23545. That test case is
actually not related to dynamic import; instead, the reason why it
crashes is, `currentScript` should be updated to `null`.
2020-05-27 11:22:04 +09:00
bors-servo
06c4ca14c3
Auto merge of #26642 - servo:dynamic-wrap-panic, r=Manishearth
Use dynamic dispatch in `mozjs::panic::wrap_panic`

Pick up https://github.com/servo/rust-mozjs/pull/512

Fixes https://github.com/servo/servo/issues/26585

This diff is best viewed with "ignore whitespace changes", because of indentation change.
2020-05-26 16:20:10 -04:00
Simon Sapin
cfd62cf8dc Partial preparations for upgrading to Rust nightly-2020-05-26
CC https://github.com/servo/servo/issues/26661
Fixes https://github.com/servo/servo/issues/26645
2020-05-26 21:11:23 +02:00
Martin Robinson
77aa3721c5 Add support for remaining animation and transition events
Fixes #21564.
2020-05-26 20:34:58 +02:00
Martin Robinson
47642e0eee Have Animations struct handle rooting nodes
Instead of having `ScriptThread` handle rooting nodes, do this in
`Animations`. This makes it easier to know when it is appropriate to
root and unroot nodes instead of relying on a certain order of events.
This also allows reducing quite a bit the amount of unsafe code.
2020-05-26 20:24:28 +02:00
bors-servo
f3313739f5
Auto merge of #26646 - jdm:parking_lot, r=asajeffrey
Avoid parking_lot bustage with recent rustc nightlies.

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #26644
- [x] There are tests for these changes
2020-05-26 10:48:10 -04:00
Kunal Mohan
f4d0183568 Make WebGPU resource creation fully async
Remove some garbage code in adapter id checks
Prevent panic during shutdown if using WebGPU
2020-05-26 19:16:46 +05:30
Josh Matthews
1da40b59af Remove use of nightly features in parking_lot. Update many uses from 0.9 to 0.10. 2020-05-26 09:34:50 -04:00
bors-servo
844dd859b3
Auto merge of #26641 - dylni:fix-undefined-behavior, r=SimonSapin
Fix undefined behavior in `energymon::init`

<!-- Please describe your changes on the following line: -->
The layout of [`Box`](https://doc.rust-lang.org/std/boxed/struct.Box.html) is implicitly [`#[repr(Rust)]`](https://doc.rust-lang.org/nomicon/repr-rust.html), so it is undefined behavior to transmute it to another type. [`Box::into_raw`](https://doc.rust-lang.org/std/boxed/struct.Box.html#method.into_raw) can safely convert it to a pointer.

I did not run the test suite locally. I thought it would be better to let CI run than to set up the development environment for such a simple change. I did test that the file works individually with this change.

---
<!-- 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

<!-- Either: -->
- [X] These changes do not require tests because the undefined behavior is not visible

<!-- 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. -->
2020-05-26 07:09:59 -04:00
bors-servo
57846678c2
Auto merge of #26638 - szeged:texi2d_2, r=jdm
Add support for WebGL2 TexImage2D

Adds initial support for one of the WebGL2 `TexImage2D` call.

<!-- Please describe your changes on the following line: -->
I've enabled the `conformance2/textures/image/` tests and updated the test expectations.

---
<!-- 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] There are tests for these changes

<!-- 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.-->
@mmatyas @zakorgy @jdm
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
2020-05-26 06:13:27 -04:00
Istvan Miklos
b298160ff2 Add support for WebGL2 TexImage2D
Adds initial support for one of the WebGL2 `TexImage2D` call.
2020-05-26 11:33:58 +02:00
bors-servo
7170a69695
Auto merge of #26643 - atouchet:comp, r=jdm
More Cargo.toml updates

<!-- 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. -->
2020-05-26 02:29:34 -04:00
bors-servo
a3446579ec
Auto merge of #26421 - Eijebong:remove-influent, r=jdm
Remove influxDB support for profile

It's apparently unused. Influent is unmaintained. Let's remove it
2020-05-25 23:08:32 -04:00
bors-servo
95a818e262
Auto merge of #26630 - kunalmohan:gpu-sampler, r=jdm
Add GPUSampler to WebGPU implementation

Add dom_struct and webidl for GPUSampler, implement GPUDevice.createSampler() method.

<!-- Please describe your changes on the following line: -->
r?@kvark

---
<!-- 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
- [ ] 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. -->
2020-05-25 17:54:25 -04:00
atouchet
5f56093d87 More Cargo.toml updates 2020-05-25 11:34:37 -07:00
Simon Sapin
d103e06ba9 Use dynamic dispatch in mozjs::panic::wrap_panic
Pick up https://github.com/servo/rust-mozjs/pull/512

Fixes https://github.com/servo/servo/issues/26585

This diff is best viewed with "ignore whitespace changes", because of indentation change.
2020-05-25 20:34:05 +02:00
Kunal Mohan
dd04716b85 Add GPUSampler to WebGPU implementation
Add dom_struct and webidl for GPUSampler, implement GPUDevice.createSampler() method.
2020-05-26 00:00:35 +05:30
dylni
3160e62b8a
Fix undefined behavior in energymon::init 2020-05-25 11:34:06 -04:00
bors-servo
2fd427270d
Auto merge of #26609 - mrobinson:improve-transition-finishing, r=jdm
Improve ending of transitions

For legacy reasons, transitions were marked as finished after updating the
style. According to the spec, they should be marked as finished when
animations are updated and before restyle. This change does that as well
as preventing replacement of finished transitions.

Having finished transitions survive a full restyle cycle and allowing
the replacement of finished transition could lead to issues where
animations are removed from the global list of animating transitions
too soon:

 1. A transitions finishes
 2. Restyle
 3. The transition is marked as finished and events are queued
 4. Restyle cancels finished transition and replaces it instead of
    clearing finished transition
 5. Events are sent for the incorrectly canceled transition, removing it
    completely from the list of running transitions due to the extra
    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] There are tests for these changes
2020-05-25 11:07:50 -04:00
bors-servo
ce076a8382
Auto merge of #26623 - jdm:imagebitmap-gate, r=gterzian
Add a preference to control ImageBitmap while it's incomplete.

Hubs tries to make use of incomplete APIs to load textures and this causes errors. It works fine if we hide the interface instead.
2020-05-25 00:08:19 -04:00
bors-servo
fa473ec037
Auto merge of #26622 - jdm:websocket-host, r=gterzian
Remove duplicate Host header from initial websocket request.

ws-rs already [sets its own](a2e05e784b/src/handshake.rs (L356-L366)) Host header, so we end up sending two of them. This can confuse servers like the one that Hubs runs.
2020-05-24 01:52:45 -04:00
Josh Matthews
d3867c32db Add a preference to control ImageBitmap while it's incomplete. 2020-05-23 11:43:15 -04:00
bors-servo
49d0055959
Auto merge of #26606 - AbhishekSharma102:macro_pipeline_namespace, r=gterzian
Added macro to create functions in PipelineNamespace

Changes to constellation_msg.rs to generate namespace id using macros

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #26380
- [X] These changes do not require tests because no functionality is changed.
2020-05-22 23:57:55 -04:00
bors-servo
dde7204756
Auto merge of #26624 - jdm:script-unminify, r=asajeffrey
Use temporary files instead of pipes for JS unminification.

This change allows me to use `--unminify-js` when loading a local Hubs server. Previously there would be multiple hung js-beautifier processes and the page would never make any progress.
2020-05-22 19:20:30 -04:00
Josh Matthews
63cdcb847d Remove duplicate Host header from initial websocket request. 2020-05-22 14:51:43 -04:00
Josh Matthews
8f4cb28a6d Use temporary files instead of pipes for JS unminification. 2020-05-22 14:40:50 -04:00
Ubuntu
16c3b897cd adding macro to create id and indexes. 2020-05-22 16:20:22 +00:00
Kunal Mohan
39f336b527 Implement client-side logic for WebGPU id recycling 2020-05-22 21:22:19 +05:30
Martin Robinson
218beb9218 Improve ending of transitions
For legacy reasons, transitions were marked as finished after updating the
style. According to the spec, they should be marked as finished when
animations are updated and before restyle. This change does that as well
as preventing replacement of finished transitions.

Having finished transitions survive a full restyle cycle and allowing
the replacement of finished transition, could lead to issues were
removed from the global list of animating transitions too soon:

 1. A transitions finishes
 2. Restyle
 3. Transitions is marked as finished and events are queued
 4. Restyle cancels finished transition and replaces it instead of
    clearing finished transition
 5. Events are sent for the incorrectly canceled transition removing it
    completely from the list of running transitions due to the extra
    event.
2020-05-21 19:56:29 +02:00