SummaryThe
renderBlockingStatus flag in Resource Timing allows identification of resources which are render-blocking and so may benefit for performance tuning.
Currently, this is set to the initial status when the fetch is initiated, which
causes developer confusion when a subsequent use of that fetch makes a fetch render-blocking.
For example this would be result in a render-blocking request being reported:
<link rel="stylesheet" href="css/styles.css">
but this would not:
<link rel="preload" as="style" href="css/styles.css">
<link rel="stylesheet" href="css/styles.css">
as preloads are not render-blocking.
This use of preloads is a common pattern (though it's debatable whether it's an anti-pattern!) and the resource is render-blocking so it's odd to report it as not.
Milestones
We plan to
change this in M144 to allow the latest status to be used at the time the fetch is completed to match developer's expectations.
Web Compatibility
Chromium is currently the only engine shipping this flag in Resource Timing.
Impact is expected to be minimal. This only changes reporting in Resource Timing and will just result in more accurate reporting of render-blocking status. As such we are not planning to feature flag this change.
Specification
Issue have been raised in these places to awareness and to add any necessary spec changes: