Commit 6613e214 authored by Bo Liu's avatar Bo Liu Committed by Commit Bot

Populate EffectNode stable id

Fixed: 1095167
Change-Id: Iecf5169325baf9d4cff9bc990a0a005f07c066da
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2261265
Commit-Queue: Bo <boliu@chromium.org>
Reviewed-by: default avatarPhilip Rogers <pdr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#781957}
parent 46ea761f
......@@ -1406,4 +1406,22 @@ TEST_P(CompositingSimTest, PromoteCrossOriginToParentIframeAfterDomainChange) {
EXPECT_FALSE(CcLayerByOwnerNodeId(owner_node));
}
// Regression test for https://crbug.com/1095167. Render surfaces require that
// EffectNode::stable_id is set.
TEST_P(CompositingTest, EffectNodesShouldHaveStableIds) {
InitializeWithHTML(*WebView()->MainFrameImpl()->GetFrame(), R"HTML(
<div style="overflow: hidden; border-radius: 2px; height: 10px;">
<div style="backdrop-filter: grayscale(3%);">
a
<span style="backdrop-filter: grayscale(3%);">b</span>
</div>
</div>
)HTML");
auto* property_trees = RootCcLayer()->layer_tree_host()->property_trees();
for (const auto& effect_node : property_trees->effect_tree.nodes()) {
if (effect_node.parent_id != -1)
EXPECT_TRUE(!!effect_node.stable_id);
}
}
} // namespace blink
......@@ -1081,6 +1081,8 @@ void PropertyTreeManager::BuildEffectNodesRecursively(
effect_node.clip_id = output_clip_id;
effect_node.transform_id =
EnsureCompositorTransformNode(next_effect.LocalTransformSpace());
effect_node.stable_id =
next_effect_arg.GetCompositorElementId().GetStableId();
}
if (!has_multiple_groups)
......
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