Closed Bug 1234355 Opened 9 years ago Closed 9 years ago

Remove "Don't ask me again" footgun option from the "enable DRM" info bar notification

Categories

(Firefox :: General, defect, P1)

defect

Tracking

()

RESOLVED FIXED
Firefox 47
Tracking Status
firefox43 --- affected
firefox44 --- affected
firefox45 --- fixed
firefox46 --- fixed
firefox47 --- fixed

People

(Reporter: cpeterson, Assigned: cpeterson)

Details

Attachments

(5 files)

We should replace the "You must enable DRM to play some audio or video on this page" info bar's "Options" drop-down menu with a "Not Now" button. If we allow the user to "Don't ask me again", then they will get into a state where they don't know why Netflix doesn't work. If this message is nagging the user too much, then they should either enable the Adobe CDM or stop trying to play DRM video with DRM disabled!

https://mxr.mozilla.org/mozilla-central/source/browser/locales/en-US/chrome/browser/browser.properties#670
Javaun - can you find someone to work on this in Firefox?
Flags: needinfo?(jmoradi)
Part 1: Remove "Don't ask me again" footgun option from the "Enable DRM" info bar notification. To dismiss the EME notification without enabling DRM, the user can just click the bar's [X] button.

We suspect the EME notification bar's "Don't ask me again" menu item (in the bar's Options menu) is a bad UX and can lead the user into a state where they don't know why Netflix doesn't work. If this message is nagging the user too much, then they should either enable the Adobe CDM or stop trying to play DRM video with DRM disabled! :)
Assignee: nobody → cpeterson
Status: NEW → ASSIGNED
Flags: needinfo?(jmoradi)
Attachment #8711429 - Flags: review?(spohl.mozilla.bugs)
Part 2: Remove unused EME drmContentCDMNotSupported.64bit.message. Now that we support Adobe's CDM on both 32-bit and 64-bit Firefox, the "video on this page requires DRM software that this 64-bit build does not support" error message is no longer necessary.
Attachment #8711430 - Flags: review?(spohl.mozilla.bugs)
Philipp, here is a screenshot of our new proposed EME notification bar.

We suspect the EME notification bar's "Don't ask me again" menu item can lead the user into a state where they don't know why Netflix doesn't work. If this message is nagging the user too much, then they should either enable the Adobe CDM or stop trying to play DRM video with DRM disabled! :)

With the "Don't ask me again" menu item removed, we no longer need the "Options" drop-down menu either. Do you see any problems with this new design? Or only having the bar's small [X] button to dismiss the EME notification if the user doesn't want to enable DRM?
Attachment #8711432 - Flags: ui-review?(philipp)
For comparison, here is a screenshot of the current EME notification bar with the "Don't ask me again" option.
Attachment #8711429 - Attachment description: 1234355_part-1-remove-options-button.patch → part-1-remove-options-button.patch
Attachment #8711430 - Attachment description: 1234355_part-2-remove-64bit-message.patch → part-2-remove-64bit-message.patch
Attachment #8711429 - Flags: review?(spohl.mozilla.bugs) → review+
Comment on attachment 8711430 [details] [diff] [review]
part-2-remove-64bit-message.patch

Review of attachment 8711430 [details] [diff] [review]:
-----------------------------------------------------------------

This change should probably have its separate bug, but since this is a rather small change, I'm fine with it here. Just one question (see below), but r+ from me either way.

