Chromium Code Reviews| Index: chrome/browser/ui/android/tab_model/tab_model.h |
| diff --git a/chrome/browser/ui/android/tab_model/tab_model.h b/chrome/browser/ui/android/tab_model/tab_model.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..f37f0a80b318b4792cb6f4372af48f685cb3978d |
| --- /dev/null |
| +++ b/chrome/browser/ui/android/tab_model/tab_model.h |
| @@ -0,0 +1,55 @@ |
| +// Copyright (c) 2012 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_ANDROID_TAB_MODEL_TAB_MODEL_H_ |
| +#define CHROME_BROWSER_UI_ANDROID_TAB_MODEL_TAB_MODEL_H_ |
| + |
| +#include "chrome/browser/sessions/session_id.h" |
| + |
| +namespace browser_sync { |
| +class SyncedWindowDelegate; |
| +} |
| + |
| +namespace content { |
| +class WebContents; |
| +} |
| + |
| +class Profile; |
| +class TabContents; |
| + |
| +// Abstract representation of a Tab Model for Android. Since Android does |
| +// not use Browser/BrowserList, this is required to allow Chrome to interact |
| +// with Android's Tabs and Tab Model. |
| +class TabModel { |
| + public: |
| + TabModel(); |
| + virtual ~TabModel(); |
| + |
| + virtual SessionID::id_type GetSessionId() const = 0; |
| + virtual int GetTabCount() const = 0; |
| + virtual int GetActiveIndex() const = 0; |
| + virtual TabContents* GetTabContentsAt(int index) const = 0; |
| + virtual SessionID::id_type GetTabIdAt(int index) const = 0; |
| + |
| + // Used for restoring tabs from synced foreign sessions. |
| + virtual void CreateTab(content::WebContents* web_contents) = 0; |
| + |
| + // Returns true when all tabs have been restored from disk. |
|
nyquist
2012/07/24 18:32:34
This comment seems wrong. I believe it should be s
David Trainor- moved to gerrit
2012/07/24 20:48:52
Done.
|
| + virtual bool IsSessionRestoreInProgress() const = 0; |
| + |
| + virtual void OpenClearBrowsingData() const = 0; |
| + virtual Profile* GetProfile() const = 0; |
| + |
| + virtual browser_sync::SyncedWindowDelegate* GetSyncedWindowDelegate() = 0; |
| + |
| + protected: |
| + // Instructs the TabModel to broadcast a notification that all tabs are now |
| + // loaded from storage. |
| + void BroadcastSessionRestoreComplete(); |
| + |
| + private: |
| + DISALLOW_COPY_AND_ASSIGN(TabModel); |
| +}; |
| + |
| +#endif // CHROME_BROWSER_UI_ANDROID_TAB_MODEL_TAB_MODEL_H_ |