Index: chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
diff --git a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
index 5eeff9c7d255667564ddb44722582aaad0182063..319cb97489828324e8d8b98c711371597fe210c2 100644 |
--- a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
+++ b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
@@ -299,8 +299,10 @@ SigninScreenHandler::SigninScreenHandler( |
if (keyboard) |
keyboard->AddObserver(this); |
- max_mode_delegate_.reset(new TouchViewControllerDelegate()); |
- max_mode_delegate_->AddObserver(this); |
+ if (ash::Shell::HasInstance()) { |
+ max_mode_delegate_.reset(new TouchViewControllerDelegate()); |
+ max_mode_delegate_->AddObserver(this); |
+ } |
policy::ConsumerManagementService* consumer_management = |
g_browser_process->platform_part()->browser_policy_connector_chromeos()-> |
@@ -320,8 +322,10 @@ SigninScreenHandler::~SigninScreenHandler() { |
if (delegate_) |
delegate_->SetWebUIHandler(NULL); |
network_state_informer_->RemoveObserver(this); |
- max_mode_delegate_->RemoveObserver(this); |
- max_mode_delegate_.reset(NULL); |
+ if (ash::Shell::HasInstance()) { |
+ max_mode_delegate_->RemoveObserver(this); |
+ max_mode_delegate_.reset(NULL); |
+ } |
ScreenlockBridge::Get()->SetLockHandler(NULL); |
} |
@@ -1384,8 +1388,10 @@ void SigninScreenHandler::HandleCancelConsumerManagementEnrollment() { |
} |
void SigninScreenHandler::HandleGetTouchViewState() { |
- CallJS("login.AccountPickerScreen.setTouchViewState", |
- max_mode_delegate_->IsMaximizeModeEnabled()); |
+ if (max_mode_delegate_) { |
+ CallJS("login.AccountPickerScreen.setTouchViewState", |
+ max_mode_delegate_->IsMaximizeModeEnabled()); |
+ } |
} |
bool SigninScreenHandler::AllWhitelistedUsersPresent() { |