Commit graph

40899 commits

Author SHA1 Message Date
Mátyás Mustoha
5eaa9ef8cb Add support for some more WebGL2 renderbuffer functions
Adds support for the following WebGL2 calls:

- `RenderbufferStorageMultisample`
- `GetInternalFormativ`

See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.5
2020-03-13 13:43:30 -04:00
bors-servo
13a349603d
Auto merge of #25959 - jdm:webgl_vertex_array, r=jdm
Add VertexArrayObject support for WebGL2

The implementation was already in place for OpenGL ES.
My approach with this patch is to add support for WebGL2 by
sharing the implementation between the WebGL2 and GLES.

Sadly I couldn't manage to place the WebGL2 and OpenGL ES variant to the same slot in `WebGLRenderingContext`, therefore I had to do same code duplication.

Fixes #25956.

<!-- 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] 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-03-13 11:40:43 -04:00
Istvan Miklos
1b4a3d8987 Add VertexArrayObject support for WebGL2
The implementation was already in place for OpenGL ES.
My approach with this patch is to add support for WebGL2 by
sharing the implementation between the WebGL2 and GLES.
2020-03-13 11:38:28 -04:00
bors-servo
63a5807540
Auto merge of #25958 - servo-wpt-sync:wpt_update_13-03-2020, r=servo-wpt-sync
Sync WPT with upstream (13-03-2020)

Automated downstream sync of changes from upstream as of 13-03-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-03-13 08:41:47 -04:00
WPT Sync Bot
168aa56f18 Update web-platform-tests to revision 72be34c4c6d45039320e271325cad0c99615d0c4 2020-03-13 11:25:45 +00:00
bors-servo
6ab923c8e8
Auto merge of #25948 - NeverHappened:accept-only-connected-attributes-for-checkbox-radio-activation, r=jdm
Accept only connected attributes for checkbox and radio activation behavior

<!-- Please describe your changes on the following line: -->
Accept only connected attributes for checkbox and radio activation behavior

---
<!-- 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 #25906
- [x] WPT tests were already here
2020-03-12 13:38:47 -04:00
bors-servo
38f0c35b74
Auto merge of #25953 - servo-wpt-sync:wpt_update_12-03-2020, r=servo-wpt-sync
Sync WPT with upstream (12-03-2020)

Automated downstream sync of changes from upstream as of 12-03-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-03-12 11:55:47 -04:00
WPT Sync Bot
33357a82e4 Update web-platform-tests to revision f7e2ea2c50c4d23549d07cd24c7a96fc3f203d96 2020-03-12 15:55:33 +00:00
Dmitry Kolupaev
6284795078 Accept only connected attributes for checkbox and radio activation behaviour 2020-03-11 22:55:37 +03:00
bors-servo
4b1bb895a3
Auto merge of #25946 - jdm:macos-fix, r=nox
Update mozjs for macOS 10.15 build fix.
2020-03-11 10:36:10 -04:00
bors-servo
c61988d293
Auto merge of #25947 - servo-wpt-sync:wpt_update_11-03-2020, r=servo-wpt-sync
Sync WPT with upstream (11-03-2020)

Automated downstream sync of changes from upstream as of 11-03-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-03-11 09:28:31 -04:00
WPT Sync Bot
57fbf23022 Update web-platform-tests to revision 4cec5596c806088cd8f1781bdaab1d10abb72394 2020-03-11 13:28:16 +00:00
Josh Matthews
ce1b65f1b5 Update mozjs for macOS 10.15 build fix. 2020-03-11 09:07:49 -04:00
Martin Robinson
c3b1c92ac1 layout_2020: Paint hoisted positioned fragments in tree order
Instead of painting hoisted position fragments in the order to which
they are hoisted, paint them in tree order and properly incorporate them
into the stacking context.

We do this by creating a placeholder fragment in the original tree position
of hoisted fragments. The ghost fragment contains an atomic id which
links back to the hoisted fragment in the containing block.

While building the stacking context, we keep track of containing blocks
and their children. When encountering a placeholder fragment we look at
the containing block's hoisted children in order to properly paint the
hoisted fragment.

One notable design modification in this change is that hoisted fragments
no longer need an AnonymousFragment as their parent. Instead they are
now direct children of the fragment that establishes their containing block.
2020-03-11 12:47:06 +01:00
bors-servo
58f3766c5b
Auto merge of #25939 - jdm:rustup2, r=asajeffrey
Update to 3/4 nightly rustc.

