Commit graph

42780 commits

Author SHA1 Message Date
Kunal Mohan
75abccb16b update wgpu, use serializable descriptors 2020-07-22 23:22:13 +05:30
bors-servo
a242913629
Auto merge of #26710 - AbhishekSharma102:issue_26571, r=jdm,gterzian
Compile external scripts off the main thread

<!-- 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 #26571  (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-21 18:29:47 -04:00
AbhishekSharma102
1119dd119e Added off thread compilation
Co-authored-by: Gregory Terzian <2792687+gterzian@users.noreply.github.com>
Co-authored-by: Abhishek Sharma <20724848+AbhishekSharma102@users.noreply.github.com>
2020-07-21 16:20:51 -04:00
bors-servo
863a7ee08b
Auto merge of #27333 - jdm:package-macos, r=asajeffrey
Include gstreamer plugins in macOS nightly package.

Fixes #27318. Fixes #27332.
2020-07-21 16:13:22 -04:00
bors-servo
ac37078af8
Auto merge of #27348 - kunalmohan:gpu-copy, r=kvark
Implement GPUCommandEncoder.copy commands

<!-- Please describe your changes on the following line: -->
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: -->
- [ ] 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-21 15:13:08 -04:00
Josh Matthews
03dcf32df3 Verify the macOS package can load basic pages. 2020-07-21 13:12:03 -04:00
Kunal Mohan
5285c07f1f Implement GPUCommandEncoder.copy commands 2020-07-21 21:00:23 +05:30
bors-servo
fdbecc68cf
Auto merge of #27347 - servo-wpt-sync:wpt_update_21-07-2020, r=servo-wpt-sync
Sync WPT with upstream (21-07-2020)

Automated downstream sync of changes from upstream as of 21-07-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-07-21 06:58:06 -04:00
WPT Sync Bot
757411a74c Update web-platform-tests to revision d62995e62ca8653b4cf565e61c309471b544fab8 2020-07-21 10:51:44 +00:00
bors-servo
f844ca5eba
Auto merge of #27343 - utsavoza:ugo/update-mozjs/21-07-2020, r=jdm
Update mozjs

