| 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 |