Now that #25918 has merged, this should be safe to use.
2020-03-10 20:04:17 -04:00
bors-servo
dd6699c49c
Auto merge of #25943 - servo:jdm-patch-40, r=Manishearth
Add cert scope to UWP nightly build task.
2020-03-10 19:52:21 -04:00
bors-servo
ec5315d76f
Auto merge of #25942 - asajeffrey:surfman-chains-multiup, r=jdm
Update surfman-chains multi branch

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

Updates the mutli branch of surfman-chains, which we get from git, so is broken when I rebase.

---
<!-- 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 do not require tests because it fixes CI bustage

<!-- 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-03-10 17:25:02 -04:00
Alan Jeffrey
9c2163cf89 Updated gst plugin for new surfman-chains API 2020-03-10 15:12:33 -05:00
Josh Matthews
3dacd6906f
Add cert scope to UWP nightly build task. 2020-03-10 15:48:19 -04:00
Alan Jeffrey
6e09fa092f Update surfman-chains multi branch 2020-03-10 14:43:41 -05:00
bors-servo
e3c91f7c49
Auto merge of #25938 - servo-wpt-sync:wpt_update_10-03-2020, r=jdm
Sync WPT with upstream (10-03-2020)

Automated downstream sync of changes from upstream as of 10-03-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-03-10 12:32:28 -04:00
Josh Matthews
6f72329513
Add layout-2020 failure. 2020-03-10 10:41:12 -04:00
bors-servo
30fafdca19
Auto merge of #25930 - mmatyas:webgl_fns_indexed_unibuf, r=jdm
Add support for WebGL2 GetIndexedParameter

Adds support for the `GetIndexedParameter` WebGL2 call.

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

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

Depends on #25915.

cc @jdm @zakorgy

---
<!-- 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-03-10 10:37:53 -04:00
Josh Matthews
51145cfd83 Update to 3/4 nightly rustc. 2020-03-10 10:09:07 -04:00
WPT Sync Bot
5b46b73c1b Update web-platform-tests to revision 5d33b4da92080b7658168bdb0fbdc3531bda1ddf 2020-03-10 13:32:16 +00:00
Mátyás Mustoha
215dd0a1d8 Add support for WebGL2 GetIndexedParameter
Adds support for the `GetIndexedParameter` WebGL2 call.

See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.2
2020-03-10 11:02:41 +01:00
bors-servo
7010178691
Auto merge of #25837 - servo:jdm-patch-40, r=Manishearth
Remove XR canvas dirtying step.

Alan tells me that this is no longer necessary, and it causes layout operations to appear in immersive mode profiles when there should not be any.
2020-03-09 22:36:33 -04:00
Josh Matthews
aa060dfd59 Remove unused imports. 2020-03-09 21:11:27 -04:00
Josh Matthews
085e17b73c Remove XR canvas dirtying step. 2020-03-09 21:11:27 -04:00
bors-servo
b4d7ec1c99
Auto merge of #25855 - jdm:surface-inversion, r=Manishearth,asajeffrey
Remove GL->d3d blit in HoloLens immersive mode

Depends on:
* https://github.com/servo/surfman/pull/151
* https://github.com/asajeffrey/surfman-chains/pull/7
* https://github.com/servo/webxr/pull/133

These changes add two extra APIs for embedders to use when registering a WebXR device - one to allow running any closure as a task in the webgl thread, and one to register an arbitrary surface provider for a particular webxr session. When an openxr session is started, it can then obtain the webgl thread's d3d device from that thread's surfman device and ensure that openxr uses it.

Surface providers are traits that have their methods invoked by the webgl thread as part of the the normal swapchain operations. This allows the openxr surface provider to return surfaces that wrap the underlying openxr textures, which are valid in the webgl thread and can be used as the target of an opaque framebuffer.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #25735
- [x] These changes do not require tests because there are no windows immersive mode tests
2020-03-09 19:58:21 -04:00
Josh Matthews
fbcf2bbc3e Integrate swapchain surface provider changes into webgl and webxr implementations. 2020-03-09 17:50:54 -04:00
bors-servo
95f3d46644
Auto merge of #25923 - iulianR:issue-22312, r=jdm
Add VTTRegion and part of VTTCue DOM interfaces

