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

Side by Side Diff: chrome/browser/ui/cocoa/download/download_shelf_controller.mm

Issue 1221173003: [Mac] Inform reference counted objects that hold a weak Browser* when the Browser is being destroye… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix ToolbarActionsBar tests. Created 5 years, 5 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 (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/download/download_shelf_controller.h" 5 #import "chrome/browser/ui/cocoa/download/download_shelf_controller.h"
6 6
7 #include "base/mac/bundle_locations.h" 7 #include "base/mac/bundle_locations.h"
8 #include "base/strings/sys_string_conversions.h" 8 #include "base/strings/sys_string_conversions.h"
9 #include "chrome/browser/download/download_stats.h" 9 #include "chrome/browser/download/download_stats.h"
10 #include "chrome/browser/profiles/profile.h" 10 #include "chrome/browser/profiles/profile.h"
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 selector:@selector(willEnterFullscreen) 134 selector:@selector(willEnterFullscreen)
135 name:kWillEnterFullscreenNotification 135 name:kWillEnterFullscreenNotification
136 object:nil]; 136 object:nil];
137 [defaultCenter addObserver:self 137 [defaultCenter addObserver:self
138 selector:@selector(willLeaveFullscreen) 138 selector:@selector(willLeaveFullscreen)
139 name:kWillLeaveFullscreenNotification 139 name:kWillLeaveFullscreenNotification
140 object:nil]; 140 object:nil];
141 [self installTrackingArea]; 141 [self installTrackingArea];
142 } 142 }
143 143
144 - (void)dealloc { 144 - (void)browserWillBeDestroyed {
145 [[NSNotificationCenter defaultCenter] removeObserver:self]; 145 [[NSNotificationCenter defaultCenter] removeObserver:self];
146 [self cancelAutoClose]; 146 [self exiting];
tapted 2015/07/07 04:25:59 I think you can just move the contents of `exiting
jackhou1 2015/07/07 08:33:05 Done.
147 [self removeTrackingArea]; 147 bridge_.reset();
148 148 navigator_ = nullptr;
149 // The controllers will unregister themselves as observers when they are
150 // deallocated. No need to do that here.
151 [super dealloc];
152 } 149 }
153 150
154 // Called after the frame's rect has changed; usually when the height is 151 // Called after the frame's rect has changed; usually when the height is
155 // animated. 152 // animated.
156 - (void)viewFrameDidChange:(NSNotification*)notification { 153 - (void)viewFrameDidChange:(NSNotification*)notification {
157 // Anchor subviews at the top of |view|, so that it looks like the shelf 154 // Anchor subviews at the top of |view|, so that it looks like the shelf
158 // is sliding out. 155 // is sliding out.
159 CGFloat newShelfHeight = NSHeight([[self view] frame]); 156 CGFloat newShelfHeight = NSHeight([[self view] frame]);
160 if (newShelfHeight == currentShelfHeight_) 157 if (newShelfHeight == currentShelfHeight_)
161 return; 158 return;
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after
504 } 501 }
505 502
506 // Set the tracking off to create a new tracking area for the control. 503 // Set the tracking off to create a new tracking area for the control.
507 // When changing the bounds/frame on a HoverButton, the tracking isn't updated 504 // When changing the bounds/frame on a HoverButton, the tracking isn't updated
508 // correctly, it needs to be turned off and back on. 505 // correctly, it needs to be turned off and back on.
509 [hoverCloseButton_ setTrackingEnabled:NO]; 506 [hoverCloseButton_ setTrackingEnabled:NO];
510 [hoverCloseButton_ setFrame:bounds]; 507 [hoverCloseButton_ setFrame:bounds];
511 [hoverCloseButton_ setTrackingEnabled:YES]; 508 [hoverCloseButton_ setTrackingEnabled:YES];
512 } 509 }
513 @end 510 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698