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

Side by Side Diff: ios/chrome/browser/sessions/ios_chrome_tab_restore_service_client.mm

Issue 2593993002: Remove ChromeBrowserProvider::GetLiveTabContextProvider() method. (Closed)
Patch Set: Rebase and fix "gn check". Created 3 years, 11 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "ios/chrome/browser/sessions/ios_chrome_tab_restore_service_client.h" 5 #include "ios/chrome/browser/sessions/ios_chrome_tab_restore_service_client.h"
6 6
7 #include "components/sessions/ios/ios_live_tab.h"
7 #include "ios/chrome/browser/browser_state/chrome_browser_state.h" 8 #include "ios/chrome/browser/browser_state/chrome_browser_state.h"
8 #include "ios/chrome/browser/chrome_url_constants.h" 9 #include "ios/chrome/browser/chrome_url_constants.h"
10 #include "ios/chrome/browser/sessions/tab_restore_service_delegate_impl_ios.h"
11 #include "ios/chrome/browser/sessions/tab_restore_service_delegate_impl_ios_fact ory.h"
12 #include "ios/chrome/browser/tabs/tab.h"
13 #include "ios/chrome/browser/tabs/tab_model.h"
14 #include "ios/chrome/browser/ui/browser_ios.h"
15 #include "ios/chrome/browser/ui/browser_list_ios.h"
9 #include "ios/public/provider/chrome/browser/chrome_browser_provider.h" 16 #include "ios/public/provider/chrome/browser/chrome_browser_provider.h"
10 #include "ios/public/provider/chrome/browser/sessions/live_tab_context_provider. h"
11 #include "ios/web/public/web_thread.h" 17 #include "ios/web/public/web_thread.h"
12 #include "url/gurl.h" 18 #include "url/gurl.h"
13 19
14 #if !defined(__has_feature) || !__has_feature(objc_arc) 20 #if !defined(__has_feature) || !__has_feature(objc_arc)
15 #error "This file requires ARC support." 21 #error "This file requires ARC support."
16 #endif 22 #endif
17 23
18 IOSChromeTabRestoreServiceClient::IOSChromeTabRestoreServiceClient( 24 IOSChromeTabRestoreServiceClient::IOSChromeTabRestoreServiceClient(
19 ios::ChromeBrowserState* browser_state) 25 ios::ChromeBrowserState* browser_state)
20 : browser_state_(browser_state) {} 26 : browser_state_(browser_state) {}
21 27
22 IOSChromeTabRestoreServiceClient::~IOSChromeTabRestoreServiceClient() {} 28 IOSChromeTabRestoreServiceClient::~IOSChromeTabRestoreServiceClient() {}
23 29
24 sessions::LiveTabContext* 30 sessions::LiveTabContext*
25 IOSChromeTabRestoreServiceClient::CreateLiveTabContext( 31 IOSChromeTabRestoreServiceClient::CreateLiveTabContext(
26 const std::string& app_name) { 32 const std::string& app_name) {
27 return ios::GetChromeBrowserProvider()->GetLiveTabContextProvider()->Create( 33 return TabRestoreServiceDelegateImplIOSFactory::GetForBrowserState(
28 browser_state_); 34 browser_state_);
29 } 35 }
30 36
31 sessions::LiveTabContext* 37 sessions::LiveTabContext*
32 IOSChromeTabRestoreServiceClient::FindLiveTabContextForTab( 38 IOSChromeTabRestoreServiceClient::FindLiveTabContextForTab(
33 const sessions::LiveTab* tab) { 39 const sessions::LiveTab* tab) {
34 return ios::GetChromeBrowserProvider() 40 const sessions::IOSLiveTab* requested_tab =
35 ->GetLiveTabContextProvider() 41 static_cast<const sessions::IOSLiveTab*>(tab);
36 ->FindContextForTab(tab); 42 for (BrowserListIOS::const_iterator iter = BrowserListIOS::begin();
43 iter != BrowserListIOS::end(); ++iter) {
44 id<BrowserIOS> browser = *iter;
45 for (Tab* current_tab in [browser tabModel]) {
46 if (current_tab.webState &&
47 current_tab.webState == requested_tab->web_state()) {
48 return TabRestoreServiceDelegateImplIOSFactory::GetForBrowserState(
49 [browser browserState]);
50 }
51 }
52 }
53 return nullptr;
37 } 54 }
38 55
39 sessions::LiveTabContext* 56 sessions::LiveTabContext*
40 IOSChromeTabRestoreServiceClient::FindLiveTabContextWithID( 57 IOSChromeTabRestoreServiceClient::FindLiveTabContextWithID(
41 SessionID::id_type desired_id) { 58 SessionID::id_type desired_id) {
42 return ios::GetChromeBrowserProvider() 59 for (BrowserListIOS::const_iterator iter = BrowserListIOS::begin();
43 ->GetLiveTabContextProvider() 60 iter != BrowserListIOS::end(); ++iter) {
44 ->FindContextWithID(desired_id); 61 id<BrowserIOS> browser = *iter;
62 if ([browser tabModel].sessionID.id() == desired_id) {
63 return TabRestoreServiceDelegateImplIOSFactory::GetForBrowserState(
64 [browser browserState]);
65 }
66 }
67 return nullptr;
45 } 68 }
46 69
47 bool IOSChromeTabRestoreServiceClient::ShouldTrackURLForRestore( 70 bool IOSChromeTabRestoreServiceClient::ShouldTrackURLForRestore(
48 const GURL& url) { 71 const GURL& url) {
49 // NOTE: In the //chrome client, chrome://quit and chrome://restart are 72 // NOTE: In the //chrome client, chrome://quit and chrome://restart are
50 // blacklisted from being tracked to avoid entering infinite loops. However, 73 // blacklisted from being tracked to avoid entering infinite loops. However,
51 // iOS intentionally does not support those URLs, so there is no need to 74 // iOS intentionally does not support those URLs, so there is no need to
52 // blacklist them here. 75 // blacklist them here.
53 return url.is_valid(); 76 return url.is_valid();
54 } 77 }
(...skipping 21 matching lines...) Expand all
76 99
77 bool IOSChromeTabRestoreServiceClient::HasLastSession() { 100 bool IOSChromeTabRestoreServiceClient::HasLastSession() {
78 return false; 101 return false;
79 } 102 }
80 103
81 void IOSChromeTabRestoreServiceClient::GetLastSession( 104 void IOSChromeTabRestoreServiceClient::GetLastSession(
82 const sessions::GetLastSessionCallback& callback, 105 const sessions::GetLastSessionCallback& callback,
83 base::CancelableTaskTracker* tracker) { 106 base::CancelableTaskTracker* tracker) {
84 NOTREACHED(); 107 NOTREACHED();
85 } 108 }
OLDNEW
« no previous file with comments | « ios/chrome/browser/sessions/BUILD.gn ('k') | ios/chrome/browser/sessions/tab_restore_service_delegate_provider_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698