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

Side by Side Diff: chrome/browser/tabs/tab_strip_model.h

Issue 10761: Rewire the throbber so that the timer for updating lives on BrowserView, not ... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 12 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_TABS_TAB_STRIP_MODEL_H__ 5 #ifndef CHROME_BROWSER_TABS_TAB_STRIP_MODEL_H__
6 #define CHROME_BROWSER_TABS_TAB_STRIP_MODEL_H__ 6 #define CHROME_BROWSER_TABS_TAB_STRIP_MODEL_H__
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 virtual void TabSelectedAt(TabContents* old_contents, 62 virtual void TabSelectedAt(TabContents* old_contents,
63 TabContents* new_contents, 63 TabContents* new_contents,
64 int index, 64 int index,
65 bool user_gesture) { } 65 bool user_gesture) { }
66 // The specified TabContents at |from_index| was moved to |to_index|. 66 // The specified TabContents at |from_index| was moved to |to_index|.
67 virtual void TabMoved(TabContents* contents, 67 virtual void TabMoved(TabContents* contents,
68 int from_index, 68 int from_index,
69 int to_index) { } 69 int to_index) { }
70 // The specified TabContents at |index| changed in some way. 70 // The specified TabContents at |index| changed in some way.
71 virtual void TabChangedAt(TabContents* contents, int index) { } 71 virtual void TabChangedAt(TabContents* contents, int index) { }
72 // Loading progress representations for tabs should be validated/updated.
73 // TODO(beng): this wiring is cracktarded. consider revising. The loading
74 // animation timer should live in BrowserView2, and from there
75 // notify both the tabstrip and the window icon.
76 // clean this up once XPFrame and VistaFrame have retired.
77 virtual void TabValidateAnimations() { }
78 // The TabStripModel now no longer has any "significant" (user created or 72 // The TabStripModel now no longer has any "significant" (user created or
79 // user manipulated) tabs. The implementer may use this as a trigger to try 73 // user manipulated) tabs. The implementer may use this as a trigger to try
80 // and close the window containing the TabStripModel, for example... 74 // and close the window containing the TabStripModel, for example...
81 virtual void TabStripEmpty() { } 75 virtual void TabStripEmpty() { }
82 }; 76 };
83 77
84 /////////////////////////////////////////////////////////////////////////////// 78 ///////////////////////////////////////////////////////////////////////////////
85 // 79 //
86 // TabStripModelDelegate 80 // TabStripModelDelegate
87 // 81 //
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 bool defer_load, 118 bool defer_load,
125 SiteInstance* instance) const = 0; 119 SiteInstance* instance) const = 0;
126 120
127 // Return whether some contents can be duplicated. 121 // Return whether some contents can be duplicated.
128 virtual bool CanDuplicateContentsAt(int index) = 0; 122 virtual bool CanDuplicateContentsAt(int index) = 0;
129 123
130 // Duplicate the contents at the provided index and places it into its own 124 // Duplicate the contents at the provided index and places it into its own
131 // window. 125 // window.
132 virtual void DuplicateContentsAt(int index) = 0; 126 virtual void DuplicateContentsAt(int index) = 0;
133 127
134 // Called every time the the throbber needs to be updated. We have this to
135 // give the browser/frame a chance to implement some loading animation. This
136 // is used by simple web application frames.
137 virtual void ValidateLoadingAnimations() = 0;
138
139 // Called when a drag session has completed and the frame that initiated the 128 // Called when a drag session has completed and the frame that initiated the
140 // the session should be closed. 129 // the session should be closed.
141 virtual void CloseFrameAfterDragSession() = 0; 130 virtual void CloseFrameAfterDragSession() = 0;
142 }; 131 };
143 132
144 //////////////////////////////////////////////////////////////////////////////// 133 ////////////////////////////////////////////////////////////////////////////////
145 // 134 //
146 // TabStripModel 135 // TabStripModel
147 // 136 //
148 // A model & low level controller of a Browser Window tabstrip. Holds a vector 137 // A model & low level controller of a Browser Window tabstrip. Holds a vector
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 int GetIndexOfTabContents(const TabContents* contents) const; 262 int GetIndexOfTabContents(const TabContents* contents) const;
274 263
275 // Returns the index of the specified NavigationController, or -1 if it is 264 // Returns the index of the specified NavigationController, or -1 if it is
276 // not in this TabStripModel. 265 // not in this TabStripModel.
277 int GetIndexOfController(const NavigationController* controller) const; 266 int GetIndexOfController(const NavigationController* controller) const;
278 267
279 // Notify any observers that the TabContents at the specified index has 268 // Notify any observers that the TabContents at the specified index has
280 // changed in some way. 269 // changed in some way.
281 void UpdateTabContentsStateAt(int index); 270 void UpdateTabContentsStateAt(int index);
282 271
283 // Notify any observers that Loading progress for TabContents should be
284 // validated.
285 // TODO(beng): (Cleanup) This should definitely be moved to the View.
286 void UpdateTabContentsLoadingAnimations();
287
288 // Make sure there is an auto-generated New Tab tab in the TabStripModel. 272 // Make sure there is an auto-generated New Tab tab in the TabStripModel.
289 // If |force_create| is true, the New Tab will be created even if the 273 // If |force_create| is true, the New Tab will be created even if the
290 // preference is set to false (used by startup). 274 // preference is set to false (used by startup).
291 void EnsureNewTabVisible(bool force_create); 275 void EnsureNewTabVisible(bool force_create);
292 276
293 // Close all tabs at once. Code can use closing_all() above to defer 277 // Close all tabs at once. Code can use closing_all() above to defer
294 // operations that might otherwise by invoked by the flurry of detach/select 278 // operations that might otherwise by invoked by the flurry of detach/select
295 // notifications this method causes. 279 // notifications this method causes.
296 void CloseAllTabs(); 280 void CloseAllTabs();
297 281
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
527 511
528 // Our observers. 512 // Our observers.
529 typedef ObserverList<TabStripModelObserver> TabStripModelObservers; 513 typedef ObserverList<TabStripModelObserver> TabStripModelObservers;
530 TabStripModelObservers observers_; 514 TabStripModelObservers observers_;
531 515
532 DISALLOW_EVIL_CONSTRUCTORS(TabStripModel); 516 DISALLOW_EVIL_CONSTRUCTORS(TabStripModel);
533 }; 517 };
534 518
535 #endif // CHROME_BROWSER_TABS_TAB_STRIP_MODEL_H__ 519 #endif // CHROME_BROWSER_TABS_TAB_STRIP_MODEL_H__
536 520
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698