Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(343)

Unified Diff: chrome/browser/tabs/tab_strip_model.h

Issue 4694008: Make pink's TabContentsWrapper change compile on Windows.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/tabs/tab_strip_model.h
===================================================================
--- chrome/browser/tabs/tab_strip_model.h (revision 66453)
+++ chrome/browser/tabs/tab_strip_model.h (working copy)
@@ -17,6 +17,7 @@
class NavigationController;
class Profile;
class TabContents;
+class TabContentsWrapper;
class TabStripModelDelegate;
class TabStripModelOrderController;
@@ -159,7 +160,7 @@
// Adds the specified TabContents in the default location. Tabs opened in the
// foreground inherit the group of the previously selected tab.
- void AppendTabContents(TabContents* contents, bool foreground);
+ void AppendTabContents(TabContentsWrapper* contents, bool foreground);
// Adds the specified TabContents at the specified location. |add_types| is a
// bitmask of AddTypes; see it for details.
@@ -172,7 +173,7 @@
// constraint that all mini-tabs occur before non-mini-tabs.
// See also AddTabContents.
void InsertTabContentsAt(int index,
- TabContents* contents,
+ TabContentsWrapper* contents,
int add_types);
// Closes the TabContents at the specified index. This causes the TabContents
@@ -190,18 +191,19 @@
//
// The old NavigationController is deallocated and this object takes
// ownership of the passed in controller.
+ // XXXPINK This API is weird and wrong. Remove it or change it or rename it?
void ReplaceNavigationControllerAt(int index,
- NavigationController* controller);
+ TabContentsWrapper* contents);
// Replaces the tab contents at |index| with |new_contents|. This deletes the
// TabContents currently at |index|.
- void ReplaceTabContentsAt(int index, TabContents* new_contents);
+ void ReplaceTabContentsAt(int index, TabContentsWrapper* new_contents);
// Detaches the TabContents at the specified index from this strip. The
// TabContents is not destroyed, just removed from display. The caller is
// responsible for doing something with it (e.g. stuffing it into another
// strip).
- TabContents* DetachTabContentsAt(int index);
+ TabContentsWrapper* DetachTabContentsAt(int index);
// Select the TabContents at the specified index. |user_gesture| is true if
// the user actually clicked on the tab or navigated to it using a keyboard
@@ -220,16 +222,25 @@
void MoveTabContentsAt(int index, int to_position, bool select_after_move);
// Returns the currently selected TabContents, or NULL if there is none.
- TabContents* GetSelectedTabContents() const;
+ TabContentsWrapper* GetSelectedTabContents() const;
- // Returns the TabContents at the specified index, or NULL if there is none.
- TabContents* GetTabContentsAt(int index) const;
+ // Returns the TabContentsWrapper at the specified index, or NULL if there is
+ // none.
+ TabContentsWrapper* GetTabContentsAt(int index) const;
- // Returns the index of the specified TabContents, or TabContents::kNoTab if
- // the TabContents is not in this TabStripModel.
- int GetIndexOfTabContents(const TabContents* contents) const;
+ // Returns the index of the specified TabContents wrapper, or
+ // TabStripModel::kNoTab if the TabContents is not in this TabStripModel.
+ int GetIndexOfTabContents(const TabContentsWrapper* contents) const;
- // Returns the index of the specified NavigationController, or -1 if it is
+ // Returns the index of the specified TabContents wrapper given its raw
+ // TabContents, or TabStripModel::kNoTab if the TabContents is not in this
+ // TabStripModel. Note: This is only needed in rare cases where the wrapper
+ // is not already present (such as implementing TabContentsDelegate methods,
+ // which don't know about the wrapper. Returns NULL if |contents| is not
+ // associated with any wrapper in the model.
+ int GetWrapperIndex(const TabContents* contents) const;
+
+ // Returns the index of the specified NavigationController, or kNoTab if it is
// not in this TabStripModel.
int GetIndexOfController(const NavigationController* controller) const;
@@ -278,7 +289,8 @@
// TabContents. Depending on the tab, and the transition type of the
// navigation, the TabStripModel may adjust its selection and grouping
// behavior.
- void TabNavigating(TabContents* contents, PageTransition::Type transition);
+ void TabNavigating(TabContentsWrapper* contents,
+ PageTransition::Type transition);
// Forget all Opener relationships that are stored (but _not_ group
// relationships!) This is to reduce unpredictable tab switching behavior
@@ -292,11 +304,11 @@
// moved to a new logical context by the user (e.g. by typing a new URL or
// selecting a bookmark). This also forgets the opener, which is considered
// a weaker relationship than group.
- void ForgetGroup(TabContents* contents);
+ void ForgetGroup(TabContentsWrapper* contents);
// Returns true if the group/opener relationships present for |contents|
// should be reset when _any_ selection change occurs in the model.
- bool ShouldResetGroupOnSelect(TabContents* contents) const;
+ bool ShouldResetGroupOnSelect(TabContentsWrapper* contents) const;
// Changes the blocked state of the tab at |index|.
void SetTabBlocked(int index, bool blocked);
@@ -338,7 +350,7 @@
// specified insertion index, transition, etc. |add_types| is a bitmask of
// AddTypes; see it for details. This method ends up calling into
// InsertTabContentsAt to do the actual inertion.
- void AddTabContents(TabContents* contents,
+ void AddTabContents(TabContentsWrapper* contents,
int index,
PageTransition::Type transition,
int add_types);
@@ -408,7 +420,7 @@
// forgotten for the New Tab page opened as a result of a New Tab gesture
// (e.g. Ctrl+T, etc) since the user may open a tab transiently to look up
// something related to their current activity.
- bool IsNewTabAtEndOfTabStrip(TabContents* contents) const;
+ bool IsNewTabAtEndOfTabStrip(TabContentsWrapper* contents) const;
// Closes the TabContents at the specified indices. This causes the
// TabContents to be destroyed, but it may not happen immediately. If the
@@ -428,18 +440,18 @@
// The boolean parameter create_historical_tab controls whether to
// record these tabs and their history for reopening recently closed
// tabs.
- void InternalCloseTab(TabContents* contents,
+ void InternalCloseTab(TabContentsWrapper* contents,
int index,
bool create_historical_tabs);
- TabContents* GetContentsAt(int index) const;
+ TabContentsWrapper* GetContentsAt(int index) const;
// The actual implementation of SelectTabContentsAt. Takes the previously
// selected contents in |old_contents|, which may actually not be in
// |contents_| anymore because it may have been removed by a call to say
// DetachTabContentsAt...
void ChangeSelectedContentsFrom(
- TabContents* old_contents, int to_index, bool user_gesture);
+ TabContentsWrapper* old_contents, int to_index, bool user_gesture);
// Returns the number of New Tab tabs in the TabStripModel.
int GetNewTabCount() const;
@@ -470,7 +482,7 @@
// the TabContents is in the current TabStripModel, unless otherwise
// specified in code.
struct TabContentsData {
- explicit TabContentsData(TabContents* a_contents)
+ explicit TabContentsData(TabContentsWrapper* a_contents)
: contents(a_contents),
reset_group_on_select(false),
pinned(false),
@@ -491,7 +503,7 @@
opener = NULL;
}
- TabContents* contents;
+ TabContentsWrapper* contents;
// We use NavigationControllers here since they more closely model the
// "identity" of a Tab, TabContents can change depending on the URL loaded
// in the Tab.

Powered by Google App Engine
This is Rietveld 408576698