Commit graph

1854 commits

Author SHA1 Message Date
Josh Matthews
2498808d10 dom: Silently ignore failures to queue websocket tasks. 2020-06-19 01:45:02 -04:00
Martin Robinson
f92164144e animations: Don't apply animation delay to every iteration
The delay should only be applied to the animation before the first
iteration.
2020-06-18 16:36:14 +02: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
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
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
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
Gregory Terzian
bd5796c90b integrate readablestream with fetch and blob 2020-06-04 11:38:35 +08:00
Martin Robinson
77aa3721c5 Add support for remaining animation and transition events
Fixes #21564.
2020-05-26 20:34:58 +02:00
bors-servo
2fd427270d
Auto merge of #26609 - mrobinson:improve-transition-finishing, r=jdm
Improve ending of transitions

For legacy reasons, transitions were marked as finished after updating the
style. According to the spec, they should be marked as finished when
animations are updated and before restyle. This change does that as well
as preventing replacement of finished transitions.

Having finished transitions survive a full restyle cycle and allowing
the replacement of finished transition could lead to issues where
animations are removed from the global list of animating transitions
too soon:

 1. A transitions finishes
 2. Restyle
 3. The transition is marked as finished and events are queued
 4. Restyle cancels finished transition and replaces it instead of
    clearing finished transition
 5. Events are sent for the incorrectly canceled transition, removing it
    completely from the list of running transitions due to the extra
    event.

---
<!-- 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
2020-05-25 11:07:50 -04:00
Josh Matthews
d3867c32db Add a preference to control ImageBitmap while it's incomplete. 2020-05-23 11:43:15 -04:00
Martin Robinson
218beb9218 Improve ending of transitions
For legacy reasons, transitions were marked as finished after updating the
style. According to the spec, they should be marked as finished when
animations are updated and before restyle. This change does that as well
as preventing replacement of finished transitions.

Having finished transitions survive a full restyle cycle and allowing
the replacement of finished transition, could lead to issues were
removed from the global list of animating transitions too soon:

 1. A transitions finishes
 2. Restyle
 3. Transitions is marked as finished and events are queued
 4. Restyle cancels finished transition and replaces it instead of
    clearing finished transition
 5. Events are sent for the incorrectly canceled transition removing it
    completely from the list of running transitions due to the extra
    event.
2020-05-21 19:56:29 +02:00
bors-servo
b22e34fb74
Auto merge of #26317 - gterzian:fix_job_queue, r=asajeffrey
ServiceWorker: restructure Job Queue, Register flow, to better match spec

<!-- 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 #26108 (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-21 01:22:31 -04:00
Gregory Terzian
89eb7c2aa2 serviceworker: make job queue unique per origin 2020-05-21 13:21:21 +08:00
Martin Robinson
4ba15c33e3 Add support for faster reversing of interrupted transitions
This is described in the spec and allows interrupted transitions to
reverse in a more natural way. Unfortunately, most of the tests that
exercise this behavior use the WebAnimations API. This change adds a
test using our custom clock control API.
2020-05-20 16:25:27 +02:00
Martin Robinson
183f15d5aa Implement animation-fill-mode
Fixes #26460.
2020-05-17 20:42:57 +02:00
Martin Robinson
a024ecccba Update WPT expectations 2020-05-15 13:37:09 +02: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
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
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
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
Manish Goregaokar
2a579668f5 Update interfaces.html test 2020-04-19 20:29:14 -07:00
Manish Goregaokar
7f353033f4 Support .supportedModes to enable newer tests 2020-04-19 20:29:14 -07:00
Alan Jeffrey
8bb1732258 Update surfman to 0.2 and remove glutin 2020-04-17 23:44:53 -05:00
Alan Jeffrey
fda8da0e9d Added first-cut implementation of XR layers 2020-04-13 13:57:58 -05:00
CYBAI
99a8ea26a1 Update checking origin trustworthy align to spec 2020-04-13 10:23:00 +09:00
Manish Goregaokar
58bab8a7e9 Add test for overloading with interface and dict 2020-04-09 12:31:13 -07:00
Daniel Alley
61fb84d6a0 Don't send empty canvases to WebRender
If any dimension of a canvas is 0, don't try to render it as it causes
problems inside webrender.
2020-04-03 11:34:04 -04:00
bors-servo
516279e24f
Auto merge of #26074 - jdm:transition-fix, r=SimonSapin
Avoid infinitely looping CSS transitions.

This change addresses the long-standing issue of CSS transitions not ending appropriately. It does not fundamentally change the way we process transitions/animations.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #20379
- [x] There are tests for these changes
2020-04-01 15:19:15 -04:00
Josh Matthews
2bb6ab4567 Avoid infinitely looping CSS transitions. 2020-04-01 12:13:52 -04:00
santoshpavan
8c405546a2 Implement ImageBitmap interface
Implementation of ImageBitmap

ImageBitMap webidl file added

Implementation of ImageBitmap

mentioned the correct origin link

basic new and new_inherited

updated the mod.rs file to include imagebitmap

imagebitmap implemented

changed according to Serialization

implemented serializable

get methods for width and height

basic imagebitmap

added missing crates

added Vec and missing crates

Syntax fixes

Reformatting and minor error fixes

Implementation of  ImageBitmap

tidy-test runs

Took out extra parameters in reflect_dom_object call

added comments with specification links for webidl functions

changing the code based on review comments

adding resolved changes form the pull request

Changes based on pr review

Changes based on pr review

ran test-tidy and fmt

removed the duplicate crate

removed unnecessary crates

Kept only the relevant crate import

Updated test expectations, exposed interface list, and manifest
2020-03-30 15:52:15 -04:00
WPT Sync Bot
02d2f1860a Update web-platform-tests to revision 53876e32d827db82f4b7af38053529302c243d40 2020-03-07 13:28:59 +00:00
bors-servo
62afb52f84
Auto merge of #25917 - servo-wpt-sync:wpt_update_06-03-2020, r=servo-wpt-sync
Sync WPT with upstream (06-03-2020)

Automated downstream sync of changes from upstream as of 06-03-2020.
[no-wpt-sync]
r? @servo-wpt-sync
2020-03-06 15:16:20 -05:00
WPT Sync Bot
5b34e16ada Update web-platform-tests to revision 6d7f862e4afa43d45bb3f800c457e9f746cd8730 2020-03-06 13:37:34 +00:00
Anthony Ramine
5a4f8cf93f Update SpiderMonkey 2020-03-06 11:13:28 +01:00
WPT Sync Bot
5a55ae1b13 Update web-platform-tests to revision 2be2d7e3abcde5baded3448b85d0bb88e58d3cf7 2020-02-25 11:29:59 +00:00
Gregory Terzian
99e4d740e4 update broadcastchannel test to reflect closed check move into queued task. 2020-02-25 14:17:55 +08:00
JavaScript Joe
30f474312f refactor: rename XR to XRSystem
chore: fix formatting
refactor: change filename and ref to xrsystem
refactor: change filename XRSystem.webidl
refactor: update crate in navigator
refactor: use XRSystem instead of XR in navigator
refactor: update Bindings.conf
refactor: use XRSystemMethods

fix: update assertions for XRSystem

fix: update manifest json
2020-02-23 14:34:42 -08:00
Gregory Terzian
6c02e5da4d expect dom syntax error in window postmessage sameorigin test 2020-02-20 21:56:47 +08:00