| Index: chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.mm
|
| diff --git a/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.mm b/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.mm
|
| index c540d72f54bb2f4701b877e084dc905253b913eb..15eaae7a9c41c8ae3f14cfebf19d2d415e60a96f 100644
|
| --- a/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.mm
|
| +++ b/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.mm
|
| @@ -283,10 +283,6 @@ void RecordAppLaunch(Profile* profile, GURL url) {
|
| selector:@selector(themeDidChangeNotification:)
|
| name:kBrowserThemeDidChangeNotification
|
| object:nil];
|
| - [defaultCenter addObserver:self
|
| - selector:@selector(pulseBookmarkNotification:)
|
| - name:bookmark_button::kPulseBookmarkButtonNotification
|
| - object:nil];
|
|
|
| contextMenuController_.reset(
|
| [[BookmarkContextMenuCocoaController alloc]
|
| @@ -308,17 +304,7 @@ void RecordAppLaunch(Profile* profile, GURL url) {
|
| return contextMenuController_.get();
|
| }
|
|
|
| -- (void)pulseBookmarkNotification:(NSNotification*)notification {
|
| - NSDictionary* dict = [notification userInfo];
|
| - const BookmarkNode* node = NULL;
|
| - NSValue *value = [dict objectForKey:bookmark_button::kBookmarkKey];
|
| - DCHECK(value);
|
| - if (value)
|
| - node = static_cast<const BookmarkNode*>([value pointerValue]);
|
| - NSNumber* number = [dict objectForKey:bookmark_button::kBookmarkPulseFlagKey];
|
| - DCHECK(number);
|
| - BOOL doPulse = number ? [number boolValue] : NO;
|
| -
|
| +- (void)pulseBookmarkNode:(const BookmarkNode*)node doPulse:(BOOL)doPulse {
|
| // 3 cases:
|
| // button on the bar: flash it
|
| // button in "other bookmarks" folder: flash other bookmarks
|
| @@ -349,6 +335,25 @@ void RecordAppLaunch(Profile* profile, GURL url) {
|
| NOTREACHED() << "no bookmark button found to pulse!";
|
| }
|
|
|
| +- (const BookmarkNode*)startPulsingBookmarkNode:(const BookmarkNode*)node {
|
| + // Find the closest parent that is visible on the bar.
|
| + while (node) {
|
| + if ((node->parent() == bookmarkModel_->bookmark_bar_node()) ||
|
| + (node->parent() == managedBookmarkService_->managed_node()) ||
|
| + (node->parent() == managedBookmarkService_->supervised_node()) ||
|
| + (node == bookmarkModel_->other_node())) {
|
| + [self pulseBookmarkNode:node doPulse:YES];
|
| + return node;
|
| + }
|
| + node = node->parent();
|
| + }
|
| + return nullptr;
|
| +}
|
| +
|
| +- (void)stopPulsingBookmarkNode:(const BookmarkNode*)node {
|
| + [self pulseBookmarkNode:node doPulse:NO];
|
| +}
|
| +
|
| - (void)dealloc {
|
| [self browserWillBeDestroyed];
|
| [super dealloc];
|
|
|