On Mon, Feb 14, 2022 at 11:33 AM Noam Rosenthal <noam.j.rosent...@gmail.com> wrote:
> > > On Saturday, February 12, 2022 at 7:11:29 AM UTC+2 yoav...@chromium.org > wrote: > >> I agree with Domenic that it's great to see this kind of feature, that >> was traditionally unspecified, getting some clearer developer visibility >> and a spec. While there may still be missing pieces, this seems like a good >> start. I'm looking forward to further spec discussions that would hopefully >> lead to convergence and better interop. >> >> On Fri, Feb 11, 2022 at 11:39 PM Domenic Denicola <dom...@chromium.org> >> wrote: >> >>> >>> >>> On Fri, Feb 11, 2022 at 11:53 AM Olli Pettay <olli....@gmail.com> wrote: >>> >>>> FWIW, the comment in the HTML spec triage was positive feedback to have >>>> a spec for this. >>>> The current spec proposal clearly is missing still quite a few cases >>>> (is the idea really that one can use BroadcastChannel with prerendered >>>> page? and the webidl annotation behaves rather oddly) >>>> So it is surprising to see this shipping already now. >>>> >>> >>> Thanks for chiming in, Olli! >>> >>> I have a rather different take. As the team's spec mentor, I'm impressed >>> with the spec work the team has done, on taking what most other browsers >>> have treated as a not-to-be-specified user agent UI feature, and turning it >>> into something much more rigorous and developer-friendly. For example: >>> >>> - The careful auditing of all APIs to see how they should behave in >>> prerendering. >>> - Introducing a well-specified Sec-Purpose: prefetch header, instead >>> of the unspecified X-moz: prefetch or X-Purpose: preview headers. >>> - Considering how to handle edge cases such as redirects, 204s, >>> Content-Disposition: attachment, or pages that do client-side navigation >>> while being prerendered. >>> >>> I think there's definitely still work to be done, as we try to move from >>> the current world where every browser does something different into one >>> that's more fully predictable for web developers. But I think this is >>> similar to other features, like bfcache, where for many years the >>> heuristics and rules used were unspecified (e.g. Cache-Control, unload >>> handlers, BroadcastChannel), and then we've started a slow convergence >>> process as browsers start to care more about interoperability. >>> >>> We can definitely tweak things, like Olli's example of BroadcastChannel, >>> over time and as other browsers indicate willingness to converge. >>> >> >> One potential problem with that approach is that sites may grow to rely >> on that existence of e.g. BroadcastChannel and may break when we take that >> away. >> I don't think that's a risk for the current I2S, as developers are not >> aware that the page is being prerendered outside of the page itself, so the >> chances of them trying to communicate with it are low. >> But that can be a risk for the speculation rules based API, which would >> be good to mitigate. >> >>> >>> Re. BroadcastChannel and friends - it's a totally valid point and > there's an open issue about it ( > https://github.com/WICG/nav-speculation/issues/113). I feel that we > should examine these especially as we move from omnibox to > document-initiated prerenering. > Yeah, just to be clear, I agree page-initiated prerendering multiplies the risks significantly and will thus need more work. I expect there will still be some implementation-dependent behavior (e.g., some implementations may discard a prerender if they use a disruptive API, while others might delay the API results). But things like "does BroadcastChannel work at all or not" are critical to nail down for interoperable page-initiated prerendering. -- 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+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra_sYWF2iuoX9UAofpQQxaxNmO2J1Ui8zCsZi4v0mQ9fEg%40mail.gmail.com.