| Index: components/sync_sessions/synced_tab_delegate.h
|
| diff --git a/components/sync_sessions/synced_tab_delegate.h b/components/sync_sessions/synced_tab_delegate.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..2745842fc4085b23a8a1e92f0eb808a40c93bf9a
|
| --- /dev/null
|
| +++ b/components/sync_sessions/synced_tab_delegate.h
|
| @@ -0,0 +1,73 @@
|
| +// Copyright (c) 2012 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_SYNC_SESSIONS_SYNCED_TAB_DELEGATE_H__
|
| +#define COMPONENTS_SYNC_SESSIONS_SYNCED_TAB_DELEGATE_H__
|
| +
|
| +#include <string>
|
| +#include <vector>
|
| +
|
| +#include "base/memory/scoped_ptr.h"
|
| +#include "components/sessions/core/serialized_navigation_entry.h"
|
| +#include "components/sessions/core/session_id.h"
|
| +#include "ui/base/page_transition_types.h"
|
| +#include "url/gurl.h"
|
| +
|
| +class Profile;
|
| +
|
| +namespace sync_sessions {
|
| +class SyncSessionsClient;
|
| +}
|
| +
|
| +namespace browser_sync {
|
| +
|
| +// A SyncedTabDelegate is used to insulate the sync code from depending
|
| +// directly on WebContents, NavigationController, and the extensions TabHelper.
|
| +class SyncedTabDelegate {
|
| + public:
|
| + virtual ~SyncedTabDelegate();
|
| +
|
| + // Methods from TabContents.
|
| + virtual SessionID::id_type GetWindowId() const = 0;
|
| + virtual SessionID::id_type GetSessionId() const = 0;
|
| + virtual bool IsBeingDestroyed() const = 0;
|
| +
|
| + // Method derived from extensions TabHelper.
|
| + virtual std::string GetExtensionAppId() const = 0;
|
| +
|
| + // Methods from NavigationController.
|
| + virtual bool IsInitialBlankNavigation() const = 0;
|
| + virtual int GetCurrentEntryIndex() const = 0;
|
| + virtual int GetEntryCount() const = 0;
|
| + virtual GURL GetVirtualURLAtIndex(int i) const = 0;
|
| + virtual GURL GetFaviconURLAtIndex(int i) const = 0;
|
| + virtual ui::PageTransition GetTransitionAtIndex(int i) const = 0;
|
| + virtual void GetSerializedNavigationAtIndex(
|
| + int i,
|
| + sessions::SerializedNavigationEntry* serialized_entry) const = 0;
|
| +
|
| + // Supervised user related methods.
|
| + virtual bool ProfileIsSupervised() const = 0;
|
| + virtual const std::vector<const sessions::SerializedNavigationEntry*>*
|
| + GetBlockedNavigations() const = 0;
|
| +
|
| + // Session sync related methods.
|
| + virtual int GetSyncId() const = 0;
|
| + virtual void SetSyncId(int sync_id) = 0;
|
| + virtual bool ShouldSync(
|
| + sync_sessions::SyncSessionsClient* sessions_client) = 0;
|
| +
|
| + // Whether this tab is a placeholder tab. On some platforms, tabs can be
|
| + // restored without bringing all their state into memory, and are just
|
| + // restored as a placeholder. In that case, the previous synced data from that
|
| + // tab should be preserved.
|
| + virtual bool IsPlaceholderTab() const = 0;
|
| +
|
| + protected:
|
| + SyncedTabDelegate();
|
| +};
|
| +
|
| +} // namespace browser_sync
|
| +
|
| +#endif // COMPONENTS_SYNC_SESSIONS_SYNCED_TAB_DELEGATE_H__
|
|
|