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

Unified Diff: chrome/browser/ui/views/ash/browser_non_client_frame_view_ash.cc

Issue 10883069: Added restore functionality for maximize full/left/right (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 4 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
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();

Powered by Google App Engine
This is Rietveld 408576698