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

Unified Diff: ui/app_list/views/app_list_item_view.cc

Issue 867003002: Cache gfx::RenderText instances in views::Label. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: ui/app_list/views/app_list_item_view.cc
diff --git a/ui/app_list/views/app_list_item_view.cc b/ui/app_list/views/app_list_item_view.cc
index 73d6a38f9228b4a28555ff9c0a735df4969d4474..2efccdc8d1231690b680f20fd2479d0b35854154 100644
--- a/ui/app_list/views/app_list_item_view.cc
+++ b/ui/app_list/views/app_list_item_view.cc
@@ -187,6 +187,7 @@ void AppListItemView::SetUIState(UIState state) {
}
#endif // !OS_WIN
+ SetTitleSubpixelAA();
SchedulePaint();
}
@@ -211,10 +212,7 @@ void AppListItemView::SetTitleSubpixelAA() {
!is_highlighted_ && !apps_grid_view_->IsSelectedView(this) &&
!apps_grid_view_->IsAnimatingView(this);
- bool currently_enabled = title_->background() != NULL;
- if (currently_enabled == enable_aa)
- return;
-
+ title_->SetSubpixelRenderingEnabled(enable_aa);
if (enable_aa) {
title_->SetBackgroundColor(app_list::kLabelBackgroundColor);
title_->set_background(views::Background::CreateSolidBackground(
@@ -277,6 +275,7 @@ void AppListItemView::SetItemName(const base::string16& display_name,
void AppListItemView::SetItemIsHighlighted(bool is_highlighted) {
is_highlighted_ = is_highlighted;
+ SetTitleSubpixelAA();
SchedulePaint();
}
@@ -286,6 +285,7 @@ void AppListItemView::SetItemIsInstalling(bool is_installing) {
title_->SetVisible(!is_installing);
progress_bar_->SetVisible(is_installing);
}
+ SetTitleSubpixelAA();
SchedulePaint();
}
@@ -332,6 +332,7 @@ void AppListItemView::Layout() {
title_size.height());
title_bounds.Intersect(rect);
title_->SetBoundsRect(title_bounds);
+ SetTitleSubpixelAA();
gfx::Rect progress_bar_bounds(progress_bar_->GetPreferredSize());
progress_bar_bounds.set_x(GetContentsBounds().x() +
@@ -340,11 +341,6 @@ void AppListItemView::Layout() {
progress_bar_->SetBoundsRect(progress_bar_bounds);
}
-void AppListItemView::SchedulePaintInRect(const gfx::Rect& r) {
- SetTitleSubpixelAA();
- views::CustomButton::SchedulePaintInRect(r);
-}
-
void AppListItemView::OnPaint(gfx::Canvas* canvas) {
if (apps_grid_view_->IsDraggedView(this))
return;
@@ -404,7 +400,7 @@ void AppListItemView::StateChanged() {
item_weak_->set_highlighted(false);
title_->SetEnabledColor(kGridTitleColor);
}
- title_->Invalidate();
+ SetTitleSubpixelAA();
}
bool AppListItemView::ShouldEnterPushedState(const ui::Event& event) {

Powered by Google App Engine
This is Rietveld 408576698