Commit graph

2198 commits

Author SHA1 Message Date
WPT Sync Bot
ea44238f3a Update web-platform-tests to revision b'6aa16a6888fcf6dd3ee2eac2e911c2d7c353d193' 2023-04-25 11:40:51 +00:00
WPT Sync Bot
75286b8eab Update web-platform-tests to revision b'f0b66362cc5dec54d81e0a56458b48f310a2eba9' 2023-04-16 01:29:26 +00:00
WPT Sync Bot
b8f194326b Update web-platform-tests to revision b'a877a8f14afc4b3a1d438cd5a9bfd7cd029111b7' 2023-04-12 01:24:06 +00:00
bors-servo
59df8e3856
Auto merge of #29597 - servo:wpt_update_07-04-2023, r=mrobinson
Sync WPT with upstream (07-04-2023)

Automated downstream sync of changes from upstream as of 07-04-2023
[no-wpt-sync]
r? @servo-wpt-sync
2023-04-07 16:48:08 +02:00
Martin Robinson
2770b4c9bb Enable CSS position tests and add results
This also removes imported position: sticky tests from the Mozilla
directory. These were only supposed to be temporary until the upstream
version from WPT were imported.
2023-04-07 11:09:28 +02:00
WPT Sync Bot
bb34f95b33 Update web-platform-tests to revision b'1d9b01e2fad6af3a057d571b1e088e15fa9bc8e6' 2023-04-07 01:30:49 +00:00
WPT Sync Bot
7bf23c63b3 Update web-platform-tests to revision b'2703c75d5e889bb7c6a918de44841bf9de8d63a7' 2023-03-25 01:54:46 +00:00
WPT Sync Bot
90b96becef Update web-platform-tests to revision b'62c17eac9f99db2ea4e213328c9c6122136694cc' 2023-03-22 01:37:18 +00:00
WPT Sync Bot
4e30ee5e08 Update web-platform-tests to revision b'065cf84e9f00d1c11faf2a41e500a73ad6b95a48' 2023-03-21 01:40:05 +00:00
WPT Sync Bot
3b420af385 Update web-platform-tests to revision b'afdce893ed51bc1a7a7ac03b16b5a575caad071a' 2023-03-17 01:55:41 +00:00
WPT Sync Bot
2ebdfcea9d Update web-platform-tests to revision b'3ee7ccc2abbbc8d8f6efbb45f80bffdb3c0c76ba' 2023-03-11 01:46:58 +00:00
WPT Sync Bot
0431e20517 Update web-platform-tests to revision b'14684f837eba364df3de2b6683d4eb5385333158' 2023-03-08 02:09:14 +00:00
WPT Sync Bot
59944f9e42 Update web-platform-tests to revision b'e731a1368a9d3436487e0996ecfebbef5a58f485' 2023-03-06 01:45:09 +00:00
WPT Sync Bot
84de92ecaf Update web-platform-tests to revision b'2d1ad05908ee5447fdfa70eed9757273aa5da367' 2023-03-05 01:42:13 +00:00
WPT Sync Bot
e8bd8b22fa Update web-platform-tests to revision b'1393983442315fc6a96bacda5202036ca10327e3' 2023-03-03 03:18:30 +00:00
WPT Sync Bot
17f4d58879 Update web-platform-tests to revision b'3b791e5b10812a4ca4473d93679fc70d1a7f5f88' 2023-03-02 01:49:57 +00:00
WPT Sync Bot
d2eeed132b Update web-platform-tests to revision b'49287d0e660dd6704c508ef20c9d53c13aee296b' 2023-03-01 01:42:49 +00:00
WPT Sync Bot
6d6ac7bedf Update web-platform-tests to revision b'5b72ee9b50ae6898c94fe3ab50f4c68d4572977c' 2023-02-28 01:47:36 +00:00
WPT Sync Bot
632afc64ae Update web-platform-tests to revision b'c9f81de4242294a0d694ecd5a63155acfe6bf49a' 2023-02-25 01:52:07 +00:00
WPT Sync Bot
496ae4e174 Update web-platform-tests to revision b'b3615436df24bedfdc4f14f959428307a86f74ce' 2023-02-21 01:39:27 +00:00
WPT Sync Bot
489f4ac90d Update web-platform-tests to revision b'49819d78d44b87d5ebb076c5b005dcbfc630c24f' 2023-02-20 01:57:35 +00:00
WPT Sync Bot
5867b3554a Update web-platform-tests to revision b'96ef5777e50f7ed8f54b91525002d6708fc097d7' 2023-02-19 01:39:19 +00:00
WPT Sync Bot
812c6de70b Update web-platform-tests to revision b'45fdf45f79582953fb3aa708566cd2c0707cb222' 2023-02-18 01:43:43 +00:00
yvt
effd5a3107 fix(script): request animation ticks if Animations::pending_events is not empty
Fixes the test case `/_mozilla/css/css-transition-cancel-event
.html`, which was failing under a specific circumstance.

