Commit graph

39889 commits

Author SHA1 Message Date
Emilio Cobos Álvarez
7fea21d888
Strip out shmem for publishing. 2019-12-19 02:46:02 +01:00
bors-servo
f183d66217
Auto merge of #25276 - kunalmohan:25192-initMessageEvent, r=jdm
Implement MessageEvent.InitMessageEvent

<!-- Please describe your changes on the following line: -->
InitMessageEvent had to be implemented as required by wpt. For this few keys of struct `MessageEvent` are now wrapped inside DomRefCell wrapper.

---
<!-- 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 #25192  (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. -->
2019-12-18 17:01:36 -05:00
Kunal Mohan
b4090cce6e
Update tests
Run `update-wpt` for tests/wpt/web-platform-tests/html/dom/idlharness.https.html
and tests/wpt/web-platform-tests/html/dom/idlharness.worker.js
2019-12-18 23:01:56 +05:30
Kunal Mohan
460f4fdefc
Update tests for MessageEvent 2019-12-18 23:01:54 +05:30
Kunal Mohan
cb1cb40a51
Implement MessageEvent.InitMessageEvent
InitMessageEvent had to be implemented as required by wpt.
For this few keys of struct `MessageEvent` are now wrapped inside
DomRefCell wrapper.
2019-12-18 23:01:53 +05:30
bors-servo
b49e74b1f2
Auto merge of #25330 - emilio:selectors, r=jdm
Bump selectors.

I realized I missed doing this even though @atouchet asked me to.
2019-12-18 12:12:49 -05:00
bors-servo
dcdf910a25
Auto merge of #24470 - pylbrecht:raqote, r=jdm
Enable raqote as 2D canvas rendering backend by default

<!-- Please describe your changes on the following line: -->
This will enable raqote by default and make all WPT tests pass.

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

<!-- 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-12-18 09:36:25 -05:00
Emilio Cobos Álvarez
151fe4a0d0
Bump selectors. 2019-12-18 14:36:47 +01:00
pylbrecht
4f4c32fa6f Revert two test expectation updates 2019-12-18 06:18:19 +01:00
bors-servo
c65e2685db
Auto merge of #25308 - atouchet:win10, r=jdm
Use Windows 10 instead of 7 in user agent string

<!-- Please describe your changes on the following line: -->
I tried testing https://my.panomoments.com/ in the latest nightly version of Servo but it wouldn't load because it requires Windows 8 or newer and Servo's user agent string says it's using Windows 7. This change should allow sites requiring a modern version of Windows to run. This could potentially cause issues for users running older versions of Windows however. A better long term solution would be to do #18194.

---
<!-- 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-12-17 20:44:45 -05:00
bors-servo
79408fa36b
Auto merge of #25294 - Darkspirit:h2, r=jdm
Let hyper automatically set the host header if needed

Google's gws web server did not expect to receive an unneeded Host header via HTTP/2, therefore it responded with 400 Bad Request over a working HTTP/2 connection.

https://tools.ietf.org/html/rfc7540#page-55
> Clients that generate HTTP/2 requests directly SHOULD use the ":authority" pseudo-header field instead of the Host header field.

It's hyper's job to take care of this for the HTTP/1 case, therefore we can remove old code.
When calling [Client::builder()](1974c875a1/components/net/connector.rs (L116-L119)) we do not disable hyper's default [set_host](4b6099c7aa/src/client/mod.rs (L1019-L1024)) config option, therefore hyper [automatically adds a Host header for non-HTTP/2 connections](4b6099c7aa/src/client/mod.rs (L289-L292))  based on the [URI](3f663d7ab2/components/net/http_loader.rs (L418-L421)).

r? @jdm

---
<!-- 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 #25286.
2019-12-17 18:16:13 -05:00
bors-servo
cea55e3892
Auto merge of #25264 - szeged:wgpu_buffer, r=jdm
Initial implementation of GPUBuffer for WebGPU

Added WebIDL bindings for `GPUBuffer`, `GPUBufferDescriptor`, `GPUBufferUsage`.
Implemented the `createBuffer` and `createBufferMapped` functions of `GPUDevice`.

---
<!-- 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.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
cc @kvark @jdm @zakorgy

<!-- 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/25264)
<!-- Reviewable:end -->
2019-12-17 14:25:06 -05:00
pylbrecht
cdd4dc41b3 Update wpt test expectations 2019-12-17 19:53:56 +01:00
pylbrecht
e0547855df Remove duplication for creating gradient stops 2019-12-17 19:52:03 +01:00
pylbrecht
7c8c230d93 Add transform to Pattern::Surface to properly draw images 2019-12-17 19:52:03 +01:00
pylbrecht
b99b92d4c2 Update wpt test expectation for image-smoothing 2019-12-17 19:52:03 +01:00
pylbrecht
9a2370a3a8 Consider empty gradients in is_zero_size_gradient() 2019-12-17 19:52:02 +01:00
pylbrecht
ada7986fef Handle BlendMode::Clear in GenericDrawTarget::fill() 2019-12-17 19:52:02 +01:00
pylbrecht
a50aef6f00 Add a layer to store Pattern related information
Some information of `canvas_data::Pattern` was lost by
converting it to `raqote::Source` due to the fact that Raqote
did not store this information (e.g. linear gradient's start/end
points). We introduce another layer to keep this information for later
use (like in `is_zero_size_gradient()`).
2019-12-17 19:52:02 +01:00
pylbrecht
1aecf40922 Implement "repeat-x" and "repeat-y" for images 2019-12-17 19:52:02 +01:00
pylbrecht
25d036f05c Set images' ExtendMode based on available information 2019-12-17 19:52:02 +01:00
pylbrecht
1cdcbb25fa Handle overlapping gradient stops for linear gradients
From `addColorStop(offset, color)`s spec:
If multiple stops are added at the same offset on a gradient, they must
be placed in the order added, with the first one closest to the start of
the gradient, and each subsequent one infinitesimally further along
towards the end point (in effect causing all but the first and last stop
added at each point to be ignored)

