Closed Bug 1508639 Opened 6 years ago Closed 3 years ago

Videos on nhl.com are not played while ETP is set to STRICT

Categories

(Web Compatibility :: Desktop, defect, P3)

Firefox 65
Desktop
Windows 10
defect

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1705111

People

(Reporter: sergiu, Unassigned)

References

(Blocks 2 open bugs, )

Details

(Whiteboard: [tp-content][tp-ads][tp-yellowlist-passive][tp-shim-complex][tp-embedded-media])

User Story

gstatic.com
googleapis.com
adsafeprotected.com
Environment: Operating system: Windows 10 Pro Firefox version: Firefox Nightly 65.0a1 (2018-11-19) (64-bit) Prerequisites: Enable Basic Tracking Protection Steps to reproduce: 1. Navigate to: https://www.nhl.com/wild/video/boudreau-postgame-vs-vancouver/t-277437412/c-62955503 2. Play the video. Expected Behavior: The video is played. Actual Behavior: Nothing happens. Notes: 1. Screenshot attached: http://prntscr.com/lko4pm
This is related to `tpvideo` breakage #1400025 Looking at the devtools console, here are the blocked resources: The resource at “https://bamtech.tt.omtrdc.net/m2/bamtech/mbox/json?mbox=target-global-mbox&mboxSession=2c7c21bec7a04e59aed5c3b421629fd8&mboxPC=9cdbb9f4bc0e413fa605b700327833bf.26_16&mboxPage=3e377c82dc224a788185af47036543fa&mboxRid=04b3ce75731647d7a240450d29feeff0&mboxVersion=1.5.0&mboxCount=1&mboxTime=1542721959543&mboxHost=www.nhl.com&mboxURL=https%3A%2F%2Fwww.nhl.com%2Fwild%2Fvideo%2Fboudreau-postgame-vs-vancouver%2Ft-277437412%2Fc-62955503&mboxReferrer=&browserHeight=966&browserWidth=1416&browserTimeOffset=120&screenHeight=1080&screenWidth=1920&colorDepth=24&devicePixelRatio=1&screenOrientation=landscape&webGLRenderer=ANGLE%20(ATI%20Radeon%203000%20Graphics%20Direct3D11%20vs_4_0%20ps_4_0)&mboxMCSDID=51782BD8E48C80D4-7D4B1021E5F93293&mboxMCGVID=68291807964766776065232418116885031419&mboxAAMB=j8Odv6LonN4r3an7LhD3WZrU1bUpAkFkkiY1ncBR96t2PTI&mboxMCGLH=6” was blocked because content blocking is enabled.[Learn More] c-62955503 The resource at “https://www.googletagmanager.com/gtm.js?id=GTM-NM7XFN” was blocked because content blocking is enabled.[Learn More] c-62955503 The resource at “https://dpm.demdex.net/id?d_visid_ver=3.1.2&d_fieldgroup=MC&d_rtbd=json&d_ver=2&d_orgid=25823F955A99D5040A495C1D%40AdobeOrg&d_nsid=0&d_mid=68291807964766776065232418116885031419&d_blob=j8Odv6LonN4r3an7LhD3WZrU1bUpAkFkkiY1ncBR96t2PTI&ts=1542714759622” was blocked because content blocking is enabled.[Learn More] c-62955503 The resource at “https://www.google-analytics.com/analytics.js” was blocked because content blocking is enabled.[Learn More] c-62955503 The resource at “https://connect.facebook.net/en_US/fbevents.js” was blocked because content blocking is enabled.[Learn More] c-62955503 The resource at “https://sb.scorecardresearch.com/beacon.js” was blocked because content blocking is enabled.[Learn More] c-62955503 The resource at “https://js-agent.newrelic.com/nr-632.min.js” was blocked because content blocking is enabled.[Learn More] c-62955503 The resource at “https://acdn.adnxs.com/prebid/c/nhl_prebidv1/pb.js” was blocked because content blocking is enabled.[Learn More] c-62955503 The resource at “https://cdn.adsafeprotected.com/iasPET.1.js” was blocked because content blocking is enabled.[Learn More] c-62955503 The resource at “https://www.googletagservices.com/tag/js/gpt.js” was blocked because content blocking is enabled.[Learn More] c-62955503 The resource at “https://static.adsafeprotected.com/vans-adapter-google-ima.js” was blocked because content blocking is enabled.[Learn More] c-62955503 So these are the domains to test: bamtech.tt.omtrdc.net www.googletagmanager.com dpm.demdex.net www.google-analytics.com connect.facebook.net sb.scorecardresearch.com js-agent.newrelic.com acdn.adnxs.com cdn.adsafeprotected.com www.googletagservices.com static.adsafeprotected.com I opened the URL in a fresh browser profile (Firefox Nightly 63, uMatrix installed, normal mode) and loaded the page. The page did not fully load. I disabled the Spoof Referrer option in uMatrix and then *WHITELISTED*: nhlstatic.com bamcontent.com gstatic.com imasdk.googleapis.com adsafeprotected.com nhl.com After this, the page loaded, and the video played. The other resources didn't help. http://prntscr.com/lkoklk nhlstatic.com can not be found in any of the lists bamcontent.com can not be found in any of the lists gstatic.com can be found in the disconnect-blacklist.json and disconnect-entitylist.json googleapis.com can be found in the disconnect-blacklist.json and disconnect-entitylist.json adsafeprotected.com can be found in the disconnect-blacklist.json and disconnect-entitylist.json nhl.com can not be found in any of the lists So in conclusion: gstatic.com - Content = [tp-content] googleapis.com - Content = [tp-content] adsafeprotected.com - Advertising = [tp-ads]
Blocks: tpvideo
User Story: (updated)
Whiteboard: [tp-content][tp-ads]
Product: Tech Evangelism → Web Compatibility

