| Index: chrome/browser/ui/views/ash/browser_non_client_frame_view_ash.cc
|
| diff --git a/chrome/browser/ui/views/ash/browser_non_client_frame_view_ash.cc b/chrome/browser/ui/views/ash/browser_non_client_frame_view_ash.cc
|
| index ac73167b5bdbfe33346bf0efda7eb0b98e67e54c..cd04e93bbfea60ab4ea778a7b7958783bb0b7417 100644
|
| --- a/chrome/browser/ui/views/ash/browser_non_client_frame_view_ash.cc
|
| +++ b/chrome/browser/ui/views/ash/browser_non_client_frame_view_ash.cc
|
| @@ -6,6 +6,7 @@
|
|
|
| #include "ash/wm/frame_painter.h"
|
| #include "ash/wm/workspace/frame_maximize_button.h"
|
| +#include "ash/wm/workspace/workspace_event_filter.h"
|
| #include "chrome/browser/themes/theme_service.h"
|
| #include "chrome/browser/ui/browser.h"
|
| #include "chrome/browser/ui/search/search.h"
|
| @@ -131,9 +132,9 @@ BrowserNonClientFrameViewAsh::BrowserNonClientFrameViewAsh(
|
| : BrowserNonClientFrameView(frame, browser_view),
|
| size_button_(NULL),
|
| close_button_(NULL),
|
| + maximize_button_(NULL),
|
| window_icon_(NULL),
|
| - frame_painter_(new ash::FramePainter),
|
| - size_button_minimizes_(false) {
|
| + frame_painter_(new ash::FramePainter) {
|
| }
|
|
|
| BrowserNonClientFrameViewAsh::~BrowserNonClientFrameViewAsh() {
|
| @@ -150,11 +151,11 @@ void BrowserNonClientFrameViewAsh::Init() {
|
| ash::FramePainter::SizeButtonBehavior size_button_behavior;
|
| if (browser_view()->browser()->is_type_panel() &&
|
| browser_view()->browser()->app_type() == Browser::APP_TYPE_CHILD) {
|
| - size_button_minimizes_ = true;
|
| size_button_ = new views::ImageButton(this);
|
| size_button_behavior = ash::FramePainter::SIZE_BUTTON_MINIMIZES;
|
| } else {
|
| - size_button_ = new ash::FrameMaximizeButton(this, this);
|
| + maximize_button_ = new ash::FrameMaximizeButton(this, this);
|
| + size_button_ = maximize_button_;
|
| size_button_behavior = ash::FramePainter::SIZE_BUTTON_MAXIMIZES;
|
| }
|
| size_button_->SetAccessibleName(
|
| @@ -369,12 +370,11 @@ void BrowserNonClientFrameViewAsh::ButtonPressed(views::Button* sender,
|
| if (sender == size_button_) {
|
| // The maximize button may move out from under the cursor.
|
| ResetWindowControls();
|
| - if (size_button_minimizes_)
|
| + if (!maximize_button_)
|
| frame()->Minimize();
|
| - else if (frame()->IsMaximized())
|
| - frame()->Restore();
|
| else
|
| - frame()->Maximize();
|
| + ash::ToggleMaximizedState(
|
| + frame()->GetFrameView()->GetWidget()->GetNativeWindow());
|
| // |this| may be deleted - some windows delete their frames on maximize.
|
| } else if (sender == close_button_) {
|
| frame()->Close();
|
|
|