Chromium Code Reviews| Index: chrome/browser/android/compositor/layer/contextual_search_layer.cc |
| diff --git a/chrome/browser/android/compositor/layer/contextual_search_layer.cc b/chrome/browser/android/compositor/layer/contextual_search_layer.cc |
| index e4142ee40009bb9fdc704abb07d29e3a9ea103ec..f327137f1d4f11b55dc808d69c971e7da60357ef 100644 |
| --- a/chrome/browser/android/compositor/layer/contextual_search_layer.cc |
| +++ b/chrome/browser/android/compositor/layer/contextual_search_layer.cc |
| @@ -38,6 +38,7 @@ void ContextualSearchLayer::SetProperties( |
| int search_provider_icon_resource_id, |
| int search_icon_resource_id, |
| int arrow_up_resource_id, |
| + int close_icon_resource_id, |
| int progress_bar_background_resource_id, |
| int progress_bar_resource_id, |
| int search_promo_resource_id, |
| @@ -61,6 +62,8 @@ void ContextualSearchLayer::SetProperties( |
| bool arrow_icon_visible, |
| float arrow_icon_opacity, |
| float arrow_icon_rotation, |
| + bool close_icon_visible, |
| + float close_icon_opacity, |
| bool progress_bar_visible, |
| float progress_bar_y, |
| float progress_bar_height, |
| @@ -204,6 +207,39 @@ void ContextualSearchLayer::SetProperties( |
| } |
| // --------------------------------------------------------------------------- |
| + // Close Icon |
| + // --------------------------------------------------------------------------- |
| + if (close_icon_visible) { |
| + // Grab the Close Icon resource. |
| + ui::ResourceManager::Resource* close_icon_resource = |
| + resource_manager_->GetResource(ui::ANDROID_RESOURCE_TYPE_STATIC, |
| + close_icon_resource_id); |
| + if (close_icon_->parent() != layer_) { |
| + layer_->AddChild(close_icon_); |
| + } |
| + |
| + // Positions the icon at the end of the Search Bar. |
| + float close_icon_left; |
| + if (is_rtl) { |
| + close_icon_left = search_bar_margin_side; |
| + } else { |
| + close_icon_left = search_panel_width - |
| + close_icon_resource->size.width() - search_bar_margin_side; |
| + } |
| + |
| + // Centers the Close Icon vertically in the Search Bar. |
| + float close_icon_top = search_bar_margin_top + |
| + (search_bar_height - search_bar_margin_top) / 2 - |
| + close_icon_resource->size.height() / 2; |
| + |
| + close_icon_->SetUIResourceId(close_icon_resource->ui_resource->id()); |
| + close_icon_->SetBounds(close_icon_resource->size); |
| + close_icon_->SetPosition( |
| + gfx::PointF(close_icon_left, close_icon_top)); |
| + close_icon_->SetOpacity(close_icon_opacity); |
| + } |
|
pedro (no code reviews)
2015/07/08 00:43:47
Add else block that removes the layer, if not pres
Theresa
2015/07/08 16:03:58
Done.
|
| + |
| + // --------------------------------------------------------------------------- |
| // Search Promo |
| // --------------------------------------------------------------------------- |
| if (search_promo_visible) { |
| @@ -372,6 +408,8 @@ ContextualSearchLayer::ContextualSearchLayer( |
| cc::UIResourceLayer::Create(content::Compositor::LayerSettings())), |
| arrow_icon_( |
| cc::UIResourceLayer::Create(content::Compositor::LayerSettings())), |
| + close_icon_( |
| + cc::UIResourceLayer::Create(content::Compositor::LayerSettings())), |
| content_view_container_( |
| cc::Layer::Create(content::Compositor::LayerSettings())), |
| search_bar_border_( |
| @@ -407,6 +445,9 @@ ContextualSearchLayer::ContextualSearchLayer( |
| // Arrow Icon |
| arrow_icon_->SetIsDrawable(true); |
| + // Close Icon |
| + close_icon_->SetIsDrawable(true); |
| + |
| // Search Opt Out Promo |
| search_promo_container_->SetIsDrawable(true); |
| search_promo_container_->SetBackgroundColor(kSearchBackgroundColor); |