Commit graph

39446 commits

Author SHA1 Message Date
Bastien Orivel
a91176e7fc Trim header values in GetResponseHeader
Fixes #24917
2019-11-30 16:59:10 +01:00
bors-servo
f9c69e84a9
Auto merge of #24887 - servo:serde, r=SimonSapin
Remove stuff depending on syn 0.15

That removes one more syn 0.15 user.
2019-11-29 07:49:59 -05:00
Anthony Ramine
3c4c8dd59c Update glutin
This removes derivative.
2019-11-29 09:33:07 +01:00
Anthony Ramine
0379c9042f Update serde
That removes one more syn 0.15 user.
2019-11-29 09:33:06 +01:00
bors-servo
b0012a62b2
Auto merge of #24883 - szeged:id_management, r=jdm
Add WebGPU identity management

<!-- 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 addresses a part of #24706

<!-- 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.-->
cc @jdm, @kvark, @zakorgy
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
2019-11-28 11:05:19 -05:00
Istvan Miklos
b26598d470 Add WebGPU identity management
Issue: https://github.com/servo/servo/issues/24706#issuecomment-557891841
2019-11-28 10:33:03 +01:00
bors-servo
5f1681ad25
Auto merge of #24875 - jdm:wr-no-ipc, r=asajeffrey
Extract IPC out of webrender

Fixes #20172. Fixes #13480.
2019-11-27 20:48:13 -05:00
Josh Matthews
564c16d754 Use non-IPC webrender API over explicit IPC channels. 2019-11-27 20:47:53 -05:00
bors-servo
fda3d44902
Auto merge of #24890 - servo:signal-deadlock, r=jdm
Avoid allocation in the signal handler to fix a deadlock

Fixes https://github.com/servo/servo/issues/24881
CC https://github.com/rust-lang/backtrace-rs/pull/265
2019-11-27 16:46:44 -05:00
Simon Sapin
5bcd2f5642 Avoid locking in the signal handler 2019-11-27 21:56:39 +01:00
Simon Sapin
99804eb5a6 Only print a backtrace the first time the signal handler is called.
This avoids infinite recursion if the printing causes another signal.
2019-11-27 21:56:36 +01:00
Simon Sapin
413f499da8 Avoid allocation in the signal handler to fix a deadlock
Fixes https://github.com/servo/servo/issues/24881
CC https://github.com/rust-lang/backtrace-rs/pull/265
2019-11-27 20:35:49 +01:00
bors-servo
40c8e42257
Auto merge of #24888 - servo:jdm-patch-31, r=SimonSapin
Update Git for Windows on CI.

There have been cygwin improvements since the version we are currently using, which I'm hoping might address #22212.
2019-11-27 13:03:55 -05:00
Josh Matthews
5ebccf22f5
Force GitForWindows to be closer to the front of PATH on CI than moztools. 2019-11-27 11:59:33 -05:00
Josh Matthews
fcdf347d83
Support overriding the moztools path order. 2019-11-27 11:56:47 -05:00
Josh Matthews
9b5c79fccc
Update Git for Windows on CI. 2019-11-27 11:37:15 -05:00
bors-servo
a020522f37
Auto merge of #24858 - saschanaz:handle-property, r=jdm
Handle u32 property indices

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

Tried porting from Gecko, not sure how to do void JSID check yet.

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

<!-- 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. -->
2019-11-27 09:43:46 -05:00
bors-servo
83bb96740d
Auto merge of #24871 - servo:2020-ci, r=nox,SimonSapin
Run WPT with Layout 2020 on CI

… and gate PRs on the result.
2019-11-27 06:02:23 -05:00
Simon Sapin
9a4bc23ff0 Add decision task support for try=wpt-2020
This also needs support in Homu’s configuration file
2019-11-27 11:25:10 +01:00
Anthony Ramine
9b4baf2efa Use the rayon pool when computing styles in layout 2020 2019-11-27 11:09:35 +01:00
Anthony Ramine
c6f241b0ce Remove some stale servo-2020 gates 2019-11-27 11:09:34 +01:00
Anthony Ramine
20bde0efb3 Dump more stuff in the assertion in set_font_size_dependency 2019-11-27 10:13:24 +01:00
bors-servo
81c59077fd
Auto merge of #24870 - pshaughn:2909, r=jdm
Fix #2909 (squashed version of PR #24865)

