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

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

Issue 2739073002: cros: Use ScreenManager as a component instead of deriving WizardController from it (Closed)
Patch Set: Address comment Created 3 years, 9 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/screen_manager.h" 5 #include "chrome/browser/chromeos/login/screen_manager.h"
6 6
7 #include "base/memory/ptr_util.h"
8 #include "chrome/browser/chromeos/login/wizard_controller.h"
9
7 namespace chromeos { 10 namespace chromeos {
8 11
9 ScreenManager::ScreenManager() { 12 ScreenManager::ScreenManager(WizardController* wizard_controller)
10 } 13 : wizard_controller_(wizard_controller) {}
11 14
12 ScreenManager::~ScreenManager() { 15 ScreenManager::~ScreenManager() {}
13 }
14 16
15 BaseScreen* ScreenManager::GetScreen(OobeScreen screen) { 17 BaseScreen* ScreenManager::GetScreen(OobeScreen screen) {
16 auto iter = screens_.find(screen); 18 auto iter = screens_.find(screen);
17 if (iter != screens_.end()) 19 if (iter != screens_.end())
18 return iter->second.get(); 20 return iter->second.get();
19 21
20 BaseScreen* result = CreateScreen(screen); 22 BaseScreen* result = wizard_controller_->CreateScreen(screen);
21 DCHECK(result) << "Can not create screen named " << GetOobeScreenName(screen); 23 DCHECK(result) << "Can not create screen named " << GetOobeScreenName(screen);
22 screens_[screen] = make_linked_ptr(result); 24 screens_[screen] = base::WrapUnique(result);
23 return result; 25 return result;
24 } 26 }
25 27
26 bool ScreenManager::HasScreen(OobeScreen screen) { 28 bool ScreenManager::HasScreen(OobeScreen screen) {
27 return screens_.count(screen) > 0; 29 return screens_.count(screen) > 0;
28 } 30 }
29 31
30 } // namespace chromeos 32 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/screen_manager.h ('k') | chrome/browser/chromeos/login/screens/network_screen_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698