Commit graph

40110 commits

Author SHA1 Message Date
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
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
Patrick Shaughnessy
d59aed606d RadioNodeList now reflects changes to the parent, but has room for performance optimization 2020-01-10 19:09:38 -05:00
bors-servo
6b79a8f042
Auto merge of #25413 - pshaughn:optionindex, r=jdm
Implement HTMLOptionElement.index

<!-- Please describe your changes on the following line: -->
Made list_of_options public in HTMLSelectElement so HTMLOptionElement can see it, added index-getting to HTMLOptionElement.

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

<!-- 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 17:14:00 -05:00
bors-servo
fdfc840bac
Auto merge of #25446 - pshaughn:fixme11868, r=jdm
Make getOwnPropertyDescriptor hold the correct value for indexed/named properties

This is towards #25036 and #25415; it could have far-reaching implications so I want to test it in isolation and see the results on the full test suite.

A few lines of code had a FIXME(#11868) despite that issue being closed, and looking for the pattern that was marked that way, I found one other unmarked instance of it. It doesn't immediately crash, and maybe it will pass some tests or fail some tests in informative ways.

EDIT: After adding an overlooked extended attribute to HTMLFormElement, this works very well indeed and seems to be worth merging!

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

<!-- Either: -->
- [X] 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-10 15:18:10 -05:00
Patrick Shaughnessy
111ede9c77 Make property descriptors hold named/indexed property values 2020-01-10 12:32:08 -05:00
bors-servo
2aae85b0a0
Auto merge of #25481 - servo-wpt-sync:wpt_update_10-01-2020, r=jdm
Sync WPT with upstream (10-01-2020)

Automated downstream sync of changes from upstream as of 10-01-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-01-10 12:13:34 -05:00
Josh Matthews
1642347a42
Remove intermittent failure. 2020-01-10 09:42:38 -05:00
WPT Sync Bot
41b281893f Update web-platform-tests to revision 2a73e37c60b18846d9d2798c845242f209d74644 2020-01-10 10:58:32 +00:00
Patrick Shaughnessy
767ccbe568 HTMLOptionElement.index 2020-01-09 15:38:02 -05:00
bors-servo
c6192dc286
Auto merge of #25475 - servo:background-image, r=nox
Refactor display list creation, preparing for background-image

`backgound-image` itself will require more plumbing to get an image cache in `layout_thread_2020`. This can land in the mean time.
2020-01-09 14:57:59 -05:00
Simon Sapin
87b79985fa Simplify CommonItemProperties construction 2020-01-09 17:38:05 +01:00
Simon Sapin
12c18a0e07 Account for border-radius in hit-testing 2020-01-09 17:21:38 +01:00
Simon Sapin
75e1f116e1 Introduce BuilderForBoxFragment 2020-01-09 15:51:41 +01:00
Simon Sapin
c495b5adb2 Move box fragment hit testing to a dedicated display item 2020-01-09 15:49:29 +01:00