Commit graph

40124 commits

Author SHA1 Message Date
bors-servo
90b0a7fcc5
Auto merge of #25526 - szeged:bind_group_wgpu, r=jdm
Initial implementation of GPUBindGroupLayout for WebGPU

Added WebIDL bindings for `GPUBindGroupLayout`, `GPUBindGroupLayoutDescriptor`, `GPUBindingType`, `GPUShaderStage` and `GPUBindGroupLayoutBinding` (Note: The servo's codegen doesn't like the name, because its already occupied).
Implemented the `createBindGroupLayout` function of `GPUDevice`.

<!-- 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 addresses a part of #24706

cc @kvark @jdm @zakorgy
<!-- 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-01-16 13:36:10 -05:00
bors-servo
5c202ed392
Auto merge of #25485 - teapotd:textinput-maxlength-del, r=nox
Allow deletions from overflowed textinput

Allow deletions from textinput when the length is greater than the max length.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #25420
- [X] There are tests for these changes
2020-01-16 10:49:42 -05:00
bors-servo
a23e2dbe48
Auto merge of #25537 - servo-wpt-sync:wpt_update_16-01-2020, r=servo-wpt-sync
Sync WPT with upstream (16-01-2020)

Automated downstream sync of changes from upstream as of 16-01-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-01-16 07:18:08 -05:00
WPT Sync Bot
2ac52623c2 Update web-platform-tests to revision 46aeb6c47e00b0cd3ebcab3735ec1aba7806ca79 2020-01-16 10:26:01 +00:00
Istvan Miklos
9cf007472b Initial implementation of GPUBindGroupLayout for WebGPU
Added WebIDL bindings for `GPUBindGroupLayout`, `GPUBindGroupLayoutDescriptor`, `GPUBindingType`, `GPUShaderStage`
and `GPUBindGroupLayoutBinding` (Note: The servo's codegen doesn't like the name, because its already occupied).
Implemented the `createBindGroupLayout` function of `GPUDevice`.
2020-01-16 10:53:51 +01:00
bors-servo
9f5dd86091
Auto merge of #25518 - pylbrecht:raqote, r=jdm
Fix canvas wpt test "path-objects/2d.path.end.1.html"

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

