Commit graph

38042 commits

Author SHA1 Message Date
Alan Jeffrey
c757a9c009 Get XR sessions to track the draw texture, so we render the XR framebuffer rather than the default canvas framebuffer 2019-07-28 10:24:38 -04:00
bors-servo
b9b01764fb
Auto merge of #23863 - jdm:gstreamer-uwp, r=ferjm
Various UWP GStreamer improvements

There are a number of positive changes in these commits:
* we successfully load GStreamer plugins in ARM64 UWP builds
* we correctly link the ARM64 ANGLE libraries when appropriate
* it is no longer necessary to manually set the LIB environment variable on Windows
* we automatically download and link against UWP-friendly GStreamer binaries when building with `--uwp`
* the use of vcruntime140.dll, msvcp140.dll and api-ms-win-crt-runtime-l1-1-0.dll in the UWP application has been removed and the build does not repackage them
* the set of base supporting GStreamer DLLs has been expanded to allow the gstlibav plugin to load correctly

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

<!-- 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/23863)
<!-- Reviewable:end -->
2019-07-27 12:03:11 -04:00
Josh Matthews
81914e5f3a Build with UWP configuration on CI. 2019-07-27 09:55:43 -04:00
Josh Matthews
e9a7544e7e Load GStreamer plugins on Windows arm64. 2019-07-27 09:55:43 -04:00
Josh Matthews
9336931377 Fix CI builds. 2019-07-27 09:55:43 -04:00
Josh Matthews
817a7fe2af Add more DLLs to UWP app. 2019-07-27 09:55:42 -04:00
Josh Matthews
bcbd425ef5 Load GStreamer plugins in UWP builds. 2019-07-27 09:55:42 -04:00
Josh Matthews
5d3d766204 Vendor UWP GStreamer binaries. 2019-07-27 09:55:42 -04:00
bors-servo
dcc5ae9fdf
Auto merge of #23848 - asajeffrey:webxr-moar-channels, r=Manishearth
Replace use of callbacks in webxr by channels

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

Use senders rather than callbacks in webxr.

---
<!-- 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's an internal change

<!-- 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/23848)
<!-- Reviewable:end -->
2019-07-27 09:19:31 -04:00
Alan Jeffrey
133a17e15c Replace use of callbacks in webxr by channels 2019-07-26 23:36:13 -05:00
bors-servo
f78dd6142e
Auto merge of #23866 - paulrouget:shutdown, r=jdm
Hololens: Fix shutdown

Fixes #23859

<!-- 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/23866)
<!-- Reviewable:end -->
2019-07-26 22:58:19 -04:00
bors-servo
5c8fee4e0b
Auto merge of #23868 - asajeffrey:webgl-if-used-on-main-thread-use-directly-do-not-pass-go, r=jdm
When using the WebGL external image API, use sync calls if we happen to be on the WebGL thread

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

When using the external image API, use synchronous method calls if we happen to be on the same thread as WebGL.

---
<!-- 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 #23832 hopefully
- [x] These changes do not require tests because it's fixing a deadlock

<!-- 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/23868)
<!-- Reviewable:end -->
2019-07-26 20:56:18 -04:00
bors-servo
eb1f03242a
Auto merge of #23864 - servo-wpt-sync:wpt_update_26-07-2019, r=jdm
Sync WPT with upstream (26-07-2019)

Automated downstream sync of changes from upstream as of 26-07-2019.
[no-wpt-sync]

<!-- 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/23864)
<!-- Reviewable:end -->
2019-07-26 18:48:20 -04:00
Alan Jeffrey
0178fcae4e When using the WebGL external image API, use sync calls if we happen to be on the WebGL thread 2019-07-26 17:39:40 -05:00
Josh Matthews
b6ddc8cdcd
Remove intermittent failure. 2019-07-26 16:41:33 -04:00
Paul Rouget
c6a2f6eb05 Fix shutdown 2019-07-26 18:25:29 +02:00
WPT Sync Bot
29156ca9e2 Update web-platform-tests to revision bc60e6f82132cfc9a5b688c566c7772024b3c15c 2019-07-26 14:33:00 +00:00
bors-servo
8ec28978cd
Auto merge of #23777 - jdm:webgl-main-thread, r=asajeffrey
Support running WebGL in its own thread or on the main thread.

This is the final missing piece to support WebGL in ANGLE on Windows. ANGLE doesn't support multiple GL contexts on separate threads using the same underlying Direct3d device, so we need to process all GL operations for WebGL on the same thread as the compositor. These changes try to retain enough flexibility to support both approaches so we can get WebGL working on Windows ASAP.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #23697
- [x] There are tests for these changes

