PrePaint: Still use fragmentainer index for pagination.
https://crrev.com/c/5453623 (Plumbing for new pagination fragment
structure) moved some pagination pre-paint logic into a separate
function, but left the fragmentainer index counter behind (in the belief
that it wouldn't matter, since it was named inner_fragmentainer_idx and
what not). This was bad, because this meant that FragmentData's
FragmentID wouldn't be updated. FragmentID isn't used for a whole lot of
things anymore, but CullRectUpdater still needs it in order to match
fragments of one paint layer with fragments in the parent layer. If all
IDs were 0, all child fragments would match with all parent fragments,
so that all fragments would get non-empty cull rects, even if they
belonged on different pages. This in turn would cause us to paint the
same object several times, once for each fragment. All but one of its
fragments would get clipped by the page area, but certain types, such as
SVG apparently, got upset by this.
Walk page containers as a separate loop. There's too little in common
with multicol.
Bug: 337791467
Change-Id: Id2f5543e2c415cae75ad4621969e3e48358ad5ac
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5501140
Reviewed-by: Xianzhu Wang wangxianzhu@chromium.org
Reviewed-by: Ian Kilpatrick ikilpatrick@chromium.org
Commit-Queue: Morten Stenshorne mstensho@chromium.org
Cr-Commit-Position: refs/heads/main@{#1294441}