Commit graph

24567 commits

Author SHA1 Message Date
Josh Matthews
adb75ba114 Revert "Revert "Update harfbuzz, freetype, unicode-script.""
This reverts commit 6b520850f3.
2020-08-10 13:30:12 -04:00
Josh Matthews
64b26a73c5 Revert "Revert "Update raqote, font-kit, fontconfig.""
This reverts commit ecfaba9304.
2020-08-10 13:30:12 -04:00
Josh Matthews
79b3cc2a28 Remove stub debugger server. 2020-08-10 10:37:00 -04:00
Kunal Mohan
8ff00f0e9c Remove entries from error_command_buffers on drop 2020-08-08 20:20:07 +05:30
bors-servo
53467b80b9
Auto merge of #27536 - kunalmohan:update-wgpu, r=kvark
Major fixes in error reporting in GPUCommandEncoder and ErrorScope Model

<!-- Please describe your changes on the following line: -->
1. Update wgpu to use the error model on wgpu-core side. Register error Ids separately.
2. ~~Record errors only in `GPUCommandEncoder.finish()`. Errors are no longer recorded in ErrorScopes in transfer commands or while recording passes. Any errors that occur are stored on the server-side in `error_command_encoders: HashMap<id::CommandEncoderId, String>` and reported on `CommandEncoderFinish`. Note: This should be reverted when the spec gets updated.~~
3. Correct a major flaw in ErrorScope Model. If multiple operations are issued inside scope and an early operation fails, the promise resolves and script execution continues. The scope, however, was not popped until the results of all its operations were received. This meant that if the user issues another operation, it was assumed to be issued in an error scope that has already been popped by the user, which led to the failure of a number of tests. This is solved by storing a `popped` boolean to check whether `popErrorScope()` has been called on a scope or not. Operation is now issued in the lastest scope for which `popped == false`.

One of the tests used to crash, but it no longer does (All subtests under it fail now). That explains the large number of failing test expectations that have been added. Most of them fail due to the tests being outdated. I'll switch to the updated branch in the next PR.

r?@kvark

