Commit graph

9347 commits

Author SHA1 Message Date
Martin Robinson
e901fa2c39 Cancel animations for nodes which are removed from the DOM
This includes nodes which are being reparented.
2020-06-17 16:35:06 +02:00
bors-servo
d9b2cf53e8
Auto merge of #26922 - gterzian:shutdown_webrender, r=jdm
Blockingly shut-down webrender api

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

FIX https://github.com/servo/servo/issues/26876

---
<!-- 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-06-17 08:55:43 -04:00
WPT Sync Bot
ea69dac266 Update web-platform-tests to revision 84e71a84b79199bc307866bbe0edcbcc7c4752ce 2020-06-17 10:26:55 +00:00
Gregory Terzian
59896748b5 blockingly shut-down webrender when exiting webgl_thread 2020-06-17 13:47:13 +08:00
bors-servo
6d9b2eef29
Auto merge of #26943 - jdm:promise-incumbent, r=Manishearth
Fix panic on vimeo.com

The only time we end up enqueuing a promise reaction job with a null incumbent global argument is when SpiderMonkey does some weird stuff behind the scenes for its JS Debugger support (based on https://searchfox.org/mozilla-central/rev/2c1092dc68c63f7bad6da6a03c5883a5ab5ff2ca/js/src/builtin/Promise.cpp#3168). This commit works around that case and adds a regression test so we don't forget about that in the future.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #26930
- [x] There are tests for these changes
2020-06-16 20:03:28 -04:00
bors-servo
0ce03d4dc0
Auto merge of #26929 - jdm:dict-jsval, r=nox
Convert parent dictionary values when converting dictionaries to JS

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #26928
- [x] There are tests for these changes OR
2020-06-16 19:27:53 -04:00
Josh Matthews
edf86d1bdc dom: Convert parent dictionary values when converting dictionaries to JS. 2020-06-16 17:34:30 -04:00
bors-servo
596e9105c5
Auto merge of #26875 - servo:jdm-patch-44, r=gterzian
Don't pretend we support SharedArrayBuffer.

Fixes #26874.
2020-06-16 17:27:07 -04:00
Josh Matthews
2e4cee9971 dom: Avoid panic when SpiderMonkey enqueues dummy promise jobs. 2020-06-16 17:21:18 -04:00
Josh Matthews
83578265b4 Don't pretend we support SharedArrayBuffer. 2020-06-16 14:39:20 -04:00
bors-servo
16a99daa22
Auto merge of #26906 - gterzian:fix_streams_and_re-direct, r=Manishearth
Fix streaming request bodies

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

FIX #26904

At this point I'm not sure if the hyper `Body::wrap_stream` integration by way of the IPC route is broken, or if perhaps there is a problem with the WPT server not handling the requests properly, as I am getting a bunch of:

```
 0:04.54 INFO STDERR: 127.0.0.1 - - [13/Jun/2020 18:22:08] code 400, message Bad request syntax ('4')
 0:04.54 INFO STDERR: 127.0.0.1 - - [13/Jun/2020 18:22:08] "4" 400 -
```

In any case, the `start_reading` call in `body.rs` had to be put into the other function, since it should not be called for each chunk(this was actually failing before).

I've also added the chunked header in case the source is a stream.

Last thing to figure out, why is the request data not actually reaching the server, or not being handled properly by it.

---
<!-- 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-06-16 13:01:20 -04:00
bors-servo
a84b06065b
Auto merge of #26923 - mrobinson:pseudo-animations-2, r=emilio
Add animation and transition support for pseudo-elements

This change extends the DocumentAnimationSet to hold animations for
pseudo-elements. Since pseudo-elements in Servo are not in the DOM like
in Gecko, they need to be handled a bit carefully in stylo.  When a
pseudo-element has an animation, recascade the style. Finally, this
change passes the pseudo-element string properly to animation events.

---
<!-- 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 #10316
- [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-06-16 12:05:05 -04:00
Martin Robinson
f3e373bc62 Add animation and transition support for pseudo-elements
This change extends the DocumentAnimationSet to hold animations for
pseudo-elements. Since pseudo-elements in Servo are not in the DOM like
in Gecko, they need to be handled a bit carefully in stylo.  When a
pseudo-element has an animation, recascade the style. Finally, this
change passes the pseudo-element string properly to animation events.

Fixes: #10316
2020-06-16 16:33:55 +02:00
WPT Sync Bot
1a24e35f18 Update web-platform-tests to revision 4af6af604800559d2c58cf3561621ae43e28aaa8 2020-06-16 10:58:22 +00:00
Gregory Terzian
719b395c40 fix streaming request bodies, terminate fetch if the body stream errors 2020-06-16 13:14:38 +08:00
bors-servo
f31d345c81
Auto merge of #26902 - jdm:focus-fixes, r=nox
Focus correctness improvements

These changes improve the behaviour of focus in Hubs rooms, and are expected to improve web compat around other dynamic pages that receive keyboard events as well.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #26901 and fix #26900.
- [x] There are tests for these changes
2020-06-15 11:49:30 -04:00
Josh Matthews
d55424e88f Update document focus when element focusability changes. 2020-06-15 11:22:28 -04:00
bors-servo
74cd81b8ce
Auto merge of #26909 - MDeiml:layout2020-visibility, r=SimonSapin
Implement visibility for layout_2020

<!-- Please describe your changes on the following line: -->
Implement the 'visibility: hidden' (and 'visibility: collapse') css properties.

---
<!-- 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 #26841 (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-06-14 13:35:56 -04:00
Josh Matthews
00ef7b1e2a
Remove intermittent crash. 2020-06-14 10:33:56 -04:00
Josh Matthews
9c3cdb39c1
Remove intermittent crash. 2020-06-14 10:33:40 -04:00
Matthias Deiml
6701ded991 Update expected wpt results 2020-06-14 13:19:55 +02:00
WPT Sync Bot
eea93fa4b1 Update web-platform-tests to revision ef14c5bc0da3d3c0f642a3195a9e41433d36a5ba 2020-06-14 10:25:42 +00:00
WPT Sync Bot
1d538279c7 Update web-platform-tests to revision 04caec1f4f239a2f1b36b6eaa5017f421b242694 2020-06-13 10:50:59 +00:00
bors-servo
721271dcd3
Auto merge of #26697 - utsavoza:ugo/issue-11681/22-05-2020, r=jdm
Implement CanvasRenderingContext2d.fillText

The PR consists of broadly two main changes:
- Implementation of Canvas2dRenderingContext.font
- Basic implementation of Canvas2dRenderingContext.fillText

Although I am not fully sure about the long term goals for the canvas backend in Servo, I assumed limited scope for font and text handling (should support simple text drawing with font selection) in the current implementation as I believe a more complete implementation would eventually be brought in as a part of #22957.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #11681
- [x] There are tests for these changes
2020-06-12 13:43:51 -04:00
Josh Matthews
502f34a9db Add canvas font test failure. 2020-06-12 13:00:36 -04:00
bors-servo
15e75254d4
Auto merge of #26873 - jdm:updatewr2, r=ferjm
Update webrender.
2020-06-12 11:19:13 -04:00
WPT Sync Bot
77784e512e Update web-platform-tests to revision d23db97703021bdeb4ec21ff5ce3e9de54dd4d85 2020-06-12 10:47:14 +00:00
Josh Matthews
b39955df67 Update webrender. 2020-06-11 14:07:39 -04:00
Josh Matthews
6cf4a0239c
Add 2020 failure. 2020-06-11 09:47:15 -04:00
Josh Matthews
f62ab60d97
Remove incorrectly named directory. 2020-06-11 09:46:49 -04:00
Josh Matthews
f655672243
Add 2020 failure. 2020-06-11 09:46:11 -04:00
Josh Matthews
1ca89267f2
Remove 2013 failure. 2020-06-11 09:45:39 -04:00
Josh Matthews
c551ed1398
Add 2020 failure. 2020-06-11 09:45:18 -04:00
WPT Sync Bot
71a09c2c01 Update web-platform-tests to revision 59b44d7f1299fd1da23d4bf1f0ffdee3f2b7206c 2020-06-11 10:50:21 +00:00
bors-servo
9e528b8124
Auto merge of #26806 - mrobinson:animations-cascade, r=emilio
Include animations and transitions in the cascade

Instead of applying animations and transitions to styled elements,
include them in the cascade. This allows them to interact properly with
things like font-size and !important rules.

<!-- 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] 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-06-10 14:14:03 -04:00
Utsav Oza
6c86429082 Update web-platform-tests metadata 2020-06-10 23:15:00 +05:30
Martin Robinson
af0bb1f728 animations: Don't always re-resolve the node style
When animations and transitions change don't always re-resolve node
style, just replace the animation and transition rules and re-cascade.
2020-06-10 17:03:58 +02:00
WPT Sync Bot
7ef7c78b1b Update web-platform-tests to revision 57727f82763c80c89a94593a7b0960abcf4daa4a 2020-06-10 10:42:31 +00:00
bors-servo
1a561242cf
Auto merge of #26831 - servo-wpt-sync:wpt_update_09-06-2020, r=jdm
Sync WPT with upstream (09-06-2020)

Automated downstream sync of changes from upstream as of 09-06-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-06-09 23:51:15 -04:00
bors-servo
7eacfa4f0d
Auto merge of #26823 - jdm:single-renderapi, r=asajeffrey
Update webrender

These changes reflect changes in webrender's API that make RenderApiSender and RenderApi objects more challenging to share. This PR moves us to a model where:
* the compositor owns the main RenderApi object
* other threads that need to create transactions or manipulate fonts proxy those operations to the compositor (script/layout use IPC, while other threads use non-IPC channels)
* the webgl thread owns its own independent RenderApi
2020-06-09 19:34:08 -04:00
Josh Matthews
4c6f01b60a
Fix 2020 result. 2020-06-09 17:50:51 -04:00
Josh Matthews
8ab195652e
Fix 2020 result. 2020-06-09 17:50:28 -04:00
bors-servo
cb4e3cb16a
Auto merge of #26758 - jdm:stacking-context-transform-zero, r=mrobinson
Don't create empty stacking contexts in display lists

A recent change to euclid exposed that our display lists can contain Rects that contain NaN values. These NaNs originate from creating stacking contexts with transforms that scale the horizontal or vertical dimensions to 0. WebRender isn't prepared to handle these, so we need to not produce these empty stacking contexts when building the display list.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #26592 and fix #26590
- [x] There are tests for these changes
2020-06-09 13:37:30 -04:00
Josh Matthews
c88bea8d93 Update mix-blend-mode reftest results. 2020-06-09 13:05:16 -04:00
Josh Matthews
2a83b80eed Add reftest for empty stacking contexts. 2020-06-09 11:30:18 -04:00
bors-servo
8e3d12bfcb
Auto merge of #26794 - gterzian:update_xhr, r=jdm
Update XHR send to use XMLHttpRequestBodyInit

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

FIX #26723

---
<!-- 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-06-09 10:25:11 -04:00
WPT Sync Bot
2a42c14544 Update web-platform-tests to revision a5cb9597799c5f9bf0a809006161a0c50055828f 2020-06-09 10:26:43 +00:00
Martin Robinson
364235ac0c Include animations and transitions in the cascade
Instead of applying animations and transitions to styled elements,
include them in the cascade. This allows them to interact properly with
things like font-size and !important rules.
2020-06-09 11:41:07 +02:00
Gregory Terzian
a97d2e3b9b xhr: update test-suite to reflect use of XMLHttpRequestBodyInit 2020-06-09 13:17:24 +08:00
bors-servo
0645d8c36d
Auto merge of #26805 - mrobinson:add-pseudo-tag-to-layout-2020, r=SimonSapin
layout_2020: Tag fragments with their pseudo content type

This will allow us to answer queries and properly handle animations in
the future for fragments generated for pseudo content.

<!-- 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] 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-06-06 13:26:19 -04:00