Closed Bug 1677442 Opened 6 months ago Closed 5 months ago

360° animation doesn't load on store.hp.com with ETP - Standard Level 2 enabled

Categories

(Core :: Privacy: Anti-Tracking, defect, P1)

Desktop
Windows 10
defect

Tracking

()

VERIFIED FIXED
85 Branch
Tracking Status
firefox85 --- verified
firefox86 --- verified

People

(Reporter: oanaarbuzov, Assigned: pbz)

References

(Blocks 2 open bugs, )

Details

Attachments

(2 files)

Environment:
Browser / Version: Firefox Nightly
Operating System: Windows

Prerequisites:
ETP - Standard enabled.

Steps to reproduce:

  1. Navigate to https://store.hp.com/ItalyStore/Merch/Product.aspx?id=3A661EA&opt=ABZ&sel=NTB
  2. Click "360°" option.
  3. Click the "360°" icon.
  4. Observe the screen.

Expected Behavior:
360° animation loads.

Actual Behavior:
360° animation doesn't load.

Notes:

  1. Screenshot attached.
  2. The issue is not reproducible with ETP disabled.

This is caused by cookie blocking d3nkfb7815bs43.cloudfront.net. This is a bit surprising since it doesn't seem to be frame related. Will need to dig further

Severity: -- → S3
Priority: P3 → P1
Summary: 360° animation doesn't load on store.hp.com with ETP - Standard enabled → 360° animation doesn't load on store.hp.com with ETP - Standard Level 2 enabled
Assignee: nobody → senglehardt
Status: NEW → ASSIGNED

(In reply to Steven Englehardt [:englehardt] from comment #1)

This is caused by cookie blocking d3nkfb7815bs43.cloudfront.net. This is a bit surprising since it doesn't seem to be frame related. Will need to dig further

I think it's frame related. The site embeds an iframe with a 3D viewer. The request fails because BabylonJS (the 3d library) tries to access indexedDB from the third party context (d3nkfb7815bs43.cloudfront.net). It performs feature detection, but doesn't seem to properly catch errors accessing the API.
Disabling indexedDB seems to fix it, causing it to fetch the 3d resource via network.

Thanks for letting me take over the bug Steven!

Can we fix this via webcompat intervention for 85? I've created a draft here: https://gist.github.com/Trikolon/6415f1e8fd14606e3fa2c054ecc793e5

Removing window.indexedDB for the frame will cause BabylonJS to gracefully fallback to fetching the resource via HTTP:
https://github.com/BabylonJS/Babylon.js/blob/b3b0bf4e1c52d4147245b88d60b984b160ab47da/src/Offline/database.ts#L178

Assignee: senglehardt → pbz
Flags: needinfo?(dschubert)

You missed our 85 release by a day. :/ But the HP store as a relative high site rank, so it might be worth doing a last-minute patch.

Ksenia, do you have the time to add this intervention on a short notice and have it included in the 85 train?

Flags: needinfo?(dschubert) → needinfo?(kberezina)

Yeah, will add it today

Flags: needinfo?(kberezina)
Pushed by dschubert@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b7fd761dcf6e
Import v18.1.0 webcompat addon sources. r=denschub,webcompat-reviewers
Status: ASSIGNED → RESOLVED
Closed: 5 months ago
Resolution: --- → FIXED
Target Milestone: --- → 85 Branch
Flags: qe-verify+

I managed to re produce the issue using an older version of Nightly from 2020-11-16.
I retested everything using Nightly 86.0a1 and Firefox 85.0b2 on Windows 10 x64, Ubuntu 18.04 x64 and macOS 10.13. The issue is not reproducing anymore.

Status: RESOLVED → VERIFIED
Flags: qe-verify+

I've updated the URL updated: https://store.hp.com/ItalyStore/Merch/Product.aspx?id=7VZ09EA&opt=ABZ&sel=NTB

The 360° animation loads now regardless if ETP is enabled or not, due to the Intervention added to store.hp.com (about:compat).
https://prnt.sc/y9lkzk

Tested with:
Browser / Version: Firefox Nightly 87.0a1 (2021-02-03)
Operating System: Windows 10 Pro

It seems that 360° animation no longer loads on any browser. Thus this is a Site issue.
https://prnt.sc/12vey2n

Tested with:
Browser / Version: Firefox Nightly 90.0a1 (2021-05-12), Chrome 90.0.4430.93, Microsoft Edge 90.0.818.56 , Opera 76.0.4017.123
Operating System: Windows 10 Pro

See Also: → 1711003
You need to log in before you can comment on or make changes to this bug.