Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(678)

Side by Side Diff: chrome/browser/ui/cocoa/browser_window_fullscreen_transition.mm

Issue 2257553002: Fix OSX 10.12 compilation errors in chrome/browser/ui. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Moved 10.12 SDK defines to one header. Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/browser_window_fullscreen_transition.h" 5 #import "chrome/browser/ui/cocoa/browser_window_fullscreen_transition.h"
6 6
7 #include <QuartzCore/QuartzCore.h> 7 #include <QuartzCore/QuartzCore.h>
8 8
9 #include <memory> 9 #include <memory>
10 10
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 NSRectFillUsingOperation(frame, NSCompositeDestinationOver); 81 NSRectFillUsingOperation(frame, NSCompositeDestinationOver);
82 82
83 [FramedBrowserWindow drawWindowThemeInDirtyRect:frame 83 [FramedBrowserWindow drawWindowThemeInDirtyRect:frame
84 forView:self 84 forView:self
85 bounds:[self bounds] 85 bounds:[self bounds]
86 forceBlackBackground:NO]; 86 forceBlackBackground:NO];
87 } 87 }
88 88
89 @end 89 @end
90 90
91 @interface BrowserWindowFullscreenTransition () { 91 @interface BrowserWindowFullscreenTransition ()
92 <CAAnimationDelegate, CALayerDelegate> {
92 // Flag to keep track of whether we are entering or exiting fullscreen. 93 // Flag to keep track of whether we are entering or exiting fullscreen.
93 BOOL isEnteringFullscreen_; 94 BOOL isEnteringFullscreen_;
94 95
95 // The window which is undergoing the fullscreen transition. 96 // The window which is undergoing the fullscreen transition.
96 base::scoped_nsobject<FramedBrowserWindow> primaryWindow_; 97 base::scoped_nsobject<FramedBrowserWindow> primaryWindow_;
97 98
98 // The window which is undergoing the fullscreen transition. 99 // The window which is undergoing the fullscreen transition.
99 BrowserWindowController* controller_; // weak 100 BrowserWindowController* controller_; // weak
100 101
101 // A layer that holds a snapshot of the original state of |primaryWindow_|. 102 // A layer that holds a snapshot of the original state of |primaryWindow_|.
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 // - Add NSFullScreenWindowMask style mask. 158 // - Add NSFullScreenWindowMask style mask.
158 // - Set the size to the screen's size. 159 // - Set the size to the screen's size.
159 - (void)preparePrimaryWindowForAnimation; 160 - (void)preparePrimaryWindowForAnimation;
160 161
161 // Applies the fullscreen animation to |snapshotLayer_|. 162 // Applies the fullscreen animation to |snapshotLayer_|.
162 - (void)animateSnapshotWindowWithDuration:(CGFloat)duration; 163 - (void)animateSnapshotWindowWithDuration:(CGFloat)duration;
163 164
164 // Sets |primaryWindow_|'s frame to the expected frame. 165 // Sets |primaryWindow_|'s frame to the expected frame.
165 - (void)changePrimaryWindowToFinalFrame; 166 - (void)changePrimaryWindowToFinalFrame;
166 167
167 // Override of CAAnimation delegate method. 168 // Overrides of CAAnimation delegate methods.
169 - (void)animationDidStart:(CAAnimation*)theAnimation;
168 - (void)animationDidStop:(CAAnimation*)theAnimation finished:(BOOL)finished; 170 - (void)animationDidStop:(CAAnimation*)theAnimation finished:(BOOL)finished;
169 171
170 // Returns the layer of the root view of |window|. 172 // Returns the layer of the root view of |window|.
171 - (CALayer*)rootLayerOfWindow:(NSWindow*)window; 173 - (CALayer*)rootLayerOfWindow:(NSWindow*)window;
172 174
173 // Convert the point to be relative to the screen the primary window is on. 175 // Convert the point to be relative to the screen the primary window is on.
174 // This is important because if we're using multiple screens, the coordinate 176 // This is important because if we're using multiple screens, the coordinate
175 // system extends to the second screen. 177 // system extends to the second screen.
176 // 178 //
177 // For example, if the screen width is 1440, the second screen's frame origin 179 // For example, if the screen width is 1440, the second screen's frame origin
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after
475 CALayer* root = [self rootLayerOfWindow:primaryWindow_]; 477 CALayer* root = [self rootLayerOfWindow:primaryWindow_];
476 [root addAnimation:group forKey:kPrimaryWindowAnimationID]; 478 [root addAnimation:group forKey:kPrimaryWindowAnimationID];
477 } 479 }
478 480
479 - (void)changePrimaryWindowToFinalFrame { 481 - (void)changePrimaryWindowToFinalFrame {
480 changingPrimaryWindowSize_ = YES; 482 changingPrimaryWindowSize_ = YES;
481 [primaryWindow_ setFrame:finalFrame_ display:NO]; 483 [primaryWindow_ setFrame:finalFrame_ display:NO];
482 changingPrimaryWindowSize_ = NO; 484 changingPrimaryWindowSize_ = NO;
483 } 485 }
484 486
487 - (void)animationDidStart:(CAAnimation*)theAnimation {
488 // CAAnimationDelegate method added on OSX 10.12.
489 }
490
485 - (void)animationDidStop:(CAAnimation*)theAnimation finished:(BOOL)finished { 491 - (void)animationDidStop:(CAAnimation*)theAnimation finished:(BOOL)finished {
486 NSString* animationID = [theAnimation valueForKey:kAnimationIDKey]; 492 NSString* animationID = [theAnimation valueForKey:kAnimationIDKey];
487 493
488 // Remove the snapshot window. 494 // Remove the snapshot window.
489 if ([animationID isEqual:kSnapshotWindowAnimationID]) { 495 if ([animationID isEqual:kSnapshotWindowAnimationID]) {
490 [snapshotWindow_ orderOut:nil]; 496 [snapshotWindow_ orderOut:nil];
491 snapshotWindow_.reset(); 497 snapshotWindow_.reset();
492 snapshotLayer_.reset(); 498 snapshotLayer_.reset();
493 return; 499 return;
494 } 500 }
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
544 return [[[window contentView] superview] layer]; 550 return [[[window contentView] superview] layer];
545 } 551 }
546 552
547 - (NSPoint)pointRelativeToCurrentScreen:(NSPoint)point { 553 - (NSPoint)pointRelativeToCurrentScreen:(NSPoint)point {
548 NSRect screenFrame = [[primaryWindow_ screen] frame]; 554 NSRect screenFrame = [[primaryWindow_ screen] frame];
549 return NSMakePoint(point.x - screenFrame.origin.x, 555 return NSMakePoint(point.x - screenFrame.origin.x,
550 point.y - screenFrame.origin.y); 556 point.y - screenFrame.origin.y);
551 } 557 }
552 558
553 @end 559 @end
OLDNEW
« no previous file with comments | « chrome/browser/ui/cocoa/animatable_image.mm ('k') | chrome/browser/ui/cocoa/confirm_quit_panel_controller.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698