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_ |