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

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

Issue 9956063: Merge 130064 - Changes the maximize button to only minimize for panels. This resulted (Closed) Base URL: svn://svn.chromium.org/chrome/branches/1084/src/
Patch Set: 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
===================================================================
--- chrome/browser/ui/views/frame/browser_non_client_frame_view_aura.cc (revision 130125)
+++ chrome/browser/ui/views/frame/browser_non_client_frame_view_aura.cc (working copy)
@@ -61,21 +61,31 @@
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) {
}
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 @@
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 @@
(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::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 @@
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