Commit graph

41490 commits

Author SHA1 Message Date
bors-servo
271ff16028
Auto merge of #26398 - Eijebong:fast-path-set-inner-html, r=jdm
Add a fast path in Element::SetInnerHTML when the value is small and trivial text

Inspired from gecko which has a similar fast path. This makes innerHTML
more than 10 times faster for this case.

Fixes #25892
2020-05-04 12:43:49 -04:00
Bastien Orivel
1b2464b4b6 Add a fast path in Element::SetInnerHTML when the value is small and trivial text
Inspired from gecko which has a similar fast path. This makes innerHTML
more than 10 times faster for this case.

Fixes #25892
2020-05-04 18:11:49 +02:00
bors-servo
d33a784c66
Auto merge of #26404 - servo:dependabot/cargo/gstreamer-video-0.15.5, r=jdm
Bump gstreamer-video from 0.15.3 to 0.15.5

Bumps gstreamer-video from 0.15.3 to 0.15.5.

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

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-05-04 11:41:46 -04:00
bors-servo
73d0ea6d08
Auto merge of #26402 - servo:dependabot/cargo/euclid-0.20.11, r=jdm
Bump euclid from 0.20.10 to 0.20.11

Bumps [euclid](https://github.com/servo/euclid) from 0.20.10 to 0.20.11.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/servo/euclid/commits">compare view</a></li>
</ul>
</details>
<br />

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

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-05-04 10:43:17 -04:00
bors-servo
a3c8521d09
Auto merge of #26396 - atouchet:docs, r=jdm
Update ORGANIZATION.md

<!-- Please describe your changes on the following line: -->
Some updates for ORGANIZATION.md. This could use more work in the future.

---
<!-- 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. -->
2020-05-04 09:44:11 -04:00
bors-servo
ad212b23ca
Auto merge of #26401 - khodzha:audio-decoder-channels-indices, r=ferjm
fixed BaseAudioContext.DecodeAudioData progress callback

Gstreamer backend returns channel as single bit mask (ie 1, 2, 4, 8, 32 etc).
Progress callback was using this mask as plain channel index, thus storing decoded
audio in wrong channel.

(log2 conversion of int to int is subpar at best, but idk how to extract bit position in a clean way without a loop, any suggestions are welcome)

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #25840

- [X] There are tests for these changes
2020-05-04 08:41:13 -04:00
dependabot-preview[bot]
1412c1b2cd
Bump gstreamer-video from 0.15.3 to 0.15.5
Bumps gstreamer-video from 0.15.3 to 0.15.5.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-04 08:48:22 +00:00
dependabot-preview[bot]
e6fee8d660
Bump euclid from 0.20.10 to 0.20.11
Bumps [euclid](https://github.com/servo/euclid) from 0.20.10 to 0.20.11.
- [Release notes](https://github.com/servo/euclid/releases)
- [Commits](https://github.com/servo/euclid/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-04 08:47:31 +00:00
Shamir Khodzha
492faa3105 fixed channels indexing in progress callback in BaseAudioContext.DecodeAudioData
Gstreamer backend returns channel as single bit mask (ie 1, 2, 4, 8, 32 etc).
Progress callback was using this mask as plain channel index, thus storing decoded
audio in wrong channel.
2020-05-04 00:48:51 +03:00
bors-servo
0b05b5ed87
Auto merge of #26397 - servo-wpt-sync:wpt_update_03-05-2020, r=servo-wpt-sync
Sync WPT with upstream (03-05-2020)

Automated downstream sync of changes from upstream as of 03-05-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-05-03 07:19:49 -04:00
WPT Sync Bot
3f44ddc852 Update web-platform-tests to revision c19e2b60b554e64ad07f25675f659ce76cee9e82 2020-05-03 11:19:37 +00:00
Alex Touchet
5a27178db1
Update ORGANIZATION.md 2020-05-02 20:42:09 -07:00
bors-servo
292d6ec588
Auto merge of #26393 - servo-wpt-sync:wpt_update_02-05-2020, r=jdm
Sync WPT with upstream (02-05-2020)

Automated downstream sync of changes from upstream as of 02-05-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-05-02 11:27:48 -04:00
WPT Sync Bot
00971fa7af Update web-platform-tests to revision ef4113222efb4cc08100f34f2dd9ab8ecc3660eb 2020-05-02 11:27:29 -04:00
bors-servo
73abf56e99
Auto merge of #26215 - dralley:fix-image-border, r=jdm
Fix combination of border and border-radius being drawn incorrectly

fixes #20922

Manual testcase in the attached issue

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #20922

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because ___
2020-05-02 10:24:16 -04:00
Josh Matthews
1d9d55ce27 Add automated test. 2020-05-02 10:21:40 -04:00
bors-servo
d08c4fff15
Auto merge of #26336 - szeged:mmatyas__webgl_fns_getparam4, r=jdm
Add support for WebGL2 MIN_PROGRAM_TEXEL_OFFSET

Improves the support of the WebGL2 `MIN_PROGRAM_TEXEL_OFFSET` property (ie. stores it as a signed integer) and adds support for querying it using GetParameter.

See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.2

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

cc @jdm @zakorgy

Depends on #26333 because they touch the same test files.

---
<!-- 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. -->
2020-05-01 13:30:05 -04:00
bors-servo
f063ae266e
Auto merge of #26362 - mrobinson:animation-animation-events, r=emilio,jdm
Add support for animationend event

This is triggered when an animation finishes. This is a high priority
because it allows us to start rooting nodes with animations in the
script thread.

This doesn't yet cause a lot of tests to pass because they rely on the
existence of `Document.getAnimations()` and the presence of
`animationstart` and `animationiteration` events.

<!-- 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 #___ (GitHub issue number if applicable)

<!-- 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. -->
2020-05-01 11:09:05 -04:00
bors-servo
64dee1fa11
Auto merge of #26382 - servo:dependabot/cargo/cbindgen-0.14.2, r=jdm
Bump cbindgen from 0.14.1 to 0.14.2

Bumps [cbindgen](https://github.com/eqrion/cbindgen) from 0.14.1 to 0.14.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/eqrion/cbindgen/blob/master/CHANGES">cbindgen's changelog</a>.</em></p>
<blockquote>
<h2>0.14.2</h2>
<pre><code> * Fixed minimal dependency versions. ([#507](https://github.com/eqrion/cbindgen/issues/507))
 * Add an option to write pragma once. ([#511](https://github.com/eqrion/cbindgen/issues/511))
 * Fix submodule scanning for implicit Rust 2018 modules. ([#512](https://github.com/eqrion/cbindgen/issues/512))
 * Fix dependency parsing / scanning to handle target-specific versions. ([#513](https://github.com/eqrion/cbindgen/issues/513))
 * Use heck for case conversion. ([#514](https://github.com/eqrion/cbindgen/issues/514))
 * Add support for verbatim content after includes. ([#416](https://github.com/eqrion/cbindgen/issues/416))
 * Allow to add attributes to most generated functions. ([#515](https://github.com/eqrion/cbindgen/issues/515))
</code></pre>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="b6b88f8c30"><code>b6b88f8</code></a> Release v0.14.2</li>
<li><a href="a05a223704"><code>a05a223</code></a> tests: Add tests for attribute annotations.</li>
<li><a href="5ee5b3ee88"><code>5ee5b3e</code></a> ir: Allow per-method annotations for all the auto-generated struct and enum m...</li>
<li><a href="be8e6ec876"><code>be8e6ec</code></a> enum: Allow to store annotations for empty variants.</li>
<li><a href="1a824c04f2"><code>1a824c0</code></a> Add support for verbatim content after includes</li>
<li><a href="d0d6716556"><code>d0d6716</code></a> ir: Minor cleanup to the cfg code.</li>
<li><a href="8139fbf3c7"><code>8139fbf</code></a> Fix <a href="https://github-redirect.dependabot.com/eqrion/cbindgen/issues/418">#418</a>: Use heck for case conversion</li>
<li><a href="4beb526516"><code>4beb526</code></a> Fix <a href="https://github-redirect.dependabot.com/eqrion/cbindgen/issues/254">#254</a> (<a href="https://github-redirect.dependabot.com/eqrion/cbindgen/issues/512">#512</a>)</li>
<li><a href="ca1c0b27b6"><code>ca1c0b2</code></a> Run cargo-fmt</li>
<li><a href="1df5129d1a"><code>1df5129</code></a> Fix 2015 edition module path resolution</li>
<li>Additional commits viewable in <a href="https://github.com/eqrion/cbindgen/compare/v0.14.1...v0.14.2">compare view</a></li>
</ul>
</details>
<br />

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

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-05-01 10:10:05 -04:00
bors-servo
4e650e8328
Auto merge of #26383 - servo-wpt-sync:wpt_update_01-05-2020, r=servo-wpt-sync
Sync WPT with upstream (01-05-2020)

Automated downstream sync of changes from upstream as of 01-05-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-05-01 09:51:26 -04:00
Martin Robinson
3903c1fb98 Add support for animationend event
This is triggered when an animation finishes. This is a high priority
because it allows us to start rooting nodes with animations in the
script thread.

This doesn't yet cause a lot of tests to pass because they rely on the
existence of `Document.getAnimations()` and the presence of
`animationstart` and animationiteration` events.
2020-05-01 15:29:57 +02:00
WPT Sync Bot
909e31e110 Update web-platform-tests to revision dfe0b490c6018fd36379f4c7726f9f6a37728838 2020-05-01 11:11:41 +00:00
dependabot-preview[bot]
710a10a019
Bump cbindgen from 0.14.1 to 0.14.2
Bumps [cbindgen](https://github.com/eqrion/cbindgen) from 0.14.1 to 0.14.2.
- [Release notes](https://github.com/eqrion/cbindgen/releases)
- [Changelog](https://github.com/eqrion/cbindgen/blob/master/CHANGES)
- [Commits](https://github.com/eqrion/cbindgen/compare/v0.14.1...v0.14.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-01 08:16:50 +00:00
bors-servo
6fb75c2b9e
Auto merge of #26364 - servo-wpt-sync:wpt_update_30-04-2020, r=jdm
Sync WPT with upstream (30-04-2020)

Automated downstream sync of changes from upstream as of 30-04-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-04-30 22:05:38 -04:00
Josh Matthews
729674b69a Update test results. 2020-04-30 20:50:26 -04:00
bors-servo
9d801f12f0
Auto merge of #26359 - complexengine:update-ubuntu-version-20.04, r=jdm
Update Ubuntu version up to 20.04

Update Ubuntu version up to 20.04

<!-- 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 fix #26350 (GitHub issue number if applicable)

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because there are no tests for bootstrap.py

<!-- 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-04-30 18:41:23 -04:00
Josh Matthews
13599ed2f3 Correct intermittent failure. 2020-04-30 18:22:39 -04:00
Josh Matthews
9782c96afd Add preferences for new canvas metadata. 2020-04-30 18:22:38 -04:00
CYBAI
47413720b2 Remove obsolete offscreen-canvas test expecation 2020-04-30 18:22:38 -04:00
CYBAI
7207d01d8f Remove obsolete 2dcontext test expecation 2020-04-30 18:22:38 -04:00
CYBAI
f74d3a5940 Remove 2dcontext and offscreen-canvas in include configuration 2020-04-30 18:22:38 -04:00
WPT Sync Bot
db4f300c7c Update web-platform-tests to revision e51f414776c4e7efa7cfa5fe63a3a8b3969e06ac 2020-04-30 18:22:37 -04:00
bors-servo
ed392ab3be
Auto merge of #26363 - mrobinson:animation-split-update-style, r=emilio
Split animation cancellation from update_style_for_animation

`update_style_for_animation` previously handled both canceling defunct
animations and also updating style to reflect current animation state.
This change splits those two concerns because we want to start handling
replaced or canceled animations and finished animations in two different
places.

This is a refactor, so ideally it shouldn't change any behavior.

<!-- 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 #___ (GitHub issue number if applicable)

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they should not change behavior.

<!-- 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-04-30 16:24:50 -04:00
bors-servo
4bfe70c4ae
Auto merge of #26333 - szeged:mmatyas__webgl_fns_getparam3, r=jdm
Add support for even more WebGL2 GetParameter enums

Adds support for the following new WebGL2 GetParameter values:

- `PACK_ROW_LENGTH`
- `PACK_SKIP_PIXELS`
- `PACK_SKIP_ROWS`
- `RASTERIZER_DISCARD`
- `UNPACK_IMAGE_HEIGHT`
- `UNPACK_ROW_LENGTH`
- `UNPACK_SKIP_IMAGES`
- `UNPACK_SKIP_PIXELS`
- `UNPACK_SKIP_ROWS`

See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.2

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

Depends on #26265 because they touch the same test file.

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. -->
2020-04-30 16:09:35 -04:00
bors-servo
39e4eb43c3
Auto merge of #26296 - ramyananth:master, r=jdm
Implementing createImageBitmap

<!-- Please describe your changes on the following line: -->
Implementing createImageBitmap method for canvas image source.

---
<!-- 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 #20650 (GitHub issue number if applicable)

<!-- 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-04-30 12:05:21 -04:00
bors-servo
2b20f04e8b
Auto merge of #26023 - mmatyas:webgl_fns_texstorage2d, r=jdm
Add support for WebGL2 TexStorage2D

Adds initial support for the WebGL2 `TexStorage2D` call, adds support for the related texture enums and enables some of the texture tests.

See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.6

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

cc @jdm @zakorgy

A couple of notes:

- Currently `tests/wpt/webgl/meta/conformance2/textures` is disabled for testing; this patch enables the `misc` subdirectory and disables the rest, which is why there are so many new test files. The primary test for `TexStorage2D` is `conformance2/textures/misc/tex-storage-2d.html`.
- Most of the test passes, except the "texSubImage2D should succeed on immutable texture as long as the format is compatible" checks. This produces INVALID_OPERATIONs [here](d5e5414be3/components/script/dom/webglrenderingcontext.rs (L798)) because the texture's image info is not set at that level. I'm probably forgetting to call `set_image_infos_at_level` somewhere but I'm not sure where.
- There's a duplication of the internal texture format list with eg. the renderbuffer code, I wonder if there would be a good common place for it.

---
<!-- 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. -->
2020-04-30 10:13:18 -04:00
Martin Robinson
0ab4260d6b Split animation cancellation from update_style_for_animation
`update_style_for_animation` previously handled both canceling defunct
animations and also updating style to reflect current animation state.
This change splits those two concerns because we want to start handling
replaced or canceled animations and finished animations in two different
places.

This is a refactor, so ideally it shouldn't change any behavior.
2020-04-30 15:45:07 +02:00
Mátyás Mustoha
1431a389da Add support for WebGL2 MIN_PROGRAM_TEXEL_OFFSET
Improves the support of the WebGL2 `MIN_PROGRAM_TEXEL_OFFSET` property
(ie. stores it as a signed integer) and adds support for querying it
using GetParameter.

See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.2
2020-04-30 10:11:11 +02:00
Mátyás Mustoha
ff33b88f72 Add support for even more WebGL2 GetParameter enums
Adds support for the following new WebGL2 GetParameter values:

- `PACK_ROW_LENGTH`
- `PACK_SKIP_PIXELS`
- `PACK_SKIP_ROWS`
- `RASTERIZER_DISCARD`
- `UNPACK_IMAGE_HEIGHT`
- `UNPACK_ROW_LENGTH`
- `UNPACK_SKIP_IMAGES`
- `UNPACK_SKIP_PIXELS`
- `UNPACK_SKIP_ROWS`

See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.2
2020-04-30 10:09:52 +02:00
Josh Matthews
0c87590071 Update test results for macOS. 2020-04-30 00:21:50 -04:00
Josh Matthews
9ce84d94de webgl: Return TEXTURE_IMMUTABLE_FORMAT as a boolean; don't panic on macOS for TEXTURE_IMMUTABLE_LEVELS. 2020-04-30 00:21:49 -04:00
Josh Matthews
3876d6dbdd webgl: Add missing RGB8 texture format combination. 2020-04-30 00:21:49 -04:00
Josh Matthews
24a7f38600 Update test expectations. 2020-04-30 00:21:49 -04:00
Mátyás Mustoha
2e8ef1bc0b webgl: Update texture test results 2020-04-30 00:21:49 -04:00
Mátyás Mustoha
54b100b0f1 webgl: Fix tidy 2020-04-30 00:21:49 -04:00
Josh Matthews
29ab55d076 webgl: Fix support for float/half-float texture formats. 2020-04-30 00:21:49 -04:00
Mátyás Mustoha
8789a6a8d8 Add support for WebGL2 TexStorage2D
Adds initial support for the WebGL2 `TexStorage2D` call, adds
support for the related texture enums and enables some of the
texture tests.

See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.6
2020-04-30 00:21:48 -04:00
bors-servo
3bedd44026
Auto merge of #26354 - jdm:mmatyas__webgl_fns_getparam2, r=jdm
Add support for some more WebGL2 limit parameters

Adds support for the following new WebGL2 GetParameter values:

- `MAX_ELEMENT_INDEX`
- `MAX_ELEMENTS_INDICES`
- `MAX_ELEMENTS_VERTICES`
- `MAX_FRAGMENT_INPUT_COMPONENTS`
- `MAX_SAMPLES`
- `MAX_SERVER_WAIT_TIMEOUT`
- `MAX_TEXTURE_LOD_BIAS`
- `MAX_VARYING_COMPONENTS`
- `MAX_VERTEX_OUTPUT_COMPONENTS`

See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.2
2020-04-29 23:49:55 -04:00
complexengine
399ee3fee7
Update Ubuntu version upto 20.04
Update Ubuntu version upto 20.04
2020-04-30 09:10:31 +05:30
bors-servo
343f249c1d
Auto merge of #26352 - asajeffrey:webxr-glwindow-red-cyan, r=Manishearth
Add a pref for webxr glwindow anaglyphic red-cyan stereo

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

Allows us to test out 3D content using old-skule glasses.

---
<!-- 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 it's back end work

<!-- 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-04-29 22:06:23 -04:00