Chromium Code Reviews| Index: ash/common/wm/overview/window_selector_item.cc |
| diff --git a/ash/common/wm/overview/window_selector_item.cc b/ash/common/wm/overview/window_selector_item.cc |
| index 023d9bc029d337e7dfcb4dba1123329f08403184..0af7f92c67ced3663d8273d33f52dc0a6d14d4f6 100644 |
| --- a/ash/common/wm/overview/window_selector_item.cc |
| +++ b/ash/common/wm/overview/window_selector_item.cc |
| @@ -106,7 +106,7 @@ static const float kPreCloseScale = 0.02f; |
| // Calculates the |window| bounds after being transformed to the selector's |
| // space. The returned Rect is in virtual screen coordinates. |
| -gfx::Rect GetTransformedBounds(WmWindow* window) { |
| +gfx::Rect GetTransformedBounds(WmWindow* window, bool hide_header) { |
| gfx::RectF bounds( |
| window->GetRootWindow()->ConvertRectToScreen(window->GetTargetBounds())); |
| gfx::Transform new_transform = TransformAboutPivot( |
| @@ -116,7 +116,7 @@ gfx::Rect GetTransformedBounds(WmWindow* window) { |
| // With Material Design the preview title is shown above the preview window. |
| // Hide the window header for apps or browser windows with no tabs (web apps) |
| // to avoid showing both the window header and the preview title. |
| - if (ash::MaterialDesignController::IsOverviewMaterial()) { |
| + if (ash::MaterialDesignController::IsOverviewMaterial() && hide_header) { |
| gfx::RectF header_bounds(bounds); |
| header_bounds.set_height( |
| window->GetIntProperty(WmWindowProperty::TOP_VIEW_INSET)); |
| @@ -281,6 +281,7 @@ WindowSelectorItem::WindowSelectorItem(WmWindow* window, |
| root_window_(window->GetRootWindow()), |
| transform_window_(window), |
| in_bounds_update_(false), |
| + hide_header_(false), |
|
tdanderson
2016/07/18 16:26:58
IIUC at any point in time, either all of the Windo
varkha
2016/07/19 00:29:07
Done (made static and controlled by flags).
|
| caption_container_view_(nullptr), |
| window_label_button_view_(nullptr), |
| close_button_(new OverviewCloseButton(this)), |
| @@ -454,9 +455,12 @@ void WindowSelectorItem::OnWindowTitleChanged(WmWindow* window) { |
| float WindowSelectorItem::GetItemScale(const gfx::Size& size) { |
| gfx::Size inset_size(size.width(), size.height() - 2 * kWindowMarginMD); |
| + const int header_inset = |
| + hide_header_ |
| + ? GetWindow()->GetIntProperty(WmWindowProperty::TOP_VIEW_INSET) |
| + : 0; |
| return ScopedTransformOverviewWindow::GetItemScale( |
| - GetWindow()->GetTargetBounds().size(), inset_size, |
| - GetWindow()->GetIntProperty(WmWindowProperty::TOP_VIEW_INSET), |
| + GetWindow()->GetTargetBounds().size(), inset_size, header_inset, |
| close_button_->GetPreferredSize().height()); |
| } |
| @@ -473,8 +477,10 @@ void WindowSelectorItem::SetItemBounds(const gfx::Rect& target_bounds, |
| int top_view_inset = 0; |
| int title_height = 0; |
| if (ash::MaterialDesignController::IsOverviewMaterial()) { |
| - top_view_inset = |
| - GetWindow()->GetIntProperty(WmWindowProperty::TOP_VIEW_INSET); |
| + if (hide_header_) { |
| + top_view_inset = |
| + GetWindow()->GetIntProperty(WmWindowProperty::TOP_VIEW_INSET); |
| + } |
| title_height = close_button_->GetPreferredSize().height(); |
| } |
| gfx::Rect selector_item_bounds = |
| @@ -488,7 +494,7 @@ void WindowSelectorItem::SetItemBounds(const gfx::Rect& target_bounds, |
| // before the transform. Dividing by scale factor obtains the corner radius |
| // which when scaled will yield |kLabelBackgroundRadius|. |
| transform_window_.SetTransform( |
| - root_window_, transform, |
| + root_window_, transform, hide_header_, |
| (kLabelBackgroundRadius / GetItemScale(target_bounds.size()))); |
| transform_window_.set_overview_transform(transform); |
| } |
| @@ -580,8 +586,8 @@ void WindowSelectorItem::CreateWindowLabel(const base::string16& title) { |
| void WindowSelectorItem::UpdateHeaderLayout( |
| OverviewAnimationType animation_type) { |
| - gfx::Rect transformed_window_bounds = |
| - root_window_->ConvertRectFromScreen(GetTransformedBounds(GetWindow())); |
| + gfx::Rect transformed_window_bounds = root_window_->ConvertRectFromScreen( |
| + GetTransformedBounds(GetWindow(), hide_header_)); |
| if (ash::MaterialDesignController::IsOverviewMaterial()) { |
| gfx::Rect label_rect(close_button_->GetPreferredSize()); |