---
<!-- 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: -->
- [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-08-07 15:38:17 -04:00
Kunal Mohan
1d80f57aab Record errors in GPUCommandEncoder.BeginPass() and EncoderPass.endPass() 2020-08-07 22:36:05 +05:30
bors-servo
8067a2fe94
Auto merge of #27537 - jdm:armmedia, r=Manishearth
Use gstreamer on UWP targets

This fixes a regression that cause our arm64 builds to use the dummy media stack by default. Oops.

Fix #27531. Fix #27532.
2020-08-07 10:29:16 -04:00
Josh Matthews
47e6430d30 Pipe GST_DEBUG output to its own log file on UWP. 2020-08-07 10:28:54 -04:00
Kunal Mohan
78c9466fdb fix ErrorScope model 2020-08-07 11:35:50 +05:30
bors-servo
080e9dc6df
Auto merge of #27538 - asajeffrey:webxr-texture-invalidation, r=Manishearth
Make textures that come from webxr invalid outside an rAF

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

Implements "The colorTexture and depthStencilTexture objects MUST only be used during the XR animation frame of the current session and MUST be made invalid once the XR animation frame completes." from https://immersive-web.github.io/layers/#xrwebglsubimagetype

---
<!-- 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 no tests for these changes because we can't test this until we have projection layers

<!-- 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-08-06 22:57:35 -04:00
Alan Jeffrey
c1d064b626 Make textures that come from webxr invalid outside an rAF 2020-08-06 17:51:58 -05:00
bors-servo
776b564db1
Auto merge of #27530 - jdm:media, r=Manishearth
Fix crashes on video playback in UWP

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #27529 and fix #27526
- [x] These changes do not require tests because there's no way to test UWP right now.
2020-08-06 16:30:04 -04:00
bors-servo
0573e9c60d
Auto merge of #27425 - jdm:preserve-draw-buffer, r=asajeffrey
Support preserveDrawingBuffer

Depends on https://github.com/asajeffrey/surfman-chains/pull/9 and https://github.com/servo/webxr/pull/190.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #24604
- [x] There are tests for these changes
2020-08-06 16:11:26 -04:00
Josh Matthews
a5e488bc2c webgl: Support preserveDrawingBuffer. 2020-08-06 14:25:17 -04:00
Josh Matthews
c6049eda7b Enter a realm when handling mediasession commands. 2020-08-06 14:09:38 -04:00
bors-servo
6a7e9ff438
Auto merge of #27512 - jdm:devtools-panic, r=Manishearth
Handle devtools clients disconnecting better

These changes fix many opportunities for the devtools server to panic if a client disconnects early. Now that it's easy to have multiple clients connected simultaneously, this also makes it easier for server code to distinguish between different clients and ensure that one client disconnecting doesn't affect another client that's still connected.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #27509
- [x] These changes do not require tests because the devtools server is a wild west.

<!-- 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-08-06 14:02:17 -04:00
Josh Matthews
f4915ef6c9 devtools: Track multiple clients better, and cleanup streams when a client isn't reachable. 2020-08-06 09:55:01 -04:00
Kunal Mohan
072770dbc0 Register invalid resources separately 2020-08-06 10:48:17 +05:30
Alan Jeffrey
c4dd171dfb Add XRLayerEvent 2020-08-05 18:07:54 -05:00
Josh Matthews
0b619bf920 devtools: Don't panic when sending to a disconnected client fails. 2020-08-05 14:55:48 -04:00
Kunal Mohan
01c8b24e9f update wgpu 2020-08-06 00:21:45 +05:30
bors-servo
6e28d7b3ec
Auto merge of #27500 - jdm:revert-wrup, r=Manishearth
Revert webrender upgrade

These commits revert the webrender and font-related updates from #27207. This will unbreak our FxR nightly builds while we continue to investigate the underlying crash in ANGLE. Unfortunately it also returns us to the status quo of broken canvas text rendering on UWP, but there's no way to upgrade font-kit without any of the other crates because of the underlying freetype dependency changes that happened.

Fixes #27492.
2020-08-04 22:53:40 -04:00
Josh Matthews
ecfaba9304 Revert "Update raqote, font-kit, fontconfig."
This reverts commit a6ca582a55.
2020-08-04 19:16:19 -04:00
Josh Matthews
6b520850f3 Revert "Update harfbuzz, freetype, unicode-script."
This reverts commit 327fed6084.
2020-08-04 19:16:13 -04:00
Josh Matthews
10ae3bfbbb Revert "Update font-kit and freetype and unicode-script."
This reverts commit 5c0d7998bd.
2020-08-04 19:16:05 -04:00
Josh Matthews
c1920357b0 Revert "Update webrender."
This reverts commit 2ca1b06e77.
2020-08-04 19:15:52 -04:00
bors-servo
f8c8307f94
Auto merge of #27499 - asajeffrey:webxr-xrmedia-dummy, r=Manishearth
Add dummy implementations of missing XR layer types

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

Add dummy implementations of the missing layer types, and the functions that create them.

---
<!-- 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-08-04 19:08:41 -04:00
bors-servo
549179bbd6
Auto merge of #27480 - kunalmohan:gpu-void-error, r=kvark
WebGPU-Report errors in Promise or void returning operations

<!-- Please describe your changes on the following line: -->
This also updates GPUBuffer mapping to match latest spec.

r?@kvark

---
<!-- 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. -->
2020-08-04 16:37:16 -04:00
Alan Jeffrey
d255dc9f7b Add a dummy implementation of all the XR Layer types 2020-08-04 15:10:01 -05:00
Alan Jeffrey
754019f6bc Add test for layers feature (currently always false) 2020-08-04 11:55:06 -05:00
bors-servo
52c90955dc
Auto merge of #27438 - paulrouget:crashReporter, r=jdm
UWP Crash reporter

This is supposed to address #27167 and #26523. Also fix #27435.

These changes are still WIP as I found a few bugs, it needs more testing and the actual code to upload is not implemented yet. But I'd like to get an early feedback.

First, panics are caught via `panic::set_hook` instead of `catch_unwind` allowing us to catch more panics.
We also now report panics reported via the `Embedder:Panic` message.
Once the panic is caught, if possible, we try to recover.
I haven't found a way to recover when the panic is caught is a non-GL thread. We need a generic way to throw from the UWP code, and even trying to add a UnhandledEvent handler doesn't appear to work.

Once a panic is caught (even if we can not recover) a crash-report file is created, including the backtrace, stdout, and the current url.

If the app did not crash at that point, or after a restart if it did, we check if the crash report file is present, and if so, we present a panel to the user to allow them to upload the report. At that point the user can also add details to the report.

<img width="1079" alt="Screen Shot 2020-07-29 at 12 35 44" src="https://user-images.githubusercontent.com/373579/88790406-6d777180-d198-11ea-9237-6f80dc9d0340.png">
2020-08-04 11:30:47 -04:00
bors-servo
286793c2d2
Auto merge of #27487 - asajeffrey:webxr-update-webidl, r=Manishearth,jdm
WebXR Layers update WebIDL

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

Updates the WebXR Layers WebIDL. Implements the "update the pending layers state" algorithm from the layer spec.

---
<!-- 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 updated 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-08-04 09:55:05 -04:00
Alan Jeffrey
31de34704d Implement the changes to updating the render state from the WebXR Layers spec 2020-08-03 13:19:22 -05:00
Alan Jeffrey
bf7f4eae31 Update WebXR Layer IDL, and matching changes to the Rust code. 2020-08-03 12:37:01 -05:00
Paul Rouget
0c00022ae0 Introduce shell.crash_reporter.enabled pref 2020-08-03 17:31:34 +02:00
Kunal Mohan
ce6e09a3aa Change ErrorScopeId type to NonZeroU64
And extract it from WebGPURequest
2020-08-03 01:45:29 +05:30
Kunal Mohan
8eff1d74de Record validation error in mapAsync() 2020-08-02 14:25:18 +05:30
Kunal Mohan
cd8d9162e6 Error handling for promise returning operations 2020-08-02 12:45:22 +05:30
Kunal Mohan
8cb5fad828 Report errors from void returning operations 2020-08-01 16:32:37 +05:30
Josh Matthews
2ca1b06e77 Update webrender. 2020-07-31 10:42:01 -04:00
Josh Matthews
5c0d7998bd Update font-kit and freetype and unicode-script. 2020-07-31 10:41:58 -04:00
Josh Matthews
327fed6084 Update harfbuzz, freetype, unicode-script. 2020-07-31 10:40:27 -04:00
Josh Matthews
a6ca582a55 Update raqote, font-kit, fontconfig. 2020-07-31 10:40:26 -04:00
bors-servo
0021a82cb2
Auto merge of #27413 - utsavoza:ugo/issue-26958/26-07-2020, r=nox
Fire mouseenter and mouseleave events

The PR primarily consists of changes for:
- Fixing the order in which `mousemove` events are fired.
- Firing `mouseenter` and `mouseleave` events.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #26958
- [ ] There are tests for these changes
2020-07-31 06:14:24 -04:00
bors-servo
9b6b7935e6
Auto merge of #26607 - nosark:master, r=gterzian
Use ExtendableMessageEvent for messageerror in service workers #25241

<!-- Please describe your changes on the following line: -->
added function dispatch_error to the ExtendableMessageEvent implmentation and replaced the MessageEvent dispatch error call with the ExtendableMessageEvent dispatch error call in serviceworkerglobalscope.rs

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

<!-- Either: -->
- [x] There are tests for these changes OR
- [x] 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-07-31 00:58:04 -04:00
bors-servo
f0ba895c68
Auto merge of #27447 - kunalmohan:gpu-error, r=kvark
Refactor and improve GPUErrorScopes

- Remove use of equivalent BGLs
- Capture errors from more `Createxxx` operations
- Address crashes on macOS in #27402

Improved ErrorScope model attempts to-

1. Identify and report `OutOfMemoryError` separately.
1. Match `GPUErrorFilter` and pass on uncaptured errors to parent scope.

r?@kvark

<!-- 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
- [ ] 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-07-30 14:26:05 -04:00
Kunal Mohan
4e38633009 Refactor and improve GPUErrorScopes
Remove use of equivalent BGLs
2020-07-30 23:36:58 +05:30
Kyle Nosar
95ddcf5d4d Use ExtendableMessageEvent for messageerror in service workers 2020-07-30 05:56:29 -07:00
Utsav Oza
962e620529 Do not panic on navigating across documents 2020-07-30 16:34:30 +05:30
Utsav Oza
da45522085 Fix comments for handle_mouse_move_event method 2020-07-30 16:34:30 +05:30