<!-- Either: -->
- [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-01-16 04:46:32 -05:00
bors-servo
7b6e60883f
Auto merge of #25529 - servo:jdm-patch-31, r=SimonSapin
Slightly increase timeout for linux tidy+unit task.

Fixes #25528.
2020-01-16 01:43:29 -05:00
pylbrecht
08461db4da Update WPT test expectations 2020-01-16 07:04:25 +01:00
bors-servo
91877875b9
Auto merge of #25534 - pshaughn:compiledeventscope, r=jdm
Put target element, form owner, and element document on scope chain of compiled events

Event listeners that are created from a function object just get whatever closure the function object had, but event listeners created from a string need a special closure that acts like they were defined inside a series of `with` statements. This now happens. The existing WPT test for it, html/webappapis/scripting/events/compile-event-handler-lexical-scopes.html, also relies on other behavior we don't have, so I added an easier version of the test that doesn't involve bubbling or capturing and doesn't check any IDL properties we don't have. This new test will eventually be redundant when we have everything else the upstream test expects.

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

<!-- Either: -->
- [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-01-15 23:27:20 -05:00
bors-servo
eb8fbddca9
Auto merge of #25527 - servo-wpt-sync:wpt_update_15-01-2020, r=servo-wpt-sync
Sync WPT with upstream (15-01-2020)

Automated downstream sync of changes from upstream as of 15-01-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-01-15 14:31:19 -05:00
Patrick Shaughnessy
59f66fe09d Scope chain is now constructed 2020-01-15 14:13:18 -05:00
bors-servo
f9174a4717
Auto merge of #25519 - szeged:mmatyas__webgl_fns_uniforms, r=jdm
Add support for WebGL2 unsigned uniform operations

This adds support for the WebGL2 `uniform[1234]ui` and `uniform[1234]uiv` operations.

See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.8

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

cc @jdm @zakorgy @imiklos

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

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
2020-01-15 10:45:07 -05:00
pylbrecht
c25bccf499 Update Cargo.lock 2020-01-15 16:25:42 +01:00
pylbrecht
ba453e71af Add duplicate crates to servo-tidy.toml 2020-01-15 16:23:30 +01:00
pylbrecht
2e5d7ce23d Update test expectations 2020-01-15 16:23:29 +01:00
pylbrecht
5a2f6ea920 Update raqote due to bugfix
Closing a path should set the current point not clear it.
2020-01-15 16:23:29 +01:00
Josh Matthews
1c379c8728
Slightly increase timeout for linux tidy+unit task. 2020-01-15 09:49:47 -05:00
bors-servo
2373769e76
Auto merge of #25525 - pshaughn:mitigatedialog, r=jdm
Mitigation for #25498

This is not a complete solution:
* The alert string can get a bit mangled in some cases, but not to the point of unreadability.
* tinyfiledialogs has many codepaths that can pass strings to various different potentially-dialog-displaying executables; I do not know if some of those executables have their own unique escaping requirements.
* If some form of the same problem exists on OSX or Windows, this does not address them.

While imperfect, this is an improvement over continuing to have a known way for page authors to execute arbitrary shell script.
2020-01-15 09:49:10 -05:00
Mátyás Mustoha
bc914381a8 Add support for WebGL2 unsigned uniform operations
This adds support for the WebGL2 `uniform[1234]ui` and `uniform[1234]uiv`
operations.

See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.8
2020-01-15 13:48:35 +01:00
WPT Sync Bot
8903de3c76 Update web-platform-tests to revision 213a7607e8d6ba44d88f1774319e6c1c82ab1ccb 2020-01-15 11:02:57 +00:00
bors-servo
95614f57f1
Auto merge of #25506 - servo:jdm-patch-31, r=Manishearth
Change code of conduct contact
2020-01-14 23:24:26 -05:00
Patrick Shaughnessy
de76597d33 tinyfiledialogs mitigation 2020-01-14 20:47:09 -05:00
bors-servo
92fe8a66cc
Auto merge of #25520 - servo-wpt-sync:wpt_update_14-01-2020, r=servo-wpt-sync
Sync WPT with upstream (14-01-2020)

Automated downstream sync of changes from upstream as of 14-01-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-01-14 17:17:01 -05:00
bors-servo
f2d2c7d1f9
Auto merge of #25495 - tuncer:ci-media-dummy, r=jdm
CI: build Linux amd64 --media-stack=dummy

<!-- Please describe your changes on the following line: -->
Include `--media-stack=dummy` in CI, as discussed in https://github.com/servo/servo/pull/24829.

---
<!-- 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: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because it's build infra

<!-- 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-01-14 15:44:07 -05:00
bors-servo
85ea8df00c
Auto merge of #25521 - szeged:mmatyas__webgl_fns_rastdisc, r=nox
Add support for WebGL2 `RASTERIZER_DISCARD` enum.

Add support for the `RASTERIZER_DISCARD` enum for the WebGL2 version of the `Enable`, `Disable` and `IsEnabled` functions.

See https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.2

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

cc @jdm @zakorgy @imiklos

Note: The test results may depend on #25519.

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

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
2020-01-14 11:47:07 -05:00
Tuncer Ayaz
f2fedd87fc CI: build Linux amd64 --media-stack=dummy 2020-01-14 16:18:51 +00:00
bors-servo
5688e878ec
Auto merge of #25507 - szeged:update-wgpu-core, r=jdm
Update wgpu-core

<!-- Please describe your changes on the following line: -->
Update `wgpu-core` to the latest master. This version contains a fix for an issue which occurred when we exited from a WebGPU thread.

cc @kvark @jdm

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

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/25507)
<!-- Reviewable:end -->
2020-01-14 10:44:48 -05:00
Mátyás Mustoha
500b36b669 Add support for WebGL2 RASTERIZER_DISCARD enum.
Add support for the `RASTERIZER_DISCARD` enum for the WebGL2 version
of the `Enable`, `Disable` and `IsEnabled` functions.

See https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.2
2020-01-14 12:30:59 +01:00
WPT Sync Bot
c0949024fc Update web-platform-tests to revision 3c2377fc1d3a0fc5da425dc5e63bbedab8cd3d9e 2020-01-14 11:04:22 +00:00
Zakor Gyula
b16509ad7f Update wgpu-core 2020-01-14 09:13:31 +01:00
bors-servo
b52ddc5290
Auto merge of #25510 - pshaughn:queuemicrotask, r=jdm
Implement queueMicrotask

<!-- Please describe your changes on the following line: -->
The VoidFunction of a user-queued microtask is identical to a PromiseJobCallback in everything but type name, so implementing this method turned out to be just a matter of attaching a WebIDL frontend to a copy-and-pasted backend. All the remaining queueMicrotask WPT failures are because we don't have shared/service workers.

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

<!-- Either: -->
- [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-01-13 20:17:40 -05:00
bors-servo
ce6204b904
Auto merge of #25509 - jdm:angle-up, r=asajeffrey
Update ANGLE for UWP build.

Update ANGLE to include keyed mutexes configuration. This improves framerates with our surfman configuration on HoloLens 2 devices.
2020-01-13 18:05:05 -05:00
bors-servo
904fcb4317
Auto merge of #25503 - mrobinson:dump-fragment-tree, r=SimonSapin
Allow dumping the fragment tree in layout_2020

This is done when the dump-flow-tree debug option is passed.

---
<!-- 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 this just adds debug output.

<!-- 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-01-13 14:44:33 -05:00
Patrick Shaughnessy
b01b2d3d2e queueMicrotask added 2020-01-13 13:45:43 -05:00
Josh Matthews
fc61190ddc Update ANGLE for UWP build. 2020-01-13 12:54:38 -05:00
bors-servo
0131952d6d
Auto merge of #25030 - szeged:webgpu-constellation, r=gterzian
Only start WebGPU thread if an adapter is requested

<!-- Please describe your changes on the following line: -->
This addresses 1 and 2 from https://github.com/servo/servo/issues/24706#issuecomment-555491438
We send a message to constellation instead of creating the `WebGPU` thread on the start. We send back the result to script and set the `Window`'s `web_gpu` component there.
cc @jdm @imiklos

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

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/25030)
<!-- Reviewable:end -->
2020-01-13 11:46:56 -05:00
Josh Matthews
de610e4d75
Change code of conduct contact 2020-01-13 10:31:11 -05:00
bors-servo
968b45f9dc
Auto merge of #25502 - servo-wpt-sync:wpt_update_13-01-2020, r=servo-wpt-sync
Sync WPT with upstream (13-01-2020)

Automated downstream sync of changes from upstream as of 13-01-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-01-13 08:51:50 -05:00
Martin Robinson
ea8c635344 Allow dumping the fragment tree in layout_2020
This is done when the dump-flow-tree debug option is passed.
2020-01-13 13:12:52 +01:00
WPT Sync Bot
c9d9c9895b Update web-platform-tests to revision 58b5a417f8372321d5d465b8d722d7073cb6e80b 2020-01-13 10:59:51 +00:00
Zakor Gyula
430248e9c8 Fix returned error types in WebGPU 2020-01-13 10:39:23 +01:00
Zakor Gyula
a751b1c3d7 Only start WebGPU thread if an adapter is requested 2020-01-13 10:39:23 +01:00
bors-servo
3eec5f697f
Auto merge of #25497 - servo-wpt-sync:wpt_update_12-01-2020, r=jdm
Sync WPT with upstream (12-01-2020)

Automated downstream sync of changes from upstream as of 12-01-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-01-13 01:23:24 -05:00
WPT Sync Bot
50a6996461 Update web-platform-tests to revision b1d8b4ac4dc04fd1da16cb309ed675fa6a07bfd6 2020-01-12 10:57:15 +00:00
bors-servo
dbba9ea453
Auto merge of #25468 - gterzian:add_generic_to_frozen_array, r=Manishearth
Add generic to frozen array

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

https://github.com/servo/servo/pull/25467#discussion_r364575071

Depends on https://github.com/servo/servo/pull/25467

---
<!-- 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-01-12 02:35:09 -05:00
Gregory Terzian
0339601128 cache frozen array of ports 2020-01-12 13:27:45 +08:00
Gregory Terzian
e768ca1643 add a generic utility to convert a slice into a frozen array 2020-01-11 22:42:23 +08:00
bors-servo
63cb13f5fa
Auto merge of #25405 - pshaughn:minmaxstep, r=jdm
make stepUp, stepDown, valueAsNumber, valueAsDate, and list work in HTMLInputElement

<!-- Please describe your changes on the following line: -->
Steppy operation of input elements now functions. A few related tests still fail because of incorrect test expectations. A couple range reftests fail on what might be correct expectations; solving that involves layout, not DOM.
Main changes here:
- str.rs now has its datetime format parsers public, with some changes to align their output with chrono::NaiveDateTime and fix a bug in milliseconds validation
- HTMLInputElement has new attributes, and code behind them for relevant concepts
- servoparser/mod.rs now has some extra code to ensure that input sanitization happens at the right moment during input element creation; the spec is non-specific about when this happens, but it has to happen somewhere and in #21952 @Eijebong had independently come to the same conclusion as me about the timing.
- Some tests are added where WPT wasn't already testing functionality I was adding; Firefox and Chrome pass them, Safari fails some in a reasonably expected way
- Lots of test metadata changed to passing

One test continues to fail because 0.1 * 6 != 0.6 and the spec is written in abstractions instead of actual floating-point numbers; other test failures are WPT bugs I've reported as such and will write fixes for soon if no one else does.

---
<!-- 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 #25390 and fix #25388 and fix #19773 (except validation doesn't exist) and fix #25386

<!-- Either: -->
- [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-01-10 23:26:06 -05:00
Patrick Shaughnessy
87e86c81b9 stepUp, stepDown, valueAsNumber, valueAsDate, and list work and have tests 2020-01-10 20:09:51 -05:00
bors-servo
c5069835d7
Auto merge of #25435 - pshaughn:radio, r=Manishearth
RadioNodeList liveness

When the named getter of a form's .elements gets a list, that list is now a live view into the form, passing a WPT test that removes a node and then looks at the list again.

---
<!-- 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 #25415 (GitHub issue number if applicable)

<!-- Either: -->
- [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-01-10 19:35:29 -05:00