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

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

Issue 2821011: Removes phantom tabs. (Closed)
Patch Set: Created 10 years, 6 months 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
« no previous file with comments | « chrome/browser/tabs/pinned_tab_codec.cc ('k') | chrome/browser/tabs/tab_strip_model.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/tabs/tab_strip_model.h
diff --git a/chrome/browser/tabs/tab_strip_model.h b/chrome/browser/tabs/tab_strip_model.h
index 38954f418935109d73248e8063b34362f86b2e45..2961cdaecff7d25af423194f4edfbe34265c50fe 100644
--- a/chrome/browser/tabs/tab_strip_model.h
+++ b/chrome/browser/tabs/tab_strip_model.h
@@ -97,12 +97,6 @@ class TabStripModelObserver {
virtual void TabChangedAt(TabContents* contents, int index,
TabChangeType change_type) {}
- // The tab contents was replaced at the specified index. This is invoked when
- // a tab becomes phantom. See description of phantom tabs in class description
- // of TabStripModel for details.
- virtual void TabReplacedAt(TabContents* old_contents,
- TabContents* new_contents, int index) {}
-
// Invoked when the pinned state of a tab changes. This is not invoked if the
// tab ends up moving as a result of the mini state changing.
// See note in TabMiniStateChanged as to how this relates to
@@ -121,9 +115,9 @@ class TabStripModelObserver {
// window.
virtual void TabBlockedStateChanged(TabContents* contents, int index) {}
- // The TabStripModel now no longer has any phantom tabs. The implementer may
- // use this as a trigger to try and close the window containing the
- // TabStripModel, for example...
+ // The TabStripModel now no longer has any tabs. The implementer may use this
+ // as a trigger to try and close the window containing the TabStripModel, for
+ // example...
virtual void TabStripEmpty() {}
};
@@ -254,18 +248,8 @@ class TabStripModelDelegate {
// there are two tab types that are implicitly mini-tabs:
// . App. Corresponds to an extension that wants an app tab. App tabs are
// identified by TabContents::is_app().
-// . Pinned. Any tab can be pinned. A pinned tab is made phantom when closed.
-// Non-app tabs whose pinned state is changed are moved to be with other
-// mini-tabs or non-mini tabs.
-// . Phantom. Only pinned tabs may be made phantom. When a tab that can be made
-// phantom is closed the renderer is shutdown, a new
-// TabContents/NavigationController is created that has not yet loaded the
-// renderer and observers are notified via the TabReplacedAt method. When a
-// phantom tab is selected the renderer is loaded and the tab is no longer
-// phantom.
-// Phantom tabs do not prevent the tabstrip from closing, for example if the
-// tabstrip has one phantom and one non-phantom tab and the non-phantom tab is
-// closed, then the tabstrip/browser are closed.
+// . Pinned. Any tab can be pinned. Non-app tabs whose pinned state is
+// changed are moved to be with other mini-tabs or non-mini tabs.
//
// A TabStripModel has one delegate that it relies on to perform certain tasks
// like creating new TabStripModels (probably hosted in Browser windows) when
@@ -321,11 +305,6 @@ class TabStripModel : public NotificationObserver {
int count() const { return static_cast<int>(contents_data_.size()); }
bool empty() const { return contents_data_.empty(); }
- // Returns true if there are any non-phantom tabs. When there are no
- // non-phantom tabs the delegate is notified by way of TabStripEmpty and the
- // browser closes.
- bool HasNonPhantomTabs() const;
-
// Retrieve the Profile associated with this TabStripModel.
Profile* profile() const { return profile_; }
@@ -460,20 +439,17 @@ class TabStripModel : public NotificationObserver {
// If |use_group| is true, the group property of the tab is used instead of
// the opener to find the next tab. Under some circumstances the group
// relationship may exist but the opener may not.
- // NOTE: this skips phantom tabs.
int GetIndexOfNextTabContentsOpenedBy(const NavigationController* opener,
int start_index,
bool use_group) const;
// Returns the index of the first TabContents in the model opened by the
// specified opener.
- // NOTE: this skips phantom tabs.
int GetIndexOfFirstTabContentsOpenedBy(const NavigationController* opener,
int start_index) const;
// Returns the index of the last TabContents in the model opened by the
// specified opener, starting at |start_index|.
- // NOTE: this skips phantom tabs.
int GetIndexOfLastTabContentsOpenedBy(const NavigationController* opener,
int start_index) const;
@@ -523,11 +499,6 @@ class TabStripModel : public NotificationObserver {
// Returns true if the toolbar is visible for the tab at |index|.
bool IsToolbarVisible(int index) const;
- // Returns true if the tab is a phantom tab. A phantom tab is one where the
- // renderer has not been loaded.
- // See description above class for details on phantom tabs.
- bool IsPhantomTab(int index) const;
-
// Returns true if the tab at |index| is blocked by a tab modal dialog.
bool IsTabBlocked(int index) const;
@@ -673,16 +644,8 @@ class TabStripModel : public NotificationObserver {
// (|forward| is false).
void SelectRelativeTab(bool forward);
- // Returns the first non-phantom tab starting at |index|, skipping the tab at
- // |ignore_index|.
- int IndexOfNextNonPhantomTab(int index, int ignore_index);
-
- // Returns true if the tab at the specified index should be made phantom when
- // the tab is closing.
- bool ShouldMakePhantomOnClose(int index);
-
- // Makes the tab a phantom tab.
- void MakePhantom(int index);
+ // Returns the first tab starting at |index|.
+ int IndexOfNextTab(int index);
// Does the work of MoveTabContentsAt. This has no checks to make sure the
// position is valid, those are done in MoveTabContentsAt.
« no previous file with comments | « chrome/browser/tabs/pinned_tab_codec.cc ('k') | chrome/browser/tabs/tab_strip_model.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698