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

Side by Side Diff: chrome/browser/chromeos/login/wizard_controller.cc

Issue 2333004: Re-landing mistakenly reverted CL http://codereview.chromium.org/2101021.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 10 years, 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/login/wizard_controller.h" 5 #include "chrome/browser/chromeos/login/wizard_controller.h"
6 6
7 #include <gdk/gdk.h> 7 #include <gdk/gdk.h>
8 #include <signal.h> 8 #include <signal.h>
9 #include <sys/types.h> 9 #include <sys/types.h>
10 10
11 #include <string> 11 #include <string>
12 #include <vector> 12 #include <vector>
13 13
14 #include "app/l10n_util.h" 14 #include "app/l10n_util.h"
15 #include "base/command_line.h" 15 #include "base/command_line.h"
16 #include "base/logging.h" // For NOTREACHED. 16 #include "base/logging.h" // For NOTREACHED.
17 #include "chrome/browser/chromeos/cros/cros_library.h" 17 #include "chrome/browser/chromeos/cros/cros_library.h"
18 #include "chrome/browser/chromeos/cros/login_library.h" 18 #include "chrome/browser/chromeos/cros/login_library.h"
19 #include "chrome/browser/chromeos/customization_document.h"
19 #include "chrome/browser/chromeos/login/account_screen.h" 20 #include "chrome/browser/chromeos/login/account_screen.h"
20 #include "chrome/browser/chromeos/login/background_view.h" 21 #include "chrome/browser/chromeos/login/background_view.h"
21 #include "chrome/browser/chromeos/login/existing_user_controller.h" 22 #include "chrome/browser/chromeos/login/existing_user_controller.h"
22 #include "chrome/browser/chromeos/login/login_screen.h" 23 #include "chrome/browser/chromeos/login/login_screen.h"
23 #include "chrome/browser/chromeos/login/network_screen.h" 24 #include "chrome/browser/chromeos/login/network_screen.h"
24 #include "chrome/browser/chromeos/login/rounded_rect_painter.h" 25 #include "chrome/browser/chromeos/login/rounded_rect_painter.h"
25 #include "chrome/browser/chromeos/login/update_screen.h" 26 #include "chrome/browser/chromeos/login/update_screen.h"
26 #include "chrome/browser/chromeos/login/user_manager.h" 27 #include "chrome/browser/chromeos/login/user_manager.h"
27 #include "chrome/browser/chromeos/wm_ipc.h" 28 #include "chrome/browser/chromeos/wm_ipc.h"
28 #include "chrome/common/chrome_switches.h" 29 #include "chrome/common/chrome_switches.h"
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 157
157 // Special test value that commands not to create any window yet. 158 // Special test value that commands not to create any window yet.
158 const char WizardController::kTestNoScreenName[] = "test:nowindow"; 159 const char WizardController::kTestNoScreenName[] = "test:nowindow";
159 160
160 // Initialize default controller. 161 // Initialize default controller.
161 // static 162 // static
162 WizardController* WizardController::default_controller_ = NULL; 163 WizardController* WizardController::default_controller_ = NULL;
163 164
164 /////////////////////////////////////////////////////////////////////////////// 165 ///////////////////////////////////////////////////////////////////////////////
165 // WizardController, public: 166 // WizardController, public:
167
166 WizardController::WizardController() 168 WizardController::WizardController()
167 : widget_(NULL), 169 : widget_(NULL),
168 background_widget_(NULL), 170 background_widget_(NULL),
169 background_view_(NULL), 171 background_view_(NULL),
170 contents_(NULL), 172 contents_(NULL),
171 current_screen_(NULL), 173 current_screen_(NULL),
172 is_out_of_box_(false), 174 is_out_of_box_(false),
173 observer_(NULL) { 175 observer_(NULL) {
174 DCHECK(default_controller_ == NULL); 176 DCHECK(default_controller_ == NULL);
175 default_controller_ = this; 177 default_controller_ = this;
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 } 293 }
292 294
293 void WizardController::SetStatusAreaVisible(bool visible) { 295 void WizardController::SetStatusAreaVisible(bool visible) {
294 // When ExistingUserController passes background ownership 296 // When ExistingUserController passes background ownership
295 // to WizardController it happens after screen is shown. 297 // to WizardController it happens after screen is shown.
296 if (background_view_) { 298 if (background_view_) {
297 background_view_->SetStatusAreaVisible(visible); 299 background_view_->SetStatusAreaVisible(visible);
298 } 300 }
299 } 301 }
300 302
303 void WizardController::SetCustomization(
304 const chromeos::StartupCustomizationDocument* customization) {
305 customization_.reset(customization);
306 }
307
301 /////////////////////////////////////////////////////////////////////////////// 308 ///////////////////////////////////////////////////////////////////////////////
302 // WizardController, ExitHandlers: 309 // WizardController, ExitHandlers:
303 void WizardController::OnLoginSignInSelected() { 310 void WizardController::OnLoginSignInSelected() {
304 // We're on the stack, so don't try and delete us now. 311 // We're on the stack, so don't try and delete us now.
305 MessageLoop::current()->DeleteSoon(FROM_HERE, this); 312 MessageLoop::current()->DeleteSoon(FROM_HERE, this);
306 } 313 }
307 314
308 void WizardController::OnLoginCreateAccount() { 315 void WizardController::OnLoginCreateAccount() {
309 ShowAccountScreen(); 316 ShowAccountScreen();
310 } 317 }
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
467 switches::kEnableLoginImages)) { 474 switches::kEnableLoginImages)) {
468 std::vector<chromeos::UserManager::User> users = 475 std::vector<chromeos::UserManager::User> users =
469 chromeos::UserManager::Get()->GetUsers(); 476 chromeos::UserManager::Get()->GetUsers();
470 if (!users.empty()) { 477 if (!users.empty()) {
471 // ExistingUserController deletes itself. 478 // ExistingUserController deletes itself.
472 (new chromeos::ExistingUserController(users, screen_bounds))->Init(); 479 (new chromeos::ExistingUserController(users, screen_bounds))->Init();
473 return; 480 return;
474 } 481 }
475 } 482 }
476 483
484 // Load partner customization startup manifest if needed.
485 scoped_ptr<chromeos::StartupCustomizationDocument> customization;
486 if (CommandLine::ForCurrentProcess()->HasSwitch(
487 switches::kStartupManifest)) {
488 customization.reset(new chromeos::StartupCustomizationDocument());
489 FilePath manifest_path =
490 CommandLine::ForCurrentProcess()->GetSwitchValuePath(
491 switches::kStartupManifest);
492 bool manifest_loaded = customization->LoadManifestFromFile(manifest_path);
493 DCHECK(manifest_loaded) << manifest_path.value();
494 }
495
496 // Create and show the wizard.
477 WizardController* controller = new WizardController(); 497 WizardController* controller = new WizardController();
498 controller->SetCustomization(customization.release());
478 controller->ShowBackground(screen_bounds); 499 controller->ShowBackground(screen_bounds);
479 controller->Init(first_screen_name, screen_bounds, true); 500 controller->Init(first_screen_name, screen_bounds, true);
480 controller->Show(); 501 controller->Show();
481 if (chromeos::CrosLibrary::Get()->EnsureLoaded()) 502 if (chromeos::CrosLibrary::Get()->EnsureLoaded())
482 chromeos::CrosLibrary::Get()->GetLoginLibrary()->EmitLoginPromptReady(); 503 chromeos::CrosLibrary::Get()->GetLoginLibrary()->EmitLoginPromptReady();
483 } 504 }
484 505
485 } // namespace browser 506 } // namespace browser
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/wizard_controller.h ('k') | chrome/browser/chromeos/testdata/startup_manifest.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698