Index: ash/common/shelf/shelf_background_animator.cc |
diff --git a/ash/common/shelf/shelf_background_animator.cc b/ash/common/shelf/shelf_background_animator.cc |
index ad0311e1fdc54591b70fe0015db9d04936416969..548b826884e195347ad7f1669eb0591bec5bc152 100644 |
--- a/ash/common/shelf/shelf_background_animator.cc |
+++ b/ash/common/shelf/shelf_background_animator.cc |
@@ -203,35 +203,49 @@ void ShelfBackgroundAnimator::GetTargetValues( |
ShelfBackgroundType background_type, |
AnimationValues* shelf_background_values, |
AnimationValues* item_background_values) const { |
- int target_shelf_background_alpha = 0; |
- int target_shelf_item_background_alpha = 0; |
+ int target_shelf_color_alpha = 0; |
+ int target_item_color_alpha = 0; |
switch (background_type) { |
case SHELF_BACKGROUND_DEFAULT: |
- target_shelf_background_alpha = 0; |
- target_shelf_item_background_alpha = kShelfTranslucentAlpha; |
+ target_shelf_color_alpha = 0; |
+ target_item_color_alpha = kShelfTranslucentAlpha; |
break; |
case SHELF_BACKGROUND_OVERLAP: |
- target_shelf_background_alpha = kShelfTranslucentAlpha; |
- target_shelf_item_background_alpha = 0; |
+ target_shelf_color_alpha = kShelfTranslucentAlpha; |
+ target_item_color_alpha = 0; |
break; |
case SHELF_BACKGROUND_MAXIMIZED: |
- target_shelf_background_alpha = kMaxAlpha; |
- target_shelf_item_background_alpha = 0; |
+ target_shelf_color_alpha = kMaxAlpha; |
+ target_item_color_alpha = 0; |
break; |
} |
SkColor target_color = wallpaper_controller_ |
? wallpaper_controller_->prominent_color() |
: kShelfDefaultBaseColor; |
- |
- if (target_color == SK_ColorTRANSPARENT) |
+ if (target_color == SK_ColorTRANSPARENT) { |
target_color = kShelfDefaultBaseColor; |
+ } else { |
+ int darkening_alpha = 0; |
+ |
+ switch (background_type) { |
+ case SHELF_BACKGROUND_DEFAULT: |
+ case SHELF_BACKGROUND_OVERLAP: |
+ darkening_alpha = kShelfTranslucentColorDarkenAlpha; |
+ break; |
+ case SHELF_BACKGROUND_MAXIMIZED: |
+ darkening_alpha = kShelfOpaqueColorDarkenAlpha; |
+ break; |
+ } |
+ target_color = color_utils::GetResultingPaintColor( |
+ SkColorSetA(kShelfDefaultBaseColor, darkening_alpha), target_color); |
+ } |
shelf_background_values->SetTargetValues( |
- SkColorSetA(target_color, target_shelf_background_alpha)); |
+ SkColorSetA(target_color, target_shelf_color_alpha)); |
item_background_values->SetTargetValues( |
- SkColorSetA(target_color, target_shelf_item_background_alpha)); |
+ SkColorSetA(target_color, target_item_color_alpha)); |
} |
void ShelfBackgroundAnimator::SetAnimationValues(double t) { |