| Index: athena/util/fill_layout_manager.cc | 
| diff --git a/athena/util/fill_layout_manager.cc b/athena/util/fill_layout_manager.cc | 
| index 8e239a22f50941a61d53bf9cb1b96a1ad8babc89..2a3eb22f374d6808b02dcb3a306ac58301d14d9f 100644 | 
| --- a/athena/util/fill_layout_manager.cc | 
| +++ b/athena/util/fill_layout_manager.cc | 
| @@ -6,19 +6,31 @@ | 
|  | 
| #include "base/logging.h" | 
| #include "ui/aura/window.h" | 
| +#include "ui/aura/window_property.h" | 
| + | 
| +// This is to avoid creating type definitoin for kAlwaysFillWindowKey. | 
| +DECLARE_EXPORTED_WINDOW_PROPERTY_TYPE(ATHENA_EXPORT, bool); | 
|  | 
| namespace athena { | 
| namespace { | 
|  | 
| +DEFINE_LOCAL_WINDOW_PROPERTY_KEY(bool, kAlwaysFillWindowKey, false); | 
| + | 
| // TODO(oshima): Implement real window/layout manager. crbug.com/388362. | 
| bool ShouldFill(aura::Window* window) { | 
| -  return window->type() != ui::wm::WINDOW_TYPE_MENU && | 
| -      window->type() != ui::wm::WINDOW_TYPE_TOOLTIP && | 
| -      window->type() != ui::wm::WINDOW_TYPE_POPUP; | 
| +  return window->GetProperty(kAlwaysFillWindowKey) || | 
| +         (window->type() != ui::wm::WINDOW_TYPE_MENU && | 
| +          window->type() != ui::wm::WINDOW_TYPE_TOOLTIP && | 
| +          window->type() != ui::wm::WINDOW_TYPE_POPUP); | 
| } | 
|  | 
| }  // namespace | 
|  | 
| +// static | 
| +void FillLayoutManager::SetAlwaysFill(aura::Window* window) { | 
| +  window->SetProperty(kAlwaysFillWindowKey, true); | 
| +} | 
| + | 
| FillLayoutManager::FillLayoutManager(aura::Window* container) | 
| : container_(container) { | 
| DCHECK(container_); | 
| @@ -40,16 +52,21 @@ void FillLayoutManager::OnWindowResized() { | 
|  | 
| void FillLayoutManager::OnWindowAddedToLayout(aura::Window* child) { | 
| if (ShouldFill(child)) | 
| -    SetChildBoundsDirect(child, (gfx::Rect(container_->bounds().size()))); | 
| +    SetChildBoundsDirect(child, gfx::Rect(container_->bounds().size())); | 
| } | 
|  | 
| void FillLayoutManager::OnWillRemoveWindowFromLayout(aura::Window* child) { | 
| } | 
| + | 
| void FillLayoutManager::OnWindowRemovedFromLayout(aura::Window* child) { | 
| } | 
| + | 
| void FillLayoutManager::OnChildWindowVisibilityChanged(aura::Window* child, | 
| bool visible) { | 
| +  if (visible && ShouldFill(child)) | 
| +    SetChildBoundsDirect(child, gfx::Rect(container_->bounds().size())); | 
| } | 
| + | 
| void FillLayoutManager::SetChildBounds(aura::Window* child, | 
| const gfx::Rect& requested_bounds) { | 
| if (!ShouldFill(child)) | 
|  |