Index: chrome/browser/android/compositor/scene_layer/tab_list_scene_layer.cc |
diff --git a/chrome/browser/android/compositor/scene_layer/tab_list_scene_layer.cc b/chrome/browser/android/compositor/scene_layer/tab_list_scene_layer.cc |
index 913bd3142133268f799c7a968ed64f5722301c44..1f316c26773f1726c3fe0eef9aec5bb9dc3c2621 100644 |
--- a/chrome/browser/android/compositor/scene_layer/tab_list_scene_layer.cc |
+++ b/chrome/browser/android/compositor/scene_layer/tab_list_scene_layer.cc |
@@ -40,6 +40,8 @@ void TabListSceneLayer::BeginBuildingFrame(JNIEnv* env, |
// matches PutTabLayer call order. |
for (auto tab : tab_map_) |
tab.second->layer()->RemoveFromParent(); |
+ |
+ used_tints_.clear(); |
} |
void TabListSceneLayer::FinishBuildingFrame(JNIEnv* env, |
@@ -53,6 +55,8 @@ void TabListSceneLayer::FinishBuildingFrame(JNIEnv* env, |
++it; |
} |
visible_tabs_this_frame_.clear(); |
+ DCHECK(resource_manager_); |
+ resource_manager_->RemoveUnusedTints(used_tints_); |
} |
void TabListSceneLayer::UpdateLayer( |
@@ -150,6 +154,11 @@ void TabListSceneLayer::PutTabLayer( |
own_tree_->AddChild(layer->layer()); |
visible_tabs_this_frame_.insert(id); |
+ // Add the tints for the border asset and close icon to the list that was |
+ // used for this frame. |
+ used_tints_.insert(toolbar_background_color); |
+ used_tints_.insert(close_button_color); |
+ |
DCHECK(layer); |
if (layer) { |
layer->SetProperties( |
@@ -162,8 +171,8 @@ void TabListSceneLayer::PutTabLayer( |
contour_alpha, shadow_alpha, close_alpha, border_scale, saturation, |
brightness, close_btn_width, static_to_view_blend, content_width, |
content_height, content_width, visible_content_height, show_toolbar, |
- default_theme_color, toolbar_background_color, close_button_color, |
- anonymize_toolbar, toolbar_textbox_resource_id, |
+ default_theme_color, toolbar_background_color, |
+ close_button_color, anonymize_toolbar, toolbar_textbox_resource_id, |
toolbar_textbox_background_color, toolbar_textbox_alpha, toolbar_alpha, |
toolbar_y_offset, side_border_scale, attach_content, inset_border); |
} |