Index: chrome/browser/ui/views/frame/browser_non_client_frame_view_ash.cc |
diff --git a/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash.cc b/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash.cc |
index 90b375e3feafc72347f6f044f21c124631d4a670..5e183849dcaefde2d2c69b7f4295e7c76c1d59ed 100644 |
--- a/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash.cc |
+++ b/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash.cc |
@@ -4,6 +4,8 @@ |
#include "chrome/browser/ui/views/frame/browser_non_client_frame_view_ash.h" |
+#include <algorithm> |
+ |
#include "ash/ash_switches.h" |
#include "ash/frame/caption_buttons/frame_caption_button_container_view.h" |
#include "ash/frame/default_header_painter.h" |
@@ -377,6 +379,20 @@ gfx::ImageSkia BrowserNonClientFrameViewAsh::GetFaviconForTabIconView() { |
} |
/////////////////////////////////////////////////////////////////////////////// |
+// views::View: |
+ |
+void BrowserNonClientFrameViewAsh:: |
+ 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 in response to the preferred |
+// size changes. |
+ if (child != caption_button_container_) |
+ return; |
+ frame()->GetRootView()->Layout(); |
+} |
+ |
+/////////////////////////////////////////////////////////////////////////////// |
// BrowserNonClientFrameViewAsh, private: |
int BrowserNonClientFrameViewAsh::GetTabStripLeftInset() const { |