Index: ash/wm/panels/panel_frame_view.cc |
diff --git a/ash/wm/panels/panel_frame_view.cc b/ash/wm/panels/panel_frame_view.cc |
index 85846f490c70c82d5590915358ed587dc2da0f1f..edaf8a3ee98e639e3321f575e8f9930e018b5683 100644 |
--- a/ash/wm/panels/panel_frame_view.cc |
+++ b/ash/wm/panels/panel_frame_view.cc |
@@ -4,6 +4,8 @@ |
#include "ash/wm/panels/panel_frame_view.h" |
+#include "ash/common/material_design/material_design_controller.h" |
+#include "ash/common/wm_shell.h" |
#include "ash/frame/caption_buttons/frame_caption_button_container_view.h" |
#include "ash/frame/default_header_painter.h" |
#include "ash/frame/frame_border_hit_test_controller.h" |
@@ -29,9 +31,12 @@ PanelFrameView::PanelFrameView(views::Widget* frame, FrameType frame_type) |
DCHECK(!frame_->widget_delegate()->CanMaximize()); |
if (frame_type != FRAME_NONE) |
InitHeaderPainter(); |
+ ash::WmShell::Get()->AddShellObserver(this); |
} |
-PanelFrameView::~PanelFrameView() {} |
+PanelFrameView::~PanelFrameView() { |
+ ash::WmShell::Get()->RemoveShellObserver(this); |
+} |
void PanelFrameView::SetFrameColors(SkColor active_frame_color, |
SkColor inactive_frame_color) { |
@@ -137,4 +142,17 @@ gfx::Rect PanelFrameView::GetWindowBoundsForClientBounds( |
return window_bounds; |
} |
+/////////////////////////////////////////////////////////////////////////////// |
+// ShellObserver: |
+ |
+void PanelFrameView::OnOverviewModeStarting() { |
+ if (ash::MaterialDesignController::IsOverviewMaterial()) |
+ SetVisible(false); |
+} |
+ |
+void PanelFrameView::OnOverviewModeEnded() { |
+ if (ash::MaterialDesignController::IsOverviewMaterial()) |
+ SetVisible(true); |
+} |
+ |
} // namespace ash |