servo/components/script
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
..
docs Update doc links and code snippet for trace implementation 2020-05-03 19:03:33 +05:30
dom Auto merge of #27536 - kunalmohan:update-wgpu, r=kvark 2020-08-07 15:38:17 -04:00
task_source
animation_timeline.rs Move most animation processing to script 2020-05-12 10:22:14 +02:00
animations.rs Auto merge of #27032 - mrobinson:fractional-iteration, r=jdm 2020-06-24 15:54:27 -04:00
body.rs fix streaming request bodies, terminate fetch if the body stream errors 2020-06-16 13:14:38 +08:00
build.rs Update error message. 2020-05-04 11:52:49 -04:00
canvas_state.rs Fix ./mach build --release --with-layout-2020 2020-06-10 22:34:24 +05:30
Cargo.toml dom: Add Window.js_backtrace debugging extension method. 2020-07-14 22:39:59 -04:00
clipboard_provider.rs
devtools.rs Added off thread compilation 2020-07-21 16:20:51 -04:00
document_loader.rs
euclidext.rs Update euclid 2020-04-07 08:51:08 -07:00
fetch.rs Make url for "client" referrer mandatory 2020-06-17 19:07:14 +02:00
image_listener.rs Refactor ImageCache::find_image_or_metadata API. 2020-04-17 11:58:18 -04:00
init.rs allow for a service worker manager per origin 2020-04-05 22:43:40 +08:00
layout_image.rs Make url for "client" referrer mandatory 2020-06-17 19:07:14 +02:00
lib.rs serviceworker: make job queue unique per origin 2020-05-21 13:21:21 +08:00
mem.rs
microtask.rs ensure clean shutdown of all threads running JS 2020-06-30 13:22:38 +08:00
network_listener.rs
realms.rs
script_module.rs Removed unnecessary conversion from UTF-8 to UTF-16 2020-07-27 21:45:20 -04:00
script_runtime.rs ensure clean shutdown of all threads running JS 2020-06-30 13:22:38 +08:00
script_thread.rs Implement GPURenderBundleEncoder and GPURenderBundle 2020-07-24 12:45:23 +05:30
serviceworker_manager.rs ensure clean shutdown of all threads running JS 2020-06-30 13:22:38 +08:00
stylesheet_loader.rs Fix invalid use of ReferrerUrl 2020-06-17 19:07:15 +02:00
stylesheet_set.rs
task.rs ensure clean shutdown of all threads running JS 2020-06-30 13:22:38 +08:00
task_manager.rs ensure clean shutdown of all threads running JS 2020-06-30 13:22:38 +08:00
task_queue.rs
test.rs
textinput.rs Form constraints validation 2020-04-02 10:16:46 +02:00
timers.rs Set private reference for classic script 2020-07-18 00:43:34 +09:00
unpremultiplytable.rs
webdriver_handlers.rs Set private reference for classic script 2020-07-18 00:43:34 +09:00