| OLD | NEW |
| 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" |
| 11 #include "cc/resources/scoped_ui_resource.h" | 11 #include "cc/resources/scoped_ui_resource.h" |
| 12 #include "chrome/browser/android/compositor/layer/crushed_sprite_layer.h" | 12 #include "chrome/browser/android/compositor/layer/crushed_sprite_layer.h" |
| 13 #include "content/public/browser/android/compositor.h" | 13 #include "content/public/browser/android/compositor.h" |
| 14 #include "third_party/skia/include/core/SkColor.h" | 14 #include "third_party/skia/include/core/SkColor.h" |
| 15 #include "ui/android/resources/crushed_sprite_resource.h" | 15 #include "ui/android/resources/crushed_sprite_resource.h" |
| 16 #include "ui/android/resources/nine_patch_resource.h" |
| 16 #include "ui/android/resources/resource_manager.h" | 17 #include "ui/android/resources/resource_manager.h" |
| 17 #include "ui/base/l10n/l10n_util_android.h" | 18 #include "ui/base/l10n/l10n_util_android.h" |
| 18 #include "ui/gfx/color_utils.h" | 19 #include "ui/gfx/color_utils.h" |
| 19 | 20 |
| 20 namespace { | 21 namespace { |
| 21 | 22 |
| 22 const SkColor kSearchBackgroundColor = SkColorSetRGB(0xee, 0xee, 0xee); | 23 const SkColor kSearchBackgroundColor = SkColorSetRGB(0xee, 0xee, 0xee); |
| 23 const SkColor kSearchBarBackgroundColor = SkColorSetRGB(0xff, 0xff, 0xff); | 24 const SkColor kSearchBarBackgroundColor = SkColorSetRGB(0xff, 0xff, 0xff); |
| 24 const SkColor kPeekPromoRippleBackgroundColor = SkColorSetRGB(0x42, 0x85, 0xF4); | 25 const SkColor kPeekPromoRippleBackgroundColor = SkColorSetRGB(0x42, 0x85, 0xF4); |
| 25 const SkColor kTouchHighlightColor = SkColorSetARGB(0x33, 0x99, 0x99, 0x99); | 26 const SkColor kTouchHighlightColor = SkColorSetARGB(0x33, 0x99, 0x99, 0x99); |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 143 search_bar_shadow_opacity, | 144 search_bar_shadow_opacity, |
| 144 close_icon_opacity); | 145 close_icon_opacity); |
| 145 | 146 |
| 146 bool is_rtl = l10n_util::IsLayoutRtl(); | 147 bool is_rtl = l10n_util::IsLayoutRtl(); |
| 147 | 148 |
| 148 // --------------------------------------------------------------------------- | 149 // --------------------------------------------------------------------------- |
| 149 // Peek Promo | 150 // Peek Promo |
| 150 // --------------------------------------------------------------------------- | 151 // --------------------------------------------------------------------------- |
| 151 if (search_peek_promo_visible) { | 152 if (search_peek_promo_visible) { |
| 152 // Grabs the Search Opt Out Promo resource. | 153 // Grabs the Search Opt Out Promo resource. |
| 153 ui::ResourceManager::Resource* peek_promo_text_resource = | 154 ui::Resource* peek_promo_text_resource = resource_manager_->GetResource( |
| 154 resource_manager_->GetResource(ui::ANDROID_RESOURCE_TYPE_DYNAMIC, | 155 ui::ANDROID_RESOURCE_TYPE_DYNAMIC, peek_promo_text_resource_id); |
| 155 peek_promo_text_resource_id); | |
| 156 | 156 |
| 157 ui::ResourceManager::Resource* peek_promo_ripple_resource = | 157 ui::NinePatchResource* peek_promo_ripple_resource = |
| 158 resource_manager_->GetResource(ui::ANDROID_RESOURCE_TYPE_STATIC, | 158 ui::NinePatchResource::From(resource_manager_->GetResource( |
| 159 peek_promo_ripple_resource_id); | 159 ui::ANDROID_RESOURCE_TYPE_STATIC, peek_promo_ripple_resource_id)); |
| 160 | 160 |
| 161 // ----------------------------------------------------------------- | 161 // ----------------------------------------------------------------- |
| 162 // Peek Promo Container | 162 // Peek Promo Container |
| 163 // ----------------------------------------------------------------- | 163 // ----------------------------------------------------------------- |
| 164 if (peek_promo_container_->parent() != layer_) { | 164 if (peek_promo_container_->parent() != layer_) { |
| 165 layer_->AddChild(peek_promo_container_); | 165 layer_->AddChild(peek_promo_container_); |
| 166 } | 166 } |
| 167 | 167 |
| 168 gfx::Size peek_promo_size(search_panel_width, search_peek_promo_height); | 168 gfx::Size peek_promo_size(search_panel_width, search_peek_promo_height); |
| 169 peek_promo_container_->SetBounds(peek_promo_size); | 169 peek_promo_container_->SetBounds(peek_promo_size); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 195 | 195 |
| 196 float ripple_rotation = 0.f; | 196 float ripple_rotation = 0.f; |
| 197 float ripple_left = 0.f; | 197 float ripple_left = 0.f; |
| 198 if (is_rtl) { | 198 if (is_rtl) { |
| 199 // Rotate the ripple 180 degrees to make it point to the left side. | 199 // Rotate the ripple 180 degrees to make it point to the left side. |
| 200 ripple_rotation = 180.f; | 200 ripple_rotation = 180.f; |
| 201 ripple_left = search_panel_width - peek_promo_ripple_size.width(); | 201 ripple_left = search_panel_width - peek_promo_ripple_size.width(); |
| 202 } | 202 } |
| 203 | 203 |
| 204 peek_promo_ripple_->SetUIResourceId( | 204 peek_promo_ripple_->SetUIResourceId( |
| 205 peek_promo_ripple_resource->ui_resource->id()); | 205 peek_promo_ripple_resource->ui_resource()->id()); |
| 206 peek_promo_ripple_->SetBorder(peek_promo_ripple_border); | 206 peek_promo_ripple_->SetBorder(peek_promo_ripple_border); |
| 207 peek_promo_ripple_->SetAperture(peek_promo_ripple_resource->aperture); | 207 peek_promo_ripple_->SetAperture(peek_promo_ripple_resource->aperture()); |
| 208 peek_promo_ripple_->SetBounds(peek_promo_ripple_size); | 208 peek_promo_ripple_->SetBounds(peek_promo_ripple_size); |
| 209 peek_promo_ripple_->SetPosition(gfx::PointF(ripple_left, 0.f)); | 209 peek_promo_ripple_->SetPosition(gfx::PointF(ripple_left, 0.f)); |
| 210 peek_promo_ripple_->SetOpacity(search_peek_promo_ripple_opacity); | 210 peek_promo_ripple_->SetOpacity(search_peek_promo_ripple_opacity); |
| 211 | 211 |
| 212 if (ripple_rotation != 0.f) { | 212 if (ripple_rotation != 0.f) { |
| 213 // Apply rotation about the center of the resource. | 213 // Apply rotation about the center of the resource. |
| 214 float pivot_x = floor(peek_promo_ripple_size.width() / 2); | 214 float pivot_x = floor(peek_promo_ripple_size.width() / 2); |
| 215 float pivot_y = floor(peek_promo_ripple_size.height() / 2); | 215 float pivot_y = floor(peek_promo_ripple_size.height() / 2); |
| 216 gfx::PointF pivot_origin(pivot_x, pivot_y); | 216 gfx::PointF pivot_origin(pivot_x, pivot_y); |
| 217 gfx::Transform transform; | 217 gfx::Transform transform; |
| 218 transform.Translate(pivot_origin.x(), pivot_origin.y()); | 218 transform.Translate(pivot_origin.x(), pivot_origin.y()); |
| 219 transform.RotateAboutZAxis(ripple_rotation); | 219 transform.RotateAboutZAxis(ripple_rotation); |
| 220 transform.Translate(-pivot_origin.x(), -pivot_origin.y()); | 220 transform.Translate(-pivot_origin.x(), -pivot_origin.y()); |
| 221 peek_promo_ripple_->SetTransform(transform); | 221 peek_promo_ripple_->SetTransform(transform); |
| 222 } | 222 } |
| 223 | 223 |
| 224 // ----------------------------------------------------------------- | 224 // ----------------------------------------------------------------- |
| 225 // Peek Promo Text | 225 // Peek Promo Text |
| 226 // ----------------------------------------------------------------- | 226 // ----------------------------------------------------------------- |
| 227 if (peek_promo_text_resource) { | 227 if (peek_promo_text_resource) { |
| 228 peek_promo_text_->SetUIResourceId( | 228 peek_promo_text_->SetUIResourceId( |
| 229 peek_promo_text_resource->ui_resource->id()); | 229 peek_promo_text_resource->ui_resource()->id()); |
| 230 peek_promo_text_->SetBounds(peek_promo_text_resource->size); | 230 peek_promo_text_->SetBounds(peek_promo_text_resource->size()); |
| 231 peek_promo_text_->SetPosition( | 231 peek_promo_text_->SetPosition( |
| 232 gfx::PointF(0.f, search_peek_promo_padding)); | 232 gfx::PointF(0.f, search_peek_promo_padding)); |
| 233 peek_promo_text_->SetOpacity(search_peek_promo_text_opacity); | 233 peek_promo_text_->SetOpacity(search_peek_promo_text_opacity); |
| 234 } | 234 } |
| 235 } else { | 235 } else { |
| 236 // Peek Promo Container | 236 // Peek Promo Container |
| 237 if (peek_promo_container_.get() && peek_promo_container_->parent()) | 237 if (peek_promo_container_.get() && peek_promo_container_->parent()) |
| 238 peek_promo_container_->RemoveFromParent(); | 238 peek_promo_container_->RemoveFromParent(); |
| 239 } | 239 } |
| 240 | 240 |
| 241 // --------------------------------------------------------------------------- | 241 // --------------------------------------------------------------------------- |
| 242 // Search Term, Context and Search Caption | 242 // Search Term, Context and Search Caption |
| 243 // --------------------------------------------------------------------------- | 243 // --------------------------------------------------------------------------- |
| 244 SetupTextLayer( | 244 SetupTextLayer( |
| 245 search_bar_top, | 245 search_bar_top, |
| 246 search_bar_height, | 246 search_bar_height, |
| 247 search_text_layer_min_height, | 247 search_text_layer_min_height, |
| 248 search_caption_resource_id, | 248 search_caption_resource_id, |
| 249 search_caption_visible, | 249 search_caption_visible, |
| 250 search_caption_animation_percentage, | 250 search_caption_animation_percentage, |
| 251 search_term_opacity, | 251 search_term_opacity, |
| 252 search_context_resource_id, | 252 search_context_resource_id, |
| 253 search_context_opacity, | 253 search_context_opacity, |
| 254 search_term_caption_spacing); | 254 search_term_caption_spacing); |
| 255 | 255 |
| 256 // --------------------------------------------------------------------------- | 256 // --------------------------------------------------------------------------- |
| 257 // Arrow Icon | 257 // Arrow Icon |
| 258 // --------------------------------------------------------------------------- | 258 // --------------------------------------------------------------------------- |
| 259 // Grabs the arrow icon resource. | 259 // Grabs the arrow icon resource. |
| 260 ui::ResourceManager::Resource* arrow_icon_resource = | 260 ui::Resource* arrow_icon_resource = resource_manager_->GetResource( |
| 261 resource_manager_->GetResource(ui::ANDROID_RESOURCE_TYPE_STATIC, | 261 ui::ANDROID_RESOURCE_TYPE_STATIC, arrow_up_resource_id); |
| 262 arrow_up_resource_id); | |
| 263 | 262 |
| 264 // Positions the icon at the end of the bar. | 263 // Positions the icon at the end of the bar. |
| 265 float arrow_icon_left; | 264 float arrow_icon_left; |
| 266 if (is_rtl) { | 265 if (is_rtl) { |
| 267 arrow_icon_left = search_bar_margin_side; | 266 arrow_icon_left = search_bar_margin_side; |
| 268 } else { | 267 } else { |
| 269 arrow_icon_left = search_panel_width - arrow_icon_resource->size.width() | 268 arrow_icon_left = search_panel_width - arrow_icon_resource->size().width() - |
| 270 - search_bar_margin_side; | 269 search_bar_margin_side; |
| 271 } | 270 } |
| 272 | 271 |
| 273 // Centers the Arrow Icon vertically in the bar. | 272 // Centers the Arrow Icon vertically in the bar. |
| 274 float arrow_icon_top = search_bar_top + search_bar_height / 2 - | 273 float arrow_icon_top = search_bar_top + search_bar_height / 2 - |
| 275 arrow_icon_resource->size.height() / 2; | 274 arrow_icon_resource->size().height() / 2; |
| 276 | 275 |
| 277 arrow_icon_->SetUIResourceId(arrow_icon_resource->ui_resource->id()); | 276 arrow_icon_->SetUIResourceId(arrow_icon_resource->ui_resource()->id()); |
| 278 arrow_icon_->SetBounds(arrow_icon_resource->size); | 277 arrow_icon_->SetBounds(arrow_icon_resource->size()); |
| 279 arrow_icon_->SetPosition( | 278 arrow_icon_->SetPosition( |
| 280 gfx::PointF(arrow_icon_left, arrow_icon_top)); | 279 gfx::PointF(arrow_icon_left, arrow_icon_top)); |
| 281 arrow_icon_->SetOpacity(arrow_icon_opacity); | 280 arrow_icon_->SetOpacity(arrow_icon_opacity); |
| 282 | 281 |
| 283 gfx::Transform transform; | 282 gfx::Transform transform; |
| 284 if (arrow_icon_rotation != 0.f) { | 283 if (arrow_icon_rotation != 0.f) { |
| 285 // Apply rotation about the center of the icon. | 284 // Apply rotation about the center of the icon. |
| 286 float pivot_x = floor(arrow_icon_resource->size.width() / 2); | 285 float pivot_x = floor(arrow_icon_resource->size().width() / 2); |
| 287 float pivot_y = floor(arrow_icon_resource->size.height() / 2); | 286 float pivot_y = floor(arrow_icon_resource->size().height() / 2); |
| 288 gfx::PointF pivot_origin(pivot_x, pivot_y); | 287 gfx::PointF pivot_origin(pivot_x, pivot_y); |
| 289 transform.Translate(pivot_origin.x(), pivot_origin.y()); | 288 transform.Translate(pivot_origin.x(), pivot_origin.y()); |
| 290 transform.RotateAboutZAxis(arrow_icon_rotation); | 289 transform.RotateAboutZAxis(arrow_icon_rotation); |
| 291 transform.Translate(-pivot_origin.x(), -pivot_origin.y()); | 290 transform.Translate(-pivot_origin.x(), -pivot_origin.y()); |
| 292 } | 291 } |
| 293 arrow_icon_->SetTransform(transform); | 292 arrow_icon_->SetTransform(transform); |
| 294 | 293 |
| 295 // --------------------------------------------------------------------------- | 294 // --------------------------------------------------------------------------- |
| 296 // Search Promo | 295 // Search Promo |
| 297 // --------------------------------------------------------------------------- | 296 // --------------------------------------------------------------------------- |
| 298 if (search_promo_visible) { | 297 if (search_promo_visible) { |
| 299 // Grabs the Search Opt Out Promo resource. | 298 // Grabs the Search Opt Out Promo resource. |
| 300 ui::ResourceManager::Resource* search_promo_resource = | 299 ui::Resource* search_promo_resource = resource_manager_->GetResource( |
| 301 resource_manager_->GetResource(ui::ANDROID_RESOURCE_TYPE_DYNAMIC, | 300 ui::ANDROID_RESOURCE_TYPE_DYNAMIC, search_promo_resource_id); |
| 302 search_promo_resource_id); | |
| 303 // Search Promo Container | 301 // Search Promo Container |
| 304 if (search_promo_container_->parent() != layer_) { | 302 if (search_promo_container_->parent() != layer_) { |
| 305 // NOTE(pedrosimonetti): The Promo layer should be always placed before | 303 // NOTE(pedrosimonetti): The Promo layer should be always placed before |
| 306 // Search Bar Shadow to make sure it won't occlude the shadow. | 304 // Search Bar Shadow to make sure it won't occlude the shadow. |
| 307 layer_->InsertChild(search_promo_container_, 0); | 305 layer_->InsertChild(search_promo_container_, 0); |
| 308 } | 306 } |
| 309 | 307 |
| 310 if (search_promo_resource) { | 308 if (search_promo_resource) { |
| 311 int search_promo_content_height = search_promo_resource->size.height(); | 309 int search_promo_content_height = search_promo_resource->size().height(); |
| 312 gfx::Size search_promo_size(search_panel_width, search_promo_height); | 310 gfx::Size search_promo_size(search_panel_width, search_promo_height); |
| 313 search_promo_container_->SetBounds(search_promo_size); | 311 search_promo_container_->SetBounds(search_promo_size); |
| 314 search_promo_container_->SetPosition(gfx::PointF(0.f, search_bar_bottom)); | 312 search_promo_container_->SetPosition(gfx::PointF(0.f, search_bar_bottom)); |
| 315 search_promo_container_->SetMasksToBounds(true); | 313 search_promo_container_->SetMasksToBounds(true); |
| 316 | 314 |
| 317 // Search Promo | 315 // Search Promo |
| 318 if (search_promo_->parent() != search_promo_container_) | 316 if (search_promo_->parent() != search_promo_container_) |
| 319 search_promo_container_->AddChild(search_promo_); | 317 search_promo_container_->AddChild(search_promo_); |
| 320 | 318 |
| 321 search_promo_->SetUIResourceId(search_promo_resource->ui_resource->id()); | 319 search_promo_->SetUIResourceId( |
| 322 search_promo_->SetBounds(search_promo_resource->size); | 320 search_promo_resource->ui_resource()->id()); |
| 321 search_promo_->SetBounds(search_promo_resource->size()); |
| 323 // Align promo at the bottom of the container so the confirmation button | 322 // Align promo at the bottom of the container so the confirmation button |
| 324 // is is not clipped when resizing the promo. | 323 // is is not clipped when resizing the promo. |
| 325 search_promo_->SetPosition( | 324 search_promo_->SetPosition( |
| 326 gfx::PointF(0.f, search_promo_height - search_promo_content_height)); | 325 gfx::PointF(0.f, search_promo_height - search_promo_content_height)); |
| 327 search_promo_->SetOpacity(search_promo_opacity); | 326 search_promo_->SetOpacity(search_promo_opacity); |
| 328 } | 327 } |
| 329 } else { | 328 } else { |
| 330 // Search Promo Container | 329 // Search Promo Container |
| 331 if (search_promo_container_.get() && search_promo_container_->parent()) | 330 if (search_promo_container_.get() && search_promo_container_->parent()) |
| 332 search_promo_container_->RemoveFromParent(); | 331 search_promo_container_->RemoveFromParent(); |
| 333 } | 332 } |
| 334 | 333 |
| 335 // --------------------------------------------------------------------------- | 334 // --------------------------------------------------------------------------- |
| 336 // Progress Bar | 335 // Progress Bar |
| 337 // --------------------------------------------------------------------------- | 336 // --------------------------------------------------------------------------- |
| 338 if (should_render_progress_bar) { | 337 if (should_render_progress_bar) { |
| 339 // Grabs Progress Bar resources. | 338 // Grabs Progress Bar resources. |
| 340 ui::ResourceManager::Resource* progress_bar_background_resource = | 339 ui::NinePatchResource* progress_bar_background_resource = |
| 341 resource_manager_->GetResource(ui::ANDROID_RESOURCE_TYPE_STATIC, | 340 ui::NinePatchResource::From(resource_manager_->GetResource( |
| 342 progress_bar_background_resource_id); | 341 ui::ANDROID_RESOURCE_TYPE_STATIC, |
| 343 ui::ResourceManager::Resource* progress_bar_resource = | 342 progress_bar_background_resource_id)); |
| 344 resource_manager_->GetResource(ui::ANDROID_RESOURCE_TYPE_STATIC, | 343 ui::NinePatchResource* progress_bar_resource = |
| 345 progress_bar_resource_id); | 344 ui::NinePatchResource::From(resource_manager_->GetResource( |
| 345 ui::ANDROID_RESOURCE_TYPE_STATIC, progress_bar_resource_id)); |
| 346 | 346 |
| 347 DCHECK(progress_bar_background_resource); | 347 DCHECK(progress_bar_background_resource); |
| 348 DCHECK(progress_bar_resource); | 348 DCHECK(progress_bar_resource); |
| 349 | 349 |
| 350 // Progress Bar Background | 350 // Progress Bar Background |
| 351 if (progress_bar_background_->parent() != layer_) | 351 if (progress_bar_background_->parent() != layer_) |
| 352 layer_->AddChild(progress_bar_background_); | 352 layer_->AddChild(progress_bar_background_); |
| 353 | 353 |
| 354 float progress_bar_y = search_bar_bottom - progress_bar_height; | 354 float progress_bar_y = search_bar_bottom - progress_bar_height; |
| 355 gfx::Size progress_bar_background_size(search_panel_width, | 355 gfx::Size progress_bar_background_size(search_panel_width, |
| 356 progress_bar_height); | 356 progress_bar_height); |
| 357 | 357 |
| 358 progress_bar_background_->SetUIResourceId( | 358 progress_bar_background_->SetUIResourceId( |
| 359 progress_bar_background_resource->ui_resource->id()); | 359 progress_bar_background_resource->ui_resource()->id()); |
| 360 progress_bar_background_->SetBorder( | 360 progress_bar_background_->SetBorder( |
| 361 progress_bar_background_resource->Border(progress_bar_background_size)); | 361 progress_bar_background_resource->Border(progress_bar_background_size)); |
| 362 progress_bar_background_->SetAperture( | 362 progress_bar_background_->SetAperture( |
| 363 progress_bar_background_resource->aperture); | 363 progress_bar_background_resource->aperture()); |
| 364 progress_bar_background_->SetBounds(progress_bar_background_size); | 364 progress_bar_background_->SetBounds(progress_bar_background_size); |
| 365 progress_bar_background_->SetPosition(gfx::PointF(0.f, progress_bar_y)); | 365 progress_bar_background_->SetPosition(gfx::PointF(0.f, progress_bar_y)); |
| 366 progress_bar_background_->SetOpacity(progress_bar_opacity); | 366 progress_bar_background_->SetOpacity(progress_bar_opacity); |
| 367 | 367 |
| 368 // Progress Bar | 368 // Progress Bar |
| 369 if (progress_bar_->parent() != layer_) | 369 if (progress_bar_->parent() != layer_) |
| 370 layer_->AddChild(progress_bar_); | 370 layer_->AddChild(progress_bar_); |
| 371 | 371 |
| 372 float progress_bar_width = | 372 float progress_bar_width = |
| 373 floor(search_panel_width * progress_bar_completion / 100.f); | 373 floor(search_panel_width * progress_bar_completion / 100.f); |
| 374 gfx::Size progress_bar_size(progress_bar_width, progress_bar_height); | 374 gfx::Size progress_bar_size(progress_bar_width, progress_bar_height); |
| 375 progress_bar_->SetUIResourceId(progress_bar_resource->ui_resource->id()); | 375 progress_bar_->SetUIResourceId(progress_bar_resource->ui_resource()->id()); |
| 376 progress_bar_->SetBorder(progress_bar_resource->Border(progress_bar_size)); | 376 progress_bar_->SetBorder(progress_bar_resource->Border(progress_bar_size)); |
| 377 progress_bar_->SetAperture(progress_bar_resource->aperture); | 377 progress_bar_->SetAperture(progress_bar_resource->aperture()); |
| 378 progress_bar_->SetBounds(progress_bar_size); | 378 progress_bar_->SetBounds(progress_bar_size); |
| 379 progress_bar_->SetPosition(gfx::PointF(0.f, progress_bar_y)); | 379 progress_bar_->SetPosition(gfx::PointF(0.f, progress_bar_y)); |
| 380 progress_bar_->SetOpacity(progress_bar_opacity); | 380 progress_bar_->SetOpacity(progress_bar_opacity); |
| 381 } else { | 381 } else { |
| 382 // Removes Progress Bar and its Background from the Layer Tree. | 382 // Removes Progress Bar and its Background from the Layer Tree. |
| 383 if (progress_bar_background_.get() && progress_bar_background_->parent()) | 383 if (progress_bar_background_.get() && progress_bar_background_->parent()) |
| 384 progress_bar_background_->RemoveFromParent(); | 384 progress_bar_background_->RemoveFromParent(); |
| 385 | 385 |
| 386 if (progress_bar_.get() && progress_bar_->parent()) | 386 if (progress_bar_.get() && progress_bar_->parent()) |
| 387 progress_bar_->RemoveFromParent(); | 387 progress_bar_->RemoveFromParent(); |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 452 float static_image_visibility_percentage) { | 452 float static_image_visibility_percentage) { |
| 453 icon_layer_->SetBounds(gfx::Size(static_image_size_, static_image_size_)); | 453 icon_layer_->SetBounds(gfx::Size(static_image_size_, static_image_size_)); |
| 454 icon_layer_->SetMasksToBounds(true); | 454 icon_layer_->SetMasksToBounds(true); |
| 455 | 455 |
| 456 scoped_refptr<cc::UIResourceLayer> static_image_layer; | 456 scoped_refptr<cc::UIResourceLayer> static_image_layer; |
| 457 | 457 |
| 458 if (quick_action_icon_visible) { | 458 if (quick_action_icon_visible) { |
| 459 if (quick_action_icon_layer_->parent() != icon_layer_) | 459 if (quick_action_icon_layer_->parent() != icon_layer_) |
| 460 icon_layer_->AddChild(quick_action_icon_layer_); | 460 icon_layer_->AddChild(quick_action_icon_layer_); |
| 461 | 461 |
| 462 ui::ResourceManager::Resource* quick_action_icon_resource = | 462 ui::Resource* quick_action_icon_resource = resource_manager_->GetResource( |
| 463 resource_manager_->GetResource(ui::ANDROID_RESOURCE_TYPE_DYNAMIC, | 463 ui::ANDROID_RESOURCE_TYPE_DYNAMIC, quick_action_icon_resource_id); |
| 464 quick_action_icon_resource_id); | |
| 465 if (quick_action_icon_resource) { | 464 if (quick_action_icon_resource) { |
| 466 quick_action_icon_layer_->SetUIResourceId( | 465 quick_action_icon_layer_->SetUIResourceId( |
| 467 quick_action_icon_resource->ui_resource->id()); | 466 quick_action_icon_resource->ui_resource()->id()); |
| 468 quick_action_icon_layer_->SetBounds(gfx::Size(static_image_size_, | 467 quick_action_icon_layer_->SetBounds(gfx::Size(static_image_size_, |
| 469 static_image_size_)); | 468 static_image_size_)); |
| 470 | 469 |
| 471 SetStaticImageProperties(quick_action_icon_layer_, 0, 0, | 470 SetStaticImageProperties(quick_action_icon_layer_, 0, 0, |
| 472 static_image_visibility_percentage); | 471 static_image_visibility_percentage); |
| 473 } | 472 } |
| 474 } else if (quick_action_icon_layer_->parent()) { | 473 } else if (quick_action_icon_layer_->parent()) { |
| 475 quick_action_icon_layer_->RemoveFromParent(); | 474 quick_action_icon_layer_->RemoveFromParent(); |
| 476 } | 475 } |
| 477 | 476 |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 546 float term_caption_spacing) { | 545 float term_caption_spacing) { |
| 547 // --------------------------------------------------------------------------- | 546 // --------------------------------------------------------------------------- |
| 548 // Setup the Drawing Hierarchy | 547 // Setup the Drawing Hierarchy |
| 549 // --------------------------------------------------------------------------- | 548 // --------------------------------------------------------------------------- |
| 550 // Search Term | 549 // Search Term |
| 551 bool bar_text_visible = search_term_opacity > 0.0f; | 550 bool bar_text_visible = search_term_opacity > 0.0f; |
| 552 if (bar_text_visible && bar_text_->parent() != text_layer_) | 551 if (bar_text_visible && bar_text_->parent() != text_layer_) |
| 553 text_layer_->AddChild(bar_text_); | 552 text_layer_->AddChild(bar_text_); |
| 554 | 553 |
| 555 // Search Context | 554 // Search Context |
| 556 ui::ResourceManager::Resource* context_resource = | 555 ui::Resource* context_resource = resource_manager_->GetResource( |
| 557 resource_manager_->GetResource( | 556 ui::ANDROID_RESOURCE_TYPE_DYNAMIC, context_resource_id); |
| 558 ui::ANDROID_RESOURCE_TYPE_DYNAMIC, context_resource_id); | |
| 559 if (context_resource) { | 557 if (context_resource) { |
| 560 search_context_->SetUIResourceId(context_resource->ui_resource->id()); | 558 search_context_->SetUIResourceId(context_resource->ui_resource()->id()); |
| 561 search_context_->SetBounds(context_resource->size); | 559 search_context_->SetBounds(context_resource->size()); |
| 562 } | 560 } |
| 563 | 561 |
| 564 // Search Caption | 562 // Search Caption |
| 565 ui::ResourceManager::Resource* caption_resource = nullptr; | 563 ui::Resource* caption_resource = nullptr; |
| 566 if (caption_visible) { | 564 if (caption_visible) { |
| 567 // Grabs the dynamic Search Caption resource so we can get a snapshot. | 565 // Grabs the dynamic Search Caption resource so we can get a snapshot. |
| 568 caption_resource = resource_manager_->GetResource( | 566 caption_resource = resource_manager_->GetResource( |
| 569 ui::ANDROID_RESOURCE_TYPE_DYNAMIC, caption_resource_id); | 567 ui::ANDROID_RESOURCE_TYPE_DYNAMIC, caption_resource_id); |
| 570 } | 568 } |
| 571 | 569 |
| 572 if (caption_visible && animation_percentage != 0.f) { | 570 if (caption_visible && animation_percentage != 0.f) { |
| 573 if (search_caption_->parent() != text_layer_) { | 571 if (search_caption_->parent() != text_layer_) { |
| 574 text_layer_->AddChild(search_caption_); | 572 text_layer_->AddChild(search_caption_); |
| 575 } | 573 } |
| 576 if (caption_resource) { | 574 if (caption_resource) { |
| 577 search_caption_->SetUIResourceId(caption_resource->ui_resource->id()); | 575 search_caption_->SetUIResourceId(caption_resource->ui_resource()->id()); |
| 578 search_caption_->SetBounds(caption_resource->size); | 576 search_caption_->SetBounds(caption_resource->size()); |
| 579 } | 577 } |
| 580 } else if (search_caption_->parent()) { | 578 } else if (search_caption_->parent()) { |
| 581 search_caption_->RemoveFromParent(); | 579 search_caption_->RemoveFromParent(); |
| 582 } | 580 } |
| 583 | 581 |
| 584 // --------------------------------------------------------------------------- | 582 // --------------------------------------------------------------------------- |
| 585 // Calculate Text Layer Size | 583 // Calculate Text Layer Size |
| 586 // --------------------------------------------------------------------------- | 584 // --------------------------------------------------------------------------- |
| 587 // If space allows, the Term, Context and Caption should occupy a Text | 585 // If space allows, the Term, Context and Caption should occupy a Text |
| 588 // section of fixed size. | 586 // section of fixed size. |
| (...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 818 | 816 |
| 819 // Touch Highlight Layer | 817 // Touch Highlight Layer |
| 820 touch_highlight_layer_->SetIsDrawable(true); | 818 touch_highlight_layer_->SetIsDrawable(true); |
| 821 touch_highlight_layer_->SetBackgroundColor(kTouchHighlightColor); | 819 touch_highlight_layer_->SetBackgroundColor(kTouchHighlightColor); |
| 822 } | 820 } |
| 823 | 821 |
| 824 ContextualSearchLayer::~ContextualSearchLayer() { | 822 ContextualSearchLayer::~ContextualSearchLayer() { |
| 825 } | 823 } |
| 826 | 824 |
| 827 } // namespace android | 825 } // namespace android |
| OLD | NEW |