In strict mode, I see this in the console:

TypeError: can't access property "publish", this.dispatcher is undefined index.js.gz:40:6346
    onerror https://www-league.nhlstatic.com/nhl.com/sections/video/builds/6042dcbaf08f9f019e2af3cdbf3bddd48df62e13_1581528057/scripts/index.js.gz:40

It's failing here, hitting b.onerror because the script fails to load and triggers an error:

function h() {
var a = this,
b = document.createElement('script'),
c = _.get(a.config, 'ias.imaUrl');
return c ? (b.src = c, b.onload = function () {
i.call(a)
}, b.onerror = function (a) {
this.dispatcher.publish(AdEvents.AD_PLUGIN_ERROR)
}, b.type = 'text/javascript', void document.getElementsByTagName('body') [0].appendChild(b))  : (_.set(a.config, 'ias.iasImaAdapterEnabled', !1), !1)
}

That's because the script https://static.adsafeprotected.com/vans-adapter-google-ima.js is being blocked, triggering the error callback.

If I prevent that error by "allowing" the request, but replacing its contents with a blank string, then the pre-video ads play and the video plays just fine. So we may be able to fix this just by acting as though the script loaded.

I just confirmed with urlclassifier.trackingSkipURLs that the above spoof should indeed work, though we will also need to whitelist https://pubads.g.doubleclick.net/gampad/ads.

Whiteboard: [tp-content][tp-ads] → [tp-content][tp-ads][tp-yellowlist-passive][tp-shim-complex][tp-embedded-media]

After some testing with shims, it turns out that both the AdSafeProtected Google IMA adapter and Google Publisher Tags should be shimmed here for best effect. This allows an ad to still play when the user clicks on the video, so we may want to warn the user in advance.

Summary: Videos on nhl.com are not played while CB is ON → Videos on nhl.com are not played while ETP is set to STRICT

This does not reproduce with ETP set to STANDARD.

https://prnt.sc/xct45d

Environment:
Operating System: Windows 10 PRO x64
Firefox Version: Firefox Nightly 86.0a1 (2021-01-20) (64-bit)

(In reply to Thomas Wisniewski [:twisniewski] from comment #5)

After some testing with shims, it turns out that both the AdSafeProtected Google IMA adapter and Google Publisher Tags should be shimmed here for best effect. This allows an ad to still play when the user clicks on the video, so we may want to warn the user in advance.

These two shims were added in bug 1637329. The Publisher Tags shim was enabled in bug 1693386.

The Ad Safe shim is enabled in Nightly only. Does the issue still happen with ETP Strict in Nightly?

https://searchfox.org/mozilla-central/rev/2e592c660fbed485a5376be8d14fde99671a4df3/browser/extensions/webcompat/data/shims.js#100-114

Videos now also play on nhl.com in strict mode/private browsing as of bug 1705111, which will be shipping on desktop Firefox 89.

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.