diff options
author | aurimas <aurimas@chromium.org> | 2015-07-27 17:54:46 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-07-28 00:55:37 +0000 |
commit | 7a0d32250eaedd102f90d8c7932c7f8be2355d16 (patch) | |
tree | 86afd5b4dfeb604975a34045058b1362598262d1 | |
parent | b07283fe544aafcb1d11feaaafeb2166bf15c87f (diff) | |
download | chromium_src-7a0d32250eaedd102f90d8c7932c7f8be2355d16.zip chromium_src-7a0d32250eaedd102f90d8c7932c7f8be2355d16.tar.gz chromium_src-7a0d32250eaedd102f90d8c7932c7f8be2355d16.tar.bz2 |
Add shadow to contextual search panel.
BUG=498531
Review URL: https://codereview.chromium.org/1249863002
Cr-Commit-Position: refs/heads/master@{#340619}
11 files changed, 53 insertions, 58 deletions
diff --git a/chrome/android/java/res/drawable-hdpi/contextual_search_bar_background.9.png b/chrome/android/java/res/drawable-hdpi/contextual_search_bar_background.9.png Binary files differindex e47d2faf..fe48680 100644 --- a/chrome/android/java/res/drawable-hdpi/contextual_search_bar_background.9.png +++ b/chrome/android/java/res/drawable-hdpi/contextual_search_bar_background.9.png diff --git a/chrome/android/java/res/drawable-mdpi/contextual_search_bar_background.9.png b/chrome/android/java/res/drawable-mdpi/contextual_search_bar_background.9.png Binary files differindex d3206a4..e101b48 100644 --- a/chrome/android/java/res/drawable-mdpi/contextual_search_bar_background.9.png +++ b/chrome/android/java/res/drawable-mdpi/contextual_search_bar_background.9.png diff --git a/chrome/android/java/res/drawable-xhdpi/contextual_search_bar_background.9.png b/chrome/android/java/res/drawable-xhdpi/contextual_search_bar_background.9.png Binary files differindex 378d25a..67f969e 100644 --- a/chrome/android/java/res/drawable-xhdpi/contextual_search_bar_background.9.png +++ b/chrome/android/java/res/drawable-xhdpi/contextual_search_bar_background.9.png diff --git a/chrome/android/java/res/drawable-xxhdpi/contextual_search_bar_background.9.png b/chrome/android/java/res/drawable-xxhdpi/contextual_search_bar_background.9.png Binary files differindex 010f9af..8c66ba8 100644 --- a/chrome/android/java/res/drawable-xxhdpi/contextual_search_bar_background.9.png +++ b/chrome/android/java/res/drawable-xxhdpi/contextual_search_bar_background.9.png diff --git a/chrome/android/java/res/drawable-xxxhdpi/contextual_search_bar_background.9.png b/chrome/android/java/res/drawable-xxxhdpi/contextual_search_bar_background.9.png Binary files differindex 14fd76f..9e5902f 100644 --- a/chrome/android/java/res/drawable-xxxhdpi/contextual_search_bar_background.9.png +++ b/chrome/android/java/res/drawable-xxxhdpi/contextual_search_bar_background.9.png diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPanelBase.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPanelBase.java index 14442d7..ad4f73c 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPanelBase.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPanelBase.java @@ -28,12 +28,6 @@ import org.chromium.ui.resources.dynamics.DynamicResourceLoader; */ abstract class ContextualSearchPanelBase extends ContextualSearchPanelStateHandler implements ContextualSearchPromoHost { - - /** - * The margin top of the Contextual Search Bar in dps. - */ - private static final float SEARCH_BAR_MARGIN_TOP_DP = 16.f; - /** * The side padding of Search Bar icons in dps. */ @@ -249,8 +243,8 @@ abstract class ContextualSearchPanelBase extends ContextualSearchPanelStateHandl mSearchBarPaddingTop = PANEL_SHADOW_HEIGHT_DP; mSearchBarHeightPeeking = context.getResources().getDimension( - R.dimen.contextual_search_bar_height) * mPxToDp + mSearchBarPaddingTop; - mSearchBarHeightMaximized = mToolbarHeight + mSearchBarPaddingTop; + R.dimen.contextual_search_bar_height) * mPxToDp; + mSearchBarHeightMaximized = mToolbarHeight; mSearchBarHeightExpanded = Math.round((mSearchBarHeightPeeking + mSearchBarHeightMaximized) / 2.f); @@ -551,8 +545,6 @@ abstract class ContextualSearchPanelBase extends ContextualSearchPanelStateHandl // -------------------------------------------------------------------------------------------- // Contextual Search Bar states // -------------------------------------------------------------------------------------------- - - private float mSearchBarMarginTop; private float mSearchBarMarginSide; private float mSearchBarHeight; private float mSearchBarTextOpacity; @@ -574,13 +566,6 @@ abstract class ContextualSearchPanelBase extends ContextualSearchPanelStateHandl private float mCloseIconWidth; /** - * @return The top margin of the Contextual Search Bar. - */ - public float getSearchBarMarginTop() { - return mSearchBarMarginTop; - } - - /** * @return The side margin of the Contextual Search Bar. */ public float getSearchBarMarginSide() { @@ -863,7 +848,6 @@ abstract class ContextualSearchPanelBase extends ContextualSearchPanelStateHandl mIsShowing = false; // Static values. - mSearchBarMarginTop = SEARCH_BAR_MARGIN_TOP_DP; mSearchBarMarginSide = SEARCH_BAR_ICON_SIDE_PADDING_DP; mProgressBarHeight = PROGRESS_BAR_HEIGHT_DP; mSearchBarBorderHeight = SEARCH_BAR_BORDER_HEIGHT_DP; @@ -892,18 +876,15 @@ abstract class ContextualSearchPanelBase extends ContextualSearchPanelStateHandl panelHeight = mSearchBarHeightPeeking; } else if (state == PanelState.EXPANDED) { if (isFullscreenSizePanel()) { - panelHeight = fullscreenHeight * EXPANDED_PANEL_HEIGHT_PERCENTAGE - + mSearchBarPaddingTop; + panelHeight = fullscreenHeight * EXPANDED_PANEL_HEIGHT_PERCENTAGE; } else { - panelHeight = fullscreenHeight * NARROW_EXPANDED_PANEL_HEIGHT_PERCENTAGE - + mSearchBarPaddingTop; + panelHeight = fullscreenHeight * NARROW_EXPANDED_PANEL_HEIGHT_PERCENTAGE; } } else if (state == PanelState.MAXIMIZED) { if (isFullscreenSizePanel()) { - panelHeight = fullscreenHeight + mSearchBarPaddingTop; + panelHeight = fullscreenHeight; } else { - panelHeight = fullscreenHeight * NARROW_MAXIMIZED_PANEL_HEIGHT_PERCENTAGE - + mSearchBarPaddingTop; + panelHeight = fullscreenHeight * NARROW_MAXIMIZED_PANEL_HEIGHT_PERCENTAGE; } } diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/ContextualSearchSceneLayer.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/ContextualSearchSceneLayer.java index a1134cb..c253682 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/ContextualSearchSceneLayer.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/ContextualSearchSceneLayer.java @@ -46,7 +46,6 @@ public class ContextualSearchSceneLayer extends SceneLayer { float searchPanelWidth = mSearchPanel.getWidth(); float searchPanelHeight = mSearchPanel.getHeight(); - float searchBarMarginTop = mSearchPanel.getSearchBarMarginTop(); float searchBarMarginSide = mSearchPanel.getSearchBarMarginSide(); float searchBarHeight = mSearchPanel.getSearchBarHeight(); float searchBarTextOpacity = mSearchPanel.getSearchBarTextOpacity(); @@ -96,7 +95,6 @@ public class ContextualSearchSceneLayer extends SceneLayer { searchPanelY * mDpToPx, searchPanelWidth * mDpToPx, searchPanelHeight * mDpToPx, - searchBarMarginTop * mDpToPx, searchBarMarginSide * mDpToPx, searchBarHeight * mDpToPx, searchBarTextOpacity, @@ -160,7 +158,6 @@ public class ContextualSearchSceneLayer extends SceneLayer { float searchPanelY, float searchPanelWidth, float searchPanelHeight, - float searchBarMarginTop, float searchBarMarginSide, float searchBarHeight, float searchBarTextOpacity, diff --git a/chrome/browser/android/compositor/layer/contextual_search_layer.cc b/chrome/browser/android/compositor/layer/contextual_search_layer.cc index 4d5be11..46f8eb0 100644 --- a/chrome/browser/android/compositor/layer/contextual_search_layer.cc +++ b/chrome/browser/android/compositor/layer/contextual_search_layer.cc @@ -18,6 +18,7 @@ namespace { const SkColor kSearchBackgroundColor = SkColorSetRGB(0xee, 0xee, 0xee); +const SkColor kSearchBarBackgroundColor = SkColorSetRGB(0xff, 0xff, 0xff); const SkColor kSearchBarBorderColor = SkColorSetRGB(0xf1, 0xf1, 0xf1); } // namespace @@ -32,7 +33,7 @@ scoped_refptr<ContextualSearchLayer> ContextualSearchLayer::Create( } void ContextualSearchLayer::SetProperties( - int search_bar_background_resource_id, + int panel_shadow_resource_id, int search_bar_text_resource_id, int search_bar_shadow_resource_id, int search_provider_icon_resource_id, @@ -50,7 +51,6 @@ void ContextualSearchLayer::SetProperties( float search_panel_y, float search_panel_width, float search_panel_height, - float search_bar_margin_top, float search_bar_margin_side, float search_bar_height, float search_bar_text_opacity, @@ -79,32 +79,46 @@ void ContextualSearchLayer::SetProperties( search_bar_text_resource_id); // Grabs required static resources. - ui::ResourceManager::Resource* search_bar_background_resource = + ui::ResourceManager::Resource* panel_shadow_resource = resource_manager_->GetResource(ui::ANDROID_RESOURCE_TYPE_STATIC, - search_bar_background_resource_id); + panel_shadow_resource_id); ui::ResourceManager::Resource* search_provider_icon_resource = resource_manager_->GetResource(ui::ANDROID_RESOURCE_TYPE_STATIC, search_provider_icon_resource_id); - DCHECK(search_bar_background_resource); + DCHECK(panel_shadow_resource); DCHECK(search_provider_icon_resource); // Round values to avoid pixel gap between layers. search_bar_height = floor(search_bar_height); - search_bar_margin_top = floor(search_bar_margin_top); bool is_rtl = l10n_util::IsLayoutRtl(); // --------------------------------------------------------------------------- + // Panel Shadow + // --------------------------------------------------------------------------- + gfx::Size shadow_res_size = panel_shadow_resource->size; + gfx::Rect shadow_res_padding = panel_shadow_resource->padding; + gfx::Size shadow_bounds( + search_panel_width + shadow_res_size.width() + - shadow_res_padding.size().width(), + search_panel_height + shadow_res_size.height() + - shadow_res_padding.size().height()); + panel_shadow_->SetUIResourceId(panel_shadow_resource->ui_resource->id()); + panel_shadow_->SetBorder(panel_shadow_resource->Border(shadow_bounds)); + panel_shadow_->SetAperture(panel_shadow_resource->aperture); + panel_shadow_->SetBounds(shadow_bounds); + gfx::Point shadow_position( + -shadow_res_padding.origin().x(), + -shadow_res_padding.origin().y()); + panel_shadow_->SetPosition(shadow_position); + + // --------------------------------------------------------------------------- // Search Bar Background // --------------------------------------------------------------------------- gfx::Size background_size(search_panel_width, search_bar_height); - search_bar_background_->SetUIResourceId( - search_bar_background_resource->ui_resource->id()); - search_bar_background_->SetBorder( - search_bar_background_resource->Border(background_size)); - search_bar_background_->SetAperture(search_bar_background_resource->aperture); search_bar_background_->SetBounds(background_size); + search_bar_background_->SetPosition(gfx::PointF(0.f, 0.f)); // --------------------------------------------------------------------------- // Search Bar Text @@ -112,8 +126,7 @@ void ContextualSearchLayer::SetProperties( if (search_bar_text_resource) { // Centers the text vertically in the Search Bar. float search_bar_padding_top = - search_bar_margin_top + - (search_bar_height - search_bar_margin_top) / 2 - + search_bar_height / 2 - search_bar_text_resource->size.height() / 2; search_bar_text_->SetUIResourceId( search_bar_text_resource->ui_resource->id()); @@ -136,15 +149,16 @@ void ContextualSearchLayer::SetProperties( search_provider_icon_left = search_bar_margin_side; } // Centers the Search Provider Icon vertically in the Search Bar. - search_provider_icon_top = search_bar_margin_top + - (search_bar_height - search_bar_margin_top) / 2 - + search_provider_icon_top = + search_bar_height / 2 - search_provider_icon_resource->size.height() / 2; } else { // Centers the Search Provider Icon horizontally in the Search Bar. search_provider_icon_left = search_panel_width / 2.f - search_provider_icon_resource->size.width() / 2.f; - search_provider_icon_top = 0.f; + search_provider_icon_top = + -search_provider_icon_resource->size.height() / 2; } search_provider_icon_->SetUIResourceId( search_provider_icon_resource->ui_resource->id()); @@ -175,8 +189,8 @@ void ContextualSearchLayer::SetProperties( } // Centers the Search Icon vertically in the Search Bar. - float search_icon_top = search_bar_margin_top + - (search_bar_height - search_bar_margin_top) / 2 - + float search_icon_top = + search_bar_height / 2 - search_icon_resource->size.height() / 2; search_icon_->SetUIResourceId(search_icon_resource->ui_resource->id()); search_icon_->SetBounds(search_icon_resource->size); @@ -210,8 +224,7 @@ void ContextualSearchLayer::SetProperties( } // Centers the Arrow Icon vertically in the Search Bar. - float arrow_icon_top = search_bar_margin_top + - (search_bar_height - search_bar_margin_top) / 2 - + float arrow_icon_top = search_bar_height / 2 - arrow_icon_resource->size.height() / 2; arrow_icon_->SetUIResourceId(arrow_icon_resource->ui_resource->id()); @@ -258,8 +271,8 @@ void ContextualSearchLayer::SetProperties( } // 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 - + float close_icon_top = + search_bar_height / 2 - close_icon_resource->size.height() / 2; close_icon_->SetUIResourceId(close_icon_resource->ui_resource->id()); @@ -429,8 +442,10 @@ ContextualSearchLayer::ContextualSearchLayer( ui::ResourceManager* resource_manager) : resource_manager_(resource_manager), layer_(cc::Layer::Create(content::Compositor::LayerSettings())), - search_bar_background_( + panel_shadow_( cc::NinePatchLayer::Create(content::Compositor::LayerSettings())), + search_bar_background_( + cc::SolidColorLayer::Create(content::Compositor::LayerSettings())), search_bar_text_( cc::UIResourceLayer::Create(content::Compositor::LayerSettings())), search_bar_shadow_( @@ -458,9 +473,14 @@ ContextualSearchLayer::ContextualSearchLayer( layer_->SetMasksToBounds(false); layer_->SetIsDrawable(true); + // Panel Shadow + panel_shadow_->SetIsDrawable(true); + panel_shadow_->SetFillCenter(false); + layer_->AddChild(panel_shadow_); + // Search Bar Background search_bar_background_->SetIsDrawable(true); - search_bar_background_->SetFillCenter(true); + search_bar_background_->SetBackgroundColor(kSearchBarBackgroundColor); layer_->AddChild(search_bar_background_); // Search Bar Text diff --git a/chrome/browser/android/compositor/layer/contextual_search_layer.h b/chrome/browser/android/compositor/layer/contextual_search_layer.h index 8805094..9062774 100644 --- a/chrome/browser/android/compositor/layer/contextual_search_layer.h +++ b/chrome/browser/android/compositor/layer/contextual_search_layer.h @@ -32,7 +32,7 @@ class ContextualSearchLayer : public Layer { static scoped_refptr<ContextualSearchLayer> Create( ui::ResourceManager* resource_manager); - void SetProperties(int search_bar_background_resource_id, + void SetProperties(int panel_shaddow_resource_id, int search_bar_text_resource_id, int search_bar_shadow_resource_id, int search_provider_icon_resource_id, @@ -50,7 +50,6 @@ class ContextualSearchLayer : public Layer { float search_panel_y, float search_panel_width, float search_panel_height, - float search_bar_margin_top, float search_bar_margin_side, float search_bar_height, float search_bar_text_opacity, @@ -84,7 +83,8 @@ class ContextualSearchLayer : public Layer { ui::ResourceManager* resource_manager_; scoped_refptr<cc::Layer> layer_; - scoped_refptr<cc::NinePatchLayer> search_bar_background_; + scoped_refptr<cc::NinePatchLayer> panel_shadow_; + scoped_refptr<cc::SolidColorLayer> search_bar_background_; scoped_refptr<cc::UIResourceLayer> search_bar_text_; scoped_refptr<cc::UIResourceLayer> search_bar_shadow_; scoped_refptr<cc::UIResourceLayer> search_provider_icon_; diff --git a/chrome/browser/android/compositor/scene_layer/contextual_search_scene_layer.cc b/chrome/browser/android/compositor/scene_layer/contextual_search_scene_layer.cc index f07d9c1..b1aab33 100644 --- a/chrome/browser/android/compositor/scene_layer/contextual_search_scene_layer.cc +++ b/chrome/browser/android/compositor/scene_layer/contextual_search_scene_layer.cc @@ -42,7 +42,6 @@ void ContextualSearchSceneLayer::UpdateContextualSearchLayer( jfloat search_panel_y, jfloat search_panel_width, jfloat search_panel_height, - jfloat search_bar_margin_top, jfloat search_bar_margin_side, jfloat search_bar_height, jfloat search_bar_text_opacity, @@ -104,7 +103,6 @@ void ContextualSearchSceneLayer::UpdateContextualSearchLayer( search_panel_y, search_panel_width, search_panel_height, - search_bar_margin_top, search_bar_margin_side, search_bar_height, search_bar_text_opacity, diff --git a/chrome/browser/android/compositor/scene_layer/contextual_search_scene_layer.h b/chrome/browser/android/compositor/scene_layer/contextual_search_scene_layer.h index 5342c7a..018edc6 100644 --- a/chrome/browser/android/compositor/scene_layer/contextual_search_scene_layer.h +++ b/chrome/browser/android/compositor/scene_layer/contextual_search_scene_layer.h @@ -44,7 +44,6 @@ class ContextualSearchSceneLayer : public SceneLayer { jfloat search_panel_y, jfloat search_panel_width, jfloat search_panel_height, - jfloat search_bar_margin_top, jfloat search_bar_margin_side, jfloat search_bar_height, jfloat search_bar_text_opacity, |