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

Side by Side Diff: chrome/browser/ui/browser_live_tab_context.cc

Issue 2727663004: Use TabLoader in TabRestoreService. (Closed)
Patch Set: Created 3 years, 9 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/browser/ui/browser_live_tab_context.h" 5 #include "chrome/browser/ui/browser_live_tab_context.h"
6 6
7 #include "chrome/browser/ui/browser.h" 7 #include "chrome/browser/ui/browser.h"
8 #include "chrome/browser/ui/browser_commands.h" 8 #include "chrome/browser/ui/browser_commands.h"
9 #include "chrome/browser/ui/browser_finder.h" 9 #include "chrome/browser/ui/browser_finder.h"
10 #include "chrome/browser/ui/browser_tabrestore.h" 10 #include "chrome/browser/ui/browser_tabrestore.h"
11 #include "chrome/browser/ui/browser_window.h" 11 #include "chrome/browser/ui/browser_window.h"
12 #include "chrome/browser/ui/tabs/tab_strip_model.h" 12 #include "chrome/browser/ui/tabs/tab_strip_model.h"
13 #include "components/sessions/content/content_live_tab.h" 13 #include "components/sessions/content/content_live_tab.h"
14 #include "components/sessions/content/content_platform_specific_tab_data.h" 14 #include "components/sessions/content/content_platform_specific_tab_data.h"
15 #include "content/public/browser/navigation_controller.h" 15 #include "content/public/browser/navigation_controller.h"
16 #include "content/public/browser/session_storage_namespace.h" 16 #include "content/public/browser/session_storage_namespace.h"
17 17
18 #if BUILDFLAG(ENABLE_SESSION_SERVICE)
19 #include "chrome/browser/sessions/tab_loader.h"
20 #endif
21
18 using content::NavigationController; 22 using content::NavigationController;
19 using content::SessionStorageNamespace; 23 using content::SessionStorageNamespace;
20 using content::WebContents; 24 using content::WebContents;
21 25
22 void BrowserLiveTabContext::ShowBrowserWindow() { 26 void BrowserLiveTabContext::ShowBrowserWindow() {
23 browser_->window()->Show(); 27 browser_->window()->Show();
24 } 28 }
25 29
26 const SessionID& BrowserLiveTabContext::GetSessionID() const { 30 const SessionID& BrowserLiveTabContext::GetSessionID() const {
27 return browser_->session_id(); 31 return browser_->session_id();
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 tab_platform_data 71 tab_platform_data
68 ? static_cast<const sessions::ContentPlatformSpecificTabData*>( 72 ? static_cast<const sessions::ContentPlatformSpecificTabData*>(
69 tab_platform_data) 73 tab_platform_data)
70 ->session_storage_namespace() 74 ->session_storage_namespace()
71 : nullptr; 75 : nullptr;
72 76
73 WebContents* web_contents = chrome::AddRestoredTab( 77 WebContents* web_contents = chrome::AddRestoredTab(
74 browser_, navigations, tab_index, selected_navigation, extension_app_id, 78 browser_, navigations, tab_index, selected_navigation, extension_app_id,
75 select, pin, from_last_session, storage_namespace, user_agent_override); 79 select, pin, from_last_session, storage_namespace, user_agent_override);
76 80
81 #if BUILDFLAG(ENABLE_SESSION_SERVICE)
82 // The focused tab will be loaded by Browser, and TabLoader will load the
83 // rest.
84 if (!select) {
85 // Regression check: make sure that the tab hasn't started to load
86 // immediately.
87 DCHECK(web_contents->GetController().NeedsReload());
88 DCHECK(!web_contents->IsLoading());
89 }
90 std::vector<TabLoader::RestoredTab> restoredTabs;
sky 2017/03/02 19:12:05 restored_tabs
Michael K. (Yandex Team) 2017/03/03 08:26:37 Done.
91 restoredTabs.emplace_back(web_contents, select, !extension_app_id.empty(),
92 pin);
93 TabLoader::RestoreTabs(restoredTabs, base::TimeTicks::Now());
94 #else // BUILDFLAG(ENABLE_SESSION_SERVICE)
95 // Load the tab manually if there is no TabLoader.
96 web_contents->GetController().LoadIfNecessary();
97 #endif // BUILDFLAG(ENABLE_SESSION_SERVICE)
98
77 return sessions::ContentLiveTab::GetForWebContents(web_contents); 99 return sessions::ContentLiveTab::GetForWebContents(web_contents);
78 } 100 }
79 101
80 sessions::LiveTab* BrowserLiveTabContext::ReplaceRestoredTab( 102 sessions::LiveTab* BrowserLiveTabContext::ReplaceRestoredTab(
81 const std::vector<sessions::SerializedNavigationEntry>& navigations, 103 const std::vector<sessions::SerializedNavigationEntry>& navigations,
82 int selected_navigation, 104 int selected_navigation,
83 bool from_last_session, 105 bool from_last_session,
84 const std::string& extension_app_id, 106 const std::string& extension_app_id,
85 const sessions::PlatformSpecificTabData* tab_platform_data, 107 const sessions::PlatformSpecificTabData* tab_platform_data,
86 const std::string& user_agent_override) { 108 const std::string& user_agent_override) {
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 Browser* browser = chrome::FindBrowserWithWebContents(contents); 148 Browser* browser = chrome::FindBrowserWithWebContents(contents);
127 return browser ? browser->live_tab_context() : nullptr; 149 return browser ? browser->live_tab_context() : nullptr;
128 } 150 }
129 151
130 // static 152 // static
131 sessions::LiveTabContext* BrowserLiveTabContext::FindContextWithID( 153 sessions::LiveTabContext* BrowserLiveTabContext::FindContextWithID(
132 SessionID::id_type desired_id) { 154 SessionID::id_type desired_id) {
133 Browser* browser = chrome::FindBrowserWithID(desired_id); 155 Browser* browser = chrome::FindBrowserWithID(desired_id);
134 return browser ? browser->live_tab_context() : nullptr; 156 return browser ? browser->live_tab_context() : nullptr;
135 } 157 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698