Chromium Code Reviews| Index: components/sync_sessions/synced_tab_delegate.h |
| diff --git a/chrome/browser/sync/glue/synced_tab_delegate.h b/components/sync_sessions/synced_tab_delegate.h |
| similarity index 52% |
| rename from chrome/browser/sync/glue/synced_tab_delegate.h |
| rename to components/sync_sessions/synced_tab_delegate.h |
| index b026c53727c4ff0b934a7d93a3f2cd5db8d3a6ae..ba6768fa58790c6080888f6c7b7d9200b2f07f59 100644 |
| --- a/chrome/browser/sync/glue/synced_tab_delegate.h |
| +++ b/components/sync_sessions/synced_tab_delegate.h |
| @@ -2,21 +2,23 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| -#ifndef CHROME_BROWSER_SYNC_GLUE_SYNCED_TAB_DELEGATE_H__ |
| -#define CHROME_BROWSER_SYNC_GLUE_SYNCED_TAB_DELEGATE_H__ |
| +#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 "components/sync_driver/sessions/synced_window_delegates_getter.h" |
| +#include "ui/base/page_transition_types.h" |
|
skym
2015/10/16 16:55:47
Errr, what? I thought ui/ dependencies in componen
Nicolas Zea
2015/10/20 23:14:42
We can include ui/, just not content/ or chrome/
|
| +#include "url/gurl.h" |
| class Profile; |
| -namespace content { |
| -class NavigationEntry; |
| -class WebContents; |
| +namespace sync_sessions { |
| +class SyncSessionsClient; |
| } |
| namespace browser_sync { |
| @@ -29,63 +31,47 @@ class SyncedTabDelegate { |
| virtual ~SyncedTabDelegate(); |
| // Methods from TabContents. |
| - |
| virtual SessionID::id_type GetWindowId() const = 0; |
| virtual SessionID::id_type GetSessionId() const = 0; |
| virtual bool IsBeingDestroyed() const = 0; |
| - virtual Profile* profile() 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 int GetPendingEntryIndex() const = 0; |
| - virtual content::NavigationEntry* GetPendingEntry() const = 0; |
| - virtual content::NavigationEntry* GetEntryAtIndex(int i) const = 0; |
| - virtual content::NavigationEntry* GetActiveEntry() const = 0; |
| - |
| - // The idea here is that GetEntryAtIndex may not always return the pending |
| - // entry when asked for the entry at the pending index. These convinience |
| - // methods will check for this case and then call the correct entry accessor. |
| - content::NavigationEntry* GetCurrentEntryMaybePending() const; |
| - content::NavigationEntry* GetEntryAtIndexMaybePending(int i) const; |
| + 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 content::NavigationEntry*>* |
| - GetBlockedNavigations() const = 0; |
| + virtual const std::vector<const sessions::SerializedNavigationEntry*>* |
| + GetBlockedNavigations() const = 0; |
| virtual bool IsPinned() const = 0; |
| virtual bool HasWebContents() const = 0; |
|
blundell
2015/10/16 10:41:26
drive-by nit: This method should be renamed, assum
Nicolas Zea
2015/10/20 23:14:42
It is in fact still used (although this made me re
|
| - virtual content::WebContents* GetWebContents() const = 0; |
| // Session sync related methods. |
| virtual int GetSyncId() const = 0; |
| virtual void SetSyncId(int sync_id) = 0; |
| - // Returns true if this tab should be synchronized. |
| - bool ShouldSync() const; |
| - |
| // Sets the window getter. This must be called before any of the sync or |
| - // supervised user methods on this class are called. It is currently set when |
| - // the SyncTabDelegate is retrieved from WebContents via ImplFromWebContents. |
| + // supervised user methods on this class are called. It must be set when |
| + // the SyncTabDelegate implementation is accessed from Sync. |
| void SetSyncedWindowGetter(scoped_ptr<SyncedWindowDelegatesGetter> getter); |
| - // Returns the SyncedTabDelegate associated with WebContents. |
| - static SyncedTabDelegate* ImplFromWebContents( |
| - content::WebContents* web_contents); |
| + // Get the synced window delegate for this tab. |
| + const SyncedWindowDelegate* GetSyncedWindowDelegate() const; |
| protected: |
| SyncedTabDelegate(); |
| - // Overridden by the tests to avoid interaction with static state. |
| - virtual const SyncedWindowDelegate* GetSyncedWindowDelegate() const; |
| - |
| private: |
| // A getter for accessing the associated SyncedWindowDelegate. |
| scoped_ptr<SyncedWindowDelegatesGetter> synced_window_getter_; |
| @@ -93,4 +79,4 @@ class SyncedTabDelegate { |
| } // namespace browser_sync |
| -#endif // CHROME_BROWSER_SYNC_GLUE_SYNCED_TAB_DELEGATE_H__ |
| +#endif // COMPONENTS_SYNC_SESSIONS_SYNCED_TAB_DELEGATE_H__ |