diff options
author | shashishekhar@chromium.org <shashishekhar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-30 04:51:05 +0000 |
---|---|---|
committer | shashishekhar@chromium.org <shashishekhar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-30 04:51:05 +0000 |
commit | e087b77fbfc5f501df0eb0da4b16b4a788a45dc4 (patch) | |
tree | ebe15d05324e7fbfecfb139dde34374652c2c2f1 /chrome/browser/ui/android/tab_model/tab_model.h | |
parent | f6f66d56c74c2542f70e5408611868714cbdef53 (diff) | |
download | chromium_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.h | 4 |
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; |