OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #import "ios/chrome/test/app/chrome_test_util.h" | 5 #import "ios/chrome/test/app/chrome_test_util.h" |
6 | 6 |
7 #include "base/mac/foundation_util.h" | 7 #include "base/mac/foundation_util.h" |
8 #import "breakpad/src/client/ios/BreakpadController.h" | 8 #import "breakpad/src/client/ios/BreakpadController.h" |
9 #include "components/metrics/metrics_pref_names.h" | 9 #include "components/metrics/metrics_pref_names.h" |
10 #include "components/metrics/metrics_service.h" | 10 #include "components/metrics/metrics_service.h" |
11 #import "ios/chrome/app/application_delegate/metrics_mediator.h" | 11 #import "ios/chrome/app/application_delegate/metrics_mediator.h" |
12 #import "ios/chrome/app/application_delegate/metrics_mediator_testing.h" | 12 #import "ios/chrome/app/application_delegate/metrics_mediator_testing.h" |
13 #import "ios/chrome/app/chrome_overlay_window.h" | 13 #import "ios/chrome/app/chrome_overlay_window.h" |
14 #import "ios/chrome/app/main_application_delegate_testing.h" | 14 #import "ios/chrome/app/main_application_delegate_testing.h" |
15 #import "ios/chrome/app/main_controller.h" | 15 #import "ios/chrome/app/main_controller.h" |
16 #import "ios/chrome/app/main_controller_private.h" | 16 #import "ios/chrome/app/main_controller_private.h" |
17 #include "ios/chrome/browser/application_context.h" | 17 #include "ios/chrome/browser/application_context.h" |
18 #include "ios/chrome/browser/browser_state/chrome_browser_state.h" | 18 #include "ios/chrome/browser/browser_state/chrome_browser_state.h" |
| 19 #include "ios/chrome/browser/browser_state/chrome_browser_state_manager.h" |
19 #import "ios/chrome/browser/metrics/previous_session_info.h" | 20 #import "ios/chrome/browser/metrics/previous_session_info.h" |
20 #import "ios/chrome/browser/metrics/previous_session_info_private.h" | 21 #import "ios/chrome/browser/metrics/previous_session_info_private.h" |
21 #import "ios/chrome/browser/tabs/tab.h" | 22 #import "ios/chrome/browser/tabs/tab.h" |
22 #import "ios/chrome/browser/ui/browser_list_ios.h" | |
23 #import "ios/chrome/browser/ui/browser_view_controller.h" | 23 #import "ios/chrome/browser/ui/browser_view_controller.h" |
24 #import "ios/chrome/browser/ui/commands/UIKit+ChromeExecuteCommand.h" | 24 #import "ios/chrome/browser/ui/commands/UIKit+ChromeExecuteCommand.h" |
25 #import "ios/chrome/browser/ui/commands/generic_chrome_command.h" | 25 #import "ios/chrome/browser/ui/commands/generic_chrome_command.h" |
26 #import "ios/chrome/browser/ui/main/main_view_controller.h" | 26 #import "ios/chrome/browser/ui/main/main_view_controller.h" |
27 #import "ios/chrome/browser/ui/ntp/new_tab_page_controller.h" | 27 #import "ios/chrome/browser/ui/ntp/new_tab_page_controller.h" |
28 #import "ios/web/public/test/native_controller_test_util.h" | 28 #import "ios/web/public/test/native_controller_test_util.h" |
29 | 29 |
30 // Methods to access private members for testing. | 30 // Methods to access private members for testing. |
31 @interface BreakpadController (Testing) | 31 @interface BreakpadController (Testing) |
32 - (BOOL)isEnabled; | 32 - (BOOL)isEnabled; |
(...skipping 25 matching lines...) Expand all Loading... |
58 | 58 |
59 // Returns the current tab. | 59 // Returns the current tab. |
60 Tab* GetCurrentTab() { | 60 Tab* GetCurrentTab() { |
61 TabModel* tab_model = GetCurrentTabModel(); | 61 TabModel* tab_model = GetCurrentTabModel(); |
62 return [tab_model currentTab]; | 62 return [tab_model currentTab]; |
63 } | 63 } |
64 | 64 |
65 // Returns the original ChromeBrowserState if |incognito| is false. If | 65 // Returns the original ChromeBrowserState if |incognito| is false. If |
66 // |ingonito| is true, returns an off-the-record ChromeBrowserState. | 66 // |ingonito| is true, returns an off-the-record ChromeBrowserState. |
67 ios::ChromeBrowserState* GetBrowserState(bool incognito) { | 67 ios::ChromeBrowserState* GetBrowserState(bool incognito) { |
68 DCHECK(!BrowserListIOS::empty()); | 68 std::vector<ios::ChromeBrowserState*> browser_states = |
69 id<BrowserIOS> browser = *BrowserListIOS::begin(); | 69 GetApplicationContext() |
70 DCHECK(browser); | 70 ->GetChromeBrowserStateManager() |
71 ios::ChromeBrowserState* browser_state = [browser browserState]; | 71 ->GetLoadedBrowserStates(); |
72 DCHECK(browser_state); | 72 DCHECK(!browser_states.empty()); |
73 browser_state = incognito ? browser_state->GetOffTheRecordChromeBrowserState() | 73 |
74 : browser_state->GetOriginalChromeBrowserState(); | 74 ios::ChromeBrowserState* browser_state = browser_states.front(); |
75 return browser_state; | 75 DCHECK(!browser_state->IsOffTheRecord()); |
| 76 |
| 77 return incognito ? browser_state->GetOffTheRecordChromeBrowserState() |
| 78 : browser_state; |
76 } | 79 } |
77 | 80 |
78 // Gets the root UIViewController. | 81 // Gets the root UIViewController. |
79 UIViewController* GetActiveViewController() { | 82 UIViewController* GetActiveViewController() { |
80 UIWindow* main_window = [[UIApplication sharedApplication] keyWindow]; | 83 UIWindow* main_window = [[UIApplication sharedApplication] keyWindow]; |
81 DCHECK([main_window isKindOfClass:[ChromeOverlayWindow class]]); | 84 DCHECK([main_window isKindOfClass:[ChromeOverlayWindow class]]); |
82 MainViewController* main_view_controller = | 85 MainViewController* main_view_controller = |
83 base::mac::ObjCCast<MainViewController>([main_window rootViewController]); | 86 base::mac::ObjCCast<MainViewController>([main_window rootViewController]); |
84 return main_view_controller.activeViewController; | 87 return main_view_controller.activeViewController; |
85 } | 88 } |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
201 void OpenChromeFromExternalApp(const GURL& url) { | 204 void OpenChromeFromExternalApp(const GURL& url) { |
202 [[[UIApplication sharedApplication] delegate] | 205 [[[UIApplication sharedApplication] delegate] |
203 applicationWillResignActive:[UIApplication sharedApplication]]; | 206 applicationWillResignActive:[UIApplication sharedApplication]]; |
204 [GetMainController() setStartupParametersWithURL:url]; | 207 [GetMainController() setStartupParametersWithURL:url]; |
205 | 208 |
206 [[[UIApplication sharedApplication] delegate] | 209 [[[UIApplication sharedApplication] delegate] |
207 applicationDidBecomeActive:[UIApplication sharedApplication]]; | 210 applicationDidBecomeActive:[UIApplication sharedApplication]]; |
208 } | 211 } |
209 | 212 |
210 } // namespace chrome_test_util | 213 } // namespace chrome_test_util |
OLD | NEW |