| Index: ash/frame/custom_frame_view_ash.cc
|
| diff --git a/ash/frame/custom_frame_view_ash.cc b/ash/frame/custom_frame_view_ash.cc
|
| index 85722ffc8acb363c3a660f10390097b1ecfcbe26..4f424fe58f945cd7810471ff870f4b4a1358f9a6 100644
|
| --- a/ash/frame/custom_frame_view_ash.cc
|
| +++ b/ash/frame/custom_frame_view_ash.cc
|
| @@ -4,6 +4,9 @@
|
|
|
| #include "ash/frame/custom_frame_view_ash.h"
|
|
|
| +#include <algorithm>
|
| +#include <vector>
|
| +
|
| #include "ash/ash_switches.h"
|
| #include "ash/frame/caption_buttons/frame_caption_button_container_view.h"
|
| #include "ash/frame/default_header_painter.h"
|
| @@ -150,6 +153,7 @@ class CustomFrameViewAsh::HeaderView
|
| // views::View:
|
| virtual void Layout() OVERRIDE;
|
| virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE;
|
| + virtual void ChildPreferredSizeChanged(views::View* child) OVERRIDE;
|
|
|
| // ShellObserver:
|
| virtual void OnMaximizeModeStarted() OVERRIDE;
|
| @@ -285,6 +289,17 @@ void CustomFrameViewAsh::HeaderView::OnPaint(gfx::Canvas* canvas) {
|
| header_painter_->PaintHeader(canvas, header_mode);
|
| }
|
|
|
| +void CustomFrameViewAsh::HeaderView::
|
| + ChildPreferredSizeChanged(views::View* child) {
|
| + // FrameCaptionButtonContainerView animates the visibility changes in
|
| + // UpdateSizeButtonVisibility(false). Due to this a new size is not available
|
| + // until the completion of the animation. Layout it response to the preferred
|
| + // size changes.
|
| + if (child != caption_button_container_)
|
| + return;
|
| + parent()->Layout();
|
| +}
|
| +
|
| ///////////////////////////////////////////////////////////////////////////////
|
| // CustomFrameViewAsh::HeaderView, ShellObserver overrides:
|
|
|
|
|