<!-- 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/23777)
<!-- Reviewable:end -->
2019-07-26 09:16:34 -04:00
bors-servo
2981fe87ce
Auto merge of #23855 - sreeise:media_frag_string, r=ferjm
Changed DOMString usages to string in MediaFragmentParser

<!-- Please describe your changes on the following line: -->
Changed `DOMString` usages to `String`/`&str`.

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

<!-- 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/23855)
<!-- Reviewable:end -->
2019-07-26 08:22:09 -04:00
Josh Matthews
a2ca3ddbd9 Remove extra webgl message pumping thread. 2019-07-25 23:07:23 -04:00
Josh Matthews
d7269ad3c6 Mark a bunch of webgl tests as long-running. 2019-07-25 23:05:47 -04:00
Josh Matthews
6caf407a53 Support waking up headless window event loops while they are sleeping. 2019-07-25 23:05:46 -04:00
Josh Matthews
72413bd371 Make headless window set current GL context before compositing. 2019-07-25 23:05:03 -04:00
Josh Matthews
39d13d1fc8 Support running WebGL in its own thread or on the main thread. 2019-07-25 23:05:03 -04:00
bors-servo
449881f566
Auto merge of #23852 - jdm:arm64-crashfix, r=asajeffrey
Update SpiderMonkey bindings for Windows arm64 crash fix

This allows the Windows ARM64 to load web pages without crashing.

---
- [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 no Windows arm64 CI.

<!-- 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/23852)
<!-- Reviewable:end -->
2019-07-25 22:56:11 -04:00
Josh Matthews
410d5bc772 Update SpiderMonkey bindings for Windows arm64 crash fix. 2019-07-25 20:23:21 -04:00
bors-servo
ad82d67b2e
Auto merge of #23847 - asajeffrey:webxr-main-thread-waker, r=jdm
Pass the event loop waker into WebXR

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

This PR passes the event loop waker into webxr so it can wake the main thread up when needed.

---
<!-- 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 #23796
- [X] These changes do not require tests because existing tests do the job

<!-- 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/23847)
<!-- Reviewable:end -->
2019-07-25 17:10:59 -04:00
Alan Jeffrey
701256d837 Pass the event loop waker into WebXR 2019-07-25 12:55:26 -05:00
sreeise
598d343854 Changed DOMString usages to string in MediaFragmentParser 2019-07-25 13:34:18 -04:00
bors-servo
adefd2cdfc
Auto merge of #23843 - emilio:insta-boom, r=SimonSapin
Don't insta-free in UniqueArc::assume_init.

<!-- 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/23843)
<!-- Reviewable:end -->
2019-07-25 10:37:43 -04:00
bors-servo
c9dde3a4bb
Auto merge of #23846 - servo-wpt-sync:wpt_update_24-07-2019, r=servo-wpt-sync
Sync WPT with upstream (24-07-2019)

Automated downstream sync of changes from upstream as of 24-07-2019.
[no-wpt-sync]

<!-- 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/23846)
<!-- Reviewable:end -->
2019-07-25 07:25:12 -04:00
bors-servo
3e90b93b83
Auto merge of #23845 - paulrouget:cleanup, r=jdm
[hololens] More events, remove most of the statics, better shutdown

Depends on #23831

- Buttons are greyed out when necessary
- Reload, Stop, Back and Fwd are properly bound
- Servo.cpp rewritten in a much cleaner way
- Removed most of the statics
- Improved (but not full) shutdown

<!-- 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/23845)
<!-- Reviewable:end -->
2019-07-25 04:39:50 -04:00
bors-servo
9f6d134957
Auto merge of #23841 - servo:arm64-configuration, r=paulrouget
Make Windows arm64 easy

* Add a ServoApp project configuration
* Add a `--win-arm64` build flag (now `python mach build -r --win-arm64 --uwp`)
* Automatically set up GStreamer LIB environment
* Yell if the cross-compilation environment isn't set up correctly
* Automatically find the Visual C++ installation for DLL packaging, rather than relying on an environment variable

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #23793 and fix #23795
- [x] There are tests for these changes

<!-- 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/23841)
<!-- Reviewable:end -->
2019-07-25 01:25:39 -04:00
Paul Rouget
d0436f16b6 More events, remove most of the statics, better shutdown 2019-07-25 05:47:56 +02:00
bors-servo
d93b652c11
Auto merge of #23828 - angelortiz1007:winrt-servo, r=jdm
Made all "free" extern "C" APIs in simpleservo fallible by returning …

