OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #include "base/observer_list.h" | 11 #include "base/observer_list.h" |
12 #include "chrome/browser/tabs/tab_strip_model_observer.h" | 12 #include "chrome/browser/tabs/tab_strip_model_observer.h" |
13 #include "chrome/browser/tabs/tab_strip_selection_model.h" | 13 #include "chrome/browser/tabs/tab_strip_selection_model.h" |
14 #include "content/common/notification_observer.h" | 14 #include "content/common/notification_observer.h" |
15 #include "content/common/notification_registrar.h" | 15 #include "content/common/notification_registrar.h" |
16 #include "content/common/page_transition_types.h" | 16 #include "content/public/common/page_transition_types.h" |
17 | 17 |
18 class NavigationController; | 18 class NavigationController; |
19 class Profile; | 19 class Profile; |
20 class TabContents; | 20 class TabContents; |
21 class TabContentsWrapper; | 21 class TabContentsWrapper; |
22 class TabStripModelDelegate; | 22 class TabStripModelDelegate; |
23 class TabStripModelOrderController; | 23 class TabStripModelOrderController; |
24 | 24 |
25 //////////////////////////////////////////////////////////////////////////////// | 25 //////////////////////////////////////////////////////////////////////////////// |
26 // | 26 // |
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
313 // Returns the index of the last TabContents in the model opened by the | 313 // Returns the index of the last TabContents in the model opened by the |
314 // specified opener, starting at |start_index|. | 314 // specified opener, starting at |start_index|. |
315 int GetIndexOfLastTabContentsOpenedBy(const NavigationController* opener, | 315 int GetIndexOfLastTabContentsOpenedBy(const NavigationController* opener, |
316 int start_index) const; | 316 int start_index) const; |
317 | 317 |
318 // Called by the Browser when a navigation is about to occur in the specified | 318 // Called by the Browser when a navigation is about to occur in the specified |
319 // TabContents. Depending on the tab, and the transition type of the | 319 // TabContents. Depending on the tab, and the transition type of the |
320 // navigation, the TabStripModel may adjust its selection and grouping | 320 // navigation, the TabStripModel may adjust its selection and grouping |
321 // behavior. | 321 // behavior. |
322 void TabNavigating(TabContentsWrapper* contents, | 322 void TabNavigating(TabContentsWrapper* contents, |
323 PageTransition::Type transition); | 323 content::PageTransition transition); |
324 | 324 |
325 // Forget all Opener relationships that are stored (but _not_ group | 325 // Forget all Opener relationships that are stored (but _not_ group |
326 // relationships!) This is to reduce unpredictable tab switching behavior | 326 // relationships!) This is to reduce unpredictable tab switching behavior |
327 // in complex session states. The exact circumstances under which this method | 327 // in complex session states. The exact circumstances under which this method |
328 // is called are left up to the implementation of the selected | 328 // is called are left up to the implementation of the selected |
329 // TabStripModelOrderController. | 329 // TabStripModelOrderController. |
330 void ForgetAllOpeners(); | 330 void ForgetAllOpeners(); |
331 | 331 |
332 // Forgets the group affiliation of the specified TabContents. This should be | 332 // Forgets the group affiliation of the specified TabContents. This should be |
333 // called when a TabContents that is part of a logical group of tabs is | 333 // called when a TabContents that is part of a logical group of tabs is |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
400 } | 400 } |
401 | 401 |
402 // Command level API ///////////////////////////////////////////////////////// | 402 // Command level API ///////////////////////////////////////////////////////// |
403 | 403 |
404 // Adds a TabContents at the best position in the TabStripModel given the | 404 // Adds a TabContents at the best position in the TabStripModel given the |
405 // specified insertion index, transition, etc. |add_types| is a bitmask of | 405 // specified insertion index, transition, etc. |add_types| is a bitmask of |
406 // AddTypes; see it for details. This method ends up calling into | 406 // AddTypes; see it for details. This method ends up calling into |
407 // InsertTabContentsAt to do the actual inertion. | 407 // InsertTabContentsAt to do the actual inertion. |
408 void AddTabContents(TabContentsWrapper* contents, | 408 void AddTabContents(TabContentsWrapper* contents, |
409 int index, | 409 int index, |
410 PageTransition::Type transition, | 410 content::PageTransition transition, |
411 int add_types); | 411 int add_types); |
412 | 412 |
413 // Closes the selected tabs. | 413 // Closes the selected tabs. |
414 void CloseSelectedTabs(); | 414 void CloseSelectedTabs(); |
415 | 415 |
416 // Select adjacent tabs | 416 // Select adjacent tabs |
417 void SelectNextTab(); | 417 void SelectNextTab(); |
418 void SelectPreviousTab(); | 418 void SelectPreviousTab(); |
419 | 419 |
420 // Selects the last tab in the tab strip. | 420 // Selects the last tab in the tab strip. |
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
653 | 653 |
654 // A scoped container for notification registries. | 654 // A scoped container for notification registries. |
655 NotificationRegistrar registrar_; | 655 NotificationRegistrar registrar_; |
656 | 656 |
657 TabStripSelectionModel selection_model_; | 657 TabStripSelectionModel selection_model_; |
658 | 658 |
659 DISALLOW_IMPLICIT_CONSTRUCTORS(TabStripModel); | 659 DISALLOW_IMPLICIT_CONSTRUCTORS(TabStripModel); |
660 }; | 660 }; |
661 | 661 |
662 #endif // CHROME_BROWSER_TABS_TAB_STRIP_MODEL_H_ | 662 #endif // CHROME_BROWSER_TABS_TAB_STRIP_MODEL_H_ |
OLD | NEW |