Index: ash/frame/caption_buttons/frame_caption_button_container_view.cc |
diff --git a/ash/frame/caption_buttons/frame_caption_button_container_view.cc b/ash/frame/caption_buttons/frame_caption_button_container_view.cc |
index 12bbb71a35cadd9e0fa774f31add9541abfec4ba..5cb052984a11ef721a1826c3318c4fb0cca8e06f 100644 |
--- a/ash/frame/caption_buttons/frame_caption_button_container_view.cc |
+++ b/ash/frame/caption_buttons/frame_caption_button_container_view.cc |
@@ -5,12 +5,14 @@ |
#include "ash/frame/caption_buttons/frame_caption_button_container_view.h" |
#include <cmath> |
+#include <map> |
#include "ash/ash_switches.h" |
#include "ash/frame/caption_buttons/frame_caption_button.h" |
#include "ash/frame/caption_buttons/frame_size_button.h" |
#include "ash/metrics/user_metrics_recorder.h" |
#include "ash/shell.h" |
+#include "ash/wm/maximize_mode/maximize_mode_controller.h" |
#include "grit/ui_strings.h" // Accessibility names |
#include "ui/base/hit_test.h" |
#include "ui/base/l10n/l10n_util.h" |
@@ -57,7 +59,7 @@ FrameCaptionButtonContainerView::FrameCaptionButtonContainerView( |
size_button_ = new FrameSizeButton(this, frame, this); |
size_button_->SetAccessibleName( |
l10n_util::GetStringUTF16(IDS_APP_ACCNAME_MAXIMIZE)); |
- UpdateSizeButtonVisibility(false); |
+ UpdateSizeButtonVisibility(); |
AddChildView(size_button_); |
close_button_ = new FrameCaptionButton(this, CAPTION_BUTTON_ICON_CLOSE); |
@@ -119,16 +121,11 @@ int FrameCaptionButtonContainerView::NonClientHitTest( |
return HTNOWHERE; |
} |
-void FrameCaptionButtonContainerView::UpdateSizeButtonVisibility( |
- bool force_hidden) { |
- // TODO(flackr): Refactor the Maximize Mode notifications. Currently |
- // UpdateSizeButtonVisibilty requires a force_hidden parameter. This is |
- // because Shell::IsMaximizeWindowManagerEnabled is still false at the |
- // time when ShellObserver::OnMaximizeModeStarted is called. This prevents |
- // this method from performing that check, and instead relies on the calling |
- // code to tell it to force being hidden. |
+void FrameCaptionButtonContainerView::UpdateSizeButtonVisibility() { |
size_button_->SetVisible( |
- !force_hidden && frame_->widget_delegate()->CanMaximize()); |
+ !Shell::GetInstance()->maximize_mode_controller()-> |
+ IsMaximizeModeWindowManagerEnabled() && |
+ frame_->widget_delegate()->CanMaximize()); |
} |
gfx::Size FrameCaptionButtonContainerView::GetPreferredSize() const { |
@@ -202,7 +199,7 @@ void FrameCaptionButtonContainerView::ButtonPressed(views::Button* sender, |
if (sender == minimize_button_) { |
frame_->Minimize(); |
} else if (sender == size_button_) { |
- if (frame_->IsFullscreen()) { // Can be clicked in immersive fullscreen. |
+ if (frame_->IsFullscreen()) { // Can be clicked in immersive fullscreen. |
frame_->SetFullscreen(false); |
action = ash::UMA_WINDOW_MAXIMIZE_BUTTON_CLICK_EXIT_FULLSCREEN; |
} else if (frame_->IsMaximized()) { |
@@ -212,7 +209,7 @@ void FrameCaptionButtonContainerView::ButtonPressed(views::Button* sender, |
frame_->Maximize(); |
action = ash::UMA_WINDOW_MAXIMIZE_BUTTON_CLICK_MAXIMIZE; |
} |
- } else if(sender == close_button_) { |
+ } else if (sender == close_button_) { |
frame_->Close(); |
action = ash::UMA_WINDOW_CLOSE_BUTTON_CLICK; |
} else { |