https://www.w3.org/html/test/results/2dcontext/annotated-spec/canvas.html#testrefs.2d.gradient.interpolate.overlapu
2019-12-17 19:52:01 +01:00
pylbrecht
04e9523e5f Use push_layer_with_blend() only when necessary
push_layer_with_blend() comes at a performance cost, so we only use it
on blend modes that require it.
2019-12-17 19:52:01 +01:00
pylbrecht
a02daef7b2 Make arc() wrap angles mod 2pi 2019-12-17 19:52:01 +01:00
pylbrecht
02e3325416 Make arc() use anticlockwise argument 2019-12-17 19:52:01 +01:00
pylbrecht
da9b4c33cd Make fill() handle all composition operations 2019-12-17 19:52:00 +01:00
pylbrecht
1597b956b8 Update raqote to have blend modes working on layers 2019-12-17 19:52:00 +01:00
pylbrecht
47ee2729ec Make fill() draw uncovered pixels as (0,0,0,0) for certain composition ops 2019-12-17 19:52:00 +01:00
pylbrecht
4d4e68ca6b Respect direction when drawing arcs 2019-12-17 19:52:00 +01:00
pylbrecht
a473f50245 Respect FilterMode when drawing images 2019-12-17 19:51:59 +01:00
pylbrecht
16f06f24c5 Add check for handling equal radial gradients 2019-12-17 19:51:59 +01:00
pylbrecht
d87e5d831b Add check to handle zerosize linear gradients 2019-12-17 19:51:59 +01:00
pylbrecht
9f58ae4b07 Update raqote: linear gradient fix 2019-12-17 19:51:59 +01:00
pylbrecht
bd1e30fa66 Update raqote 2019-12-17 19:51:58 +01:00
pylbrecht
2087281940 Update raqote due to bugfix for arc point in path 2019-12-17 19:51:58 +01:00
pylbrecht
55256df0ba Use tolerance > 0 in Path::contains_point() 2019-12-17 19:51:58 +01:00
pylbrecht
5151309ee8 Update raqote due to bugfix 2019-12-17 19:51:58 +01:00
pylbrecht
5c6a12a116 Create raqote::SolidSource with premultiplied color
SolidSource expects a premultiplied color.
2019-12-17 19:51:57 +01:00
pylbrecht
77a8bc4a1d Fix conversion of image data slice 2019-12-17 19:51:57 +01:00
pylbrecht
2aa16fc731 Update raqote 2019-12-17 19:51:57 +01:00
pylbrecht
b8b33788b6 Handle empty paths in PathBuilder::get_current_point()
The case of calling get_current_point() on empty paths has not been
handled and caused panics.
2019-12-17 19:51:57 +01:00
pylbrecht
606ad20544 Update raqote due to bugfix 2019-12-17 19:51:57 +01:00
pylbrecht
d6f46b5513 Apply transformation in Path::contains_point() 2019-12-17 19:51:56 +01:00
pylbrecht
c8025c9147 Don't reuse PathBuilder after calling finish() 2019-12-17 19:51:56 +01:00
pylbrecht
65a21e9bad Enable raqote by default 2019-12-17 19:51:55 +01:00
bors-servo
a5844d5efd
Auto merge of #25304 - servo:with, r=jdm
Add `layout-2020` option to the `.servobuild` file

… and `--with-layout-2013` command-line option to disable it.
2019-12-17 09:00:08 -05:00
Istvan Miklos
ebfcd0f27f Initial implementation of GPUBuffer for WebGPU
Added WebIDL bindings for GPUBuffer, GPUBufferDescriptor, GPUBufferUsage
Implemented the `createBuffer` and `createBufferMapped` functions of GPUDevice
2019-12-17 11:00:08 +01:00
bors-servo
4458bc762c
Auto merge of #25303 - servo-wpt-sync:wpt_update_16-12-2019, r=servo-wpt-sync
Sync WPT with upstream (16-12-2019)

Automated downstream sync of changes from upstream as of 16-12-2019.
[no-wpt-sync]
r? @servo-wpt-sync
2019-12-17 04:52:30 -05:00
bors-servo
6ccad53937
Auto merge of #25254 - pshaughn:stop_creating_outofspec_events, r=jdm
Removed createEvent cases, removed now-unused new_uninitializeds

<!-- Please describe your changes on the following line: -->
document.createEvent was creating some event types WHATWG now says shouldn't be created that way. This was the only caller of a few new_uninitialized methods, so those are removed too.

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

<!-- 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-12-17 02:13:13 -05:00
bors-servo
a8b8f46476
Auto merge of #25299 - emilio:gecko-sync, r=emilio,nox
style: Sync changes from mozilla-central.

See individual commits for details.
2019-12-16 23:51:18 -05:00