<!-- Please describe your changes on the following line: -->
Now using data-url::forgiving_base64 instead of base64, this fixes all the fetch/data-urls/base64.* tests.

---
<!-- 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 quite fix yet #2909

<!-- 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. -->
2019-11-27 03:53:17 -05:00
bors-servo
b0f573b59f
Auto merge of #24877 - atouchet:master, r=jdm
Update some URLs

<!-- 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: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./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. -->
2019-11-27 02:27:19 -05:00
Kagami Sascha Rosylight
e20de3b04a Handle u32 property indices 2019-11-27 15:50:04 +09:00
bors-servo
f166422102
Auto merge of #24862 - jdm:js-init-destroy-fit-the-second, r=asajeffrey
Ensure SpiderMonkey shuts down cleanly

This is the alternate solution that I described in #24845. Given how much simpler the resulting code is, I'm now much more in favour of this design. Depends on https://github.com/servo/rust-mozjs/pull/487.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #21696 and fix #22276
- [x] There are tests for these changes
2019-11-27 01:23:20 -05:00
Josh Matthews
1c7f2d696c Remove use of deprecated language construct. 2019-11-26 21:54:33 -05:00
Josh Matthews
7944d9548c script: Ensure JS engine is initialized and deinitialized on the same thread. 2019-11-26 21:54:33 -05:00
bors-servo
b62d1d4f7a
Auto merge of #24868 - servo-wpt-sync:wpt_update_26-11-2019, r=servo-wpt-sync
Sync WPT with upstream (26-11-2019)

Automated downstream sync of changes from upstream as of 26-11-2019.
[no-wpt-sync]
r? @servo-wpt-sync
2019-11-26 21:32:31 -05:00
Alex Touchet
56922b70d5
Update some URLs 2019-11-26 17:12:49 -08:00
bors-servo
ea18d5f5e9
Auto merge of #24861 - asajeffrey:gstplugin-url, r=ferjm
Add url parameter to the servosrc gstreamer plugin

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

Support a `url` parameter for the gstreamer plugin.

---
<!-- 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 #24836
- [x] These changes do not require tests because adding features to a port

<!-- 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. -->
2019-11-26 19:17:22 -05:00
bors-servo
42003a921b
Auto merge of #24859 - jdm:surfman-fallible, r=Manishearth
Don't panic if surfman initialization fails.

Since WebGL is only one component of the web platform, there's no reason that failing to initialize surfman for webgl support should take down the entire browser.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #24642 (in that the browser will now start up) and fix #24627
- [x] These changes do not require tests because tests for graphics acceleration? don't make me laugh.
2019-11-26 16:43:57 -05:00
bors-servo
a922c497fa
Auto merge of #24758 - gterzian:impl_timer_task_source, r=nox
Implement timer-task-source, time-out service worker

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

Implements the timer task-source, and folds the IPC glue-code into a single route set by the globalscope.

