Commit graph

41537 commits

Author SHA1 Message Date
bors-servo
6aec2c8594
Auto merge of #26450 - PeterZhizhin:add_referrerpolicy_to_list_of_relevant_mutations, r=jdm
Add referrerpolicy to list of relevant mutations

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

`img.referrerPolicy` change now mutates the image.
Not all `referrerPolicy` attribute changes result in an image update event.
Only valid changes are reflected.

All referrerpolicy tests inside `relevant-mutations.html` WPT test now 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
- [x] These changes fix #26388

<!-- Either: -->
- [x] These have tests:
```
./mach test-wpt tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/relevant-mutations.html
```
2020-05-07 08:45:12 -04:00
PeterZhizhin
f44c2c9bc5 Added referrerpolicy as relevant mutation for img
This fixes #26388. referrerPolicy is now calls onload for image
mutations. Not all referrerPolicy attribute changes result in an image
update event. Only valid changes are reflected.

Referrerpolicy tests now pass.
2020-05-07 10:12:53 +03:00
bors-servo
856f03ae75
Auto merge of #26437 - servo:reftest-report, r=jdm
Generalize the 2020 regression report to show local unexpected failures

Example usage:

```
./mach test-wpt --release --layout-2020 --log-raw /tmp/servo.log
./tests/wpt/reftests-report/gen.py /tmp/servo.log
firefox ./tests/wpt/reftests-report/report.html
```

Produces a report similar https://community-tc.services.mozilla.com/api/index/v1/task/project.servo.layout-2020-regressions-report/artifacts/public/regressions.html, but showing unexpected reftest failures. The CI-generated one shows Layout 2020 failures (expected or not) that succeed in Layout 2013.
2020-05-07 01:05:44 -04:00
Simon Sapin
f524363667 Generate Layout 2020 regression report more than once 2020-05-07 07:04:37 +02:00
bors-servo
805258f2d7
Auto merge of #26446 - Manishearth:hands-openxr, r=asajeffrey
Update webxr

Brings in hand input
2020-05-07 00:37:11 -04:00
bors-servo
5ee1a48d82
Auto merge of #26455 - Eijebong:more-redirects, r=jdm
Properly set the url on the Response object when the response is an opaqueredirect
2020-05-06 17:41:30 -04:00
bors-servo
d8e6deb2ea
Auto merge of #26452 - mrobinson:animation-split-lists, r=jdm
Split animations and transitions into separate lists

This change splits the list of animations and transitions, which are
almost always handled differently. It also renames
`ElementAnimationState` to `ElementAnimationSet` and establishes an
`AnimationState` for every transition and animation. This allows us to
stop continually reallocating lists every time a transition or animation
needs to be canceled.

Fixes #14419.

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

<!-- 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-05-06 15:13:32 -04:00
bors-servo
9c88bfb345
Auto merge of #26451 - servo-wpt-sync:wpt_update_06-05-2020, r=jdm
Sync WPT with upstream (06-05-2020)

Automated downstream sync of changes from upstream as of 06-05-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-05-06 14:12:56 -04:00
Bastien Orivel
ec665d9dce Properly set the url on the Response object when the response is an opaqueredirect 2020-05-06 20:08:26 +02:00
Josh Matthews
788f83c954 Run url tests under python3. 2020-05-06 13:58:47 -04:00
Martin Robinson
b8874ad6ac Split animations and transitions into separate lists
This change splits the list of animations and transitions, which are
almost always handled differently. It also renames
`ElementAnimationState` to `ElementAnimationSet` and establishes an
`AnimationState` for every transition and animation. This allows us to
stop continually reallocating lists every time a transition or animation
needs to be canceled.

Fixes #14419.
2020-05-06 19:26:50 +02:00
WPT Sync Bot
c5ddf8e76a Update web-platform-tests to revision 07b698ef4ea02ebeb65c3214ed7141ad32678a8c 2020-05-06 13:09:52 +00:00
bors-servo
b290ad95c1
Auto merge of #26407 - mrobinson:animation-restyle-model, r=jdm
Have animations more closely match the HTML spec

These two commits do two major things:

**Have animations ticks trigger a restyle**: This corrects synchronization issues with animations,
where the values used in layout are out of sync with what is returned by `getComputedStyle`.

**Tick the animation timer in script according to spec**: This greatly reduces the flakiness of
animation and transitions tests.

Fixes #13865.

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

<!-- 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-06 04:12:31 -04:00
Manish Goregaokar
bb652a0e0b Update webxr 2020-05-05 22:01:05 -07:00
bors-servo
81b92b9c1a
Auto merge of #26438 - Eijebong:headers, r=jdm
Separate values in Headers with ", ", not ","

Tests expect header values to be separated by that so this fixes a few
of them.
2020-05-05 18:15:00 -04:00
Bastien Orivel
e18a3ad841 Separate values in Headers with ", ", not ","
Tests expect header values to be separated by that so this fixes a few
of them.
2020-05-06 00:11:34 +02:00
bors-servo
2471e9dcd0
Auto merge of #25357 - Eijebong:redirects, r=jdm
Fix a few things regarding redirects

See individual commits
2020-05-05 16:59:10 -04:00
Bastien Orivel
d86a429bd5 Update test expectations 2020-05-05 21:22:51 +02:00
Josh Matthews
4a1732a761 Remove outdated HTTP redirection handling code. 2020-05-05 21:22:51 +02:00
Bastien Orivel
2b28042446 Fix a mistake in the redirect fetch code
The spec says to ignore both HEAD and GET in step 11
2020-05-05 20:43:56 +02:00
Bastien Orivel
aa43ce8cf3 Fix the redirected attribute for Response 2020-05-05 20:43:56 +02:00
Bastien Orivel
566147dab3 Strip request-body-header when redirecting from a POST to GET
This doesn't change any expectation because we're not setting
response.redirected properly so all the tests fail later on when it's
asserted to be true.

