Drive: Add BatchableRequest subclass.
[chromium-blink-merge.git] / ui / views / layout / fill_layout.cc
blob21375461210b0d54256f975553c703ed2097021c
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "ui/views/layout/fill_layout.h"
7 #include "base/logging.h"
9 namespace views {
11 FillLayout::FillLayout() {}
13 FillLayout::~FillLayout() {}
15 void FillLayout::Layout(View* host) {
16 if (!host->has_children())
17 return;
19 View* frame_view = host->child_at(0);
20 frame_view->SetBoundsRect(host->GetContentsBounds());
23 gfx::Size FillLayout::GetPreferredSize(const View* host) const {
24 if (!host->has_children())
25 return gfx::Size();
26 DCHECK_EQ(1, host->child_count());
27 gfx::Rect rect(host->child_at(0)->GetPreferredSize());
28 rect.Inset(-host->GetInsets());
29 return rect.size();
32 int FillLayout::GetPreferredHeightForWidth(const View* host, int width) const {
33 if (!host->has_children())
34 return 0;
35 DCHECK_EQ(1, host->child_count());
36 const gfx::Insets insets = host->GetInsets();
37 return host->child_at(0)->GetHeightForWidth(width - insets.width()) +
38 insets.height();
41 } // namespace views