Also switches service worker to using a dedicated "time-out" mechanism, which previously relied on the timer mechanism(and I think didn't actually implement script timers).

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #24747 (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. -->
2019-11-26 16:26:20 -05:00
bors-servo
8e0aa68aaa
Auto merge of #24783 - mmatyas:webgl_fns_readpixels, r=nox
Add support for WebGL2 ReadPixels functions

Adds support for the new ReadPixels functions introduced with WebGL2 and the relevant PixelStorei parameters..

Reference: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.10

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

---

This is a work in progress patch, but I think it might be ready for comments. There are a few issues left:

- When the target is the pixel pack buffer, the GL function expects a byte offset as a pointer. In Sparkle the `read_pixels` functions return/work on top of arrays, so for now I've made a [workaround patch](45d8bb263d). I wonder if that's okay or should we do it somehow differently?
- When writing to the pixel pack buffer, padding bytes on the destination are properly ignored. When writing to client buffers, Sparkle `read_pixels` returns a buffer with 1 byte alignment, which I think is fine (less stuff to move between threads), but requires positioning the rows manually (see the bottom of `read_pixels_into` vs. `ReadPixels_`).
- There are some duplicated code between the array buffer and pixel pack buffer variants, eg. the detection of intersection with the framebuffer. This could be refactored, but that results in a function with `Result<Option<Rect<u32>>, WebGLError>`, which I'm not sure is readable enough to help.
- There is a duplication with the WebGL1 code. WebGL2 introduces row length, skip pixels and skip rows as pixel pack parameters which affect the ReadPixels operation. The helper functions could be moved to be usable in WebGL1, but then these new modifiers would also need to be passed as a function parameter, which is somewhat ugly (but would work). What's your opinion about this?

cc @jdm @zakorgy

---
<!-- 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. -->
2019-11-26 12:31:15 -05:00
Anthony Ramine
858bc5aca6 Split FlowChildren in IndependentLayout and FlowLayout
The result of doing the layout of an independent formatting context
should be unconcerned with margin collapsing.
2019-11-26 16:36:24 +01:00
Anthony Ramine
24b7eadfff Make NodeExt private in layout_2020 2019-11-26 16:36:24 +01:00
Anthony Ramine
10eccc8beb Rename Arc to ServoArc in layout_2020::dom_traversal 2019-11-26 16:36:24 +01:00
Simon Sapin
c156bf2dd9 Add a .servobuild option for --with-debug-assertions 2019-11-26 16:36:24 +01:00
Simon Sapin
98e6f21d02 Run WPT for Layout 2020 on CI 2019-11-26 16:22:58 +01:00
Simon Sapin
cbc3f8a421 Linux release build CI: time virtualenv creation and cargo fetch 2019-11-26 16:22:58 +01:00
Simon Sapin
67cb511549 Update WPT expectations for Layout 2020 2019-11-26 16:22:58 +01:00
Mátyás Mustoha
8fefa23019 Add support for WebGL2 ReadPixels functions
Adds support for the new ReadPixels functions introduced with WebGL2
and the relevant PixelStorei parameters.

Reference: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.10
2019-11-26 16:09:13 +01:00
Patrick Shaughnessy
7363db31db Fix #2909 as far as WPT is concerned, not full data-url class integration 2019-11-26 09:49:30 -05:00
Simon Sapin
80eec48d37 Use std::mem::take instead of defining it 2019-11-26 15:42:27 +01:00
Simon Sapin
b2b3ea992c Make IndependentFormattingContext a struct that owns styles
… and has a private enum for its contents.

Privacy forces the rest of the code to go through methods
rather than matching on the enum,
reducing accidental layout-mode-specific behavior.
2019-11-26 15:42:27 +01:00
bors-servo
7a72f8a168
Auto merge of #24842 - servo:jdm-patch-34, r=nox
Make JS runnables for workers execute on correct event loop

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #24812
2019-11-26 09:33:59 -05:00
WPT Sync Bot
e77be0ce0f Update web-platform-tests to revision 1cee79240e1a6e2df18faa0ed27c7febada1e3fb 2019-11-26 13:17:56 +00:00
bors-servo
799057f1e6
Auto merge of #24863 - asajeffrey:gstplugin-resizing, r=ferjm
The gstreamer plugin should resize when it's presented with frames to fill

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

This is a workaround for race conditions in the embedder.

---
<!-- 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 #24835
- [x] These changes do not require tests because it's fixing a bug with an embedding

<!-- 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. -->
2019-11-26 06:41:33 -05:00
bors-servo
75aba2b7d9
Auto merge of #24854 - paulrouget:xrprompt, r=Manishearth
Prompt user to install OpenXR package if not installed

Fix #24086

It's important to note that this PR introduces a restricted capability. During the app store submission process we will need to justify why we want to use that capability.

This piece of UI is important for the Emulator, where OpenXR is not available by default.
2019-11-26 02:22:07 -05:00
bors-servo
74bf0ce5c2
Auto merge of #24866 - Manishearth:iterator-invalidation, r=jdm
Fix iterator invalidation in our forEach implementation.

Currently we iterate over iterables in forEach based on the length they report when we start iterating, however the inner callback is able to change this.

```js
let params = new URLSearchParams("foo=bar&baz=qux");
params.forEach((p) => {
    console.log(p);
    params.delete("baz");
})
```

This causes us to panic [here](f1aa5d8dbd/components/script/dom/bindings/codegen/CodegenRust.py (L7412)) over an attempt to access out of bounds.

Relevant spec: https://heycam.github.io/webidl/#es-forEach

r? @jdm
2019-11-25 23:27:33 -05:00