Skip to content

merge_pr_51477

Compare
Choose a tag to compare
@github-actions github-actions released this 20 Mar 00:42

Combine Frame IPC's CreateNewWindow and ShowCreatedWindow

Prior to this CL, popping up a new window involved two renderer->browser
IPC's: CreateNewWindow(), which is sync; and ShowCreatedWindow(), which
is not sync. In addition to the linked bug, this arrangement requires
some awkward architecture in the window-creating code.

This CL combines the two IPC's into a single sync IPC. There are a few
failure scenarios that currently prevent ShowCreatedWindow() from
running after CreateNewWindow(); but those failure conditions are known
to the browser at the time the reply to CreateNewWindow() is sent, so
the browser code can act accordingly.

The new behavior is behind an enabled-by-default feature flag, to give
it an easy kill switch in case of breakage.

Bug: chromium:41099297
Change-Id: I0c67de461d0f646085e13cab25114cfe1b150139
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6343761
Reviewed-by: David Trainor [email protected]
Commit-Queue: Stefan Zager [email protected]
Reviewed-by: Alex Moshchuk [email protected]
Cr-Commit-Position: refs/heads/main@{#1435113}