…null pointr or boolean value.  ServoApp will need to be modified to check return values.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because _ServoApp will test/verify.__

<!-- 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/23828)
<!-- Reviewable:end -->
2019-07-24 22:33:55 -04:00
bors-servo
7adf022dfa
Auto merge of #23837 - cburgos:bugfix/link_called-update, r=jdm
update link_called when link function called.

<!-- Please describe your changes on the following line: -->
On call of WebGLProgram::link update link_called to true

---
<!-- 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 #23722  (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/23837)
<!-- Reviewable:end -->
2019-07-24 20:20:14 -04:00
bors-servo
82f649751c
Auto merge of #23835 - jdm:arm64-openssl, r=paulrouget
Use openssl dependency that works on arm64.

This uses binaries that I generated with https://github.com/servo/openssl-src-rs/tree/servo and https://github.com/servo/openssl/tree/servo that don't crash on arm64.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #23811
- [x] These changes do not require tests can't run automated tests for arm64 windows.

<!-- 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/23835)
<!-- Reviewable:end -->
2019-07-24 16:11:14 -04:00
bors-servo
b8af92a3ef
Auto merge of #23831 - paulrouget:hl2.scroll, r=jdm
Support Scroll in HoloLens mode

<!-- 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/23831)
<!-- Reviewable:end -->
2019-07-24 13:52:52 -04:00
bors-servo
9b14bbdc98
Auto merge of #23816 - marmeladema:issue-20377, r=jdm
Wrapping unsafe raw JSContext pointers in a safe struct. Part 1.

Wrapping unsafe raw JSContext pointers in a safe struct. Issue #20377.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] create a struct JSContext(*mut jsapi::JSContext) type
- [x] implement Deref for this new type so it's easy to obtain the inner context pointer
- [x] add an unsafe from_ptr static method that returns a new instance of the type
- [x] start by changing various Argument uses in CodegenRust.py for python classes that inherit from CGAbstractMethod
- [x] convert the python code that interacts with CGClass (CGCallback, CGCallbackFunction, CGCallbackFunctionImpl, CGCallbackInterface) and any rust code that interacts with it
- [x] update CGDictionary and any rust code that interacts with it
- [x] make the code generator declare trait methods that accept the new type instead of *mut JSContext (CGInterfaceTrait)
- [x] modify GlobalScope::get_cx to return a SafeJSContext

<!-- 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/23816)
<!-- Reviewable:end -->
2019-07-24 11:54:47 -04:00
Angel
dde4f71257 Implemented fn catch_any_panic<> to catch any panic from "free" extern "C" functions returning bool. Modified "free" extern "C" functions to now be falliable by returning bool value. 2019-07-24 09:41:07 -05:00
WPT Sync Bot
f767403c00 Update web-platform-tests to revision 3f3849c5d05f9350fad0b06d3bb3ae30d7e18d14 2019-07-24 14:08:20 +00:00
bors-servo
410c8e5085
Auto merge of #23833 - nox:im-bad, r=jdm
Remove forked gst-plugins-bad formula

<!-- 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/23833)
<!-- Reviewable:end -->
2019-07-24 09:43:51 -04:00
Emilio Cobos Álvarez
62907afe1c
style: Properly refcount-log UniqueArcs created with new_uninitialized(). 2019-07-24 14:52:53 +02:00
bors-servo
55cea0dd64
Auto merge of #23830 - servo:jdm-patch-43, r=paulrouget
Generate simpleservo.h in appropriate target directory.

This change makes the C API's build script take the the actual build target into account when generating the C header.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #23794
- [x] These changes do not require tests because no tests for UWP build.

<!-- 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/23830)
<!-- Reviewable:end -->
2019-07-24 08:27:08 -04:00
Emilio Cobos Álvarez
32bf5ca1bb
Don't insta-free in UniqueArc::assume_init. 2019-07-24 12:29:14 +02:00
marmeladema
88cacfb009 Modify *::get_cx methods to return a safe JSContext instead of a raw one 2019-07-24 09:53:10 +01:00
marmeladema
2c5d0a6ebc Convert CGTraitInterface to use safe JSContext instead of raw JSContext 2019-07-24 08:24:50 +01:00
marmeladema
808fa65aef Convert internal methods to handle safe JSContext instead of raw JSContext 2019-07-24 08:18:22 +01:00
marmeladema
2fb3f1f983 Callbacks now uses safe JSContext instead of raw JSContext 2019-07-24 08:18:22 +01:00
marmeladema
6e4caf1153 DefineDOMInterfaceMethod now takes a SafeJSContext instead of a JSContext
as first argument.
2019-07-24 08:18:22 +01:00