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

Unified Diff: chrome/browser/chromeos/login/wizard_controller.cc

Issue 1519883003: 1) Add basic configuration (network connection, language, keyboard layout, timezone) setup page. 2)… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix the i18n-content HTML format in the html files Created 5 years 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/chromeos/login/wizard_controller.cc
diff --git a/chrome/browser/chromeos/login/wizard_controller.cc b/chrome/browser/chromeos/login/wizard_controller.cc
index 266a873ba69581c1dab51e961a5cbd69d2ab0ce4..114229f89b317d81351acb46f35b5d4c707c2e7a 100644
--- a/chrome/browser/chromeos/login/wizard_controller.cc
+++ b/chrome/browser/chromeos/login/wizard_controller.cc
@@ -60,6 +60,7 @@
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
#include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h"
+#include "chrome/browser/ui/webui/help/help_utils_chromeos.h"
#include "chrome/common/chrome_constants.h"
#include "chrome/common/pref_names.h"
#include "chromeos/audio/cras_audio_handler.h"
@@ -152,6 +153,17 @@ bool IsBootstrappingMaster() {
chromeos::switches::kOobeBootstrappingMaster);
}
+bool NetworkAllowUpdate(const chromeos::NetworkState* network) {
+ if (!network || !network->IsConnectedState())
+ return false;
+ if (network->type() == shill::kTypeBluetooth ||
+ (network->type() == shill::kTypeCellular &&
+ !help_utils_chromeos::IsUpdateOverCellularAllowed())) {
+ return false;
+ }
+ return true;
+}
+
#if defined(GOOGLE_CHROME_BUILD)
void InitializeCrashReporter() {
// The crash reporter initialization needs IO to complete.
@@ -1104,8 +1116,22 @@ void WizardController::ConfigureHostRequested(
void WizardController::AddNetworkRequested(const std::string& onc_spec) {
NetworkScreen* network_screen = NetworkScreen::Get(this);
- network_screen->CreateAndConnectNetworkFromOnc(onc_spec);
- InitiateOOBEUpdate();
+ const chromeos::NetworkState* network_state = chromeos::NetworkHandler::Get()
+ ->network_state_handler()
+ ->DefaultNetwork();
+
+ if (NetworkAllowUpdate(network_state)) {
+ // Don't block the OOBE update and the following enrollment process.
+ InitiateOOBEUpdate();
+ network_screen->CreateAndConnectNetworkFromOnc(
+ onc_spec, base::Bind(&base::DoNothing), base::Bind(&base::DoNothing));
+ } else {
+ network_screen->CreateAndConnectNetworkFromOnc(
+ onc_spec, base::Bind(&WizardController::InitiateOOBEUpdate,
+ weak_factory_.GetWeakPtr()),
+ base::Bind(&WizardController::OnSetHostNetworkFailed,
+ weak_factory_.GetWeakPtr()));
+ }
}
void WizardController::OnEnableDebuggingScreenRequested() {
@@ -1339,6 +1365,11 @@ void WizardController::OnSharkConnected(
ShowHostPairingScreen();
}
+void WizardController::OnSetHostNetworkFailed() {
+ remora_controller_->OnNetworkConnectivityChanged(
+ pairing_chromeos::HostPairingController::CONNECTIVITY_NONE);
+}
+
void WizardController::StartEnrollmentScreen() {
VLOG(1) << "Showing enrollment screen.";

Powered by Google App Engine
This is Rietveld 408576698