Commit 877ab646 authored by Kuo Jen Wei's avatar Kuo Jen Wei Committed by Commit Bot

CCA: Resolved when animation cancelled in animateOnce().

Bug: 1087777
Test: tast run <DUT> camera.CCAUIIntent

Change-Id: I98bdafe9f131fc5b3e2b8194e9687f9a1b491fda
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2224937
Commit-Queue: Kuo Jen Wei <inker@chromium.org>
Commit-Queue: Shik Chen <shik@chromium.org>
Auto-Submit: Kuo Jen Wei <inker@chromium.org>
Reviewed-by: default avatarShik Chen <shik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#774013}
parent c8199c95
...@@ -176,8 +176,8 @@ export function animateCancel(element) { ...@@ -176,8 +176,8 @@ export function animateCancel(element) {
/** /**
* Waits for animation completed. * Waits for animation completed.
* @param {!HTMLElement} element Element to be animated. * @param {!HTMLElement} element Element to be animated.
* @return {!Promise} Promise is resolved/rejected when animation is * @return {!Promise} Promise is resolved when animation is completed or
* completed/cancelled. * cancelled.
*/ */
function waitAnimationCompleted(element) { function waitAnimationCompleted(element) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
...@@ -191,12 +191,11 @@ function waitAnimationCompleted(element) { ...@@ -191,12 +191,11 @@ function waitAnimationCompleted(element) {
events.forEach(([e, fn]) => element.removeEventListener(e, fn)); events.forEach(([e, fn]) => element.removeEventListener(e, fn));
callback(); callback();
}; };
const rejectWithError = () => reject(new Error('Animation is cancelled.'));
const events = [ const events = [
['transitionrun', onStart], ['animationstart', onStart], ['transitionrun', onStart], ['animationstart', onStart],
['transitionend', (event) => onFinished(event, resolve)], ['transitionend', (event) => onFinished(event, resolve)],
['animationend', (event) => onFinished(event, resolve)], ['animationend', (event) => onFinished(event, resolve)],
['transitioncancel', (event) => onFinished(event, rejectWithError)], ['transitioncancel', (event) => onFinished(event, resolve)],
// animationcancel is not implemented on chrome. // animationcancel is not implemented on chrome.
]; ];
events.forEach(([e, fn]) => element.addEventListener(e, fn)); events.forEach(([e, fn]) => element.addEventListener(e, fn));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment