Commit b0d3c675 authored by Chris Harrelson's avatar Chris Harrelson Committed by Commit Bot

Call SetNeedsCommit on direct updates to compositor property nodes.

This is necessary to make sure the values get through to the compositor
thread. It regressed accidentally in earlier CLs.

Bug: 1013000

Change-Id: Ia6de23a10180abb5e41fc8d48f790359f826c6f6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1854218Reviewed-by: default avatarPhilip Rogers <pdr@chromium.org>
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#704887}
parent 21682b03
...@@ -1129,7 +1129,7 @@ bool PaintArtifactCompositor::DirectlyUpdateCompositedOpacityValue( ...@@ -1129,7 +1129,7 @@ bool PaintArtifactCompositor::DirectlyUpdateCompositedOpacityValue(
const EffectPaintPropertyNode& effect) { const EffectPaintPropertyNode& effect) {
if (auto* property_trees = GetPropertyTreesForDirectUpdate()) { if (auto* property_trees = GetPropertyTreesForDirectUpdate()) {
return PropertyTreeManager::DirectlyUpdateCompositedOpacityValue( return PropertyTreeManager::DirectlyUpdateCompositedOpacityValue(
property_trees, effect); property_trees, *root_layer_->layer_tree_host(), effect);
} }
return false; return false;
} }
...@@ -1138,7 +1138,7 @@ bool PaintArtifactCompositor::DirectlyUpdateScrollOffsetTransform( ...@@ -1138,7 +1138,7 @@ bool PaintArtifactCompositor::DirectlyUpdateScrollOffsetTransform(
const TransformPaintPropertyNode& transform) { const TransformPaintPropertyNode& transform) {
if (auto* property_trees = GetPropertyTreesForDirectUpdate()) { if (auto* property_trees = GetPropertyTreesForDirectUpdate()) {
return PropertyTreeManager::DirectlyUpdateScrollOffsetTransform( return PropertyTreeManager::DirectlyUpdateScrollOffsetTransform(
property_trees, transform); property_trees, *root_layer_->layer_tree_host(), transform);
} }
return false; return false;
} }
...@@ -1146,8 +1146,8 @@ bool PaintArtifactCompositor::DirectlyUpdateScrollOffsetTransform( ...@@ -1146,8 +1146,8 @@ bool PaintArtifactCompositor::DirectlyUpdateScrollOffsetTransform(
bool PaintArtifactCompositor::DirectlyUpdateTransform( bool PaintArtifactCompositor::DirectlyUpdateTransform(
const TransformPaintPropertyNode& transform) { const TransformPaintPropertyNode& transform) {
if (auto* property_trees = GetPropertyTreesForDirectUpdate()) { if (auto* property_trees = GetPropertyTreesForDirectUpdate()) {
return PropertyTreeManager::DirectlyUpdateTransform(property_trees, return PropertyTreeManager::DirectlyUpdateTransform(
transform); property_trees, *root_layer_->layer_tree_host(), transform);
} }
return false; return false;
} }
...@@ -1155,8 +1155,8 @@ bool PaintArtifactCompositor::DirectlyUpdateTransform( ...@@ -1155,8 +1155,8 @@ bool PaintArtifactCompositor::DirectlyUpdateTransform(
bool PaintArtifactCompositor::DirectlyUpdatePageScaleTransform( bool PaintArtifactCompositor::DirectlyUpdatePageScaleTransform(
const TransformPaintPropertyNode& transform) { const TransformPaintPropertyNode& transform) {
if (auto* property_trees = GetPropertyTreesForDirectUpdate()) { if (auto* property_trees = GetPropertyTreesForDirectUpdate()) {
return PropertyTreeManager::DirectlyUpdatePageScaleTransform(property_trees, return PropertyTreeManager::DirectlyUpdatePageScaleTransform(
transform); property_trees, *root_layer_->layer_tree_host(), transform);
} }
return false; return false;
} }
......
...@@ -114,6 +114,7 @@ static void SetTransformTreePageScaleFactor( ...@@ -114,6 +114,7 @@ static void SetTransformTreePageScaleFactor(
bool PropertyTreeManager::DirectlyUpdateCompositedOpacityValue( bool PropertyTreeManager::DirectlyUpdateCompositedOpacityValue(
cc::PropertyTrees* property_trees, cc::PropertyTrees* property_trees,
cc::LayerTreeHost& host,
const EffectPaintPropertyNode& effect) { const EffectPaintPropertyNode& effect) {
auto* cc_effect = property_trees->effect_tree.Node( auto* cc_effect = property_trees->effect_tree.Node(
effect.CcNodeId(property_trees->sequence_number)); effect.CcNodeId(property_trees->sequence_number));
...@@ -128,11 +129,13 @@ bool PropertyTreeManager::DirectlyUpdateCompositedOpacityValue( ...@@ -128,11 +129,13 @@ bool PropertyTreeManager::DirectlyUpdateCompositedOpacityValue(
cc_effect->opacity = effect.Opacity(); cc_effect->opacity = effect.Opacity();
cc_effect->effect_changed = true; cc_effect->effect_changed = true;
property_trees->effect_tree.set_needs_update(true); property_trees->effect_tree.set_needs_update(true);
host.SetNeedsCommit();
return true; return true;
} }
bool PropertyTreeManager::DirectlyUpdateScrollOffsetTransform( bool PropertyTreeManager::DirectlyUpdateScrollOffsetTransform(
cc::PropertyTrees* property_trees, cc::PropertyTrees* property_trees,
cc::LayerTreeHost& host,
const TransformPaintPropertyNode& transform) { const TransformPaintPropertyNode& transform) {
auto* scroll_node = transform.ScrollNode(); auto* scroll_node = transform.ScrollNode();
// Only handle scroll adjustments. // Only handle scroll adjustments.
...@@ -158,11 +161,13 @@ bool PropertyTreeManager::DirectlyUpdateScrollOffsetTransform( ...@@ -158,11 +161,13 @@ bool PropertyTreeManager::DirectlyUpdateScrollOffsetTransform(
cc_transform->transform_changed = true; cc_transform->transform_changed = true;
property_trees->transform_tree.set_needs_update(true); property_trees->transform_tree.set_needs_update(true);
property_trees->scroll_tree.set_needs_update(true); property_trees->scroll_tree.set_needs_update(true);
host.SetNeedsCommit();
return true; return true;
} }
bool PropertyTreeManager::DirectlyUpdateTransform( bool PropertyTreeManager::DirectlyUpdateTransform(
cc::PropertyTrees* property_trees, cc::PropertyTrees* property_trees,
cc::LayerTreeHost& host,
const TransformPaintPropertyNode& transform) { const TransformPaintPropertyNode& transform) {
// If we have a ScrollNode, we should be using // If we have a ScrollNode, we should be using
// DirectlyUpdateScrollOffsetTransform(). // DirectlyUpdateScrollOffsetTransform().
...@@ -182,11 +187,13 @@ bool PropertyTreeManager::DirectlyUpdateTransform( ...@@ -182,11 +187,13 @@ bool PropertyTreeManager::DirectlyUpdateTransform(
cc_transform->transform_changed = true; cc_transform->transform_changed = true;
property_trees->transform_tree.set_needs_update(true); property_trees->transform_tree.set_needs_update(true);
host.SetNeedsCommit();
return true; return true;
} }
bool PropertyTreeManager::DirectlyUpdatePageScaleTransform( bool PropertyTreeManager::DirectlyUpdatePageScaleTransform(
cc::PropertyTrees* property_trees, cc::PropertyTrees* property_trees,
cc::LayerTreeHost& host,
const TransformPaintPropertyNode& transform) { const TransformPaintPropertyNode& transform) {
DCHECK(!transform.ScrollNode()); DCHECK(!transform.ScrollNode());
...@@ -200,6 +207,7 @@ bool PropertyTreeManager::DirectlyUpdatePageScaleTransform( ...@@ -200,6 +207,7 @@ bool PropertyTreeManager::DirectlyUpdatePageScaleTransform(
cc_transform); cc_transform);
cc_transform->transform_changed = true; cc_transform->transform_changed = true;
property_trees->transform_tree.set_needs_update(true); property_trees->transform_tree.set_needs_update(true);
host.SetNeedsCommit();
return true; return true;
} }
......
...@@ -17,6 +17,7 @@ namespace cc { ...@@ -17,6 +17,7 @@ namespace cc {
class ClipTree; class ClipTree;
class EffectTree; class EffectTree;
class Layer; class Layer;
class LayerTreeHost;
class PropertyTrees; class PropertyTrees;
class ScrollTree; class ScrollTree;
class TransformTree; class TransformTree;
...@@ -119,14 +120,18 @@ class PropertyTreeManager { ...@@ -119,14 +120,18 @@ class PropertyTreeManager {
static bool DirectlyUpdateCompositedOpacityValue( static bool DirectlyUpdateCompositedOpacityValue(
cc::PropertyTrees*, cc::PropertyTrees*,
cc::LayerTreeHost&,
const EffectPaintPropertyNode&); const EffectPaintPropertyNode&);
static bool DirectlyUpdateScrollOffsetTransform( static bool DirectlyUpdateScrollOffsetTransform(
cc::PropertyTrees*, cc::PropertyTrees*,
cc::LayerTreeHost&,
const TransformPaintPropertyNode&); const TransformPaintPropertyNode&);
static bool DirectlyUpdateTransform(cc::PropertyTrees*, static bool DirectlyUpdateTransform(cc::PropertyTrees*,
cc::LayerTreeHost&,
const TransformPaintPropertyNode&); const TransformPaintPropertyNode&);
static bool DirectlyUpdatePageScaleTransform( static bool DirectlyUpdatePageScaleTransform(
cc::PropertyTrees*, cc::PropertyTrees*,
cc::LayerTreeHost&,
const TransformPaintPropertyNode&); const TransformPaintPropertyNode&);
private: private:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment