| 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 94bc08263a2c9e62b3fce1fc87477545279afa91..3c94de234e58601a91fe532b14b6d2ffc0e8010f 100644
|
| --- a/chrome/browser/ui/panels/panel_window_controller_cocoa.mm
|
| +++ b/chrome/browser/ui/panels/panel_window_controller_cocoa.mm
|
| @@ -1019,6 +1019,14 @@ enum {
|
|
|
| - (void)fullScreenModeChanged:(bool)isFullScreen {
|
| [self updateWindowLevel];
|
| +
|
| + // The full-screen window is in normal level and changing the panel window to
|
| + // same normal level will not move it below the full-screen window. Thus we
|
| + // need to reorder the panel window.
|
| + if (isFullScreen)
|
| + [[self window] orderBack];
|
| + else
|
| + [[self window] orderFront];
|
| }
|
|
|
| - (BOOL)canBecomeKeyWindow {
|
| @@ -1042,8 +1050,9 @@ enum {
|
| if (![self isWindowLoaded])
|
| return;
|
| // Make sure we don't draw on top of a window in full screen mode.
|
| - if (windowShim_->panel()->manager()->is_full_screen() ||
|
| - !windowShim_->panel()->always_on_top()) {
|
| + Panel* panel = windowShim_->panel();
|
| + if (panel->manager()->display_settings_provider()->is_full_screen() ||
|
| + !panel->always_on_top()) {
|
| [[self window] setLevel:NSNormalWindowLevel];
|
| return;
|
| }
|
| @@ -1062,7 +1071,7 @@ enum {
|
| // While this is OK for expanded panels, it makes minimized panels impossible
|
| // to activate. As a result, we still use NSStatusWindowLevel for minimized
|
| // panels, since it's impossible to compose IME text in them anyway.
|
| - if (windowShim_->panel()->IsMinimized()) {
|
| + if (panel->IsMinimized()) {
|
| [[self window] setLevel:NSStatusWindowLevel];
|
| return;
|
| }
|
|
|