Fixes #25257
2020-05-05 20:43:55 +02:00
bors-servo
6653b89b64
Auto merge of #26423 - asajeffrey:webxr-glwindow-blit, r=Manishearth
Workarounds for webxr glwindow on macos

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

Makes the default glwindow mode one which does blitting rather than using a shader, since that works on macos.

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

<!-- 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-05 14:19:42 -04:00
Martin Robinson
3a74013abc Start having animations conform to the HTML spec
This is a small step toward fixing #19242. The main idea is that the
clock for animations should advance as the event loop ticks. We
accomplish this by moving the clock from layout and naming it the
"animation timeline" which is the spec language. This should fix
flakiness with animations and transitions tests where a reflow could
move animations forward while script was running.

This change also starts to break out transition and animation events
into their own data structure, because it's quite likely that the next
step in fixing #19242 is to no longer send these events through a
channel.
2020-05-05 20:08:44 +02:00
bors-servo
a478aafa1f
Auto merge of #26399 - utsavoza:ugo/doc-fixes/03-05-2020, r=jdm
Update doc links and code snippet for trace implementation in JS-Servos-only-GC.md

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes update the outdated doc links and code snippet for trace implementation.
- [x] These changes do not require tests because these are doc fixes.
2020-05-05 12:11:14 -04:00
Alan Jeffrey
5c3f1c90f4 Workarounds for webxr glwindow on macos 2020-05-05 10:29:07 -05:00
bors-servo
a237e41b89
Auto merge of #26427 - servo-wpt-sync:wpt_update_05-05-2020, r=jdm
Sync WPT with upstream (05-05-2020)

Automated downstream sync of changes from upstream as of 05-05-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-05-05 11:05:22 -04:00
Josh Matthews
fc11b0830e
Remove interfaces.worker.js failure. 2020-05-05 11:04:46 -04:00
Josh Matthews
e0386543f5
Remove interfaces.html failure. 2020-05-05 11:04:22 -04:00
Josh Matthews
3cf9565a1a Add OptionalFeatureUnsupportedError to expected interfaces. 2020-05-05 09:59:49 -04:00
Martin Robinson
b585ce5b1f Use a restyle for animation ticks
This change corrects synchronization issues with animations, by
reworking the animation processing model to do a quick restyle and
incremental layout when ticking animations.

While this change adds overhead to animation ticks, the idea is that
this will be the fallback when synchronous behavior is required to
fulfill specification requirements. In the optimistic case, many
animations could be updated and applied off-the-main-thread and then
resynchronized when style information is queried by script.

Fixes #13865.
2020-05-05 15:13:35 +02:00
WPT Sync Bot
f3e7a5cac0 Update web-platform-tests to revision 3adb0f89d80bb92ea1a458b3fbe461f7803549a9 2020-05-05 10:56:33 +00:00
bors-servo
5e44327325
Auto merge of #26410 - utsavoza:ugo/issue-26287/04-05-2020, r=ferjm
Update window.open() to return fallible result

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes partially fix #26287
- [x] There are tests for these changes
2020-05-05 04:40:51 -04:00
bors-servo
173bfadaa7
Auto merge of #26418 - CrazyRoka:fix-fedora-installation-guide, r=jdm
Fix Fedora installation guide

Added necessary library to guide for successful installation on Fedora Linux.
Closes #26417
2020-05-04 21:44:31 -04:00
bors-servo
bdfd17f9a9
Auto merge of #26409 - servo-wpt-sync:wpt_update_04-05-2020, r=servo-wpt-sync
Sync WPT with upstream (04-05-2020)

Automated downstream sync of changes from upstream as of 04-05-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-05-04 20:32:16 -04:00
bors-servo
a5b37e7730
Auto merge of #26415 - atouchet:urls, 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. -->
2020-05-04 17:12:09 -04:00
bors-servo
d1b7b756a7
Auto merge of #26413 - servo:jdm-patch-41, r=asajeffrey
Use PYTHON2 variable for script's codegen.

This makes the python2 dependency a bit more explicit.
2020-05-04 15:22:58 -04:00
CrazyRoka
77422af5d0 Added necessary library for installation on Fedora linux 2020-05-04 21:43:38 +03:00
bors-servo
90e07d06c7
Auto merge of #26405 - servo:dependabot/cargo/gstreamer-0.15.5, r=jdm
Bump gstreamer from 0.15.3 to 0.15.5

Bumps gstreamer from 0.15.3 to 0.15.5.

[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=gstreamer&package-manager=cargo&previous-version=0.15.3&new-version=0.15.5)](https://dependabot.com/compatibility-score/?dependency-name=gstreamer&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 13:44:26 -04:00
Alex Touchet
5166cc35f4
Update some URLs 2020-05-04 10:26:35 -07:00
dependabot-preview[bot]
1c01726d56
Bump gstreamer from 0.15.3 to 0.15.5
Bumps gstreamer from 0.15.3 to 0.15.5.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-04 16:47:01 +00:00
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
Simon Sapin
494e28bbcd Generalize the 2020 regression report to show local unexpected failures 2020-05-04 18:18:48 +02: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
Josh Matthews
0148cc5cf9
Update error message. 2020-05-04 11:52:49 -04:00
Josh Matthews
39fff93bef
Use PYTHON2 variable for script's codegen. 2020-05-04 11:52:22 -04: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
Utsav Oza
86a5cf75aa Update window.open() to return fallible result 2020-05-04 19:02:38 +05:30