Index: chrome/browser/ui/webui/chromeos/login/oobe_ui.cc |
diff --git a/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc b/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc |
index 23d1a44e2faa2a086abfeefb3d805ea531effea7..35c60d340e576dfb5a4fe3a31b1c18277d27bcf7 100644 |
--- a/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc |
+++ b/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc |
@@ -417,8 +417,20 @@ void OobeUI::InitializeHandlers() { |
ready_callbacks_[i].Run(); |
ready_callbacks_.clear(); |
- for (size_t i = 0; i < handlers_.size(); ++i) |
- handlers_[i]->InitializeBase(); |
+ // Notify 'initialize' for synchronously loaded screens. |
+ for (size_t i = 0; i < handlers_.size(); ++i) { |
+ if (handlers_[i]->async_assets_load_id().empty()) |
+ handlers_[i]->InitializeBase(); |
+ } |
+} |
+ |
+void OobeUI::OnScreenAssetsLoaded(const std::string& async_assets_load_id) { |
+ DCHECK(!async_assets_load_id.empty()); |
+ |
+ for (size_t i = 0; i < handlers_.size(); ++i) { |
+ if (handlers_[i]->async_assets_load_id() == async_assets_load_id) |
+ handlers_[i]->InitializeBase(); |
+ } |
} |
bool OobeUI::IsJSReady(const base::Closure& display_is_ready_callback) { |