Commit graph

25052 commits

Author SHA1 Message Date
Víctor Manuel Jáquez Leal
6e2ee394c9 Handle WR's lock/unlock logic under FrameRenderer 2019-07-04 10:25:48 +02:00
Víctor Manuel Jáquez Leal
95c3d52e7b Add a task source for messages from GLPlayer thread 2019-07-04 10:25:48 +02:00
Víctor Manuel Jáquez Leal
a9ad088e70 Instanciate and use the implemented webrender::ExternalImageHandler 2019-07-04 10:25:48 +02:00
Víctor Manuel Jáquez Leal
e000c14eb2 Implement webrender::ExternalImageHandler for player
Added trait GLPlayerExternalImageApi and its implementation
Implemented webrender::ExternalImageHandler using
GLPlayerExternalImageApi
2019-07-04 10:25:48 +02:00
Víctor Manuel Jáquez Leal
65f9e2161c Add texture image in MediaFrameRenderer 2019-07-04 10:25:48 +02:00
Víctor Manuel Jáquez Leal
586d3f8da5 Register and unregister a player in GLPlayer thread 2019-07-04 10:25:48 +02:00
Víctor Manuel Jáquez Leal
38eb48441c GLPlayer thread API implementation 2019-07-04 10:25:48 +02:00
Víctor Manuel Jáquez Leal
59aacb0076 Add GLPlayerMsgForward enum
These are the messages which are going to be sended/forwarded to
the player.
2019-07-04 10:25:48 +02:00
Víctor Manuel Jáquez Leal
fe860f3aad Define the channel type for player events 2019-07-04 10:25:47 +02:00
Víctor Manuel Jáquez Leal
dd01728d53 Pass GLPlayerThreads to constellation
Create the thread only if the GL context is known.
2019-07-04 10:25:47 +02:00
Víctor Manuel Jáquez Leal
43467b4290 Add GLPlayerThreads in canvas
This factory will launch a GLPlayerThread from the application main
thread.

And add GLPlayerThread, the multiplexor for media players' video
renderers. This thread will receive commands from htmlmedialement
and webrenderer.

This code is also inspired by webgl_threads and WebGLThread.
2019-07-04 10:25:47 +02:00
Víctor Manuel Jáquez Leal
0d52d5d304 Add GLPlayerMsg and glplayer_channel in canvas_traits
GLPlayerMsg enum values are going to be the commands to send to
the glplayer_thread.

glplayer_channel mod is a copy of webgl_channel.
2019-07-04 10:25:47 +02:00
Víctor Manuel Jáquez Leal
e36c0489bf Ignore frame if it is a GL texture
And mock what would be if we handle GL textures.
2019-07-04 10:25:47 +02:00
Víctor Manuel Jáquez Leal
da8eb18763 Add media.glvideo preference 2019-07-04 10:25:47 +02:00
Víctor Manuel Jáquez Leal
9f4f9dc750 Add media (WindowGLContext) module in canvas_trait
This module adds a structure (WindowGLContext) which holds the
OpenGL parameters that are going to be used by servo-media player
to render video frames using OpenGL.

In order to fill this structure, three new methods were added to
WindowMethods trait. In this patch only the Glutin-based
implementation provides a simple boilerplate.

The WindowGLContext is created in the entry point of libservo, when
the application window is created, and later passed to the
constellation, the pipeline and to the window element in dom, thus
htmlmediaelement has a mean to obtain these parameters via its
window.
2019-07-04 10:24:01 +02:00
Víctor Manuel Jáquez Leal
e9f46f9d72 Fix code style 2019-07-04 10:24:00 +02:00
bors-servo
b32bff3b97
Auto merge of #23696 - servo:hl, r=jdm
Add UWP port - bis

This is #23658 with some fixes:
- removed nspr from DLL dependencies (was breaking VS build)
- exclude symbols from header file (was breaking VS build)
- rebased

Before merging:
- please check the rebased commit that introduces the `--uwp` option (things moved around since 7c85dc09b5)
- should we wait until the WR fix lands upstream?

