Index: ios/chrome/test/ios_chrome_scoped_testing_chrome_browser_state_manager.cc |
diff --git a/ios/chrome/test/ios_chrome_scoped_testing_chrome_browser_state_manager.cc b/ios/chrome/test/ios_chrome_scoped_testing_chrome_browser_state_manager.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5cd0c8749db4f50c22c47a2040ece653f78d88d4 |
--- /dev/null |
+++ b/ios/chrome/test/ios_chrome_scoped_testing_chrome_browser_state_manager.cc |
@@ -0,0 +1,25 @@ |
+// Copyright 2017 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 "ios/chrome/test/ios_chrome_scoped_testing_chrome_browser_state_manager.h" |
+ |
+#include "ios/chrome/browser/application_context.h" |
+#include "ios/chrome/browser/browser_state/chrome_browser_state_manager.h" |
+#include "ios/chrome/test/testing_application_context.h" |
+ |
+IOSChromeScopedTestingChromeBrowserStateManager:: |
+ IOSChromeScopedTestingChromeBrowserStateManager( |
+ std::unique_ptr<ios::ChromeBrowserStateManager> browser_state_manager) |
+ : browser_state_manager_(std::move(browser_state_manager)), |
+ saved_browser_state_manager_( |
+ GetApplicationContext()->GetChromeBrowserStateManager()) { |
+ TestingApplicationContext::GetGlobal()->SetChromeBrowserStateManager( |
+ browser_state_manager_.get()); |
+} |
+ |
+IOSChromeScopedTestingChromeBrowserStateManager:: |
+ ~IOSChromeScopedTestingChromeBrowserStateManager() { |
+ TestingApplicationContext::GetGlobal()->SetChromeBrowserStateManager( |
+ saved_browser_state_manager_); |
+} |