| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_drag_controller.h" | 5 #import "chrome/browser/ui/cocoa/tabs/tab_strip_drag_controller.h" |
| 6 | 6 |
| 7 #include <Carbon/Carbon.h> | 7 #include <Carbon/Carbon.h> |
| 8 | 8 |
| 9 #include "base/mac/scoped_cftyperef.h" | 9 #include "base/mac/scoped_cftyperef.h" |
| 10 #import "base/mac/sdk_forward_declarations.h" | 10 #import "base/mac/sdk_forward_declarations.h" |
| (...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 345 NSTimeInterval tearProgress = | 345 NSTimeInterval tearProgress = |
| 346 [NSDate timeIntervalSinceReferenceDate] - tearTime_; | 346 [NSDate timeIntervalSinceReferenceDate] - tearTime_; |
| 347 tearProgress /= kTearDuration; // Normalize. | 347 tearProgress /= kTearDuration; // Normalize. |
| 348 tearProgress = sqrtf(MAX(MIN(tearProgress, 1.0), 0.0)); | 348 tearProgress = sqrtf(MAX(MIN(tearProgress, 1.0), 0.0)); |
| 349 | 349 |
| 350 // Move the dragged window to the right place on the screen. | 350 // Move the dragged window to the right place on the screen. |
| 351 // TODO(spqchan): Write a test to check if the window is at the right place. | 351 // TODO(spqchan): Write a test to check if the window is at the right place. |
| 352 // See http://crbug.com/687647. | 352 // See http://crbug.com/687647. |
| 353 NSPoint origin = sourceWindowFrame_.origin; | 353 NSPoint origin = sourceWindowFrame_.origin; |
| 354 origin.x += (thisPoint.x - dragOrigin_.x); | 354 origin.x += (thisPoint.x - dragOrigin_.x); |
| 355 origin.y += | 355 origin.y += (thisPoint.y - dragOrigin_.y); |
| 356 (thisPoint.y - dragOrigin_.y) + | 356 if ([sourceController_ isInAnyFullscreenMode]) { |
| 357 ([sourceController_ menubarOffset] + [sourceController_ menubarHeight]); | 357 origin.y += |
| 358 [sourceController_ menubarOffset] + [sourceController_ menubarHeight]; |
| 359 } |
| 358 | 360 |
| 359 if (tearProgress < 1) { | 361 if (tearProgress < 1) { |
| 360 // If the tear animation is not complete, call back to ourself with the | 362 // If the tear animation is not complete, call back to ourself with the |
| 361 // same event to animate even if the mouse isn't moving. We need to make | 363 // same event to animate even if the mouse isn't moving. We need to make |
| 362 // sure these get cancelled in -endDrag:. | 364 // sure these get cancelled in -endDrag:. |
| 363 [NSObject cancelPreviousPerformRequestsWithTarget:self]; | 365 [NSObject cancelPreviousPerformRequestsWithTarget:self]; |
| 364 [self performSelector:@selector(continueDrag:) | 366 [self performSelector:@selector(continueDrag:) |
| 365 withObject:theEvent | 367 withObject:theEvent |
| 366 afterDelay:1.0f/30.0f]; | 368 afterDelay:1.0f/30.0f]; |
| 367 | 369 |
| (...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 572 [[targetController_ window] makeMainWindow]; | 574 [[targetController_ window] makeMainWindow]; |
| 573 } else { | 575 } else { |
| 574 [dragWindow_ setAlphaValue:0.5]; | 576 [dragWindow_ setAlphaValue:0.5]; |
| 575 [[draggedController_ overlayWindow] setHasShadow:NO]; | 577 [[draggedController_ overlayWindow] setHasShadow:NO]; |
| 576 [[draggedController_ window] makeMainWindow]; | 578 [[draggedController_ window] makeMainWindow]; |
| 577 } | 579 } |
| 578 chromeIsVisible_ = shouldBeVisible; | 580 chromeIsVisible_ = shouldBeVisible; |
| 579 } | 581 } |
| 580 | 582 |
| 581 @end | 583 @end |
| OLD | NEW |