Index: chrome/browser/ui/cocoa/browser_window_controller.mm |
diff --git a/chrome/browser/ui/cocoa/browser_window_controller.mm b/chrome/browser/ui/cocoa/browser_window_controller.mm |
index 8f23806471d0e79e5c925be42d98b8c87805d377..bc52d72c478e442defe69b21c97f4134433c4c43 100644 |
--- a/chrome/browser/ui/cocoa/browser_window_controller.mm |
+++ b/chrome/browser/ui/cocoa/browser_window_controller.mm |
@@ -35,6 +35,7 @@ |
#include "chrome/browser/ui/browser.h" |
#include "chrome/browser/ui/browser_command_controller.h" |
#include "chrome/browser/ui/browser_commands.h" |
+#include "chrome/browser/ui/browser_dialogs.h" |
#include "chrome/browser/ui/browser_instant_controller.h" |
#include "chrome/browser/ui/browser_list.h" |
#include "chrome/browser/ui/browser_window_state.h" |
@@ -96,6 +97,7 @@ |
#import "ui/base/cocoa/nsview_additions.h" |
#include "ui/base/l10n/l10n_util.h" |
#include "ui/base/l10n/l10n_util_mac.h" |
+#import "ui/gfx/mac/coordinate_conversion.h" |
#include "ui/gfx/mac/scoped_cocoa_disable_screen_updates.h" |
using bookmarks::BookmarkModel; |
@@ -1767,9 +1769,19 @@ using content::WebContents; |
// Show the bookmark bubble (e.g. user just clicked on the STAR). |
- (void)showBookmarkBubbleForURL:(const GURL&)url |
alreadyBookmarked:(BOOL)alreadyMarked { |
- if (!bookmarkBubbleObserver_.get()) { |
- bookmarkBubbleObserver_.reset( |
- new bookmarks::BookmarkBubbleObserverCocoa(self)); |
+ if (bookmarkBubbleObserver_.get()) |
+ return; |
+ |
+ bookmarkBubbleObserver_.reset( |
+ new bookmarks::BookmarkBubbleObserverCocoa(self)); |
+ |
+ if (chrome::ToolkitViewsDialogsEnabled()) { |
+ chrome::ShowBookmarkBubbleViewsAtPoint( |
+ gfx::ScreenPointFromNSPoint( |
+ [[self window] convertBaseToScreen:[self bookmarkBubblePoint]]), |
+ [[self window] contentView], bookmarkBubbleObserver_.get(), |
+ browser_.get(), url, alreadyMarked); |
+ } else { |
BookmarkModel* model = |
BookmarkModelFactory::GetForProfile(browser_->profile()); |
bookmarks::ManagedBookmarkService* managed = |
@@ -1783,8 +1795,8 @@ using content::WebContents; |
node:node |
alreadyBookmarked:alreadyMarked]; |
[bookmarkBubbleController_ showWindow:self]; |
- DCHECK(bookmarkBubbleObserver_); |
} |
+ DCHECK(bookmarkBubbleObserver_); |
} |
- (void)bookmarkBubbleClosed { |