This feature enables authors to block rendering of a Document until the critical content has been parsed, ensuring a consistent first paint across all browsers. Without this feature, the first paint's state depends on the heuristics for parser yielding which can vary across browsers. This is particularly important for View Transitions where the parsed DOM state on the first frame can drastically change the transition created. Note that this feature specifically implements a `<link rel=expect href="#id">` syntax that allows a link element to reference another expected element on the page. The rendering is then blocked until the expected element is fully parsed. This supersedes previous implementation of html attribute that allows the whole document to be render blocked.
None
This feature would be used frequently with cross-document View Transitions, because it allows the browser to wait for necessary content to be parsed.
This feature can be used directly.
Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?
There are no WebView application risks
None
https://wpt.fyi/results/html/dom/render-blocking?label=master&label=experimental&aligned&q=element-render-blocking Note that we will be renaming these from .tentative shortly
Shipping on desktop | 124 |
Shipping on Android | 124 |
Shipping on WebView | 124 |
Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way).
NoneWill this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
YesIs this feature fully tested by web-platform-tests?
Yeshttps://wpt.fyi/results/html/dom/render-blocking?label=master&label=experimental&aligned&q=element-render-blocking Note that we will be renaming these from .tentative shortly
Flag name on chrome://flags
NoneFinch feature name
DocumentRenderBlockingRequires code in //chrome?
FalseAdoption expectation
This feature is expected to be adopted by developers using cross-document View TransitionsEstimated milestones
Shipping on desktop 124
Shipping on Android 124
Shipping on WebView 124 Anticipated spec changes
Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way).
NoneLink to entry on the Chrome Platform Status
https://chromestatus.com/feature/5113053598711808Links to previous Intent discussions
Intent to prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAMLuWUzNfD4MRk0bR1yTZ5F6NzcpETrUU3Vy9GmANZRQd7%3DE4A%40mail.gmail.comThis intent message was generated by Chrome Platform Status.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADsXd2MZaRt_2k5-Hny9crxJSgZbgEJau0my%3DW9_7-pp0OqKUw%40mail.gmail.com.
On Mon, Mar 4, 2024 at 5:36 PM Vladimir Levin <vmp...@chromium.org> wrote:Thanks for the explainer. It's very useful!!The explainer mentions console warnings in case authors included an ID that wasn't encountered, resulting in waiting for the fill document.Was this implemented?
Will render blocking also happen in cases where no transition took place? (e.g. on landing pages)
On Wed, Mar 6, 2024 at 11:10 AM Yoav Weiss (@Shopify) <yoav...@chromium.org> wrote:On Wed, Mar 6, 2024 at 12:04 PM Noam Rosenthal <nrose...@chromium.org> wrote:On Wed, Mar 6, 2024 at 10:55 AM Yoav Weiss (@Shopify) <yoav...@chromium.org> wrote:On Mon, Mar 4, 2024 at 5:36 PM Vladimir Levin <vmp...@chromium.org> wrote:Thanks for the explainer. It's very useful!!The explainer mentions console warnings in case authors included an ID that wasn't encountered, resulting in waiting for the fill document.Was this implemented?Will render blocking also happen in cases where no transition took place? (e.g. on landing pages)Correct, this feature is not specific to view transitions. It can be used, for example, as a replacement for the existing practice of loading a hidden page and showing it using JS at a particular point. It allows a tradeoff between smoothness and speed, regardless of view transitions.OK. In this case it might be interesting to think through current use-cases for such initial page hiding (e.g. A/B testing comes to mind) and see how they could be implemented using this and whether this would be a positive change. Did such thinking take place?This kind of thinking did take place, though I'm not sure what kind of A/B test you had in mind.
g it using JS at a particular point. It allows a tradeoff between smoothness and speed, regardless of view transitions.OK. In this case it might be interesting to think through current use-cases for such initial page hiding (e.g. A/B testing comes to mind) and see how they could be implemented using this and whether this would be a positive change. Did such thinking take place?This kind of thinking did take place, though I'm not sure what kind of A/B test you had in mind.I should've been more specific. The use case I had in mind (but haven't fully thought through) was to avoid anti-flicker snippets in A/B testing. (e.g. by including a non-existent ID in <link rel=expect> and then removing the <link> once the appropriate blocking DOM changes were applied)
The design of this looks great. Filed a couple of very minor spec nuts https://github.com/whatwg/html/issues/10180
LGTM1
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADsXd2N7%3D1bHWub6UwxgfvSVdrukfhNTDbWaniW88a4rxxd%2BJw%40mail.gmail.com.
LGTM1
On 3/6/24 11:00 AM, Vladimir Levin wrote:
Re failing tests:The flag is currently in "test" status which I don't believe would be picked up by wpt.fyi experimental run.
Re explainer for non-vt cases:We added several other examples to the explainer (thanks Noam!)
Re console warning:Good catch indeed. We'll make sure to address https://issues.chromium.org/issues/328279707 in a timely manner.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/03e4d6cc-b1f5-43f2-825c-f6c8eb28f006%40chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohSLfsS7ZDG3Pe%2B4DDCqT%3DZaRicOvzD5Pwmm544tcFwWP9A%40mail.gmail.com.