Index: cc/layers/layer_impl.cc |
diff --git a/cc/layers/layer_impl.cc b/cc/layers/layer_impl.cc |
index 8ad4c011597ac57e884a3f883e8d4b2f553c638b..ae33637f4f9773b06949364d371d180e5728ddf6 100644 |
--- a/cc/layers/layer_impl.cc |
+++ b/cc/layers/layer_impl.cc |
@@ -1322,6 +1322,33 @@ gfx::Transform LayerImpl::ScreenSpaceTransform() const { |
return draw_properties().screen_space_transform; |
} |
+bool LayerImpl::can_use_lcd_text() const { |
+ if (layer_tree_impl()->settings().layers_always_allowed_lcd_text) |
+ return true; |
+ if (!layer_tree_impl()->settings().can_use_lcd_text) |
+ return false; |
+ if (!contents_opaque()) |
+ return false; |
+ |
+ if (layer_tree_impl() |
+ ->property_trees() |
+ ->effect_tree.Node(effect_tree_index()) |
+ ->data.screen_space_opacity != 1.f) |
+ return false; |
+ if (!layer_tree_impl() |
+ ->property_trees() |
+ ->transform_tree.Node(transform_tree_index()) |
+ ->data.node_and_ancestors_have_only_integer_translation) |
+ return false; |
+ if (static_cast<int>(offset_to_transform_parent().x()) != |
+ offset_to_transform_parent().x()) |
+ return false; |
+ if (static_cast<int>(offset_to_transform_parent().y()) != |
+ offset_to_transform_parent().y()) |
+ return false; |
+ return true; |
+} |
+ |
Region LayerImpl::GetInvalidationRegionForDebugging() { |
return Region(update_rect_); |
} |