• danakj's avatar
    Don't post-task WidgetHostMsg_Close through RenderWidget · 9e93f320
    danakj authored
    We don't want to Send() IPCs on a frozen/provisional RenderWidget. The
    DoDeferredClose path in RenderWidget needs to send the IPC from a fresh
    call stack, but in the meantime, the RenderWidget may have become
    frozen (the main frame may have been swapped out in that RenderWidget's
    RenderView).
    
    In that case, we still allow the WidgetHostMsg_Close to go through, and
    behave as if the IPC was already in transit to the browser. But since
    RenderWidget::Send() should not be used, we use a static method.
    
    This is one step toward allowing us to CHECK() that we don't Send()
    IPCs from frozen/provisional RenderWidgets.
    
    R=dcheng@chromium.org
    
    Bug: 419087, 745091
    Change-Id: I85f707c3c9bf071f7adf6273d78d40a6f530b10b
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1733852
    Auto-Submit: danakj <danakj@chromium.org>
    Reviewed-by: default avatarErik Chen <erikchen@chromium.org>
    Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
    Commit-Queue: Daniel Cheng <dcheng@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#683782}
    9e93f320
render_widget.h 51.2 KB