summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrohitrao@chromium.org <rohitrao@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-20 17:35:59 +0000
committerrohitrao@chromium.org <rohitrao@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-20 17:35:59 +0000
commitd08c9208eb0e2278b15862b04dff500743d98951 (patch)
tree0761a4ab488d0fe7bb858049d432e43143996c73
parenteb6ea246cbd274607aaaba8247cc78849714e716 (diff)
downloadchromium_src-d08c9208eb0e2278b15862b04dff500743d98951.zip
chromium_src-d08c9208eb0e2278b15862b04dff500743d98951.tar.gz
chromium_src-d08c9208eb0e2278b15862b04dff500743d98951.tar.bz2
Merge 44497 - [Mac] Adds a BookmarkButtonDelegate method to retrieve the toplevel browser window. Used to lock bar visibility when dragging.
BUG=40740 TEST=Go Fullscreen. Drag a bookmark button that is inside a folder. When the folder disappears, the overlay bar should stay visible. Review URL: http://codereview.chromium.org/1610023 TBR=rohitrao@chromium.org Review URL: http://codereview.chromium.org/1694001 git-svn-id: svn://svn.chromium.org/chrome/branches/375/src@45049 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/cocoa/bookmark_bar_controller.mm4
-rw-r--r--chrome/browser/cocoa/bookmark_bar_folder_controller.mm4
-rw-r--r--chrome/browser/cocoa/bookmark_button.h3
-rw-r--r--chrome/browser/cocoa/bookmark_button.mm3
-rw-r--r--chrome/browser/cocoa/bookmark_button_unittest.mm4
5 files changed, 17 insertions, 1 deletions
diff --git a/chrome/browser/cocoa/bookmark_bar_controller.mm b/chrome/browser/cocoa/bookmark_bar_controller.mm
index 621e3d3..9c23517 100644
--- a/chrome/browser/cocoa/bookmark_bar_controller.mm
+++ b/chrome/browser/cocoa/bookmark_bar_controller.mm
@@ -988,6 +988,10 @@ static BOOL ValueInRangeInclusive(CGFloat low, CGFloat value, CGFloat high) {
![self isAnimatingToState:bookmarks::kDetachedState];
}
+- (NSWindow*)browserWindow {
+ return [[self view] window];
+}
+
// Enable or disable items. We are the menu delegate for both the bar
// and for bookmark folder buttons.
- (BOOL)validateUserInterfaceItem:(id)item {
diff --git a/chrome/browser/cocoa/bookmark_bar_folder_controller.mm b/chrome/browser/cocoa/bookmark_bar_folder_controller.mm
index ecc6d35..9ae9a5b 100644
--- a/chrome/browser/cocoa/bookmark_bar_folder_controller.mm
+++ b/chrome/browser/cocoa/bookmark_bar_folder_controller.mm
@@ -639,6 +639,10 @@ static BOOL ValueInRangeInclusive(CGFloat low, CGFloat value, CGFloat high) {
return [parentController_ dragShouldLockBarVisibility];
}
+- (NSWindow*)browserWindow {
+ return [parentController_ browserWindow];
+}
+
// TODO(jrg): again we have code dup, sort of, with
// bookmark_bar_controller.mm, but the axis is changed. One minor
// difference is accomodation for the "empty" button (which may not
diff --git a/chrome/browser/cocoa/bookmark_button.h b/chrome/browser/cocoa/bookmark_button.h
index 336f356..cb62053 100644
--- a/chrome/browser/cocoa/bookmark_button.h
+++ b/chrome/browser/cocoa/bookmark_button.h
@@ -35,6 +35,9 @@ class ThemeProvider;
// mode on the NTP.
- (BOOL)dragShouldLockBarVisibility;
+// Returns the top-level window for this button.
+- (NSWindow*)browserWindow;
+
@end
diff --git a/chrome/browser/cocoa/bookmark_button.mm b/chrome/browser/cocoa/bookmark_button.mm
index a73297d..4be967a 100644
--- a/chrome/browser/cocoa/bookmark_button.mm
+++ b/chrome/browser/cocoa/bookmark_button.mm
@@ -65,8 +65,9 @@ static const CGFloat kDragImageOpacity = 0.7;
// fullscreen mode.
if ([[self delegate] dragShouldLockBarVisibility]) {
DCHECK(!visibilityDelegate_);
+ NSWindow* window = [[self delegate] browserWindow];
visibilityDelegate_ =
- [BrowserWindowController browserWindowControllerForView:self];
+ [BrowserWindowController browserWindowControllerForWindow:window];
[visibilityDelegate_ lockBarVisibilityForOwner:self
withAnimation:NO
delay:NO];
diff --git a/chrome/browser/cocoa/bookmark_button_unittest.mm b/chrome/browser/cocoa/bookmark_button_unittest.mm
index 2bba000..bd0f89e 100644
--- a/chrome/browser/cocoa/bookmark_button_unittest.mm
+++ b/chrome/browser/cocoa/bookmark_button_unittest.mm
@@ -36,6 +36,10 @@
- (BOOL)dragShouldLockBarVisibility {
return NO;
}
+
+- (NSWindow*)browserWindow {
+ return nil;
+}
@end
namespace {