diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2018-12-10 18:04:49 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-10 18:04:49 -0500 |
commit | eeaca0b26d4bd46668fb792dccfbee0111982f6a (patch) | |
tree | 3cd73855120fdfcbbf962707c6c3f1424cca97c1 /components/script | |
parent | a04200ae795d6f177ed77e9f826a8151f48d78ec (diff) | |
parent | ed74b898a5a5a7227ab68ce7ca68a540fc4dde9a (diff) | |
download | servo-eeaca0b26d4bd46668fb792dccfbee0111982f6a.tar.gz servo-eeaca0b26d4bd46668fb792dccfbee0111982f6a.zip |
Auto merge of #22389 - jdm:anim-complete, r=emilio,ferjm
Cancel animations that affect nodes that do not participate in layout.
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #22378
- [x] There are tests for these changes
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22389)
<!-- Reviewable:end -->
Diffstat (limited to 'components/script')
-rw-r--r-- | components/script/dom/webidls/Window.webidl | 5 | ||||
-rw-r--r-- | components/script/dom/window.rs | 8 |
2 files changed, 12 insertions, 1 deletions
diff --git a/components/script/dom/webidls/Window.webidl b/components/script/dom/webidls/Window.webidl index e438017954b..1679fa42887 100644 --- a/components/script/dom/webidls/Window.webidl +++ b/components/script/dom/webidls/Window.webidl @@ -173,3 +173,8 @@ partial interface Window { readonly attribute TestRunner testRunner; //readonly attribute EventSender eventSender; }; + +partial interface Window { + [Pref="css.animations.testing.enabled"] + readonly attribute unsigned long runningAnimationCount; +}; diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs index d7f6a45257a..d8353157cc1 100644 --- a/components/script/dom/window.rs +++ b/components/script/dom/window.rs @@ -74,7 +74,7 @@ use devtools_traits::{ScriptToDevtoolsControlMsg, TimelineMarker, TimelineMarker use dom_struct::dom_struct; use embedder_traits::EmbedderMsg; use euclid::{Point2D, Rect, Size2D, TypedPoint2D, TypedScale, TypedSize2D, Vector2D}; -use ipc_channel::ipc::IpcSender; +use ipc_channel::ipc::{channel, IpcSender}; use ipc_channel::router::ROUTER; use js::jsapi::JSAutoCompartment; use js::jsapi::JSContext; @@ -1144,6 +1144,12 @@ impl WindowMethods for Window { self.test_runner.or_init(|| TestRunner::new(self.upcast())) } + fn RunningAnimationCount(&self) -> u32 { + let (sender, receiver) = channel().unwrap(); + let _ = self.layout_chan.send(Msg::GetRunningAnimations(sender)); + receiver.recv().unwrap_or(0) as u32 + } + // https://html.spec.whatwg.org/multipage/#dom-name fn SetName(&self, name: DOMString) { self.window_proxy().set_name(name); |