diff options
Diffstat (limited to 'chromium/cc/layers/layer.cc')
-rw-r--r-- | chromium/cc/layers/layer.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/chromium/cc/layers/layer.cc b/chromium/cc/layers/layer.cc index c354081f17b..7b74ae2da3c 100644 --- a/chromium/cc/layers/layer.cc +++ b/chromium/cc/layers/layer.cc @@ -78,6 +78,7 @@ Layer::Inputs::Inputs(int layer_id) : layer_id(layer_id), hit_testable(false), contents_opaque(false), + contents_opaque_for_text(false), is_drawable(false), double_sided(true), has_will_change_transform_hint(false), @@ -804,11 +805,21 @@ void Layer::SetContentsOpaque(bool opaque) { if (inputs_.contents_opaque == opaque) return; inputs_.contents_opaque = opaque; + inputs_.contents_opaque_for_text = opaque; SetNeedsCommit(); SetSubtreePropertyChanged(); SetPropertyTreesNeedRebuild(); } +void Layer::SetContentsOpaqueForText(bool opaque) { + DCHECK(IsPropertyChangeAllowed()); + if (inputs_.contents_opaque_for_text == opaque) + return; + DCHECK(!contents_opaque() || opaque); + inputs_.contents_opaque_for_text = opaque; + SetNeedsCommit(); +} + void Layer::SetPosition(const gfx::PointF& position) { DCHECK(!layer_tree_host_ || !layer_tree_host_->IsUsingLayerLists()); @@ -1321,6 +1332,7 @@ void Layer::PushPropertiesTo(LayerImpl* layer) { layer->SetWheelEventHandlerRegion(Region()); } layer->SetContentsOpaque(inputs_.contents_opaque); + layer->SetContentsOpaqueForText(inputs_.contents_opaque_for_text); layer->SetShouldCheckBackfaceVisibility(should_check_backface_visibility_); layer->UpdateScrollable(); |