| 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 #import "chrome/browser/ui/cocoa/tabs/tab_strip_controller.h" | 5 #import "chrome/browser/ui/cocoa/tabs/tab_strip_controller.h" |
| 6 | 6 |
| 7 #import <QuartzCore/QuartzCore.h> | 7 #import <QuartzCore/QuartzCore.h> |
| 8 | 8 |
| 9 #include <cmath> | 9 #include <cmath> |
| 10 #include <limits> | 10 #include <limits> |
| (...skipping 1090 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1101 // Called when a notification is received from the model to select a particular | 1101 // Called when a notification is received from the model to select a particular |
| 1102 // tab. Swaps in the toolbar and content area associated with |newContents|. | 1102 // tab. Swaps in the toolbar and content area associated with |newContents|. |
| 1103 - (void)activateTabWithContents:(TabContentsWrapper*)newContents | 1103 - (void)activateTabWithContents:(TabContentsWrapper*)newContents |
| 1104 previousContents:(TabContentsWrapper*)oldContents | 1104 previousContents:(TabContentsWrapper*)oldContents |
| 1105 atIndex:(NSInteger)modelIndex | 1105 atIndex:(NSInteger)modelIndex |
| 1106 userGesture:(bool)wasUserGesture { | 1106 userGesture:(bool)wasUserGesture { |
| 1107 // Take closing tabs into account. | 1107 // Take closing tabs into account. |
| 1108 NSInteger activeIndex = [self indexFromModelIndex:modelIndex]; | 1108 NSInteger activeIndex = [self indexFromModelIndex:modelIndex]; |
| 1109 | 1109 |
| 1110 if (oldContents) { | 1110 if (oldContents) { |
| 1111 int oldModelIndex = | 1111 int oldModelIndex = browser_->GetIndexOfController( |
| 1112 browser_->GetIndexOfController(&(oldContents->controller())); | 1112 &(oldContents->tab_contents()->controller())); |
| 1113 if (oldModelIndex != -1) { // When closing a tab, the old tab may be gone. | 1113 if (oldModelIndex != -1) { // When closing a tab, the old tab may be gone. |
| 1114 NSInteger oldIndex = [self indexFromModelIndex:oldModelIndex]; | 1114 NSInteger oldIndex = [self indexFromModelIndex:oldModelIndex]; |
| 1115 TabContentsController* oldController = | 1115 TabContentsController* oldController = |
| 1116 [tabContentsArray_ objectAtIndex:oldIndex]; | 1116 [tabContentsArray_ objectAtIndex:oldIndex]; |
| 1117 [oldController willBecomeUnselectedTab]; | 1117 [oldController willBecomeUnselectedTab]; |
| 1118 oldContents->view()->StoreFocus(); | 1118 oldContents->tab_contents()->view()->StoreFocus(); |
| 1119 oldContents->tab_contents()->WasHidden(); | 1119 oldContents->tab_contents()->WasHidden(); |
| 1120 } | 1120 } |
| 1121 } | 1121 } |
| 1122 | 1122 |
| 1123 // First get the vector of indices, which is allays sorted in ascending order. | 1123 // First get the vector of indices, which is allays sorted in ascending order. |
| 1124 TabStripSelectionModel::SelectedIndices selection( | 1124 TabStripSelectionModel::SelectedIndices selection( |
| 1125 tabStripModel_->selection_model().selected_indices()); | 1125 tabStripModel_->selection_model().selected_indices()); |
| 1126 // Iterate through all of the tabs, selecting each as necessary. | 1126 // Iterate through all of the tabs, selecting each as necessary. |
| 1127 TabStripSelectionModel::SelectedIndices::iterator iter = selection.begin(); | 1127 TabStripSelectionModel::SelectedIndices::iterator iter = selection.begin(); |
| 1128 int i = 0; | 1128 int i = 0; |
| (...skipping 16 matching lines...) Expand all Loading... |
| 1145 // Relayout for new tabs and to let the selected tab grow to be larger in | 1145 // Relayout for new tabs and to let the selected tab grow to be larger in |
| 1146 // size than surrounding tabs if the user has many. This also raises the | 1146 // size than surrounding tabs if the user has many. This also raises the |
| 1147 // selected tab to the top. | 1147 // selected tab to the top. |
| 1148 [self layoutTabs]; | 1148 [self layoutTabs]; |
| 1149 | 1149 |
| 1150 // Swap in the contents for the new tab. | 1150 // Swap in the contents for the new tab. |
| 1151 [self swapInTabAtIndex:modelIndex]; | 1151 [self swapInTabAtIndex:modelIndex]; |
| 1152 | 1152 |
| 1153 if (newContents) { | 1153 if (newContents) { |
| 1154 newContents->tab_contents()->DidBecomeSelected(); | 1154 newContents->tab_contents()->DidBecomeSelected(); |
| 1155 newContents->view()->RestoreFocus(); | 1155 newContents->tab_contents()->view()->RestoreFocus(); |
| 1156 | 1156 |
| 1157 if (newContents->find_tab_helper()->find_ui_active()) | 1157 if (newContents->find_tab_helper()->find_ui_active()) |
| 1158 browser_->GetFindBarController()->find_bar()->SetFocusAndSelection(); | 1158 browser_->GetFindBarController()->find_bar()->SetFocusAndSelection(); |
| 1159 } | 1159 } |
| 1160 } | 1160 } |
| 1161 | 1161 |
| 1162 - (void)tabReplacedWithContents:(TabContentsWrapper*)newContents | 1162 - (void)tabReplacedWithContents:(TabContentsWrapper*)newContents |
| 1163 previousContents:(TabContentsWrapper*)oldContents | 1163 previousContents:(TabContentsWrapper*)oldContents |
| 1164 atIndex:(NSInteger)modelIndex { | 1164 atIndex:(NSInteger)modelIndex { |
| 1165 NSInteger index = [self indexFromModelIndex:modelIndex]; | 1165 NSInteger index = [self indexFromModelIndex:modelIndex]; |
| (...skipping 853 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2019 NSInteger index = [self indexFromModelIndex:modelIndex]; | 2019 NSInteger index = [self indexFromModelIndex:modelIndex]; |
| 2020 BrowserWindowController* controller = | 2020 BrowserWindowController* controller = |
| 2021 (BrowserWindowController*)[[switchView_ window] windowController]; | 2021 (BrowserWindowController*)[[switchView_ window] windowController]; |
| 2022 DCHECK(index >= 0); | 2022 DCHECK(index >= 0); |
| 2023 if (index >= 0) { | 2023 if (index >= 0) { |
| 2024 [controller setTab:[self viewAtIndex:index] isDraggable:YES]; | 2024 [controller setTab:[self viewAtIndex:index] isDraggable:YES]; |
| 2025 } | 2025 } |
| 2026 } | 2026 } |
| 2027 | 2027 |
| 2028 @end | 2028 @end |
| OLD | NEW |