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

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

Issue 2697063004: Fix of "login is not defined" error in OOBE (Closed)
Patch Set: Move CallJSOrDefer to OobeUI 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/core_oobe_handler.cc
diff --git a/chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc b/chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc
index 6f5f7d2152039757a72b6bfaaeb2606d03a1ea96..34b65605cc9864c73ca91de3be66d46d8b8feed0 100644
--- a/chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc
@@ -165,49 +165,18 @@ void CoreOobeHandler::RegisterMessages() {
&CoreOobeHandler::HandleSetOobeBootstrappingSlave);
}
-template <typename... Args>
-void CoreOobeHandler::ExecuteDeferredJSCall(const std::string& function_name,
- std::unique_ptr<Args>... args) {
- CallJS(function_name, *args...);
-}
-
-template <typename... Args>
-void CoreOobeHandler::CallJSOrDefer(const std::string& function_name,
- const Args&... args) {
- if (is_initialized_) {
- CallJS(function_name, args...);
- } else {
- // Note that std::conditional is used here in order to obtain a sequence of
- // base::Value types with the length equal to sizeof...(Args); the C++
- // template parameter pack expansion rules require that the name of the
- // parameter pack appears in the pattern, even though the elements of the
- // Args pack are not actually in this code.
- deferred_js_calls_.push_back(base::Bind(
- &CoreOobeHandler::ExecuteDeferredJSCall<
- typename std::conditional<true, base::Value, Args>::type...>,
- base::Unretained(this), function_name,
- base::Passed(::login::MakeValue(args).CreateDeepCopy())...));
- }
-}
-
-void CoreOobeHandler::ExecuteDeferredJSCalls() {
- for (const auto& deferred_js_call : deferred_js_calls_)
- deferred_js_call.Run();
- deferred_js_calls_.clear();
-}
-
void CoreOobeHandler::ShowSignInError(
int login_attempts,
const std::string& error_text,
const std::string& help_link_text,
HelpAppLauncher::HelpTopic help_topic_id) {
LOG(ERROR) << "CoreOobeHandler::ShowSignInError: error_text=" << error_text;
- CallJSOrDefer("showSignInError", login_attempts, error_text,
- help_link_text, static_cast<int>(help_topic_id));
+ oobe_ui_->CallJSOrDefer("showSignInError", this, login_attempts, error_text,
+ help_link_text, static_cast<int>(help_topic_id));
}
void CoreOobeHandler::ShowTpmError() {
- CallJSOrDefer("showTpmError");
+ oobe_ui_->CallJSOrDefer("showTpmError", this);
}
void CoreOobeHandler::ShowDeviceResetScreen() {
@@ -239,66 +208,66 @@ void CoreOobeHandler::ShowEnableDebuggingScreen() {
void CoreOobeHandler::ShowActiveDirectoryPasswordChangeScreen(
const std::string& username) {
- CallJSOrDefer("showActiveDirectoryPasswordChangeScreen", username);
+ oobe_ui_->CallJSOrDefer("showActiveDirectoryPasswordChangeScreen", this,
+ username);
}
void CoreOobeHandler::ShowSignInUI(const std::string& email) {
- CallJSOrDefer("showSigninUI", email);
+ oobe_ui_->CallJSOrDefer("showSigninUI", this, email);
}
void CoreOobeHandler::ResetSignInUI(bool force_online) {
- CallJSOrDefer("resetSigninUI", force_online);
+ oobe_ui_->CallJSOrDefer("resetSigninUI", this, force_online);
}
void CoreOobeHandler::ClearUserPodPassword() {
- CallJSOrDefer("clearUserPodPassword");
+ oobe_ui_->CallJSOrDefer("clearUserPodPassword", this);
}
void CoreOobeHandler::RefocusCurrentPod() {
- CallJSOrDefer("refocusCurrentPod");
+ oobe_ui_->CallJSOrDefer("refocusCurrentPod", this);
}
void CoreOobeHandler::ShowPasswordChangedScreen(bool show_password_error,
const std::string& email) {
- CallJSOrDefer("showPasswordChangedScreen", show_password_error, email);
+ oobe_ui_->CallJSOrDefer("showPasswordChangedScreen", this,
+ show_password_error, email);
}
void CoreOobeHandler::SetUsageStats(bool checked) {
- CallJSOrDefer("setUsageStats", checked);
+ oobe_ui_->CallJSOrDefer("setUsageStats", this, checked);
}
void CoreOobeHandler::SetOemEulaUrl(const std::string& oem_eula_url) {
- CallJSOrDefer("setOemEulaUrl", oem_eula_url);
+ oobe_ui_->CallJSOrDefer("setOemEulaUrl", this, oem_eula_url);
}
void CoreOobeHandler::SetTpmPassword(const std::string& tpm_password) {
- CallJSOrDefer("setTpmPassword", tpm_password);
+ oobe_ui_->CallJSOrDefer("setTpmPassword", this, tpm_password);
}
void CoreOobeHandler::ClearErrors() {
- CallJSOrDefer("clearErrors");
+ oobe_ui_->CallJSOrDefer("clearErrors", this);
}
void CoreOobeHandler::ReloadContent(const base::DictionaryValue& dictionary) {
- CallJSOrDefer("reloadContent", dictionary);
+ oobe_ui_->CallJSOrDefer("reloadContent", this, dictionary);
}
void CoreOobeHandler::ShowControlBar(bool show) {
- CallJSOrDefer("showControlBar", show);
+ oobe_ui_->CallJSOrDefer("showControlBar", this, show);
}
void CoreOobeHandler::ShowPinKeyboard(bool show) {
- CallJSOrDefer("showPinKeyboard", show);
+ oobe_ui_->CallJSOrDefer("showPinKeyboard", this, show);
}
void CoreOobeHandler::SetClientAreaSize(int width, int height) {
- CallJSOrDefer("setClientAreaSize", width, height);
+ oobe_ui_->CallJSOrDefer("setClientAreaSize", this, width, height);
}
void CoreOobeHandler::HandleInitialized() {
- DCHECK(!is_initialized_);
- is_initialized_ = true;
- ExecuteDeferredJSCalls();
+ oobe_ui_->ExecuteDeferredJSCalls();
oobe_ui_->InitializeHandlers();
}
@@ -396,7 +365,7 @@ void CoreOobeHandler::ShowOobeUI(bool show) {
void CoreOobeHandler::UpdateShutdownAndRebootVisibility(
bool reboot_on_shutdown) {
- CallJSOrDefer("showShutdown", !reboot_on_shutdown);
+ oobe_ui_->CallJSOrDefer("showShutdown", this, !reboot_on_shutdown);
}
void CoreOobeHandler::UpdateA11yState() {
@@ -417,14 +386,15 @@ void CoreOobeHandler::UpdateA11yState() {
MagnificationManager::Get()->IsMagnifierEnabled());
a11y_info.SetBoolean("virtualKeyboardEnabled",
AccessibilityManager::Get()->IsVirtualKeyboardEnabled());
- CallJSOrDefer("refreshA11yInfo", a11y_info);
+ oobe_ui_->CallJSOrDefer("refreshA11yInfo", this, a11y_info);
}
void CoreOobeHandler::UpdateOobeUIVisibility() {
const std::string& display = oobe_ui_->display_type();
- CallJSOrDefer("showAPIKeysNotice", !google_apis::HasKeysConfigured() &&
- (display == OobeUI::kOobeDisplay ||
- display == OobeUI::kLoginDisplay));
+ oobe_ui_->CallJSOrDefer(
+ "showAPIKeysNotice", this,
+ !google_apis::HasKeysConfigured() && (display == OobeUI::kOobeDisplay ||
+ display == OobeUI::kLoginDisplay));
// Don't show version label on the stable channel by default.
bool should_show_version = true;
@@ -433,10 +403,10 @@ void CoreOobeHandler::UpdateOobeUIVisibility() {
channel == version_info::Channel::BETA) {
should_show_version = false;
}
- CallJSOrDefer("showVersion", should_show_version);
- CallJSOrDefer("showOobeUI", show_oobe_ui_);
+ oobe_ui_->CallJSOrDefer("showVersion", this, should_show_version);
+ oobe_ui_->CallJSOrDefer("showOobeUI", this, show_oobe_ui_);
if (system::InputDeviceSettings::Get()->ForceKeyboardDrivenUINavigation())
- CallJSOrDefer("enableKeyboardFlow", true);
+ oobe_ui_->CallJSOrDefer("enableKeyboardFlow", this, true);
}
void CoreOobeHandler::OnOSVersionLabelTextUpdated(
@@ -446,7 +416,7 @@ void CoreOobeHandler::OnOSVersionLabelTextUpdated(
void CoreOobeHandler::OnEnterpriseInfoUpdated(
const std::string& message_text, const std::string& asset_id) {
- CallJSOrDefer("setEnterpriseInfo", message_text, asset_id);
+ oobe_ui_->CallJSOrDefer("setEnterpriseInfo", this, message_text, asset_id);
}
ui::EventProcessor* CoreOobeHandler::GetEventProcessor() {
@@ -455,7 +425,7 @@ ui::EventProcessor* CoreOobeHandler::GetEventProcessor() {
void CoreOobeHandler::UpdateLabel(const std::string& id,
const std::string& text) {
- CallJSOrDefer("setLabelText", id, text);
+ oobe_ui_->CallJSOrDefer("setLabelText", this, id, text);
}
void CoreOobeHandler::UpdateDeviceRequisition() {
@@ -464,8 +434,8 @@ void CoreOobeHandler::UpdateDeviceRequisition() {
->browser_policy_connector_chromeos()
->GetDeviceCloudPolicyManager();
if (policy_manager) {
- CallJSOrDefer("updateDeviceRequisition",
- policy_manager->GetDeviceRequisition());
+ oobe_ui_->CallJSOrDefer("updateDeviceRequisition", this,
+ policy_manager->GetDeviceRequisition());
}
}

Powered by Google App Engine
This is Rietveld 408576698