::: browser/base/content/browser-eme.js
@@ +102,4 @@
>      if (notificationId == "drmContentCDMNotSupported" &&
>          keySystem.startsWith("com.adobe")) {
>        let os = Services.appinfo.OS.toLowerCase();
> +      if (os.startsWith("linux") || os.startsWith("darwin")) {

Can we write this as:
if (!os.startsWith("win")) {
  ...
}
or is there a reason against that?
Attachment #8711430 - Flags: review?(spohl.mozilla.bugs) → review+
(In reply to Stephen A Pohl [:spohl] from comment #6)
> Comment on attachment 8711430 [details] [diff] [review]
> part-2-remove-64bit-message.patch
> 
> Review of attachment 8711430 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> This change should probably have its separate bug

Oh, this is the message in the dropdown, isn't it? Nevermind my comment then. Carry on. :-)
(In reply to Stephen A Pohl [:spohl] from comment #7)
> (In reply to Stephen A Pohl [:spohl] from comment #6)
> > Comment on attachment 8711430 [details] [diff] [review]
> > part-2-remove-64bit-message.patch
> > 
> > Review of attachment 8711430 [details] [diff] [review]:
> > -----------------------------------------------------------------
> > 
> > This change should probably have its separate bug
> 
> Oh, this is the message in the dropdown, isn't it? Nevermind my comment
> then. Carry on. :-)

sigh, s/dropdown/info bar notification/
(In reply to Stephen A Pohl [:spohl] from comment #6)
> Comment on attachment 8711430 [details] [diff] [review]
> ::: browser/base/content/browser-eme.js
> @@ +102,4 @@
> >      if (notificationId == "drmContentCDMNotSupported" &&
> >          keySystem.startsWith("com.adobe")) {
> >        let os = Services.appinfo.OS.toLowerCase();
> > +      if (os.startsWith("linux") || os.startsWith("darwin")) {
> 
> Can we write this as:
> if (!os.startsWith("win")) {
>   ...
> }
> or is there a reason against that?

I just wanted to minimize the code changes, but !win makes sense. I don't know if Firefox on other operating systems (Android or BSD?) might fall through this code path. That would break the existing assumption that !linux implies Mac OS X.
backed out for test failures like https://treeherder.mozilla.org/logviewer.html#?job_id=20466540&repo=mozilla-inbound
Flags: needinfo?(cpeterson)
These test errors are regressions from bug 1242321:

INFO TEST-UNEXPECTED-FAIL | dom/tests/mochitest/general/test_interfaces.html | If this is failing: DANGER, are you sure you want to expose the new interface MediaKeyError to all webpages as a property on the window (XBL: false)? Do not make a change to this file without a  review from a DOM peer for that specific change!!! (or a JS peer for changes to ecmaGlobals)
Flags: needinfo?(cpeterson)
https://hg.mozilla.org/mozilla-central/rev/db9f445144e2
https://hg.mozilla.org/mozilla-central/rev/3d625e289ebf
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 47
Comment on attachment 8711429 [details] [diff] [review]
part-1-remove-options-button.patch

Approval Request Comment
[Feature/regressing bug #]: 

[User impact if declined]: This patch removes the EME notification bar's "Don't ask me again" menu item because we suspect it can lead the user into a state where they don't know why Netflix doesn't work. If this message is nagging the user too much, then they should either enable the Adobe CDM or stop trying to play DRM video with DRM disabled! :)

[Describe test coverage new/current, TreeHerder]: Tested on Nightly for a couple days.

[Risks and why]: Low risk because this notification bar is only shown in the uncommon case where a user tries to play Netflix after they have disabled EME (unchecked the "Play DRM content" setting). We know this does actually happen. :)

[String/UUID change made/needed]: Some localized strings are removed (e.g. "Don't ask me again"), but no strings are added or modified.
Attachment #8711429 - Flags: approval-mozilla-beta?
Attachment #8711429 - Flags: approval-mozilla-aurora?
Chris, could you write a new patch without the string removals? l10n folks prefer to keep them in an uplift.

Thanks
Flags: needinfo?(cpeterson)
Attachment #8711429 - Flags: approval-mozilla-beta?
Attachment #8711429 - Flags: approval-mozilla-aurora?
Flags: needinfo?(cpeterson)
Attachment #8711432 - Flags: ui-review?(philipp)
I rebased this patch (part 1) for uplift and removed the string deletions.

Approval Request Comment
[Feature/regressing bug #]: 

[User impact if declined]: This patch removes the EME notification bar's "Don't ask me again" menu item because we suspect it can lead the user into a state where they don't know why Netflix doesn't work. If this message is nagging the user too much, then they should either enable the Adobe CDM or stop trying to play DRM video with DRM disabled! :)

[Describe test coverage new/current, TreeHerder]: Tested on Nightly for a couple days.

[Risks and why]: Low risk because this notification bar is only shown in the uncommon case where a user tries to play Netflix after they have disabled EME (unchecked the "Play DRM content" setting). We know this does actually happen. :)

[String/UUID change made/needed]: Some localized strings are removed (e.g. "Don't ask me again"), but no strings are added or modified.
Attachment #8714505 - Flags: approval-mozilla-beta?
Attachment #8714505 - Flags: approval-mozilla-aurora?
Comment on attachment 8714505 [details] [diff] [review]
part-1-remove-options-button_REBASED-FOR-UPLIFT.patch

Removes a notification bar, ok in m-c, ok to uplift to aurora and beta.
Attachment #8714505 - Flags: approval-mozilla-beta?
Attachment #8714505 - Flags: approval-mozilla-beta+
Attachment #8714505 - Flags: approval-mozilla-aurora?
Attachment #8714505 - Flags: approval-mozilla-aurora+
[bugday-20160323]

Status: RESOLVED,FIXED -> VERIFIED

Comments:
STR: 
From given, I can say that rather than checkbox, DRM requires more options for the users if they want to customize their media experience.

Component: 
Name 			Firefox
Version			46.0b9
Build ID		20160322075646
Update Channel          beta
User Agent		Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0
OS			Windows 7 SP1 x86_64

Expected Results: 
Customized button for DRM contents.

Actual Results: 
Only Enable now button is there without any other options.
(In reply to Mayur Patil from comment #23)
> Customized button for DRM contents.

We make it possible to disable DRM for those who find it objectionable. Why should it be customisable? Who does it serve?
For the record, I am one of "those people" who tries to play Netflix with DRM content disabled.. the reason I do this is because I prefer to use the Silverlight player which Netflix still fully supports as it has a hidden menu (alt+shift+Lclick > stream manager) that allows me to force a specific stream quality setting which the DRM version of the player does not have.

I would very much like to see the "Do not ask again" option re-instated, even if it is only available after changing an about:config setting or something, so that normal uses won't get into the "don't know why Netflix doesn't work" state, but people who have Silverlight or otherwise know what they are doing have the option to bypass that admittedly otherwise handy safety feature!
There is an option in Netflix's user interface to opt for higher quality. Go: Your Account > My Profile > Playback Settings > Data Usage per Screen.

You can also select a specific resolution in the Netflix player by pressing CTRL+ALT+SHIFT+S.

I find the Silverlight player drops frames, and that the HTML5 player is thus a vastly superior experience.

(In reply to Chris Peterson [:cpeterson] from comment #0)

We should replace the "You must enable DRM to play some audio or video on
this page" info bar's "Options" drop-down menu with a "Not Now" button. If
we allow the user to "Don't ask me again", then they will get into a state
where they don't know why Netflix doesn't work. If this message is nagging
the user too much, then they should either enable the Adobe CDM or stop
trying to play DRM video with DRM disabled!

It's the Netflixes trouble only, since they(but not the user) failed with using open standards and satisfying the Mozilla principles.

(In reply to Chris Peterson [:cpeterson] from comment #2)
<snip>

We suspect the EME notification bar's "Don't ask me again" menu item (in the
bar's Options menu) is a bad UX and can lead the user into a state where
they don't know why Netflix doesn't work. If this message is nagging the
user too much, then they should either enable the Adobe CDM or stop trying
to play DRM video with DRM disabled! :)

Seems like this option hasn't aged well. Some websites (eg the national
Australian publisher https://theage.com.au) seem to have enabled DRM
based video on their pages today.

So, literally every article now shows this warning at the top. eg:

Clicking the [x] option on the right hand side to close the warning... only
seems to affect that page load.

Having, explicitly disabled DRM and set Firefox to not automatically
play audio or video (with no exceptions)... having Firefox then nag me to
enable DRM (not going to happen) on every page load seems like very poor
UX (viewed through today's perspective).

At least setting the about:config options media.gmp-widevinecdm.enabled
and media.gmp-widevinecdm.visible to false seems to work, disabling the
warning. (Note, those were discovered from BZ #1451762, where
other people have pointed out the same problem.)

It might be time to revisit this, considering some major national news websites
are triggering this warning on every page load.

(In reply to Justin Clift from comment #28)

Seems like this option hasn't aged well. Some websites (eg the national
Australian publisher https://theage.com.au) seem to have enabled DRM
based video on their pages today.

So, literally every article now shows this warning at the top. eg:
...
Clicking the [x] option on the right hand side to close the warning... only
seems to affect that page load.

Having, explicitly disabled DRM and set Firefox to not automatically
play audio or video (with no exceptions)... having Firefox then nag me to
enable DRM (not going to happen) on every page load seems like very poor
UX (viewed through today's perspective).

Hi Justin, thanks for reporting this issue. I know these popups on every page must be annoying.

@ Bryce, what is our expected UX behavior for news sites that insist on accessing EME APIs on every page? I can reproduce the info bar on every page in Firefox 87, but not in Beta 88 or Nightly 89 for some reason. Do the pre-release channels have any different settings?

@ Romain, will Proton be redesigning the EME DRM permission prompt?

Flags: needinfo?(rtestard)
Flags: needinfo?(bvandyk)

The EME DRM permission prompt was refreshed to align with proton styles and moved to info status.
We did not change behavior but I agree that 2 scenarios could be improved:

  • For users who enable DRM (or on Mac or Windows where DRM is default ON) - no need to persist a button on the URL bar which just adds confusion to the vast majority of users who won't know what DRM is.
  • For users who disable DRM (or on Linux where I understand DRM is default off) - displaying the infobar each time a page attempts accessing the EME API. There may be better heuristics to trigger the infobar (only once per domain? only once per session?). Likely something to get UX involved in.
Flags: needinfo?(rtestard)

Likely something to get UX involved in.

Yeah, sounds like the right approach. :)

@ Bryce, what is our expected UX behavior for news sites that insist on accessing EME APIs on every page? I can reproduce the info bar on every page in Firefox 87, but not in Beta 88 or Nightly 89 for some reason. Do the pre-release channels have any different settings?

This is the currently expected behaviour, but agree it could be made more ergonomic. The prompt is triggered by pages requesting access to DRM APIs so will happen regardless of autoplay settings for most sites (they request access prior to playing, typically). I'm not aware of differences on release and other channels.

We can support code changes on the gecko side for different behaviour, much of the work would be getting the UX in place for something like a "don't ask me again for this domain" style option.

Flags: needinfo?(bvandyk)

Disabling DRM per domain or globally would seem most user friendly, in other words:

"Don't ask me again for this domain"
"Don't ask me again for any domain"

Perhaps the second ("any domain") option could be added under Preferences?

Digital Rights Management (DRM) Content
[ ] Play DRM-controlled content
[ ] Disable DRM for all domains <<< ADD THIS?

Thanks @Justin Clift for sharing a temporary solution, until this gets a checkbox where you as a user can disable it. I can confirm that setting these properties to false under about:config disables the DRM bar:

  • media.gmp-widevinecdm.enabled
  • media.gmp-widevinecdm.visible
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: