Chromium Code Reviews| Index: components/sessions/core/tab_restore_service_client.h |
| diff --git a/components/sessions/core/tab_restore_service_client.h b/components/sessions/core/tab_restore_service_client.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..2fab91551e8c28582d4d1b4d85ae7f0466c21c1b |
| --- /dev/null |
| +++ b/components/sessions/core/tab_restore_service_client.h |
| @@ -0,0 +1,50 @@ |
| +// Copyright 2015 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef COMPONENTS_SESSIONS_CORE_TAB_RESTORE_SERVICE_CLIENT_H_ |
| +#define COMPONENTS_SESSIONS_CORE_TAB_RESTORE_SERVICE_CLIENT_H_ |
| + |
| +#include "base/callback.h" |
| +#include "base/memory/scoped_vector.h" |
| +#include "components/sessions/session_id.h" |
| + |
| +namespace base { |
| +class CancelableTaskTracker; |
| +} |
| + |
| +namespace sessions { |
| +struct SessionWindow; |
| +} |
| + |
| +namespace sessions { |
| + |
| +struct SessionWindow; |
| + |
| +// Callback from TabRestoreServiceClient::GetLastSession. |
| +// The second parameter is the id of the window that was last active. |
| +typedef base::Callback<void(ScopedVector<SessionWindow>, SessionID::id_type)> |
| + GotLastSessionCallback; |
|
sky
2015/09/08 23:44:59
nit: GetLastSessionCallback.
blundell
2015/09/09 10:27:10
Done.
|
| + |
| +// A client interface that needs to be supplied to the tab restore service by |
| +// the embedder. |
| +class TabRestoreServiceClient { |
| + public: |
| + virtual ~TabRestoreServiceClient() {} |
| + |
| + // The maximum number of navigation entries in each direction to persist. |
| + virtual int GetMaxPersistNavigationCount() = 0; |
|
sky
2015/09/08 23:44:59
Is there a reason this needs to be a function and
blundell
2015/09/09 10:27:10
Moved it into the component itself. At least at th
|
| + |
| + // Returns whether there is a previous session to load. |
| + virtual bool HasLastSession() = 0; |
| + |
| + // Fetches the contents of the last session, notifying the callback when |
| + // done. If the callback is supplied an empty vector of SessionWindows |
| + // it means the session could not be restored. |
| + virtual void GetLastSession(const GotLastSessionCallback& callback, |
| + base::CancelableTaskTracker* tracker) = 0; |
| +}; |
| + |
| +} // namespace sessions |
| + |
| +#endif // COMPONENTS_SESSIONS_CORE_TAB_RESTORE_SERVICE_CLIENT_H_ |