• Bo Liu's avatar
    android: Recreate sync compositor on RWHVA reuse · 97fe1814
    Bo Liu authored
    RenderWidgetHostViews can become "inactive", and then "active" again.
    This can happen if the origin of a RWHV is still kept alive by another
    active RWHV, after the RWHV becomes inactive. Then the inactive RWHV
    can become active again if its WebContents navigates back to the
    matching origin.
    
    RWHVA destroys SynchronousCompositorHost when it becomes inactive in
    UpdateNativeViewTree. However it does not recreate it when RWHVA is
    active again later, breaking rendering in Android WebView. Fix this
    and also clean up by de-duplicating code to create and destroy
    SynchronousCompositorHost.
    
    Bug: 1039586
    Change-Id: I7772c9d341f44f5c822f3ac186be236e5d6abf02
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1995841
    Commit-Queue: Bo <boliu@chromium.org>
    Reviewed-by: default avatarAlex Moshchuk <alexmos@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#732558}
    97fe1814
BUILD.gn 96.3 KB