| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 |
| (...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 473 bool select_after_move); | 473 bool select_after_move); |
| 474 | 474 |
| 475 // Returns true if the tab represented by the specified data has an opener | 475 // Returns true if the tab represented by the specified data has an opener |
| 476 // that matches the specified one. If |use_group| is true, then this will | 476 // that matches the specified one. If |use_group| is true, then this will |
| 477 // fall back to check the group relationship as well. | 477 // fall back to check the group relationship as well. |
| 478 struct TabContentsData; | 478 struct TabContentsData; |
| 479 static bool OpenerMatches(const TabContentsData* data, | 479 static bool OpenerMatches(const TabContentsData* data, |
| 480 const NavigationController* opener, | 480 const NavigationController* opener, |
| 481 bool use_group); | 481 bool use_group); |
| 482 | 482 |
| 483 // Sets the group/opener of any tabs that reference |tab| to NULL. |
| 484 void ForgetOpenersAndGroupsReferencing(const NavigationController* tab); |
| 485 |
| 483 // Our delegate. | 486 // Our delegate. |
| 484 TabStripModelDelegate* delegate_; | 487 TabStripModelDelegate* delegate_; |
| 485 | 488 |
| 486 // A hunk of data representing a TabContents and (optionally) the | 489 // A hunk of data representing a TabContents and (optionally) the |
| 487 // NavigationController that spawned it. This memory only sticks around while | 490 // NavigationController that spawned it. This memory only sticks around while |
| 488 // the TabContents is in the current TabStripModel, unless otherwise | 491 // the TabContents is in the current TabStripModel, unless otherwise |
| 489 // specified in code. | 492 // specified in code. |
| 490 struct TabContentsData { | 493 struct TabContentsData { |
| 491 explicit TabContentsData(TabContentsWrapper* a_contents) | 494 explicit TabContentsData(TabContentsWrapper* a_contents) |
| 492 : contents(a_contents), | 495 : contents(a_contents), |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 562 typedef ObserverList<TabStripModelObserver> TabStripModelObservers; | 565 typedef ObserverList<TabStripModelObserver> TabStripModelObservers; |
| 563 TabStripModelObservers observers_; | 566 TabStripModelObservers observers_; |
| 564 | 567 |
| 565 // A scoped container for notification registries. | 568 // A scoped container for notification registries. |
| 566 NotificationRegistrar registrar_; | 569 NotificationRegistrar registrar_; |
| 567 | 570 |
| 568 DISALLOW_COPY_AND_ASSIGN(TabStripModel); | 571 DISALLOW_COPY_AND_ASSIGN(TabStripModel); |
| 569 }; | 572 }; |
| 570 | 573 |
| 571 #endif // CHROME_BROWSER_TABS_TAB_STRIP_MODEL_H_ | 574 #endif // CHROME_BROWSER_TABS_TAB_STRIP_MODEL_H_ |
| OLD | NEW |