Chromium Code Reviews| Index: chrome/browser/sync/glue/synced_tab_delegate_android.h |
| diff --git a/chrome/browser/ui/sync/tab_contents_synced_tab_delegate.h b/chrome/browser/sync/glue/synced_tab_delegate_android.h |
| similarity index 53% |
| copy from chrome/browser/ui/sync/tab_contents_synced_tab_delegate.h |
| copy to chrome/browser/sync/glue/synced_tab_delegate_android.h |
| index 62717c4ec3deaecdedf52d8b225d85d245197ff9..cd1491f88fef9e50a44ee325adb6b30434f59e96 100644 |
| --- a/chrome/browser/ui/sync/tab_contents_synced_tab_delegate.h |
| +++ b/chrome/browser/sync/glue/synced_tab_delegate_android.h |
| @@ -1,12 +1,11 @@ |
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| +// Copyright (c) 2013 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 CHROME_BROWSER_UI_SYNC_TAB_CONTENTS_SYNCED_TAB_DELEGATE_H_ |
| -#define CHROME_BROWSER_UI_SYNC_TAB_CONTENTS_SYNCED_TAB_DELEGATE_H_ |
| +#ifndef CHROME_BROWSER_SYNC_GLUE_SYNCED_TAB_DELEGATE_ANDROID_H_ |
| +#define CHROME_BROWSER_SYNC_GLUE_SYNCED_TAB_DELEGATE_ANDROID_H_ |
| #include "base/compiler_specific.h" |
| -#include "chrome/browser/sessions/session_id.h" |
| #include "chrome/browser/sync/glue/synced_tab_delegate.h" |
| #include "content/public/browser/web_contents_user_data.h" |
| @@ -14,11 +13,13 @@ namespace content { |
| class WebContents; |
| } |
| -class TabContentsSyncedTabDelegate |
| - : public browser_sync::SyncedTabDelegate, |
| - public content::WebContentsUserData<TabContentsSyncedTabDelegate> { |
| +class TabAndroid; |
| +// On Android a tab can exist even without web_contents. |
|
Yaron
2013/05/21 18:32:07
Nit; missing newline between
shashi
2013/05/21 23:11:21
Done.
|
| +// SyncedTabDelegateAndroid wraps TabContentsSyncedTabDelegate and provides |
| +// a method to set webcontents later when tab is brought to memory. |
| +class SyncedTabDelegateAndroid : public browser_sync::SyncedTabDelegate { |
| public: |
| - virtual ~TabContentsSyncedTabDelegate(); |
| + virtual ~SyncedTabDelegateAndroid(); |
| // Methods from SyncedTabDelegate. |
| virtual SessionID::id_type GetWindowId() const OVERRIDE; |
| @@ -33,14 +34,18 @@ class TabContentsSyncedTabDelegate |
| virtual content::NavigationEntry* GetEntryAtIndex(int i) const OVERRIDE; |
| virtual content::NavigationEntry* GetActiveEntry() const OVERRIDE; |
| virtual bool IsPinned() const OVERRIDE; |
| + virtual bool HasWebContents() const OVERRIDE; |
| - private: |
| - explicit TabContentsSyncedTabDelegate(content::WebContents* web_contents); |
| - friend class content::WebContentsUserData<TabContentsSyncedTabDelegate>; |
| + // Set the webcontents for this tab. Creates TabContentsSyncedTabDelegate |
| + // for this tab. |
| + virtual void SetWebContents(content::WebContents* web_contents); |
| + explicit SyncedTabDelegateAndroid(TabAndroid* owning_tab_); |
| + private: |
| content::WebContents* web_contents_; |
| + TabAndroid* tab_android_; |
| - DISALLOW_COPY_AND_ASSIGN(TabContentsSyncedTabDelegate); |
| + DISALLOW_COPY_AND_ASSIGN(SyncedTabDelegateAndroid); |
| }; |
| -#endif // CHROME_BROWSER_UI_SYNC_TAB_CONTENTS_SYNCED_TAB_DELEGATE_H_ |
| +#endif // CHROME_BROWSER_SYNC_GLUE_SYNCED_TAB_DELEGATE_ANDROID_H_ |