Allocate unique stable ids for non-contiguous paintings of an effect

Due to paint order bugs (e.g. crbug.com/1253797), paintings under a
blink effect node may interlace with other paintings. If the effect
node is composited, we'll create multiple cc effect nodes, and
previously they had the same stable id causing duplicated id for render
passes. Now allocate unique stable ids when we create additional cc
effect nodes for a blink effect node.

Bug: 1270495
Change-Id: I977b84334692758d90eb5903d44cf8321f77e08c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3288537
Auto-Submit: Xianzhu Wang <wangxianzhu@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/main@{#943337}
diff --git a/css/css-break/will-change-filter.html b/css/css-break/will-change-filter.html
new file mode 100644
index 0000000..2970ddf
--- /dev/null
+++ b/css/css-break/will-change-filter.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<link rel="help" href="https://www.w3.org/TR/css-break-3/">
+<link rel="help" href="https://drafts.csswg.org/css-will-change/#will-change">
+<link rel="help" href="https://drafts.fxtf.org/filter-effects/#FilterProperty">
+<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+<div style="width: 100px; height: 100px; columns: 2; column-gap: 0">
+  <div style="filter: saturate(1); will-change: filter">
+    <div style="height: 200px; background: green"></div>
+  </div>
+</div>