publix.com - Blank page is displayed when clicking on the "Delivery and curbside" button
Categories
(Web Compatibility :: Site Reports, defect, P2)
Tracking
(Webcompat Priority:P1, Webcompat Score:5, firefox132 affected, firefox133 affected, firefox134 affected)
People
(Reporter: ipop, Assigned: twisniewski)
References
()
Details
(4 keywords, Whiteboard: [webcompat-source:product][webcompat:sightline])
User Story
platform:windows,mac,linux,android impact:workflow-broken configuration:general affects:all branch:release diagnosis-team:dom
Attachments
(3 files)
Environment:
Operating system: Windows 10
Firefox version: Firefox 132.0 (release)/134
Preconditions:
- Clean profile
Steps to reproduce:
- Navigate to: https://www.publix.com/?utm_medium=maps&utm_source=extendednetwork&utm_content=psm_website_url
- Click on the "Delivery and curbside" button
- Observe the behavior
Expected Behavior:
The Delivery and curbside page is displayed. https://delivery.publix.com/store/publix/storefront
Actual Behavior:
A blank page is displayed.
Notes:
- Reproducible on the latest Firefox Release and Nightly
- Reproducible regardless of the ETP setting
- Works as expected using Chrome
Created from webcompat-user-report:0b9e5b6d-97a6-4291-85fa-ecc54d070a96
Comment 1•9 months ago
|
||
Needs a US VPN to test.
Comment 2•9 months ago
|
||
I can reproduce.
In Chrome, I see a popup notification saying "Leaving publix.com".
In Firefox, I briefly see that popup notification, and then I end up being redirected immediately to a plain-text document that just says "7" or "10".
Comment 3•9 months ago
•
|
||
A few more observations:
- Chrome mask doesn't help; I can still repro in Firefox with Chrome Mask turned on for this site.
- I can reproduce in Nightly 2021-11-01 96.0a1, so this isn't a regression on our end (or not a recent one).
- When I load the web page here (before I click anything), the web console shows
Uncaught (in promise) DOMException: The operation is insecure.
for something in "up_loader", but that goes away if I disable ETP (but the bug remains even with ETP off); so that's unrelated to this bug. - Web Console does show two cookie errors there, though:
Cookie “optimizelyOptOut” has been rejected for invalid domain.
Cookie “s_ac” has been rejected for invalid domain.Cookie “s_ac” has been rejected for invalid domain.
I don't see those in Chrome's web console, so maybe it's conceivable they're related?
I found one spot where I can sort-of hook in in the debugger just before the page disappears -- you can place a breakpoint on the "y.disconnect" line here, in the beforeunload handler:
https://assets.adobedtm.com/6262187ff74a/e03fc5c503a5/launch-1bddd4271e00.min.js
i.addEventListener(
'beforeunload',
(function () {
y.disconnect(),
i.clearInterval(e)
}),
(That's not necessarily super useful because it doesn't tell you why we're unloading, but it's just a step removed from answering that question...)
Comment 4•9 months ago
|
||
Here's a performance profile which might have some clues:
https://share.firefox.dev/4hHZcMs
Here's a zoomed in portion showing the section where I click and we go blank:
https://share.firefox.dev/3O0y913
In the marker chart there, in the "DOMEvent" track, you can see the click followed by various teardown-related events like "beforeunload", "pagehide"... I'm not 100% sure that those are associated with our switch to the blank page here (vs. the switch to showing the popup), but they might be.
Comment 5•9 months ago
•
|
||
Also interesting: if I hover the link, it shows the link target as:
javascript:EventBus.$emit('InstacartRedirectModal.requestOpen'); window.adobeDataLayer.push({'event': 'header_click', 'context': 'hdr_delivery_&_curbside'});
If I copypaste that string (minus the leading javascript:
) into my Web Console and hit Enter, then I get EXPECTED RESULTS -- the "Leaving publix.com" popup appears, and I can click through it to land on their delivery site.
So that JS does the right thing when I directly execute it, but it's triggering badness when executed via a click for some reason.
Bumping this over to the DOM team's diagnosis-queue at this point - this feels like something with DOM event handling and/or page-navigation-lifecycle-related perhaps. Hoping someone there has cycles to pick this up. Thanks!
Comment 6•9 months ago
|
||
This comes down to how we handle href="javascript:.."
differently than Chrome.
data:text/html,<a href="javascript:6">Click me</a>
will cause a navigation in Firefox, but it doesn't do anything in Chrome.
We thought the returned value was a string, hence a navigation happened afterwards.
This looks like a platform bug, because it returns an integer? Not sure this is a DOM bug or JS bug, and I'd like to double check with the Spidermonkey team so passing this over. Please feel free to pass this back!
Comment 7•9 months ago
|
||
(In reply to Sean Feng [:sefeng] from comment #6)
This comes down to how we handle
href="javascript:.."
differently than Chrome.
data:text/html,<a href="javascript:6">Click me</a>
will cause a navigation in Firefox, but it doesn't do anything in Chrome.
Thanks! That's a good insight. I think we can consider this "diagnosed" as that^ exact difference, and spin off a platform bug to cover that (I'll do that now).
Comment 8•9 months ago
|
||
(restoring diagnosis-team:dom
since sefeng diagnosed this on behalf of dom folks; we can engage in discussion about correctness/further-diagnosis over on the platform bug which is bug 1931058.)
Comment 9•9 months ago
|
||
Since nightly and release are affected, beta will likely be affected too.
For more information, please visit BugBot documentation.
Updated•9 months ago
|
Comment 10•9 months ago
|
||
Now that bug 1931058 has landed I can no longer reproduce this in Nightly but can in release. Marking as fixed.
Updated•9 months ago
|
Updated•7 months ago
|
Updated•6 months ago
|
Assignee | ||
Updated•3 months ago
|
Assignee | ||
Comment 11•3 months ago
|
||
Updated•3 months ago
|
Comment 12•3 months ago
|
||
Comment 13•3 months ago
|
||
bugherder |
Assignee | ||
Updated•3 months ago
|
Updated•3 months ago
|
Assignee | ||
Comment 14•3 months ago
|
||
Bug 1931058 just landed, so we can adjust the intervention to only be active on Firefox versions under 140. But since it's harmless to keep the intervention around, let's wait until we've confirmed that the patch in bug 1931058 is actually going to ship.
Assignee | ||
Comment 15•3 months ago
|
||
Comment 16•3 months ago
|
||
Comment 17•3 months ago
|
||
bugherder |
Comment 18•14 days ago
|
||
Does comment #16 mean this can be closed?
Assignee | ||
Comment 19•14 days ago
|
||
We're still shipping an intervention for earlier ESR builds, so I was keeping the bug open for tracking purposes But I don't mind closing it if we'd rather do so?
Comment 20•14 days ago
|
||
Either way is fine, just asking because I discovered this bug in needs-diagnosis backlog (it doesn't need diagnosis so idk why it lists this one)
Description
•