[Webkit-unassigned] [Bug 250781] BFCache sporadically skips entries

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Aug 31 16:00:09 PDT 2023


https://bugs.webkit.org/show_bug.cgi?id=250781

--- Comment #11 from Chris Dumez <cdumez at apple.com> ---
(In reply to David Dworken from comment #9)
> After further investigation, we have come up with a minimal reproduction
> test case that demonstrates COOP changing the behavior of the back/forward
> button in the latest version of Safari. While this test case may seem
> convoluted, it is a direct corollary to a Google product where enabling COOP
> for Safari caused a breakage. The scenario is:
> 
> 1. User is on some base page, that opens a popup to Page1
> 2. Page1 has a HTML form that auto-submits via JS to trigger a POST request
> to Page2
> 3. Page2 does a meta redirect to some final page
> 4. User hits the back button on the final page 
> 
> In this scenario, Safari will normally detect that Page1 and Page2 are
> redirects with no user interaction, and it will skip them when hitting the
> back button. Thus, hitting the back button will normally just close the
> popup. 
> 
> If COOP is enforced, Safari's heuristics here seem to fail which causes the
> user to get navigated back to Page1. Page1 then redirects the user to Page2
> and then the final page, ultimately resulting in the user ending up on the
> same page as they started on, even when they hit the back button. 
> 
> You can observe this behavior by comparing the behavior of these two links
> in the latest version of Safari:
> 
> *
> https://pattern-dog-larkspur.glitch.me/safari-coop-bf-heuristic?coop=unsafe-
> none
> *
> https://pattern-dog-larkspur.glitch.me/safari-coop-bf-heuristic?coop=same-
> origin-allow-popups

Looking at https://pattern-dog-larkspur.glitch.me/safari-coop-bf-heuristic?coop=same-origin-allow-popups, it looks like only the page2 (with the meta redirect) actually serves the `coop: same-origin-allow-popups` header? The others seems to have `coop=same-
> origin-allow-popups` as GET parameter but don't actually serve the HTTP header.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20230831/facbdd2d/attachment.htm>


More information about the webkit-unassigned mailing list