<!-- 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/23696)
<!-- Reviewable:end -->
2019-07-04 01:03:35 -04:00
bors-servo
e2441b27bb
Auto merge of #23694 - saschanaz:rotate-fix, r=Manishearth
Fix DOMMatrix rotate test failure

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

Rotation functions have been working backward because of https://github.com/servo/euclid/issues/354, so this temporarily fixes it.

cc @Manishearth

PS: How can I run bors-servo myself?

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

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

<!-- 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/23694)
<!-- Reviewable:end -->
2019-07-03 22:33:22 -04:00
bors-servo
af295bcefe
Auto merge of #23654 - julientregoat:issue-23645, r=jdm
Fix panic when running test-background-fetch-permission.html

<!-- Please describe your changes on the following line: -->
* Propagate `Error::JSFailed` in `Permissions::create_descriptor`
* In `Error::to_jsval`, only check if a JS exception is not pending if `self` is not `Error::JSFailed`

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because it's a test runner, so by nature if the test runs the test runner is also working as expected.

<!-- 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/23654)
<!-- Reviewable:end -->
2019-07-03 19:56:29 -04:00
Josh Matthews
7a3d346087 Simplify build process for UWP app. 2019-07-03 21:35:44 +02:00
bors-servo
e382266b22
Auto merge of #23564 - mmiecz:clipboard-refactoring, r=jdm
Clipboard refactoring

<!-- Please describe your changes on the following line: -->
This PR removes clipboard handling from the constellation. Instead, now embedder handles it.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because it is enough to test manually in input box, if copying and pasting still works .

<!-- 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/23564)
<!-- Reviewable:end -->
2019-07-03 15:20:15 -04:00
Julien Tregoat
28fcde9e10 Propagate JSFailed error & conditionally execute initial assertion when converting error to JS value. 2019-07-03 13:48:48 -04:00
Alan Jeffrey
9eb75d4ea6 Use webxr IPC to get a WebXR device registry to each script thread 2019-07-03 08:53:40 -05:00
Kagami Sascha Rosylight
168d980f9e Fix DOMMatrix rotate test failure 2019-07-03 20:23:52 +09:00
bors-servo
fee1418b43
Auto merge of #23685 - saschanaz:scalenonuniform, r=paulrouget
Add DOMMatrix.prototype.scaleNonUniform

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

Implements `scaleNonUniform()` [per the spec](https://drafts.fxtf.org/geometry/#dom-dommatrixreadonly-scalenonuniform).

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

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

<!-- 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/23685)
<!-- Reviewable:end -->
2019-07-03 05:20:14 -04:00
bors-servo
50033878a6
Auto merge of #23676 - servo:check, r=Manishearth
Share more `./mach build` logic with mach check, doc, test-unit

Fixes #23659

<!-- 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/23676)
<!-- Reviewable:end -->
2019-07-02 23:55:44 -04:00
Alan Jeffrey
135ad4a2f4 Use webxr git repo for all webxr dependencies in Cargo.tomls 2019-07-02 18:24:29 -05:00
Alan Jeffrey
91d1b52b38 Initialize a wevxr device registry from Servo 2019-07-02 18:23:56 -05:00
bors-servo
b4ed3b6f3c
Auto merge of #23641 - Manishearth:newtest, r=asajeffrey
Update to newest XRTest API

requires https://github.com/servo/rust-webvr/pull/88 and https://github.com/servo/servo/pull/23575

Incorporates changes from https://github.com/immersive-web/webxr-test-api/pull/10 (and various minor improvements on that, like https://github.com/immersive-web/webxr-test-api/pull/20). Test no longer relies on racy state setting functions.

We're nearing consensus on what the test API should look like, thought I'd implement the updated model so I can start poking at the tests.

Fixes https://github.com/servo/servo/issues/23634 by setting everything at initialization.

This is based on https://github.com/servo/servo/pull/23575, so we can't merge it yet.

r? @asajeffrey (only the last commit)

