Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3753)

Unified Diff: chrome/browser/ui/webui/chromeos/login/base_screen_handler.cc

Issue 2713513009: cros: Break BaseScreenHandler into two classes. (Closed)
Patch Set: Add comments, fix compile Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 567594735766132428bdac4d3e134513b11c5939..8588ac9b34a74cf0898a3aa7326b9d01d3162fb8 100644
--- a/chrome/browser/ui/webui/chromeos/login/base_screen_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/login/base_screen_handler.cc
@@ -4,136 +4,11 @@
#include "chrome/browser/ui/webui/chromeos/login/base_screen_handler.h"
-#include "base/logging.h"
-#include "base/memory/ptr_util.h"
-#include "base/values.h"
-#include "chrome/browser/chromeos/login/screens/base_screen.h"
-#include "chrome/browser/chromeos/login/ui/login_display_host.h"
-#include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
-#include "components/login/localized_values_builder.h"
-#include "content/public/browser/web_ui.h"
-
namespace chromeos {
-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);
-}
-
-void BaseScreenHandler::InitializeBase() {
- page_is_ready_ = true;
- Initialize();
- if (!pending_context_changes_.empty()) {
- CommitContextChanges(pending_context_changes_);
- pending_context_changes_.Clear();
- }
-}
-
-void BaseScreenHandler::GetLocalizedStrings(base::DictionaryValue* dict) {
- auto builder = base::MakeUnique<::login::LocalizedValuesBuilder>(dict);
- DeclareLocalizedValues(builder.get());
- GetAdditionalParameters(dict);
-}
-
-void BaseScreenHandler::RegisterMessages() {
- AddPrefixedCallback("userActed",
- &BaseScreenHandler::HandleUserAction);
- AddPrefixedCallback("contextChanged",
- &BaseScreenHandler::HandleContextChanged);
- DeclareJSCallbacks();
-}
-
-void BaseScreenHandler::CommitContextChanges(
- const base::DictionaryValue& diff) {
- if (!page_is_ready())
- pending_context_changes_.MergeDictionary(&diff);
- else
- CallJS(kMethodContextChanged, diff);
-}
-
-void BaseScreenHandler::GetAdditionalParameters(base::DictionaryValue* dict) {
-}
-
-void BaseScreenHandler::CallJS(const std::string& method) {
- web_ui()->CallJavascriptFunctionUnsafe(FullMethodPath(method));
-}
-
-void BaseScreenHandler::ShowScreen(OobeScreen screen) {
- ShowScreenWithData(screen, nullptr);
-}
-
-void BaseScreenHandler::ShowScreenWithData(OobeScreen screen,
- const base::DictionaryValue* data) {
- if (!web_ui())
- return;
- base::DictionaryValue screen_params;
- screen_params.SetString("id", GetOobeScreenName(screen));
- if (data)
- screen_params.SetWithoutPathExpansion("data", data->DeepCopy());
- web_ui()->CallJavascriptFunctionUnsafe("cr.ui.Oobe.showScreen",
- screen_params);
-}
-
-OobeUI* BaseScreenHandler::GetOobeUI() const {
- return static_cast<OobeUI*>(web_ui()->GetController());
-}
-
-OobeScreen BaseScreenHandler::GetCurrentScreen() const {
- OobeUI* oobe_ui = GetOobeUI();
- if (!oobe_ui)
- return OobeScreen::SCREEN_UNKNOWN;
- return oobe_ui->current_screen();
-}
-
-gfx::NativeWindow BaseScreenHandler::GetNativeWindow() {
- return LoginDisplayHost::default_host()->GetNativeWindow();
-}
-
-void BaseScreenHandler::SetBaseScreen(BaseScreen* base_screen) {
- if (base_screen_ == base_screen)
- return;
- if (base_screen_)
- base_screen_->set_model_view_channel(nullptr);
- base_screen_ = base_screen;
- if (base_screen_)
- base_screen_->set_model_view_channel(this);
-}
-
-std::string BaseScreenHandler::FullMethodPath(const std::string& method) const {
- DCHECK(!method.empty());
- return js_screen_path_prefix_ + method;
-}
-
-void BaseScreenHandler::HandleUserAction(const std::string& action_id) {
- if (base_screen_)
- base_screen_->OnUserAction(action_id);
-}
-
-void BaseScreenHandler::HandleContextChanged(
- const base::DictionaryValue* diff) {
- if (diff && base_screen_)
- base_screen_->OnContextChanged(*diff);
-}
+BaseScreenHandler::BaseScreenHandler(OobeScreen oobe_screen)
+ : oobe_screen_(oobe_screen) {}
-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();
-}
+BaseScreenHandler::~BaseScreenHandler() {}
} // namespace chromeos

Powered by Google App Engine
This is Rietveld 408576698