Commit graph

25052 commits

Author SHA1 Message Date
Sudarsan
c8d911817f preferences actor now returns real values.
The preferences actor was previously returning mock values. This changes
picks up the pref_values from the pref_map which is global preferences
state and returns values from there.
2020-09-12 18:55:11 +08:00
Sudarsan
4afe49d776 ran mach tidy 2020-08-28 21:01:09 +08:00
Sudarsan
f8c9ee4eff Update mozjs to 0.14.1
This update pulls in improvements on mozjs that now removes the need to
pass pointers to CompileOptionsWraper::new(), allows NewProxyObject to
now accept a Singleton bool and JSClass and removes an unsafe
Handle::new usage.
2020-08-28 20:54:18 +08:00
Kunal Mohan
85b6bbb33a prevent unconditional cloning of results 2020-08-27 21:18:25 +05:30
Kunal Mohan
851f83c61f Prevent redundant texture and buffer destroy calls 2020-08-25 11:07:25 +05:30
Kunal Mohan
40288783a1 fix presentation belt 2020-08-23 21:18:55 +05:30
Kunal Mohan
9c3967158a defer encoding errors to finish() 2020-08-22 17:43:10 +05:30
Kunal Mohan
e1bfc7aa0d upgrade wgpu to v0.6 2020-08-22 17:42:40 +05:30
Kunal Mohan
f082a507da Implement GPUPipelineBase for implicit pipeline layouts 2020-08-19 16:44:26 +05:30
Kunal Mohan
8c576bb02b update wgpu and some cleanup 2020-08-17 13:33:54 +05:30
Kunal Mohan
732efdacbd update wgpu 2020-08-16 12:35:38 +05:30
bors-servo
72c9b1c380
Auto merge of #27570 - kunalmohan:gpu-uncaptured-error, r=kvark
Implement GPUUncapturedErrorEvent

<!-- Please describe your changes on the following line: -->
A new `uncapturederror` variant is added to atoms/static-atoms.txt. `GPUUncapturedErrorEvent` is fired when an error is not captured by any `ErrorScope`.
All tests for error scopes `PASS` now.

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
- [ ] These changes fix #___ (GitHub issue number if applicable)

<!-- 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-11 08:49:34 -04:00
bors-servo
4ad78dff98
Auto merge of #27564 - jdm:devtools-reduce, r=paulrouget
Disable as many broken devtools panels as possible.

This hides all panels except the web console and the debugger panel. I have filed https://bugzilla.mozilla.org/show_bug.cgi?id=1658479 about the latter.
2020-08-11 08:37:26 -04:00
Kunal Mohan
7f53339d78 Implement GPUUncapturedErrorEvent 2020-08-11 14:24:58 +05:30
bors-servo
3097eb7de9
Auto merge of #27562 - jdm:devtools-session-history, r=paulrouget
Notify devtools of session history traversals

This makes the remote devtools and devtools panel in FxR clear the console when going backwards and forwards through session history.

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #27525
- [x] These changes do not require tests because no devtools tests.
2020-08-11 01:12:12 -04:00
Josh Matthews
27974457cd Disable as many broken devtools panels as possible. 2020-08-10 23:48:28 -04:00
Josh Matthews
fd9be5097d devtools: Treat session history traversal like a navigation. 2020-08-10 17:52:22 -04:00
bors-servo
ae10552074
Auto merge of #27558 - jdm:revert-revert-wrup, r=Manishearth
Fix missing canvas text on UWP

This addresses the missing fonts under UWP by updating font-kit and assorted dependencies that all depend on older incompatible versions of freetype. This also works around #27492 by using a fork of webrender that cherry-picks required dependency updates without bringing in the commit that exposes an ANGLE crash.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #27515
- [x] These changes do not require tests because no UWP tests.
2020-08-10 17:44:34 -04:00
bors-servo
d028d71fe9
Auto merge of #27505 - utsavoza:ugo/issue-24718/05-08-2020, r=jdm
Do not load srcdoc iframes synchronously

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #24718
- [x] There are tests for these changes
2020-08-10 16:41:59 -04:00
bors-servo
3c426d7078
Auto merge of #27548 - jdm:canvas-text-panic, r=pcwalton
Canvas text and macOS font fixes

These changes work around a source of panics by skipping glyphs that don't exist when drawing text to the canvas. Ideally we would have font fallback and/or tofu characters, but that's a larger project than I wanted to get into right now.

Relatedly, while investigating the non-panic errors observed in #27476, I realized that the underlying source of #24622 could be dealt with because we shouldn't actually need to open the CTFont by a file path to get the bytes, since we already have bytes available that we use to create the CTFont.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #24622 and fix #27476 and fix the panic observed in #20445.
- [x] There are tests for these changes
2020-08-10 15:00:00 -04:00
Josh Matthews
91ca74c9be Update webrender. 2020-08-10 13:30:52 -04:00
Josh Matthews
420e19f172 Revert "Revert "Update font-kit and freetype and unicode-script.""
This reverts commit 10ae3bfbbb.
2020-08-10 13:30:51 -04:00
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
Josh Matthews
1e743a7ed6 When instantiating a CTFont, store the bytes that were used to create it. 2020-08-07 15:30:55 -04:00
Josh Matthews
8ecc1a80a7 Skip missing glyphs when drawing 2d canvas text. 2020-08-07 13:57:57 -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
Utsav Oza
acbfd7b9ab Do not load srcdoc iframes synchronously 2020-08-05 18:44:28 +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