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

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

Issue 1319473014: Introduce TabRestoreServiceClient and //chrome implementation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Build fixes Created 5 years, 3 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/sessions/session_service.h" 5 #include "chrome/browser/sessions/session_service.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <set> 8 #include <set>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 479 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 const SessionID& tab_id, 490 const SessionID& tab_id,
491 base::TimeTicks last_active_time) { 491 base::TimeTicks last_active_time) {
492 if (!ShouldTrackChangesToWindow(window_id)) 492 if (!ShouldTrackChangesToWindow(window_id))
493 return; 493 return;
494 494
495 ScheduleCommand( 495 ScheduleCommand(
496 sessions::CreateLastActiveTimeCommand(tab_id, last_active_time).Pass()); 496 sessions::CreateLastActiveTimeCommand(tab_id, last_active_time).Pass());
497 } 497 }
498 498
499 base::CancelableTaskTracker::TaskId SessionService::GetLastSession( 499 base::CancelableTaskTracker::TaskId SessionService::GetLastSession(
500 const SessionCallback& callback, 500 const sessions::GotLastSessionCallback& callback,
501 base::CancelableTaskTracker* tracker) { 501 base::CancelableTaskTracker* tracker) {
502 // OnGotSessionCommands maps the SessionCommands to browser state, then run 502 // OnGotSessionCommands maps the SessionCommands to browser state, then run
503 // the callback. 503 // the callback.
504 return base_session_service_->ScheduleGetLastSessionCommands( 504 return base_session_service_->ScheduleGetLastSessionCommands(
505 base::Bind(&SessionService::OnGotSessionCommands, 505 base::Bind(&SessionService::OnGotSessionCommands,
506 weak_factory_.GetWeakPtr(), 506 weak_factory_.GetWeakPtr(),
507 callback), 507 callback),
508 tracker); 508 tracker);
509 } 509 }
510 510
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
688 } 688 }
689 } 689 }
690 690
691 void SessionService::OnBrowserSetLastActive(Browser* browser) { 691 void SessionService::OnBrowserSetLastActive(Browser* browser) {
692 if (ShouldTrackBrowser(browser)) 692 if (ShouldTrackBrowser(browser))
693 ScheduleCommand(sessions::CreateSetActiveWindowCommand( 693 ScheduleCommand(sessions::CreateSetActiveWindowCommand(
694 browser->session_id()).Pass()); 694 browser->session_id()).Pass());
695 } 695 }
696 696
697 void SessionService::OnGotSessionCommands( 697 void SessionService::OnGotSessionCommands(
698 const SessionCallback& callback, 698 const sessions::GotLastSessionCallback& callback,
699 ScopedVector<sessions::SessionCommand> commands) { 699 ScopedVector<sessions::SessionCommand> commands) {
700 ScopedVector<sessions::SessionWindow> valid_windows; 700 ScopedVector<sessions::SessionWindow> valid_windows;
701 SessionID::id_type active_window_id = 0; 701 SessionID::id_type active_window_id = 0;
702 702
703 sessions::RestoreSessionFromCommands( 703 sessions::RestoreSessionFromCommands(
704 commands, &valid_windows.get(), &active_window_id); 704 commands, &valid_windows.get(), &active_window_id);
705 RemoveUnusedRestoreWindows(&valid_windows.get()); 705 RemoveUnusedRestoreWindows(&valid_windows.get());
706 706
707 callback.Run(valid_windows.Pass(), active_window_id); 707 callback.Run(valid_windows.Pass(), active_window_id);
708 } 708 }
(...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after
1106 for (chrome::BrowserIterator it; !it.done(); it.Next()) { 1106 for (chrome::BrowserIterator it; !it.done(); it.Next()) {
1107 if ((*it)->profile() == profile()) 1107 if ((*it)->profile() == profile())
1108 return; 1108 return;
1109 } 1109 }
1110 DeleteSessionOnlyData(profile()); 1110 DeleteSessionOnlyData(profile());
1111 } 1111 }
1112 1112
1113 sessions::BaseSessionService* SessionService::GetBaseSessionServiceForTest() { 1113 sessions::BaseSessionService* SessionService::GetBaseSessionServiceForTest() {
1114 return base_session_service_.get(); 1114 return base_session_service_.get();
1115 } 1115 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698