Chromium Code Reviews| Index: ui/login/resource_loader.js |
| diff --git a/ui/login/resource_loader.js b/ui/login/resource_loader.js |
| index 726fcf80d51b7fed879e4ca243d555fa97067117..daed7bd64405f7b7cb4da66fa0aaff1e4c377985 100644 |
| --- a/ui/login/resource_loader.js |
| +++ b/ui/login/resource_loader.js |
| @@ -208,11 +208,32 @@ cr.define('cr.ui.login.ResourceLoader', function() { |
| } |
| } |
| + /** |
| + * Wait until the element with the given |id| has finished its layout, |
| + * specifically, after it has an offsetHeight > 0. |
| + * @param {string} id Identifier of the element to wait for. |
| + * @param {function()} callback Function to invoke when done loading. |
| + */ |
| + function waitUntilLayoutComplete(id, callback) { |
| + var doWait = function() { |
| + var element = $(id); |
| + if (!element || !element.offsetHeight) { |
| + requestAnimationFrame(doWait); |
| + return; |
| + } |
| + |
| + callback(element); |
| + } |
|
xiyuan
2016/05/20 21:48:33
nit: add a semicolon, i.e. }; , since this is a st
jdufault
2016/05/20 22:34:37
Done.
|
| + |
| + requestAnimationFrame(doWait); |
| + } |
| + |
| return { |
| alreadyLoadedAssets: alreadyLoadedAssets, |
| hasDeferredAssets: hasDeferredAssets, |
| loadAssets: loadAssets, |
| loadAssetsOnIdle: loadAssetsOnIdle, |
| + waitUntilLayoutComplete: waitUntilLayoutComplete, |
| registerAssets: registerAssets |
| }; |
| }); |