- A new FrameTree::Type enum value for fenced frames as well
--
You received this message because you are subscribed to the Google Groups "navigation-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to navigation-de...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/navigation-dev/CAP-uykDm-2CgZcxgRqhbH4Dfm0vdCc4BMakdYdMQu%3D5xKm-iow%40mail.gmail.com.
They are exclusive in the sense that the RenderFrameHostImpl can only be in one of those states at a time.
--
To unsubscribe from this group and stop receiving emails from it, send an email to prerender+...@chromium.org.
--
To unsubscribe from this group and stop receiving emails from it, send an email to prerender+...@chromium.org.
This is a great question. Naively I was thinking we'd do what portals would do, which is simply disable BFCache, however if we want to host ads in a <fencedframe> element, then disabling BFCache when a <fencedframe> is present would amount to disabling BFCache for a significant portion of the web, which seems bad. In that case it sounds like Fenced Frames would not be exclusive with respect to at least BFCache, hmmm, this would require more significant design discussions then (I'll bring this up in the MPArch technical discussion weekly meeting in a couple of days).Regarding prerendering: I don't think I know enough about the prerendering implementation to have a good answer, and frankly I was hoping I wouldn't have to :) . It would depend on a few questions, which perhaps +Matt Falkenhagen could answer:
- For prerendered pages, what subframes are deferred/restricted: cross-origin subframes? same- and cross-origin subframes?
- Where in the code does the above restriction on subframes happen in prerendered pages?
- Does the restriction on subframes happen so early (in Blink for example) that the deferred subframes don't even have RFHIs yet, or is it later, after RFHI creation?
- Is it safe to assume that fenced frames would not have this restriction applied for free? (I can probably answer this myself with the answer to the above question)
- Do RFHIs for subframes in a prerendering FrameTree all have their lifecycle state set to kPrerendering too?
You received this message because you are subscribed to the Google Groups "chrome-fenced-frames" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chrome-fenced-fr...@google.com.
To view this discussion on the web visit https://groups.google.com/a/google.com/d/msgid/chrome-fenced-frames/CAJ_xCin9iucJ95790EGzBRFqtBRFagtwpGKcWBzwEm132ckLJg%40mail.gmail.com.
Thanks Dom!Overall +1 to adding kFencedFrame both to RFH/RFHI LifecycleState and FrameTreeType from my side.Some more details:- Exclusivity: it's indeed an interesting question, especially w.r.t pages with fenced frames entering bfcache.My opinion here is that the LifecycleState is the abstraction which allows us to communicate to the //content embedders what a particular document should and should not do.Given that the restrictions for bfcache are strictly more strict than restrictions for fenced frames (as the document isn't visible to the user, is frozen and isn't allowed to do pretty much anything),so we should set the lifecycle state to such documents to kBackForwardCache (as the embedder shouldn't do anything differently for "fenced frame in bfcache" vs "iframe in bfcache" situations).
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/navigation-dev/CALHg4nkLRFiZ08Y4twP7Cvr4PZyq%3D%3DnfLCcw%2BTDL-k0h651BYg%40mail.gmail.com.
On Wed, Apr 14, 2021 at 2:58 PM Alexander Timin <alt...@chromium.org> wrote:Thanks Dom!Overall +1 to adding kFencedFrame both to RFH/RFHI LifecycleState and FrameTreeType from my side.Some more details:- Exclusivity: it's indeed an interesting question, especially w.r.t pages with fenced frames entering bfcache.My opinion here is that the LifecycleState is the abstraction which allows us to communicate to the //content embedders what a particular document should and should not do.Given that the restrictions for bfcache are strictly more strict than restrictions for fenced frames (as the document isn't visible to the user, is frozen and isn't allowed to do pretty much anything),so we should set the lifecycle state to such documents to kBackForwardCache (as the embedder shouldn't do anything differently for "fenced frame in bfcache" vs "iframe in bfcache" situations).The more interesting case is a fenced frame in a prerender. But I think these will always be cross-origin right? So in that case we will not navigate them so we will not have the problem.
To view this discussion on the web visit https://groups.google.com/a/google.com/d/msgid/chrome-fenced-frames/CAOL0AG9E9Xst4QsMMOKrVCBY51HrEPT0VnQ%3DC8Xcj2soGWj%2BXw%40mail.gmail.com.
I've mentioned above that I'm not too worried about portals / fenced frames in the bfcache as "being in bfcache" is a more restrictive state than portal (e.g. there isn't anything that you would want to allow in bfcache, but disallow in portal) and the story is the same
with "pending deletion" — it's more strict than bfcache (and this allows us to transition from kInBackForwardCache state to kReadyToBeDeleted while evicting the page from bfcache).