<!-- 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/23641)
<!-- Reviewable:end -->
2019-07-02 15:10:14 -04:00
Manish Goregaokar
480a9988d1 Update requiredness of some fields 2019-07-02 10:10:58 -07:00
Kagami Sascha Rosylight
9218c535d1 add link to the spec 2019-07-02 18:28:17 +09:00
Kagami Sascha Rosylight
ebdb1067ca Add DOMMatrix.prototype.scaleNonUniform 2019-07-02 18:23:39 +09:00
Manish Goregaokar
c19240a454 Update to latest xrtest api 2019-07-01 17:42:46 -07:00
bors-servo
294d701fda
Auto merge of #23665 - saschanaz:parse-transform, r=Manishearth
Support DOMMatrix string constructor

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

Implemented DOMMatrix string constructor per [the spec](https://drafts.fxtf.org/geometry/#dom-dommatrixreadonly-dommatrixreadonly).

---
<!-- 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 #23664, fix #23622

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

<!-- 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/23665)
<!-- Reviewable:end -->
2019-07-01 19:44:33 -04:00
George Roman
b26aa3ec19 Add support for more array-like types in is_array_like 2019-07-02 00:47:41 +03:00
Alan Jeffrey
1e5e3c95c9 Pass events loop to glwindow test webvr implementation 2019-07-01 11:55:43 -05:00
Simon Sapin
acd8454b16 Print an error message if neither Canvas 2D backend is selected 2019-07-01 15:46:36 +02:00
Simon Sapin
1df2605292 Rename {azure,raqote}_backend feature flags to canvas2d-{azure,raqote} 2019-07-01 15:46:33 +02:00
Simon Sapin
bddfe9a468 Remove default-except-unstable
… and use remaining unstable features unconditionally.
This doesn’t actually change the set of crates that can build on the Stable channel.
2019-07-01 15:43:24 +02:00
Simon Sapin
d1efad6763 Turns out that SIMD code was not being compiled at all!? 2019-07-01 15:43:24 +02:00
Simon Sapin
5a31ce52d8 Features used by euclid are stable 2019-07-01 14:55:25 +02:00
Simon Sapin
99669b0831 #[global_allocator] is stable 2019-07-01 14:55:01 +02:00
Simon Sapin
eddfe3af83 impl Trait is stable 2019-07-01 14:54:47 +02:00
Kagami Sascha Rosylight
7a1db0e8ea Support DOMMatrix string constructor 2019-06-30 18:45:56 +09:00
bors-servo
489ff5e932
Auto merge of #23310 - KaczuH:add-domain-lookup-start, r=jdm
Add domain_lookup_start functionality

<!-- Please describe your changes on the following line: -->
Added the domain_lookup_start functionality in http_loader.rs (http_redirect_fetch function)

---
<!-- 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 #21259 (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. -->

<!-- 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/23310)
<!-- Reviewable:end -->
2019-06-29 20:37:54 -04:00
Kamil Niski
d84513cc50 Add PerformanceResourceTiming: domainLookupStart
Remove wpt tests for domainLookupStart

Set ResourceAttribute::DomainLookupTime

Move DomainLookupStart timing before HTTP request initialization

Change label of domainLookupStart TAO zero test to PASS

Adjust the from_resource_timing method to initialize domain_lookup_start value

Restore domainLookupsStart test
2019-06-30 00:20:26 +02:00
Kamil Niski
adb402487e Create a helper API for entering a DOM object's compartment
Revert some unnecessary changes

Fix fmt errors
2019-06-29 19:23:17 +02:00
Manish Goregaokar
3c7ceff46d Improve support for nested dictionaries 2019-06-27 18:13:23 -07:00
oneturkmen
42569280e2 Script: removed a few opts::get() 2019-06-26 22:23:07 -06:00
bors-servo
57205318c5
Auto merge of #23587 - jdm:smup67, r=asajeffrey
Upgrade to SpiderMonkey 67

<!-- 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/23587)
<!-- Reviewable:end -->
2019-06-26 18:51:14 -04:00