Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(260)

Side by Side Diff: chrome/browser/android/compositor/layer/contextual_search_layer.cc

Issue 1219133003: Contextual Search UI changes for custom tabs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Use fadingInPercentage and fadingOutPercentage, get rid of PanelBase#isCloseIconVisible() Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/android/compositor/layer/contextual_search_layer.h" 5 #include "chrome/browser/android/compositor/layer/contextual_search_layer.h"
6 6
7 #include "cc/layers/layer.h" 7 #include "cc/layers/layer.h"
8 #include "cc/layers/nine_patch_layer.h" 8 #include "cc/layers/nine_patch_layer.h"
9 #include "cc/layers/solid_color_layer.h" 9 #include "cc/layers/solid_color_layer.h"
10 #include "cc/layers/ui_resource_layer.h" 10 #include "cc/layers/ui_resource_layer.h"
(...skipping 20 matching lines...) Expand all
31 return make_scoped_refptr(new ContextualSearchLayer(resource_manager)); 31 return make_scoped_refptr(new ContextualSearchLayer(resource_manager));
32 } 32 }
33 33
34 void ContextualSearchLayer::SetProperties( 34 void ContextualSearchLayer::SetProperties(
35 int search_bar_background_resource_id, 35 int search_bar_background_resource_id,
36 int search_bar_text_resource_id, 36 int search_bar_text_resource_id,
37 int search_bar_shadow_resource_id, 37 int search_bar_shadow_resource_id,
38 int search_provider_icon_resource_id, 38 int search_provider_icon_resource_id,
39 int search_icon_resource_id, 39 int search_icon_resource_id,
40 int arrow_up_resource_id, 40 int arrow_up_resource_id,
41 int close_icon_resource_id,
41 int progress_bar_background_resource_id, 42 int progress_bar_background_resource_id,
42 int progress_bar_resource_id, 43 int progress_bar_resource_id,
43 int search_promo_resource_id, 44 int search_promo_resource_id,
44 content::ContentViewCore* content_view_core, 45 content::ContentViewCore* content_view_core,
45 bool search_promo_visible, 46 bool search_promo_visible,
46 float search_promo_height, 47 float search_promo_height,
47 float search_promo_opacity, 48 float search_promo_opacity,
48 float search_panel_y, 49 float search_panel_y,
49 float search_panel_width, 50 float search_panel_width,
50 float search_bar_margin_top, 51 float search_bar_margin_top,
51 float search_bar_margin_side, 52 float search_bar_margin_side,
52 float search_bar_height, 53 float search_bar_height,
53 float search_bar_text_opacity, 54 float search_bar_text_opacity,
54 bool search_bar_border_visible, 55 bool search_bar_border_visible,
55 float search_bar_border_y, 56 float search_bar_border_y,
56 float search_bar_border_height, 57 float search_bar_border_height,
57 bool search_bar_shadow_visible, 58 bool search_bar_shadow_visible,
58 float search_bar_shadow_opacity, 59 float search_bar_shadow_opacity,
59 bool side_search_provider_icon_visible, 60 bool side_search_provider_icon_visible,
60 float search_provider_icon_opacity, 61 float search_provider_icon_opacity,
61 bool search_icon_visible, 62 bool search_icon_visible,
62 float search_icon_opacity, 63 float search_icon_opacity,
63 bool arrow_icon_visible, 64 bool arrow_icon_visible,
64 float arrow_icon_opacity, 65 float arrow_icon_opacity,
65 float arrow_icon_rotation, 66 float arrow_icon_rotation,
67 bool close_icon_visible,
68 float close_icon_opacity,
66 bool progress_bar_visible, 69 bool progress_bar_visible,
67 float progress_bar_y, 70 float progress_bar_y,
68 float progress_bar_height, 71 float progress_bar_height,
69 float progress_bar_opacity, 72 float progress_bar_opacity,
70 int progress_bar_completion) { 73 int progress_bar_completion) {
71 // Grabs the dynamic Search Bar Text resource. 74 // Grabs the dynamic Search Bar Text resource.
72 ui::ResourceManager::Resource* search_bar_text_resource = 75 ui::ResourceManager::Resource* search_bar_text_resource =
73 resource_manager_->GetResource(ui::ANDROID_RESOURCE_TYPE_DYNAMIC, 76 resource_manager_->GetResource(ui::ANDROID_RESOURCE_TYPE_DYNAMIC,
74 search_bar_text_resource_id); 77 search_bar_text_resource_id);
75 78
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 transform.RotateAboutZAxis(arrow_icon_rotation); 228 transform.RotateAboutZAxis(arrow_icon_rotation);
226 transform.Translate(-pivot_origin.x(), -pivot_origin.y()); 229 transform.Translate(-pivot_origin.x(), -pivot_origin.y());
227 } 230 }
228 arrow_icon_->SetTransform(transform); 231 arrow_icon_->SetTransform(transform);
229 } else { 232 } else {
230 if (arrow_icon_.get() && arrow_icon_->parent()) 233 if (arrow_icon_.get() && arrow_icon_->parent())
231 arrow_icon_->RemoveFromParent(); 234 arrow_icon_->RemoveFromParent();
232 } 235 }
233 236
234 // --------------------------------------------------------------------------- 237 // ---------------------------------------------------------------------------
238 // Close Icon
239 // ---------------------------------------------------------------------------
240 if (close_icon_visible) {
241 // Grab the Close Icon resource.
242 ui::ResourceManager::Resource* close_icon_resource =
243 resource_manager_->GetResource(ui::ANDROID_RESOURCE_TYPE_STATIC,
244 close_icon_resource_id);
245 if (close_icon_->parent() != layer_) {
246 layer_->AddChild(close_icon_);
247 }
248
249 // Positions the icon at the end of the Search Bar.
250 float close_icon_left;
251 if (is_rtl) {
252 close_icon_left = search_bar_margin_side;
253 } else {
254 close_icon_left = search_panel_width -
255 close_icon_resource->size.width() - search_bar_margin_side;
256 }
257
258 // Centers the Close Icon vertically in the Search Bar.
259 float close_icon_top = search_bar_margin_top +
260 (search_bar_height - search_bar_margin_top) / 2 -
261 close_icon_resource->size.height() / 2;
262
263 close_icon_->SetUIResourceId(close_icon_resource->ui_resource->id());
264 close_icon_->SetBounds(close_icon_resource->size);
265 close_icon_->SetPosition(
266 gfx::PointF(close_icon_left, close_icon_top));
267 close_icon_->SetOpacity(close_icon_opacity);
268 } else {
269 if (close_icon_.get() && close_icon_->parent())
270 close_icon_->RemoveFromParent();
271 }
272
273 // ---------------------------------------------------------------------------
235 // Search Promo 274 // Search Promo
236 // --------------------------------------------------------------------------- 275 // ---------------------------------------------------------------------------
237 if (search_promo_visible) { 276 if (search_promo_visible) {
238 // Grabs the Search Opt Out Promo resource. 277 // Grabs the Search Opt Out Promo resource.
239 ui::ResourceManager::Resource* search_promo_resource = 278 ui::ResourceManager::Resource* search_promo_resource =
240 resource_manager_->GetResource(ui::ANDROID_RESOURCE_TYPE_DYNAMIC, 279 resource_manager_->GetResource(ui::ANDROID_RESOURCE_TYPE_DYNAMIC,
241 search_promo_resource_id); 280 search_promo_resource_id);
242 // Search Promo Container 281 // Search Promo Container
243 if (search_promo_container_->parent() != layer_) { 282 if (search_promo_container_->parent() != layer_) {
244 // NOTE(pedrosimonetti): The Promo layer should be always placed before 283 // NOTE(pedrosimonetti): The Promo layer should be always placed before
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 search_bar_text_( 432 search_bar_text_(
394 cc::UIResourceLayer::Create(content::Compositor::LayerSettings())), 433 cc::UIResourceLayer::Create(content::Compositor::LayerSettings())),
395 search_bar_shadow_( 434 search_bar_shadow_(
396 cc::UIResourceLayer::Create(content::Compositor::LayerSettings())), 435 cc::UIResourceLayer::Create(content::Compositor::LayerSettings())),
397 search_provider_icon_( 436 search_provider_icon_(
398 cc::UIResourceLayer::Create(content::Compositor::LayerSettings())), 437 cc::UIResourceLayer::Create(content::Compositor::LayerSettings())),
399 search_icon_( 438 search_icon_(
400 cc::UIResourceLayer::Create(content::Compositor::LayerSettings())), 439 cc::UIResourceLayer::Create(content::Compositor::LayerSettings())),
401 arrow_icon_( 440 arrow_icon_(
402 cc::UIResourceLayer::Create(content::Compositor::LayerSettings())), 441 cc::UIResourceLayer::Create(content::Compositor::LayerSettings())),
442 close_icon_(
443 cc::UIResourceLayer::Create(content::Compositor::LayerSettings())),
403 content_view_container_( 444 content_view_container_(
404 cc::Layer::Create(content::Compositor::LayerSettings())), 445 cc::Layer::Create(content::Compositor::LayerSettings())),
405 search_bar_border_( 446 search_bar_border_(
406 cc::SolidColorLayer::Create(content::Compositor::LayerSettings())), 447 cc::SolidColorLayer::Create(content::Compositor::LayerSettings())),
407 progress_bar_( 448 progress_bar_(
408 cc::NinePatchLayer::Create(content::Compositor::LayerSettings())), 449 cc::NinePatchLayer::Create(content::Compositor::LayerSettings())),
409 progress_bar_background_( 450 progress_bar_background_(
410 cc::NinePatchLayer::Create(content::Compositor::LayerSettings())), 451 cc::NinePatchLayer::Create(content::Compositor::LayerSettings())),
411 search_promo_( 452 search_promo_(
412 cc::UIResourceLayer::Create(content::Compositor::LayerSettings())), 453 cc::UIResourceLayer::Create(content::Compositor::LayerSettings())),
(...skipping 14 matching lines...) Expand all
427 // Search Provider Icon 468 // Search Provider Icon
428 search_provider_icon_->SetIsDrawable(true); 469 search_provider_icon_->SetIsDrawable(true);
429 layer_->AddChild(search_provider_icon_); 470 layer_->AddChild(search_provider_icon_);
430 471
431 // Search Icon 472 // Search Icon
432 search_icon_->SetIsDrawable(true); 473 search_icon_->SetIsDrawable(true);
433 474
434 // Arrow Icon 475 // Arrow Icon
435 arrow_icon_->SetIsDrawable(true); 476 arrow_icon_->SetIsDrawable(true);
436 477
478 // Close Icon
479 close_icon_->SetIsDrawable(true);
480
437 // Search Opt Out Promo 481 // Search Opt Out Promo
438 search_promo_container_->SetIsDrawable(true); 482 search_promo_container_->SetIsDrawable(true);
439 search_promo_container_->SetBackgroundColor(kSearchBackgroundColor); 483 search_promo_container_->SetBackgroundColor(kSearchBackgroundColor);
440 search_promo_->SetIsDrawable(true); 484 search_promo_->SetIsDrawable(true);
441 485
442 // Search Bar Border 486 // Search Bar Border
443 search_bar_border_->SetIsDrawable(true); 487 search_bar_border_->SetIsDrawable(true);
444 search_bar_border_->SetBackgroundColor(kSearchBarBorderColor); 488 search_bar_border_->SetBackgroundColor(kSearchBarBorderColor);
445 489
446 // Progress Bar Background 490 // Progress Bar Background
(...skipping 13 matching lines...) Expand all
460 504
461 ContextualSearchLayer::~ContextualSearchLayer() { 505 ContextualSearchLayer::~ContextualSearchLayer() {
462 } 506 }
463 507
464 scoped_refptr<cc::Layer> ContextualSearchLayer::layer() { 508 scoped_refptr<cc::Layer> ContextualSearchLayer::layer() {
465 return layer_; 509 return layer_;
466 } 510 }
467 511
468 } // namespace android 512 } // namespace android
469 } // namespace chrome 513 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698