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

Unified Diff: chrome/browser/ui/panels/panel_window_controller_cocoa.mm

Issue 9546001: Support detaching/attaching panels via inter-strip drags. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Patch to land Created 8 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/panels/panel_window_controller_cocoa.h ('k') | chrome/chrome_tests.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/panels/panel_window_controller_cocoa.mm
diff --git a/chrome/browser/ui/panels/panel_window_controller_cocoa.mm b/chrome/browser/ui/panels/panel_window_controller_cocoa.mm
index d0a4eaff15623f012f420e7f425f2ac22823f709..bfbe6f054d6a8d2b5f12b777e010f78c501d6ed5 100644
--- a/chrome/browser/ui/panels/panel_window_controller_cocoa.mm
+++ b/chrome/browser/ui/panels/panel_window_controller_cocoa.mm
@@ -81,6 +81,7 @@ enum {
windowShim_.reset(window);
animateOnBoundsChange_ = YES;
canBecomeKeyWindow_ = YES;
+ alwaysOnTop_ = YES;
}
contentsController_.reset(
[[TabContentsController alloc] initWithContents:nil]);
@@ -118,8 +119,7 @@ enum {
DCHECK(titlebar_view_);
DCHECK_EQ(self, [window delegate]);
- if (!windowShim_->panel()->manager()->is_full_screen())
- [window setLevel:NSStatusWindowLevel];
+ [self updateWindowLevel];
if (base::mac::IsOSSnowLeopardOrLater()) {
[window setCollectionBehavior:
@@ -637,8 +637,7 @@ enum {
}
- (void)fullScreenModeChanged:(bool)isFullScreen {
- NSWindow* window = [self window];
- [window setLevel:(isFullScreen ? NSNormalWindowLevel : NSStatusWindowLevel)];
+ [self updateWindowLevel];
}
- (BOOL)canBecomeKeyWindow {
@@ -650,4 +649,18 @@ enum {
return canBecomeKeyWindow_;
}
+- (void)setAlwaysOnTop:(bool)onTop {
+ if (alwaysOnTop_ == onTop)
+ return;
+ alwaysOnTop_ = onTop;
+ [self updateWindowLevel];
+}
+
+- (void)updateWindowLevel {
+ if (![self isWindowLoaded])
+ return;
+ BOOL onTop = alwaysOnTop_ &&
+ !windowShim_->panel()->manager()->is_full_screen();
+ [[self window] setLevel:(onTop ? NSStatusWindowLevel : NSNormalWindowLevel)];
+}
@end
« no previous file with comments | « chrome/browser/ui/panels/panel_window_controller_cocoa.h ('k') | chrome/chrome_tests.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698