Index: chrome/browser/chromeos/login/session/stub_session_initializer.cc |
diff --git a/chrome/browser/chromeos/login/session/stub_session_initializer.cc b/chrome/browser/chromeos/login/session/stub_session_initializer.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5437935252983aa352f5643be549d756f466af5e |
--- /dev/null |
+++ b/chrome/browser/chromeos/login/session/stub_session_initializer.cc |
@@ -0,0 +1,32 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "chrome/browser/chromeos/login/session/stub_session_initializer.h" |
+ |
+#include "chrome/browser/profiles/profile.h" |
+#include "chrome/browser/signin/signin_manager_factory.h" |
+#include "chrome/common/pref_names.h" |
+#include "components/prefs/pref_service.h" |
+#include "components/session_manager/core/session_manager.h" |
+#include "components/signin/core/browser/signin_manager.h" |
+ |
+namespace chromeos { |
+ |
+StubSessionInitializer::StubSessionInitializer(Profile* profile, |
+ const std::string& login_user_id) |
+ : RestoreAfterCrashSessionInitializer(profile, login_user_id) {} |
+ |
+StubSessionInitializer::~StubSessionInitializer() {} |
+ |
+void StubSessionInitializer::Start() { |
+ session_manager::SessionManager::Get()->SetSessionState( |
+ session_manager::SessionState::ACTIVE); |
+ |
+ // For dev machines and stub user emulate as if sync has been initialized. |
+ SigninManagerFactory::GetForProfile(profile())->SetAuthenticatedAccountInfo( |
+ login_user_id(), login_user_id()); |
+ RestoreAfterCrashSessionInitializer::Start(); |
+} |
+ |
+} // namespace chromeos |