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

Unified Diff: chrome/browser/ui/views/frame/browser_non_client_frame_view_aura.cc

Issue 9958039: Changes the maximize button to only minimize for panels. This resulted (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Spelling Created 8 years, 9 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/frame/browser_non_client_frame_view_aura.cc
diff --git a/chrome/browser/ui/views/frame/browser_non_client_frame_view_aura.cc b/chrome/browser/ui/views/frame/browser_non_client_frame_view_aura.cc
index f7ec48be8f9196fee26f31072f9c3431812ef65e..d30a7a885a81fcac2df817eddc46e518176858db 100644
--- a/chrome/browser/ui/views/frame/browser_non_client_frame_view_aura.cc
+++ b/chrome/browser/ui/views/frame/browser_non_client_frame_view_aura.cc
@@ -61,21 +61,31 @@ const int kContentShadowHeight = 1;
BrowserNonClientFrameViewAura::BrowserNonClientFrameViewAura(
BrowserFrame* frame, BrowserView* browser_view)
: BrowserNonClientFrameView(frame, browser_view),
- maximize_button_(NULL),
+ size_button_(NULL),
close_button_(NULL),
window_icon_(NULL),
- frame_painter_(new ash::FramePainter) {
+ frame_painter_(new ash::FramePainter),
+ size_button_minimizes_(false) {
James Cook 2012/03/31 00:15:09 nit: Maybe this could be size_button_behavior_?
}
BrowserNonClientFrameViewAura::~BrowserNonClientFrameViewAura() {
}
void BrowserNonClientFrameViewAura::Init() {
- // Caption buttons.
- maximize_button_ = new ash::FrameMaximizeButton(this, this);
- maximize_button_->SetAccessibleName(
+ // Panels only minimize.
+ 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);
+ size_button_behavior = ash::FramePainter::SIZE_BUTTON_MAXIMIZES;
+ }
+ size_button_->SetAccessibleName(
l10n_util::GetStringUTF16(IDS_ACCNAME_MAXIMIZE));
- AddChildView(maximize_button_);
+ AddChildView(size_button_);
close_button_ = new views::ImageButton(this);
close_button_->SetAccessibleName(
l10n_util::GetStringUTF16(IDS_ACCNAME_CLOSE));
@@ -93,7 +103,8 @@ void BrowserNonClientFrameViewAura::Init() {
UpdateAvatarInfo();
// Frame painter handles layout of these buttons.
- frame_painter_->Init(frame(), window_icon_, maximize_button_, close_button_);
+ frame_painter_->Init(frame(), window_icon_, size_button_, close_button_,
+ size_button_behavior);
}
///////////////////////////////////////////////////////////////////////////////
@@ -108,7 +119,7 @@ gfx::Rect BrowserNonClientFrameViewAura::GetBoundsForTabStrip(
(avatar_button()->bounds().right() + kAvatarSideSpacing) :
kTabstripLeftSpacing;
int tabstrip_width =
- maximize_button_->x() - kTabstripRightSpacing - tabstrip_x;
+ size_button_->x() - kTabstripRightSpacing - tabstrip_x;
return gfx::Rect(tabstrip_x,
GetHorizontalTabStripVerticalOffset(false),
std::max(0, tabstrip_width),
@@ -162,7 +173,7 @@ void BrowserNonClientFrameViewAura::GetWindowMask(const gfx::Size& size,
}
void BrowserNonClientFrameViewAura::ResetWindowControls() {
- maximize_button_->SetState(views::CustomButton::BS_NORMAL);
+ size_button_->SetState(views::CustomButton::BS_NORMAL);
// The close button isn't affected by this constraint.
}
@@ -241,10 +252,12 @@ gfx::Size BrowserNonClientFrameViewAura::GetMinimumSize() {
void BrowserNonClientFrameViewAura::ButtonPressed(views::Button* sender,
const views::Event& event) {
- if (sender == maximize_button_) {
+ if (sender == size_button_) {
// The maximize button may move out from under the cursor.
ResetWindowControls();
- if (frame()->IsMaximized())
+ if (size_button_minimizes_)
+ frame()->Minimize();
+ else if (frame()->IsMaximized())
frame()->Restore();
else
frame()->Maximize();

Powered by Google App Engine
This is Rietveld 408576698