Chromium Code Reviews| Index: ui/webui/resources/js/util.js |
| diff --git a/ui/webui/resources/js/util.js b/ui/webui/resources/js/util.js |
| index 2707dbcdd25f12ec3d996f72d60fc049849293c5..e421495a69e1f56d77a36ced525eb990ddd23a46 100644 |
| --- a/ui/webui/resources/js/util.js |
| +++ b/ui/webui/resources/js/util.js |
| @@ -374,10 +374,19 @@ function createElementWithClassName(type, className) { |
| * or when no paint happens during the animation). This function sets up |
| * a timer and emulate the event if it is not fired when the timer expires. |
| * @param {!HTMLElement} el The element to watch for webkitTransitionEnd. |
| - * @param {number} timeOut The maximum wait time in milliseconds for the |
| - * webkitTransitionEnd to happen. |
| + * @param {number} opt_timeOut The maximum wait time in milliseconds for the |
|
xiyuan
2016/03/18 18:23:52
nit: number -> number=
jdufault
2016/03/25 23:36:56
Done.
|
| + * webkitTransitionEnd to happen. If not specified, it is fetched from |el| |
| + * using the transitionDuration style value. |
| */ |
| -function ensureTransitionEndEvent(el, timeOut) { |
| +function ensureTransitionEndEvent(el, opt_timeOut) { |
| + if (opt_timeOut === undefined) { |
| + var style = getComputedStyle(el); |
| + opt_timeOut = parseFloat(style.transitionDuration) * 1000; |
| + |
| + // Give an additional 50ms buffer for the animation to complete. |
| + opt_timeOut += 50; |
| + } |
| + |
| var fired = false; |
| el.addEventListener('webkitTransitionEnd', function f(e) { |
| el.removeEventListener('webkitTransitionEnd', f); |
| @@ -386,7 +395,7 @@ function ensureTransitionEndEvent(el, timeOut) { |
| window.setTimeout(function() { |
| if (!fired) |
| cr.dispatchSimpleEvent(el, 'webkitTransitionEnd', true); |
| - }, timeOut); |
| + }, opt_timeOut); |
| } |
| /** |