| 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/bookmarks/bookmark_bar_controller.h" | 5 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.h" |
| 6 | 6 |
| 7 #include "base/mac/bundle_locations.h" | 7 #include "base/mac/bundle_locations.h" |
| 8 #include "base/metrics/histogram.h" | 8 #include "base/metrics/histogram.h" |
| 9 #include "base/prefs/pref_service.h" | 9 #include "base/prefs/pref_service.h" |
| 10 #include "base/strings/sys_string_conversions.h" | 10 #include "base/strings/sys_string_conversions.h" |
| (...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 343 } | 343 } |
| 344 if (node->parent() == bookmarkModel_->bookmark_bar_node()) { | 344 if (node->parent() == bookmarkModel_->bookmark_bar_node()) { |
| 345 [offTheSideButton_ setIsContinuousPulsing:doPulse]; | 345 [offTheSideButton_ setIsContinuousPulsing:doPulse]; |
| 346 return; | 346 return; |
| 347 } | 347 } |
| 348 | 348 |
| 349 NOTREACHED() << "no bookmark button found to pulse!"; | 349 NOTREACHED() << "no bookmark button found to pulse!"; |
| 350 } | 350 } |
| 351 | 351 |
| 352 - (void)dealloc { | 352 - (void)dealloc { |
| 353 [self browserWillBeDestroyed]; |
| 354 [super dealloc]; |
| 355 } |
| 356 |
| 357 - (void)browserWillBeDestroyed { |
| 353 // Clear delegate so it doesn't get called during stopAnimation. | 358 // Clear delegate so it doesn't get called during stopAnimation. |
| 354 [[self animatableView] setResizeDelegate:nil]; | 359 [[self animatableView] setResizeDelegate:nil]; |
| 355 | 360 |
| 356 // We better stop any in-flight animation if we're being killed. | 361 // We better stop any in-flight animation if we're being killed. |
| 357 [[self animatableView] stopAnimation]; | 362 [[self animatableView] stopAnimation]; |
| 358 | 363 |
| 359 // Remove our view from its superview so it doesn't attempt to reference | 364 // Remove our view from its superview so it doesn't attempt to reference |
| 360 // it when the controller is gone. | 365 // it when the controller is gone. |
| 361 //TODO(dmaclach): Remove -- http://crbug.com/25845 | 366 //TODO(dmaclach): Remove -- http://crbug.com/25845 |
| 362 [[self view] removeFromSuperview]; | 367 [[self view] removeFromSuperview]; |
| 363 | 368 |
| 364 // Be sure there is no dangling pointer. | 369 // Be sure there is no dangling pointer. |
| 365 if ([[self view] respondsToSelector:@selector(setController:)]) | 370 if ([[self view] respondsToSelector:@selector(setController:)]) |
| 366 [[self view] performSelector:@selector(setController:) withObject:nil]; | 371 [[self view] performSelector:@selector(setController:) withObject:nil]; |
| 367 | 372 |
| 368 // For safety, make sure the buttons can no longer call us. | 373 // For safety, make sure the buttons can no longer call us. |
| 369 for (BookmarkButton* button in buttons_.get()) { | 374 for (BookmarkButton* button in buttons_.get()) { |
| 370 [button setDelegate:nil]; | 375 [button setDelegate:nil]; |
| 371 [button setTarget:nil]; | 376 [button setTarget:nil]; |
| 372 [button setAction:nil]; | 377 [button setAction:nil]; |
| 373 } | 378 } |
| 374 | 379 |
| 375 bridge_.reset(NULL); | 380 bridge_.reset(NULL); |
| 376 [[NSNotificationCenter defaultCenter] removeObserver:self]; | 381 [[NSNotificationCenter defaultCenter] removeObserver:self]; |
| 377 [self watchForExitEvent:NO]; | 382 [self watchForExitEvent:NO]; |
| 378 [super dealloc]; | 383 browser_ = nullptr; |
| 379 } | 384 } |
| 380 | 385 |
| 381 - (void)awakeFromNib { | 386 - (void)awakeFromNib { |
| 382 // We default to NOT open, which means height=0. | 387 // We default to NOT open, which means height=0. |
| 383 DCHECK([[self view] isHidden]); // Hidden so it's OK to change. | 388 DCHECK([[self view] isHidden]); // Hidden so it's OK to change. |
| 384 | 389 |
| 385 // Set our initial height to zero, since that is what the superview | 390 // Set our initial height to zero, since that is what the superview |
| 386 // expects. We will resize ourselves open later if needed. | 391 // expects. We will resize ourselves open later if needed. |
| 387 [[self view] setFrame:NSMakeRect(0, 0, initialWidth_, 0)]; | 392 [[self view] setFrame:NSMakeRect(0, 0, initialWidth_, 0)]; |
| 388 | 393 |
| (...skipping 2513 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2902 - (id<BookmarkButtonControllerProtocol>)controllerForNode: | 2907 - (id<BookmarkButtonControllerProtocol>)controllerForNode: |
| 2903 (const BookmarkNode*)node { | 2908 (const BookmarkNode*)node { |
| 2904 // See if it's in the bar, then if it is in the hierarchy of visible | 2909 // See if it's in the bar, then if it is in the hierarchy of visible |
| 2905 // folder menus. | 2910 // folder menus. |
| 2906 if (bookmarkModel_->bookmark_bar_node() == node) | 2911 if (bookmarkModel_->bookmark_bar_node() == node) |
| 2907 return self; | 2912 return self; |
| 2908 return [folderController_ controllerForNode:node]; | 2913 return [folderController_ controllerForNode:node]; |
| 2909 } | 2914 } |
| 2910 | 2915 |
| 2911 @end | 2916 @end |
| OLD | NEW |