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

Side by Side Diff: chrome/browser/sessions/session_restore.cc

Issue 1158523002: Add user_gesture param to BaseWindow::Show Base URL: https://chromium.googlesource.com/chromium/src.git@ug3_BaseWindow_Activate
Patch Set: Update callers Created 5 years, 7 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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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/sessions/session_restore.h" 5 #include "chrome/browser/sessions/session_restore.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <list> 8 #include <list>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 browser, tab.navigations, tab_index, selected_index, 221 browser, tab.navigations, tab_index, selected_index,
222 tab.extension_app_id, 222 tab.extension_app_id,
223 disposition == NEW_FOREGROUND_TAB, // selected 223 disposition == NEW_FOREGROUND_TAB, // selected
224 tab.pinned, true, nullptr, tab.user_agent_override); 224 tab.pinned, true, nullptr, tab.user_agent_override);
225 // Start loading the tab immediately. 225 // Start loading the tab immediately.
226 web_contents->GetController().LoadIfNecessary(); 226 web_contents->GetController().LoadIfNecessary();
227 } 227 }
228 228
229 if (use_new_window) { 229 if (use_new_window) {
230 browser->tab_strip_model()->ActivateTabAt(0, true); 230 browser->tab_strip_model()->ActivateTabAt(0, true);
231 browser->window()->Show(); 231 // TODO(johnme): Can we sometimes be certain this was for a user gesture?
232 browser->window()->Show(false /* user_gesture */);
232 } 233 }
233 NotifySessionServiceOfRestoredTabs(browser, 234 NotifySessionServiceOfRestoredTabs(browser,
234 browser->tab_strip_model()->count()); 235 browser->tab_strip_model()->count());
235 236
236 // Since FinishedTabCreation() is not called here, |this| will leak if we 237 // Since FinishedTabCreation() is not called here, |this| will leak if we
237 // are not in sychronous mode. 238 // are not in sychronous mode.
238 DCHECK(synchronous_); 239 DCHECK(synchronous_);
239 240
240 on_session_restored_callbacks_->Notify(1); 241 on_session_restored_callbacks_->Notify(1);
241 242
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 Browser* browser = nullptr; 287 Browser* browser = nullptr;
287 if (!created_tabbed_browser && always_create_tabbed_browser_) { 288 if (!created_tabbed_browser && always_create_tabbed_browser_) {
288 browser = 289 browser =
289 new Browser(Browser::CreateParams(profile_, host_desktop_type_)); 290 new Browser(Browser::CreateParams(profile_, host_desktop_type_));
290 if (urls_to_open_.empty()) { 291 if (urls_to_open_.empty()) {
291 // No tab browsers were created and no URLs were supplied on the command 292 // No tab browsers were created and no URLs were supplied on the command
292 // line. Open the new tab page. 293 // line. Open the new tab page.
293 urls_to_open_.push_back(GURL(chrome::kChromeUINewTabURL)); 294 urls_to_open_.push_back(GURL(chrome::kChromeUINewTabURL));
294 } 295 }
295 AppendURLsToBrowser(browser, urls_to_open_); 296 AppendURLsToBrowser(browser, urls_to_open_);
296 browser->window()->Show(); 297 // TODO(johnme): Can we sometimes be certain this was for a user gesture?
298 browser->window()->Show(false /* user_gesture */);
297 } 299 }
298 300
299 if (succeeded) { 301 if (succeeded) {
300 // Start Loading tabs. 302 // Start Loading tabs.
301 if (SessionRestore::GetSmartRestoreMode() != 303 if (SessionRestore::GetSmartRestoreMode() !=
302 SessionRestore::SMART_RESTORE_MODE_OFF) 304 SessionRestore::SMART_RESTORE_MODE_OFF)
303 std::stable_sort(contents_created->begin(), contents_created->end()); 305 std::stable_sort(contents_created->begin(), contents_created->end());
304 SessionRestoreDelegate::RestoreTabs(*contents_created, restore_started_); 306 SessionRestoreDelegate::RestoreTabs(*contents_created, restore_started_);
305 } 307 }
306 308
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after
614 } 616 }
615 617
616 void ShowBrowser(Browser* browser, int selected_tab_index) { 618 void ShowBrowser(Browser* browser, int selected_tab_index) {
617 DCHECK(browser); 619 DCHECK(browser);
618 DCHECK(browser->tab_strip_model()->count()); 620 DCHECK(browser->tab_strip_model()->count());
619 browser->tab_strip_model()->ActivateTabAt(selected_tab_index, true); 621 browser->tab_strip_model()->ActivateTabAt(selected_tab_index, true);
620 622
621 if (browser_ == browser) 623 if (browser_ == browser)
622 return; 624 return;
623 625
624 browser->window()->Show(); 626 // TODO(johnme): Can we sometimes be certain this was for a user gesture?
627 browser->window()->Show(false /* user_gesture */);
625 browser->set_is_session_restore(false); 628 browser->set_is_session_restore(false);
626 629
627 // TODO(jcampan): http://crbug.com/8123 we should not need to set the 630 // TODO(jcampan): http://crbug.com/8123 we should not need to set the
628 // initial focus explicitly. 631 // initial focus explicitly.
629 browser->tab_strip_model()->GetActiveWebContents()->SetInitialFocus(); 632 browser->tab_strip_model()->GetActiveWebContents()->SetInitialFocus();
630 } 633 }
631 634
632 // Appends the urls in |urls| to |browser|. 635 // Appends the urls in |urls| to |browser|.
633 void AppendURLsToBrowser(Browser* browser, const std::vector<GURL>& urls) { 636 void AppendURLsToBrowser(Browser* browser, const std::vector<GURL>& urls) {
634 for (size_t i = 0; i < urls.size(); ++i) { 637 for (size_t i = 0; i < urls.size(); ++i) {
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
827 if (prioritize_tabs == "mru") 830 if (prioritize_tabs == "mru")
828 return SMART_RESTORE_MODE_MRU; 831 return SMART_RESTORE_MODE_MRU;
829 if (prioritize_tabs == "simple") 832 if (prioritize_tabs == "simple")
830 return SMART_RESTORE_MODE_SIMPLE; 833 return SMART_RESTORE_MODE_SIMPLE;
831 return SMART_RESTORE_MODE_OFF; 834 return SMART_RESTORE_MODE_OFF;
832 } 835 }
833 836
834 // static 837 // static
835 base::CallbackList<void(int)>* 838 base::CallbackList<void(int)>*
836 SessionRestore::on_session_restored_callbacks_ = nullptr; 839 SessionRestore::on_session_restored_callbacks_ = nullptr;
OLDNEW
« no previous file with comments | « chrome/browser/sessions/better_session_restore_browsertest.cc ('k') | chrome/browser/sessions/session_restore_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698