Pick up [servo/rust-mozjs#517](https://github.com/servo/rust-mozjs/pull/517) and [servo/mozjs#256](https://github.com/servo/mozjs/pull/256)
2020-07-21 06:46:21 -04:00
bors-servo
774673d186
Auto merge of #27304 - paulrouget:staticdevtoolsport, r=jdm
UWP: non random port for devtools, and support for custom UWP prefs

packages-prefs.json is now taken into account for libsimpleservo. Making it possible to have custom pref for the UWP builds, removing some weirdness in the way we handle preferences in the hololens code.

This also adds a new set of preferences to control the devtools server startup state, and make the port choice constant across sessions.

Fix #27267
Fix #22970
2020-07-21 03:38:10 -04:00
bors-servo
c02da14847
Auto merge of #27339 - Manishearth:flex-align-items, r=pcwalton
flexbox 2020: Implement `align-items` and `align-self`, excluding `baseline`

This PR is based on https://github.com/servo/servo/pull/27334 for ease of testing

`baseline` is tricky and involves keeping track of a "baseline set"

https://drafts.csswg.org/css-flexbox/#flex-baselines

Part of https://github.com/servo/servo/issues/26639
2020-07-21 02:36:48 -04:00
Utsav Oza
0c0d8ec686 Update mozjs 2020-07-21 11:45:44 +05:30
bors-servo
c0778ff3c5
Auto merge of #27313 - jdm:layer-idl, r=asajeffrey
Update XRWebGLLayer to match specification.

This unbreaks most of the webxr WPT tests.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #27312
- [x] There are tests for these changes
2020-07-21 01:38:08 -04:00
Paul Rouget
1b0de562ed Remove simpleservo antialiasing option, rely on pref 2020-07-21 06:30:06 +02:00
bors-servo
132d8b4601
Auto merge of #27216 - pcwalton:floats-2020, r=Manishearth
Implement core float layout for layout 2020

<!-- Please describe your changes on the following line: -->
Add an implementation of the core float and clear placement logic in layout 2020, not yet wired to the rest of layout.

This commit implements an object that handles the 10 rules in CSS 2.1:

https://www.w3.org/TR/CSS2/visuren.html#float-position

The implementation strategy is that of a persistent balanced binary search tree
of float bands. Binary search trees are commonly used for implementing float
positioning; e.g. by WebKit.  Persistence enables each object that interacts
with floats to efficiently contain a snapshot of the float list at the time
that object was laid out. That way, incremental layout can invalidate and start
reflow at any point in a containing block.

This commit features extensive use of
[QuickCheck](https://github.com/BurntSushi/quickcheck) to ensure that the rules
of the CSS specification are followed.

Because this is not yet connected to layout, floats will not actually be laid
out in Web pages yet.

Note that unit tests as set up in Servo currently require types that they
access to be public. Therefore, some internal layout 2020 types that were
previously private have been made public. This is somewhat unfortunate.

---
<!-- 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-21 00:09:00 -04:00
Manish Goregaokar
f2bfa08a85 Add manual test for align-self 2020-07-20 20:16:23 -07:00
Manish Goregaokar
1cedf40376 Update wpt expectations 2020-07-20 20:16:23 -07:00
Manish Goregaokar
ba9448e682 flex 2020: Handle positioning flex item based on align-self 2020-07-20 20:16:23 -07:00
bors-servo
59841377c2
Auto merge of #27329 - kunalmohan:gpu-label, r=kvark
Update GPUObjectBase webidl and cleanup valid flags

<!-- Please describe your changes on the following line: -->
Update labels to be `USVString`
Remove `valid` flags in WebGPU resources. The only place where we still have that is `GPUCommandEncoder` (Only to validate the GPUCommandEncoder state. Not sure how errors would be handled/reported by server for copy commands).

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: -->
- [ ] 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-20 20:43:56 -04:00
Manish Goregaokar
d1b92b68c7 flexbox 2020: Respect the stretchiness of align-self 2020-07-20 14:26:14 -07:00
Manish Goregaokar
1af5efc542 flexbox 2020: Enable align-self and align-items in CSS 2020-07-20 14:26:14 -07:00
Manish Goregaokar
63ac4d165c flexbox 2020: Store align_items on FlexContext 2020-07-20 14:26:14 -07:00
bors-servo
1ded1ba992
Auto merge of #27338 - jdm:exit-fix, r=Manishearth
Update webxr.

Fixes #27270.
2020-07-20 17:11:58 -04:00
Josh Matthews
5e7d025106 Update webxr. 2020-07-20 16:24:18 -04:00
Josh Matthews
c34e587140 Update XRWebGLLayer to match specification. 2020-07-20 15:52:16 -04:00
Patrick Walton
5b36d211b4 Add an implementation of the core float and clear placement logic in layout
2020, not yet wired to the rest of layout.

This commit implements an object that handles the 10 rules in CSS 2.1:

https://www.w3.org/TR/CSS2/visuren.html#float-position

The implementation strategy is that of a persistent balanced binary search tree
of float bands. Binary search trees are commonly used for implementing float
positioning; e.g. by WebKit.  Persistence enables each object that interacts
with floats to efficiently contain a snapshot of the float list at the time
that object was laid out. That way, incremental layout can invalidate and start
reflow at any point in a containing block.

This commit features extensive use of
[QuickCheck](https://github.com/BurntSushi/quickcheck) to ensure that the rules
of the CSS specification are followed.

Because this is not yet connected to layout, floats will not actually be laid
out in Web pages yet.

Note that unit tests as set up in Servo currently require types that they
access to be public. Therefore, some internal layout 2020 types that were
previously private have been made public. This is somewhat unfortunate.

Part of #25167.
2020-07-20 12:42:34 -07:00
Manish Goregaokar
6914c51195 Handle flex item box sizing and minmax for flexbox in 2020 2020-07-20 12:22:06 -07:00
Josh Matthews
919e9e39f6 Add gstreamer plugins to nightly package. 2020-07-20 14:27:35 -04:00
Kunal Mohan
cdc0a75fe4 Update GPUObjectBase webidl and cleanup valid flags 2020-07-20 23:03:53 +05:30
bors-servo
48bf169101
Auto merge of #27316 - asajeffrey:webxr-save-restore-gl-state, r=Manishearth
Save / restore state when updating opaque framebuffer bindings

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

This saves and restores the WebGL bindings for texture and framebuffer when beginning a webxr frame.

---
<!-- 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 #27286
- [x] These changes do not require tests because we don't reftest hololens (it would be nice if we did!)

<!-- 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-20 12:20:40 -04:00
bors-servo
06cc355a54
Auto merge of #27326 - servo-wpt-sync:wpt_update_20-07-2020, r=jdm
Sync WPT with upstream (20-07-2020)

Automated downstream sync of changes from upstream as of 20-07-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-07-20 12:03:01 -04:00
Alan Jeffrey
f01527503e Updated webxr 2020-07-20 10:10:38 -05:00
Alan Jeffrey
a708b5f7ce Save / restore state when updating opaque framebuffer bindings 2020-07-20 10:10:38 -05:00
bors-servo
d40af67eff
Auto merge of #27322 - servo:dependabot/cargo/indexmap-1.5.0, r=jdm
build(deps): bump indexmap from 1.4.0 to 1.5.0

Bumps [indexmap](https://github.com/bluss/indexmap) from 1.4.0 to 1.5.0.
<details>
<summary>Commits</summary>
<ul>
<li><a href="d293267167"><code>d293267</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/bluss/indexmap/issues/131">#131</a> from cuviper/shredded-potatoes</li>
<li><a href="1999fa2534"><code>1999fa2</code></a> Use new methods in hashbrown 0.8.1</li>
<li><a href="603c326aa8"><code>603c326</code></a> Release 1.5.0</li>
<li><a href="604a2b68a5"><code>604a2b6</code></a> Use plain clear instead of clear_no_drop</li>
<li><a href="b0c9577ad2"><code>b0c9577</code></a> Encapsulate unsafe code in a raw module</li>
<li><a href="66cb0af437"><code>66cb0af</code></a> Make methods that get RawBucket parameters unsafe; add safety comments</li>
<li><a href="379a07ae2a"><code>379a07a</code></a> Don't enable hashbrown/inline-more</li>
<li><a href="39618a2b68"><code>39618a2</code></a> Don't shadow raw_bucket variables</li>
<li><a href="89eefd64b0"><code>89eefd6</code></a> Document the return value of IndexMapCore::push</li>
<li><a href="8771a6c79f"><code>8771a6c</code></a> Upgrade to hashbrown 0.8</li>
<li>Additional commits viewable in <a href="https://github.com/bluss/indexmap/compare/1.4.0...1.5.0">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=indexmap&package-manager=cargo&previous-version=1.4.0&new-version=1.5.0)](https://dependabot.com/compatibility-score/?dependency-name=indexmap&package-manager=cargo&previous-version=1.4.0&new-version=1.5.0)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)

</details>
2020-07-20 09:52:51 -04:00
Josh Matthews
08b4ed752b
Add 2020 flexbox failure. 2020-07-20 09:03:18 -04:00
WPT Sync Bot
dcfcbcf2ad Update web-platform-tests to revision 8ef40c4007d5da834b25e79197cb8cb4c0a86a42 2020-07-20 10:26:50 +00:00
dependabot-preview[bot]
6189822acf
build(deps): bump indexmap from 1.4.0 to 1.5.0
Bumps [indexmap](https://github.com/bluss/indexmap) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/bluss/indexmap/releases)
- [Commits](https://github.com/bluss/indexmap/compare/1.4.0...1.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-20 08:23:50 +00:00
Paul Rouget
9174b201b0 UWP: rely more on servo preferences 2020-07-20 09:31:27 +02:00
bors-servo
3216209506
Auto merge of #27279 - servo:jdm-patch-46, r=paulrouget
Update hololens documentation.

This will give us something useful to point users towards.
2020-07-20 03:03:09 -04:00
bors-servo
bfb7bea704
Auto merge of #27320 - servo-wpt-sync:wpt_update_19-07-2020, r=jdm
Sync WPT with upstream (19-07-2020)

Automated downstream sync of changes from upstream as of 19-07-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-07-19 11:28:59 -04:00
bors-servo
086556e706
Auto merge of #27026 - CYBAI:dynamic-module, r=jdm
Introduce dynamic module

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #25439
- [x] There are tests for these changes
2020-07-19 09:29:50 -04:00
Josh Matthews
7538680b80
Add 2020 failure. 2020-07-19 08:47:16 -04:00
WPT Sync Bot
870553b695 Update web-platform-tests to revision b47352d6c9860ff13c014fda37f35f88e8d935cb 2020-07-19 10:51:06 +00:00
CYBAI
419cd53561 Use JS_GetScriptPrivate to get a mutated return value
Because MSVC uses a different calling conventions for functions that
return non-POD values, we need to use the new exposed wrapper function
so that `GetScriptPrivate` can be handled correctly on Windows.
2020-07-19 16:24:24 +09:00
bors-servo
ccff00742f
Auto merge of #27317 - servo-wpt-sync:wpt_update_18-07-2020, r=servo-wpt-sync
Sync WPT with upstream (18-07-2020)

Automated downstream sync of changes from upstream as of 18-07-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-07-18 06:41:39 -04:00
WPT Sync Bot
64b58d76c6 Update web-platform-tests to revision 5934bd3aca20a07917ad46fe7cebe10c68d5e497 2020-07-18 10:41:28 +00:00
bors-servo
e41f1662dc
Auto merge of #27310 - asajeffrey:gitignore-emacs-backup-files, r=jdm
Remove emacs backup files, add them to .gitignore

Remove emacs backup files and add them to .gitignore.
2020-07-17 23:17:47 -04:00
bors-servo
b63ce282aa
Auto merge of #27303 - camelid:async-to-asynch, r=jdm
Use `asynch` instead of `r#async`

<!-- Please describe your changes on the following line: -->
This is a vestige of the transition from 2015 to 2018 edition Rust.
`async` was added as a keyword in 2018 edition Rust, so `cargo fix`
changed the variable name here to `r#async`.

---
<!-- 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
- [x] These changes do not require tests because this is just an internal name change

<!-- 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-17 22:51:12 -04:00
bors-servo
8ce3ff656d
Auto merge of #27295 - asajeffrey:gstreamer-webxr, r=Manishearth
Gstreamer plugin support for streaming from webxr

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

Allows us to stream webxr video content.

---
<!-- 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 require tests because we don't reftest the gstreamer plugin

<!-- 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-17 17:36:38 -04:00