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

Side by Side Diff: components/sessions/core/tab_restore_service_client.h

Issue 1309363007: [sessions] Remove most knowledge of //chrome from core tab restore code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@tab_restore_service_client
Patch Set: Make OnTabRestored() optional 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
« no previous file with comments | « chrome/browser/sessions/tab_restore_service_helper.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #ifndef COMPONENTS_SESSIONS_CORE_TAB_RESTORE_SERVICE_CLIENT_H_ 5 #ifndef COMPONENTS_SESSIONS_CORE_TAB_RESTORE_SERVICE_CLIENT_H_
6 #define COMPONENTS_SESSIONS_CORE_TAB_RESTORE_SERVICE_CLIENT_H_ 6 #define COMPONENTS_SESSIONS_CORE_TAB_RESTORE_SERVICE_CLIENT_H_
7 7
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/files/file_path.h"
9 #include "base/memory/scoped_vector.h" 10 #include "base/memory/scoped_vector.h"
10 #include "components/sessions/session_id.h" 11 #include "components/sessions/session_id.h"
11 12
12 namespace base { 13 namespace base {
13 class CancelableTaskTracker; 14 class CancelableTaskTracker;
14 } 15 }
15 16
16 namespace sessions { 17 namespace sessions {
17 struct SessionWindow; 18 struct SessionWindow;
18 } 19 }
19 20
21 class GURL;
22
20 namespace sessions { 23 namespace sessions {
21 24
22 struct SessionWindow; 25 struct SessionWindow;
23 26
24 // Callback from TabRestoreServiceClient::GetLastSession. 27 // Callback from TabRestoreServiceClient::GetLastSession.
25 // The second parameter is the id of the window that was last active. 28 // The second parameter is the id of the window that was last active.
26 typedef base::Callback<void(ScopedVector<SessionWindow>, SessionID::id_type)> 29 typedef base::Callback<void(ScopedVector<SessionWindow>, SessionID::id_type)>
27 GetLastSessionCallback; 30 GetLastSessionCallback;
28 31
29 // A client interface that needs to be supplied to the tab restore service by 32 // A client interface that needs to be supplied to the tab restore service by
30 // the embedder. 33 // the embedder.
31 class TabRestoreServiceClient { 34 class TabRestoreServiceClient {
32 public: 35 public:
33 virtual ~TabRestoreServiceClient() {} 36 virtual ~TabRestoreServiceClient() {}
34 37
38 // Returns the path of the directory to save state into.
39 virtual base::FilePath GetPathToSaveTo() = 0;
40
41 // Returns the URL that corresponds to the new tab page.
42 virtual GURL GetNewTabURL() = 0;
43
35 // Returns whether there is a previous session to load. 44 // Returns whether there is a previous session to load.
36 virtual bool HasLastSession() = 0; 45 virtual bool HasLastSession() = 0;
37 46
38 // Fetches the contents of the last session, notifying the callback when 47 // Fetches the contents of the last session, notifying the callback when
39 // done. If the callback is supplied an empty vector of SessionWindows 48 // done. If the callback is supplied an empty vector of SessionWindows
40 // it means the session could not be restored. 49 // it means the session could not be restored.
41 virtual void GetLastSession(const GetLastSessionCallback& callback, 50 virtual void GetLastSession(const GetLastSessionCallback& callback,
42 base::CancelableTaskTracker* tracker) = 0; 51 base::CancelableTaskTracker* tracker) = 0;
52
53 // Called when a tab is restored. |url| is the URL that the tab is currently
54 // visiting.
55 virtual void OnTabRestored(const GURL& url) {}
43 }; 56 };
44 57
45 } // namespace sessions 58 } // namespace sessions
46 59
47 #endif // COMPONENTS_SESSIONS_CORE_TAB_RESTORE_SERVICE_CLIENT_H_ 60 #endif // COMPONENTS_SESSIONS_CORE_TAB_RESTORE_SERVICE_CLIENT_H_
OLDNEW
« no previous file with comments | « chrome/browser/sessions/tab_restore_service_helper.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698