firefox-devtools / profiler

Firefox Profiler — Web app for Firefox performance analysis
https://profiler.firefox.com
Mozilla Public License 2.0
1.2k stars 392 forks source link

Profiler does not work with Strict tracking protection #4085

Open mstange opened 2 years ago

mstange commented 2 years ago

In #4083, ianknowles reports that the profiler does not work with tracking protection set to "Strict" in Firefox on about:preferences#privacy .

I cannot reproduce this; for me the profiler still works with that setting (even after a restart).

@ianknowles, can you provide more details? Is this reproducible in a fresh Firefox profile?

┆Issue is synchronized with this Jira Task

ianknowles commented 2 years ago

image

ianknowles commented 2 years ago

This only actually stops things if I have cookies disabled as well. But its still reported in console with strict settings but enhanced protection disabled.

ianknowles commented 2 years ago

image

ianknowles commented 2 years ago

Perhaps its not picking up cookies are disabled and reporting this error as blocking when its unrelated.

mstange commented 2 years ago

Hmm, maybe it's the use of IndexedDB. But even with cookies disabled I can't reproduce this. I haven't tried very hard though.

@julienw Can you reproduce this?

ianknowles commented 2 years ago

The strict profile is disabled in the second screenshot and cookies are enabled so the DOMException is not related to those settings. Theres also a CSP error reported. Content Security Policy: The page's settings blocked the loading of a resource at inline ("script-src").

EDIT: The CSP seems to be extension related, disabling all of them removes the CSP error, but the DOMException still occurs.

ianknowles commented 2 years ago

Uncaught (in promise) DOMException: A mutation operation was attempted on a database that did not allow mutations. ListOfPublishedProfiles.js:171:11

Switching to private browsing with no extensions and Enhanced Tracking Protection off gives a bit more detail on the exception. Or is this because the db can't be written in private browsing? Will try a new profile.

julienw commented 2 years ago

Yes we're using IDB for some things and this doesn't work in private browsing. I believe it could be made to work in this mode but we haven't invested time to do this.

But I think the SecurityError ins't related to that. Can you please share the full stack as shown in the console? Or is there no stack at all? Otherwise I'm thinking of our use of pushState, or the service worker.

I can't reproduce either. Can you please share your about:support output?