The observed sequence of events during the failing test run looks like
this:

1. Transitions start in `div1` and `div2`.

2. `div1` generates a `transitionend` event.

3. The `transitionend` event handler removes `div2` from DOM, cancelling
   its ongoing transition.

4. `div2` is supposed to generate a `transitioncancel` event in a timely
   manner, which it does not. The test fails as a result.

What is going on here? Here's a possible explaination:

1. During one invocation of `ScriptThread::handle_msgs`...

2. In step 2, `ScriptThread::update_animations_send_events` -> `Document
   ::update_for_new_timeline_value` detects the completion of the
   transition, and in response, pends the `transitionend` event.

3. In step 3, `ScriptThread::update_animations_send_events` ->
   `Animations::send_pending_events` calls the `transitionend` handler.

4. The `transitionend` event handler removes `div2`, thereby cancelling
   its ongoing transition and triggering a reflow.

5. Reflow takes place. During this, `Animations::do_post_reflow_update`
   -> `Animations::handle_canceled_animations` pends the
   `transitioncancel` event (precursor to step 4).

6. Having discovering that there was no running animation, `Animations::
   do_post_reflow_update` calls `self.update_running_animation_presence
   (_, false)`, which sends `AnimationState::NoAnimationsPresent`.

7. The invocation of `ScriptThread::handle_msgs` ends, and another
   starts. It blocks waiting for events.

8. Meanwhile, the compositor receives `AnimationState::
   NoAnimationsPresent` and stops further generation of animation ticks.

9. With no events to wake it up, the script thread is stuck waiting
   despite having the pending `transitioncancel` event (step 4).

The HTML specification [says][1] that "an event loop must continually
run [...] as long as it exists" and does not say it can block if there
is nothing to do. Blocking is merely optimization in a user agent
implementation. Pending animation-related events must be processed every
time a "rendering opportunity" arises unless the user agent has a reason
to believe that it "would have no visible effect".

Skipping the processing of animation-related events would have visible
effect if such events are indeed present. The correct implementation in
Servo, therefore, would be to request more animation ticks so that such
events are processed in a subsequent tick.

[1]: https://html.spec.whatwg.org/multipage/#event-loop-processing-model
2023-02-10 14:44:27 +01:00
WPT Sync Bot
ec63c43030 Update web-platform-tests to revision b'd1192ca239e944dc6cdbcd079e1c16227e08e30c' 2023-02-02 01:55:40 +00:00
WPT Sync Bot
879f987fc2 Update web-platform-tests to revision b'7b1babebddf2f0fdd866fa8b83b8621b86590fc9' 2023-01-29 01:42:28 +00:00
WPT Sync Bot
32cc2e03c4 Update web-platform-tests to revision b'544363de4568baf9ae90d71e4822661edc546650' 2023-01-28 01:52:20 +00:00
WPT Sync Bot
cda7a10498 Update web-platform-tests to revision b'89142292ab8c7f3564d978a76fdabc66626c421e' 2023-01-26 01:45:06 +00:00
WPT Sync Bot
a6bc3e1a73 Update web-platform-tests to revision b'704eebbe6af5b43643971e96e33a0c979fba2904' 2023-01-25 01:36:16 +00:00
WPT Sync Bot
02cb6d44e5 Update web-platform-tests to revision b'ece751218b0ba35e99fa900bfd2a2d89c4bb69da' 2023-01-22 01:42:09 +00:00
WPT Sync Bot
92be0baf34 Update web-platform-tests to revision b'8a99353217938b6f1da31a9a108da3d501cee58b' 2023-01-20 01:41:09 +00:00
WPT Sync Bot
1c6b303ef2 Update web-platform-tests to revision b'2d7c53f5bc604132d2c83955537e454ee9c788c0' 2023-01-18 01:48:18 +00:00
bors-servo
aaca4543fc
Auto merge of #29235 - servo:better-exceptions, r=jdm
Stringify unknown JavaScript objects in global exception handlers

