| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 #include "chrome/browser/cocoa/tab_view.h" | 5 #include "chrome/browser/cocoa/tab_view.h" |
| 6 | 6 |
| 7 #include "chrome/browser/cocoa/tab_window_controller.h" | 7 #include "chrome/browser/cocoa/tab_window_controller.h" |
| 8 | 8 |
| 9 @implementation TabView | 9 @implementation TabView |
| 10 | 10 |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 122 } | 122 } |
| 123 | 123 |
| 124 NSEventType type = [theEvent type]; | 124 NSEventType type = [theEvent type]; |
| 125 if (type == NSLeftMouseDragged) { | 125 if (type == NSLeftMouseDragged) { |
| 126 moved = YES; | 126 moved = YES; |
| 127 if (!draggedController) { | 127 if (!draggedController) { |
| 128 if (isLastRemainingTab) { | 128 if (isLastRemainingTab) { |
| 129 draggedController = sourceController; | 129 draggedController = sourceController; |
| 130 dragWindow = [draggedController window]; | 130 dragWindow = [draggedController window]; |
| 131 } else { | 131 } else { |
| 132 // Detach from the current window. | 132 // Detach from the current window and put it in a new window. |
| 133 // TODO(pinkerton): Create a new window, probably with | |
| 134 // Browser::CreateNewStripWithContents(), but that requires that | |
| 135 // we make some changes to return the new Browser object. | |
| 136 draggedController = [sourceController detachTabToNewWindow:self]; | 133 draggedController = [sourceController detachTabToNewWindow:self]; |
| 137 dragWindow = [draggedController window]; | 134 dragWindow = [draggedController window]; |
| 138 | |
| 139 // TODO(pinkerton): reconcile how the view moves from one window | |
| 140 // to the other with the TabStrip model wanting to create the tabs. | |
| 141 // [[sourceController tabController] removeTab:tab_]; | |
| 142 // [[sourceController tabController] addTab:tab_]; | |
| 143 [dragWindow setAlphaValue:0.0]; | 135 [dragWindow setAlphaValue:0.0]; |
| 144 } | 136 } |
| 145 | 137 |
| 146 // Bring the target window to the front and make sure it has a border. | 138 // Bring the target window to the front and make sure it has a border. |
| 147 [dragWindow setLevel:NSFloatingWindowLevel]; | 139 [dragWindow setLevel:NSFloatingWindowLevel]; |
| 148 [dragWindow orderFront:nil]; | 140 [dragWindow orderFront:nil]; |
| 149 [dragWindow makeMainWindow]; | 141 [dragWindow makeMainWindow]; |
| 150 [draggedController showOverlay]; | 142 [draggedController showOverlay]; |
| 151 dragOverlay = [draggedController overlayWindow]; | 143 dragOverlay = [draggedController overlayWindow]; |
| 152 | 144 |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 230 [dragWindow makeKeyAndOrderFront:nil]; | 222 [dragWindow makeKeyAndOrderFront:nil]; |
| 231 | 223 |
| 232 [[draggedController window] setLevel:NSNormalWindowLevel]; | 224 [[draggedController window] setLevel:NSNormalWindowLevel]; |
| 233 [draggedController arrangeTabs]; | 225 [draggedController arrangeTabs]; |
| 234 } | 226 } |
| 235 [sourceController arrangeTabs]; | 227 [sourceController arrangeTabs]; |
| 236 } | 228 } |
| 237 } | 229 } |
| 238 | 230 |
| 239 @end | 231 @end |
| OLD | NEW |