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 51% |
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..ab384aff0b27351929c934555dbc88e2769c0b45 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 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,14 @@ 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. |
+ |
+// SyncedTabDelegateAndroid wraps TabContentsSyncedTabDelegate and provides |
+// a method to set web contents 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 +35,20 @@ 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 web contents for this tab. Also creates |
+ // TabContentsSyncedTabDelegate for this tab. |
+ virtual void SetWebContents(content::WebContents* web_contents); |
+ // Set web contents to null. |
+ virtual void ResetWebContents(); |
+ explicit SyncedTabDelegateAndroid(TabAndroid* owning_tab_); |
Nicolas Zea
2013/05/22 20:36:37
nit: move to top of list of public methods.
shashi
2013/05/22 21:18:59
Done.
|
+ 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_ |