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(
const EffectPaintPropertyNode& effect) {
if (auto* property_trees = GetPropertyTreesForDirectUpdate()) {
return PropertyTreeManager::DirectlyUpdateCompositedOpacityValue(
property_trees, effect);
property_trees, *root_layer_->layer_tree_host(), effect);
}
return false;
}
......@@ -1138,7 +1138,7 @@ bool PaintArtifactCompositor::DirectlyUpdateScrollOffsetTransform(
const TransformPaintPropertyNode& transform) {
if (auto* property_trees = GetPropertyTreesForDirectUpdate()) {
return PropertyTreeManager::DirectlyUpdateScrollOffsetTransform(
property_trees, transform);
property_trees, *root_layer_->layer_tree_host(), transform);
}
return false;
}
......@@ -1146,8 +1146,8 @@ bool PaintArtifactCompositor::DirectlyUpdateScrollOffsetTransform(
bool PaintArtifactCompositor::DirectlyUpdateTransform(
const TransformPaintPropertyNode& transform) {
if (auto* property_trees = GetPropertyTreesForDirectUpdate()) {
return PropertyTreeManager::DirectlyUpdateTransform(property_trees,
transform);
return PropertyTreeManager::DirectlyUpdateTransform(
property_trees, *root_layer_->layer_tree_host(), transform);
}
return false;
}
......@@ -1155,8 +1155,8 @@ bool PaintArtifactCompositor::DirectlyUpdateTransform(
bool PaintArtifactCompositor::DirectlyUpdatePageScaleTransform(
const TransformPaintPropertyNode& transform) {
if (auto* property_trees = GetPropertyTreesForDirectUpdate()) {
return PropertyTreeManager::DirectlyUpdatePageScaleTransform(property_trees,
transform);
return PropertyTreeManager::DirectlyUpdatePageScaleTransform(
property_trees, *root_layer_->layer_tree_host(), transform);
}
return false;
}
......
......@@ -114,6 +114,7 @@ static void SetTransformTreePageScaleFactor(
bool PropertyTreeManager::DirectlyUpdateCompositedOpacityValue(
cc::PropertyTrees* property_trees,
cc::LayerTreeHost& host,
const EffectPaintPropertyNode& effect) {
auto* cc_effect = property_trees->effect_tree.Node(
effect.CcNodeId(property_trees->sequence_number));
......@@ -128,11 +129,13 @@ bool PropertyTreeManager::DirectlyUpdateCompositedOpacityValue(
cc_effect->opacity = effect.Opacity();
cc_effect->effect_changed = true;
property_trees->effect_tree.set_needs_update(true);
host.SetNeedsCommit();
return true;
}
bool PropertyTreeManager::DirectlyUpdateScrollOffsetTransform(
cc::PropertyTrees* property_trees,
cc::LayerTreeHost& host,
const TransformPaintPropertyNode& transform) {
auto* scroll_node = transform.ScrollNode();
// Only handle scroll adjustments.
......@@ -158,11 +161,13 @@ bool PropertyTreeManager::DirectlyUpdateScrollOffsetTransform(
cc_transform->transform_changed = true;
property_trees->transform_tree.set_needs_update(true);
property_trees->scroll_tree.set_needs_update(true);
host.SetNeedsCommit();
return true;
}
bool PropertyTreeManager::DirectlyUpdateTransform(
cc::PropertyTrees* property_trees,
cc::LayerTreeHost& host,
const TransformPaintPropertyNode& transform) {
// If we have a ScrollNode, we should be using
// DirectlyUpdateScrollOffsetTransform().
......@@ -182,11 +187,13 @@ bool PropertyTreeManager::DirectlyUpdateTransform(
cc_transform->transform_changed = true;
property_trees->transform_tree.set_needs_update(true);
host.SetNeedsCommit();
return true;
}
bool PropertyTreeManager::DirectlyUpdatePageScaleTransform(
cc::PropertyTrees* property_trees,
cc::LayerTreeHost& host,
const TransformPaintPropertyNode& transform) {
DCHECK(!transform.ScrollNode());
......@@ -200,6 +207,7 @@ bool PropertyTreeManager::DirectlyUpdatePageScaleTransform(
cc_transform);
cc_transform->transform_changed = true;
property_trees->transform_tree.set_needs_update(true);
host.SetNeedsCommit();
return true;
}
......
......@@ -17,6 +17,7 @@ namespace cc {
class ClipTree;
class EffectTree;
class Layer;
class LayerTreeHost;
class PropertyTrees;
class ScrollTree;
class TransformTree;
......@@ -119,14 +120,18 @@ class PropertyTreeManager {
static bool DirectlyUpdateCompositedOpacityValue(
cc::PropertyTrees*,
cc::LayerTreeHost&,
const EffectPaintPropertyNode&);
static bool DirectlyUpdateScrollOffsetTransform(
cc::PropertyTrees*,
cc::LayerTreeHost&,
const TransformPaintPropertyNode&);
static bool DirectlyUpdateTransform(cc::PropertyTrees*,
cc::LayerTreeHost&,
const TransformPaintPropertyNode&);
static bool DirectlyUpdatePageScaleTransform(
cc::PropertyTrees*,
cc::LayerTreeHost&,
const TransformPaintPropertyNode&);
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