summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/android/tab_model/tab_model.h
diff options
context:
space:
mode:
authorshashishekhar@chromium.org <shashishekhar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-30 04:51:05 +0000
committershashishekhar@chromium.org <shashishekhar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-30 04:51:05 +0000
commite087b77fbfc5f501df0eb0da4b16b4a788a45dc4 (patch)
treeebe15d05324e7fbfecfb139dde34374652c2c2f1 /chrome/browser/ui/android/tab_model/tab_model.h
parentf6f66d56c74c2542f70e5408611868714cbdef53 (diff)
downloadchromium_src-e087b77fbfc5f501df0eb0da4b16b4a788a45dc4.zip
chromium_src-e087b77fbfc5f501df0eb0da4b16b4a788a45dc4.tar.gz
chromium_src-e087b77fbfc5f501df0eb0da4b16b4a788a45dc4.tar.bz2
Add a new SyncedTabDelegate for Android.
Android can have tabs without any web contents. Tab association logic assumes that all tabs have web contents. This prevents Android from cleanly doing session reassociation. This change adds a SyncedTabDelegate which does not depend on existence of web contents. It also ensures that SessionID for a tab does not change when web contents get attached to the tab. BUG=139670, 125549 Review URL: https://chromiumcodereview.appspot.com/15499005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@203071 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui/android/tab_model/tab_model.h')
-rw-r--r--chrome/browser/ui/android/tab_model/tab_model.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/chrome/browser/ui/android/tab_model/tab_model.h b/chrome/browser/ui/android/tab_model/tab_model.h
index 32f8fcf..59e7be5 100644
--- a/chrome/browser/ui/android/tab_model/tab_model.h
+++ b/chrome/browser/ui/android/tab_model/tab_model.h
@@ -7,6 +7,7 @@
#include "base/memory/scoped_ptr.h"
#include "chrome/browser/sessions/session_id.h"
+#include "chrome/browser/sync/glue/synced_tab_delegate.h"
#include "chrome/browser/ui/toolbar/toolbar_model.h"
#include "chrome/browser/ui/toolbar/toolbar_model_delegate.h"
#include "content/public/browser/notification_observer.h"
@@ -15,6 +16,7 @@
namespace browser_sync {
class SyncedWindowDelegate;
class SyncedWindowDelegateAndroid;
+class SyncedTabDelegate;
}
namespace content {
@@ -46,7 +48,7 @@ class TabModel : public content::NotificationObserver,
virtual int GetTabCount() const = 0;
virtual int GetActiveIndex() const = 0;
virtual content::WebContents* GetWebContentsAt(int index) const = 0;
- virtual SessionID::id_type GetTabIdAt(int index) const = 0;
+ virtual browser_sync::SyncedTabDelegate* GetTabAt(int index) const = 0;
// Used for restoring tabs from synced foreign sessions.
virtual void CreateTab(content::WebContents* web_contents) = 0;