When turning DOM exceptions into `ErrorInfo` always try to stringify
the JavaScript value, even if it's an object that isn't a `DOMException`
or native exception.  This means that exceptions that extend the `Error`
prototype are now stringified. The result is that test output for WPT
global assertion failures is more useful. For instance for the test
include-frames-from-child-same-origin-grandchild.sub.html:

Before:
```
uncaught exception: unknown (can't convert to string)
```

After:
```
uncaught exception: Error: assert_equals: expected 4 but got 3
```
---

<!-- 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.
2023-01-17 17:16:45 +01:00
Martin Robinson
e68ebd2617 Stringify unknown JavaScript objects in global exception handlers
When turning DOM exceptions into `ErrorInfo` always try to stringify
the JavaScript value, even if it's an object that isn't a `DOMException`
or native exception.  This means that exceptions that extend the `Error`
prototype are now stringified. The result is that test output for WPT
global assertion failures is more useful. For instance for the test
include-frames-from-child-same-origin-grandchild.sub.html:

Before:
```
uncaught exception: unknown (can't convert to string)
```

After:
```
uncaught exception: Error: assert_equals: expected 4 but got 3
```
2023-01-12 19:57:51 +01:00
WPT Sync Bot
fb586f68cc Update web-platform-tests to revision b'8ff38c54ff3fab31f862570a38e73755785ba7ee' 2023-01-11 02:40:26 +00:00
WPT Sync Bot
71255b8ef7 Update web-platform-tests to revision b'8e8075e9b5d932def46c3e36f41435baa9726a2f' 2023-01-09 01:36:13 +00:00
WPT Sync Bot
fd56698ec7 Update web-platform-tests to revision b'421155a1c8752a36b465e62f466b18f821190e08' 2023-01-08 01:57:36 +00:00
WPT Sync Bot
fe5988549d Update web-platform-tests to revision b'f6ca9770e448b058b51b46ada9c257acb39c68fb' 2022-12-29 01:37:51 +00:00
WPT Sync Bot
81ce957720 Update web-platform-tests to revision b'2a23f5b2388fc73716c6c4abefbfd6e1cc1cf35d' 2022-12-26 01:35:18 +00:00
WPT Sync Bot
a04daa7e71 Update web-platform-tests to revision b'e64f8298db78f39737eefedf5f59b99ba98d309b' 2022-12-24 01:30:45 +00:00
WPT Sync Bot
4e2c1b7804 Update web-platform-tests to revision b'7c349a39c8b89de423a60c7ef461f9f47f4e5821' 2022-12-19 01:20:21 +00:00
WPT Sync Bot
6337336fab Update web-platform-tests to revision b'4a4653e088039aec186d6dc1d488120d77695c3a' 2022-12-11 01:19:52 +00:00
WPT Sync Bot
274846e69e Update web-platform-tests to revision b'b7c1d80f991820c17aaae0477052c30d7f699eba' 2022-11-30 01:48:52 +00:00
WPT Sync Bot
831ab387a5 Update web-platform-tests to revision b'9be67046d1f0d57d0d4fba089f151ef044572f5d' 2022-11-26 01:29:07 +00:00
WPT Sync Bot
4031d79cea Update web-platform-tests to revision b'4435c35d9085ed2be61e64d0093b8e1b0e7a877b' 2022-11-25 01:25:18 +00:00
bors-servo
901b76297d
Auto merge of #29079 - jdm:sm107, r=jdm
Upgrade to spidermonkey 107

This successfully loads servo.org and google.com on macOS, so that means it's time for tests!
2022-11-23 10:05:42 -05:00
Josh Matthews
b5c142f692 Update test results. 2022-11-23 10:04:52 -05:00
WPT Sync Bot
22c54a8ce0 Update web-platform-tests to revision b'e89b6eb4952b217c1a7b6540b0fe2613b0b09c54' 2022-11-21 01:23:19 +00:00
WPT Sync Bot
8f33a04929 Update web-platform-tests to revision b'e89b6eb4952b217c1a7b6540b0fe2613b0b09c54' 2022-11-20 01:27:11 +00:00
WPT Sync Bot
a1db4c746d Update web-platform-tests to revision b'099ab08227717e000b444ff560e93f96b49e05d7' 2022-11-17 01:25:16 +00:00