• John Delaney's avatar
    Create a PageTimingSender for subframe documents without a committed load · add7d347
    John Delaney authored
    What:
    Create a PageTimingSender for frames that abort their initial navigation
    with a doc.write to render content. This is done by observing
    document element without a committed load.
    
    Why:
    This behavior has been seen numerous times in the wild causing, where
    PLM byte metrics are not catching the majority of network usage by the
    page. In a number of instances, there are video players loaded inside of
    these frames causing most network bytes to be unattributed to the
    PageLoad.
    
    This also affects the HeavyAdIntervention, which uses PLM measurements
    to trigger unloading.
    
    How:
    For these types of loads, we will not send paint timing, render data,
    or metadata updates to the browser process. There is currently a lack
    of understanding regarding paint timing in frames like this. There is
    also no browser process machinery to merge timing updates in frames that
    do not have loads (as we cannot get a navigation start offset).
    
    It is unclear the effect that this change will have overall on metrics.
    Anecdotally, it is not expected to not produce a significant change due
    to being a fairly nuanced edge case.
    
    Bug: 914893
    Change-Id: Ic696e693e11f2d7cdcd8c97e9418a55d7bf4b2a0
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1822218Reviewed-by: default avatarBryan McQuade <bmcquade@chromium.org>
    Commit-Queue: John Delaney <johnidel@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#782709}
    add7d347
docwrite_provisional_frame.html 606 Bytes