Commit 19f0379f authored by Daniel Hosseinian's avatar Daniel Hosseinian Committed by Commit Bot

Fully reset state of PrintCompositeClient when removing request

crrev.com/782283 caused a regression which caused tracked remote
instances of PrintRenderFrame to linger after the completion of a
print composite request. Consequently, printing the same WebContents
with cross process subframes more than once would cause the compositing
to never finish.

Bug: 1136431
Change-Id: Id0670905d1b4acb7b55f7a043d5a4bfb584ccfa6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2462178Reviewed-by: default avatarLei Zhang <thestig@chromium.org>
Commit-Queue: Daniel Hosseinian <dhoss@chromium.org>
Cr-Commit-Position: refs/heads/master@{#815304}
parent a5ed9ec0
......@@ -344,9 +344,10 @@ void PrintCompositeClient::RemoveCompositeRequest(int cookie) {
document_cookie_ = 0;
initiator_frame_ = nullptr;
// Clear all stored printed and pending subframes.
// Reset state of the client.
pending_subframes_.clear();
printed_subframes_.clear();
print_render_frames_.clear();
// No longer concurrently compositing this document.
is_doc_concurrently_composited_ = false;
......
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