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
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_SESSIONS_CHROME_TAB_RESTORE_SERVICE_CLIENT_H_
6 #define CHROME_BROWSER_SESSIONS_CHROME_TAB_RESTORE_SERVICE_CLIENT_H_
8 #include "base/basictypes.h"
9 #include "components/sessions/core/tab_restore_service_client.h"
13 // ChromeTabRestoreServiceClient provides an implementation of
14 // TabRestoreServiceClient that depends on chrome/.
15 class ChromeTabRestoreServiceClient
: public sessions::TabRestoreServiceClient
{
17 explicit ChromeTabRestoreServiceClient(Profile
* profile
);
18 ~ChromeTabRestoreServiceClient() override
;
21 // TabRestoreServiceClient:
22 sessions::TabRestoreServiceDelegate
* CreateTabRestoreServiceDelegate(
23 int host_desktop_type
,
24 const std::string
& app_name
) override
;
25 sessions::TabRestoreServiceDelegate
* FindTabRestoreServiceDelegateForTab(
26 const sessions::LiveTab
* tab
) override
;
27 sessions::TabRestoreServiceDelegate
* FindTabRestoreServiceDelegateWithID(
28 SessionID::id_type desired_id
,
29 int host_desktop_type
) override
;
30 bool ShouldTrackURLForRestore(const GURL
& url
) override
;
31 std::string
GetExtensionAppIDForTab(sessions::LiveTab
* tab
) override
;
32 scoped_ptr
<sessions::TabClientData
> GetTabClientDataForTab(
33 sessions::LiveTab
* tab
) override
;
34 base::SequencedWorkerPool
* GetBlockingPool() override
;
35 base::FilePath
GetPathToSaveTo() override
;
36 GURL
GetNewTabURL() override
;
37 bool HasLastSession() override
;
38 void GetLastSession(const sessions::GetLastSessionCallback
& callback
,
39 base::CancelableTaskTracker
* tracker
) override
;
40 void OnTabRestored(const GURL
& url
) override
;
44 DISALLOW_COPY_AND_ASSIGN(ChromeTabRestoreServiceClient
);
47 #endif // CHROME_BROWSER_SESSIONS_CHROME_TAB_RESTORE_SERVICE_CLIENT_H_