Index: chrome/browser/ui/views/frame/app_non_client_frame_view_ash.cc |
diff --git a/chrome/browser/ui/views/frame/app_non_client_frame_view_ash.cc b/chrome/browser/ui/views/frame/app_non_client_frame_view_ash.cc |
index 2b1bfa71bc56285621d4ce6a58588adba1754029..df7462d25ae8d52cec30db3341106321e03b5f98 100644 |
--- a/chrome/browser/ui/views/frame/app_non_client_frame_view_ash.cc |
+++ b/chrome/browser/ui/views/frame/app_non_client_frame_view_ash.cc |
@@ -45,7 +45,8 @@ class AppNonClientFrameViewAsh::ControlView |
explicit ControlView(AppNonClientFrameViewAsh* owner) : |
owner_(owner), |
close_button_(new views::ImageButton(this)), |
- restore_button_(new ash::FrameMaximizeButton(this, owner_)) |
+ restore_button_(new ash::FrameMaximizeButton(this, owner_)), |
+ original_maximize_button_width_(0) |
James Cook
2013/04/22 22:15:46
If we're going to do this mode, I think you should
Mr4D (OOO till 08-26)
2013/04/23 04:41:28
Right. As stated in my CL comment: This was a no g
James Cook
2013/04/23 18:27:32
OK. Keep the button hiding the way you have it, bu
Mr4D (OOO till 08-26)
2013/04/23 22:24:00
Added a TODO(skuhne) comment here to make sure it
|
{ |
close_button_->SetAccessibleName( |
l10n_util::GetStringUTF16(IDS_ACCNAME_CLOSE)); |
@@ -69,6 +70,18 @@ class AppNonClientFrameViewAsh::ControlView |
virtual ~ControlView() {} |
virtual void Layout() OVERRIDE { |
+ if (ash::Shell::IsForcedMaximizeMode()) { |
+ // TODO(skuhne): If this experiment would get persued, it would be better |
+ // to check here the |restore_button_|'s visibility. Furthermore we |
+ // should change |shadow_| to a new bitmap which can host only a single |
+ // button. |
+ gfx::Size size = restore_button_->bounds().size(); |
+ if (size.width()) { |
+ original_maximize_button_width_ = size.width(); |
+ size.set_width(0); |
+ restore_button_->SetSize(size); |
+ } |
+ } |
restore_button_->SetPosition(gfx::Point(kShadowStart, 0)); |
close_button_->SetPosition(gfx::Point(kShadowStart + |
restore_button_->width() - kButtonOverlap, 0)); |
@@ -92,7 +105,7 @@ class AppNonClientFrameViewAsh::ControlView |
} |
virtual gfx::Size GetPreferredSize() OVERRIDE { |
- return gfx::Size(shadow_->width(), |
+ return gfx::Size(shadow_->width() - original_maximize_button_width_, |
shadow_->height() + kShadowHeightStretch); |
} |
@@ -153,6 +166,9 @@ class AppNonClientFrameViewAsh::ControlView |
const gfx::ImageSkia* control_base_; |
const gfx::ImageSkia* shadow_; |
+ // The original size of the maximize button. |
+ int original_maximize_button_width_; |
+ |
DISALLOW_COPY_AND_ASSIGN(ControlView); |
}; |