summaryrefslogtreecommitdiff
path: root/chromium/cc/layers/layer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/cc/layers/layer.cc')
-rw-r--r--chromium/cc/layers/layer.cc12
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();