<!-- Please describe your changes on the following line: -->
Hello! In this PR I implemented the VTTRegion DOM interface and part of VTTCue (#22312). Before continuing I thought it's maybe a good idea to first request a review or even merge what I did up to this point, as I might get stuck on the next part. I have a slight idea of what needs to be done (I assume it's hooking the GStreamer parser somewhere in `GetCueAsHTML()`), but a short outline or some more instructions would help a lot.

I updated test expectations by first running:
```
./mach test-wpt tests/wpt/web-platform-tests/webvtt/api --log-raw servo.log --pref dom.webvtt.enabled=true
```
then
```
./mach update-wpt servo.log
```
Thanks!
---
<!-- 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: -->
- [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-03-09 17:33:15 -04:00
Iulian Gabriel Radu
7293cf141d Update test results expectations for WebVTT 2020-03-09 23:31:45 +02:00
bors-servo
c43ac3bee5
Auto merge of #25931 - servo-wpt-sync:wpt_update_09-03-2020, r=servo-wpt-sync
Sync WPT with upstream (09-03-2020)

Automated downstream sync of changes from upstream as of 09-03-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-03-09 17:10:48 -04:00
bors-servo
cd171ff28a
Auto merge of #25925 - paulrouget:uwpsign, r=jdm
Properly sign UWP package

Supersede #25661
Fix #25362

---

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #25362 (GitHub issue number if applicable)
2020-03-09 14:48:19 -04:00
bors-servo
ad1a4adac5
Auto merge of #25914 - paulrouget:lessRAF, r=jdm
Stop embedder calls and fake rAF when window not visible

This addresses 2 issues:

- a rAF loop might still be ongoing when the window is invisible if script decided that the rAF were going too fast (spurious rAF)
- a hidden window does not run the rAF loop, but the embedder would still be in animating mode

---
<!-- 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-03-09 11:38:47 -04:00
WPT Sync Bot
5119e2cbbd Update web-platform-tests to revision d4391fedfec67d69f00396873a11f501a97ee3f1 2020-03-09 13:14:30 +00:00
bors-servo
d867994dfb
Auto merge of #25915 - mmatyas:webgl_fns_getfragdataloc, r=jdm
Add support for WebGL2 GetFragDataLocation

Adds support for the `GetFragDataLocation` WebGL2 call.

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

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

Depends on https://github.com/servo/sparkle/pull/25
No test updates yet due to #25908.

cc @jdm @zakorgy

---
<!-- 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-03-09 08:05:59 -04:00
Mátyás Mustoha
ced67af6b2 Add support for WebGL2 GetFragDataLocation
Adds support for the `GetFragDataLocation` WebGL2 call.

See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.7
2020-03-09 12:59:30 +01:00
Paul Rouget
f50f4df496 Properly sign UWP package 2020-03-09 09:35:47 +01:00
bors-servo
e1f6dfd716
Auto merge of #25924 - servo-wpt-sync:wpt_update_08-03-2020, r=servo-wpt-sync
Sync WPT with upstream (08-03-2020)

Automated downstream sync of changes from upstream as of 08-03-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-03-08 09:49:46 -04:00
WPT Sync Bot
b7c425a6c2 Update web-platform-tests to revision 7c966db714c251c2b7bc243b9657e5dff72aa8dc 2020-03-08 11:15:28 +00:00
Iulian Gabriel Radu
911b1306ca Add base of VTTCue DOM interface 2020-03-08 00:15:20 +02:00
bors-servo
18928cd55d
Auto merge of #25922 - servo-wpt-sync:wpt_update_07-03-2020, r=servo-wpt-sync
Sync WPT with upstream (07-03-2020)

Automated downstream sync of changes from upstream as of 07-03-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-03-07 10:23:10 -05:00
WPT Sync Bot
02d2f1860a Update web-platform-tests to revision 53876e32d827db82f4b7af38053529302c243d40 2020-03-07 13:28:59 +00:00
bors-servo
a0f14ceb7b
Auto merge of #25918 - servo:vtable-pointers-are-not-comparable, r=jdm
Don't compare vtable pointers anymore
2020-03-06 15:30:43 -05:00
bors-servo
62afb52f84
Auto merge of #25917 - servo-wpt-sync:wpt_update_06-03-2020, r=servo-wpt-sync
Sync WPT with upstream (06-03-2020)

Automated downstream sync of changes from upstream as of 06-03-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-03-06 15:16:20 -05:00
Anthony Ramine
b5aa83f633 Don't compare the vtable pointers anymore when unrooting stuff 2020-03-06 18:58:57 +01:00
Anthony Ramine
05077d31c8 Change how we reflect DOM objects in codegen
We now go through <Root<MaybeUnreflectedDom<T>>>::reflect_with,
to decrease the amount of bad stuff we can end up doing. This
avoids a source of vtable pointer instability that could cause
issues down the road.
2020-03-06 18:45:29 +01:00
bors-servo
b062f51495
Auto merge of #25911 - jdm:rustup-revert, r=jdm
Revert 3/4 nightly rustc upgrade

Fixes #25908.
2020-03-06 12:06:23 -05:00