Index: chrome/browser/ui/webui/chromeos/login/base_screen_handler.cc |
diff --git a/chrome/browser/ui/webui/chromeos/login/base_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/base_screen_handler.cc |
index db8cd3413ebf40df1ee75452bb69a1fef4de5249..567594735766132428bdac4d3e134513b11c5939 100644 |
--- a/chrome/browser/ui/webui/chromeos/login/base_screen_handler.cc |
+++ b/chrome/browser/ui/webui/chromeos/login/base_screen_handler.cc |
@@ -19,8 +19,15 @@ namespace { |
const char kMethodContextChanged[] = "contextChanged"; |
} // namespace |
+JSCallsContainer::JSCallsContainer() = default; |
+ |
+JSCallsContainer::~JSCallsContainer() = default; |
+ |
BaseScreenHandler::BaseScreenHandler() = default; |
+BaseScreenHandler::BaseScreenHandler(JSCallsContainer* js_calls_container) |
+ : js_calls_container_(js_calls_container) {} |
+ |
BaseScreenHandler::~BaseScreenHandler() { |
if (base_screen_) |
base_screen_->set_model_view_channel(nullptr); |
@@ -121,4 +128,12 @@ void BaseScreenHandler::HandleContextChanged( |
base_screen_->OnContextChanged(*diff); |
} |
+void BaseScreenHandler::ExecuteDeferredJSCalls() { |
+ DCHECK(!js_calls_container_->is_initialized()); |
+ js_calls_container_->mark_initialized(); |
+ for (const auto& deferred_js_call : js_calls_container_->deferred_js_calls()) |
+ deferred_js_call.Run(); |
+ js_calls_container_->deferred_js_calls().clear(); |
+} |
+ |
} // namespace chromeos |