New issue
Advanced search Search tips

Issue 715431 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: May 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug-Regression



Sign in to add a comment

--disable-bundled-ppapi-flash completely disables Flash since Chrome 58

Reported by san...@goudswaard.nl, Apr 26 2017

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36

Steps to reproduce the problem:
1. Start Chrome with the --disable-bundled-ppapi-flash flag
2. Go to chrome://version
3. Notice that Flash is disabled, not using the internal component

What is the expected behavior?
Only the internal Flash player should have been disabled, and the PPAPI system-installed Flash player should be used.
When removing this flag, I see that the separate Flash player from \Windows\System32\Macromed\Flash is being used.

What went wrong?
After updating to Chrome 58, users did not have Flash anymore. Visiting the About Flash page from Adobe, the applet was not shown, just a puzzle piece. Clicking this placeholder did not prompt to play the Flash movie either.

We have our user profiles on a network drive and have disabled updating Chrome components by policy. See also  Issue 572131 .

Did this work before? Yes 57

Chrome version: 58.0.3029.81  Channel: stable
OS Version: 10.0
Flash Version:
 
Cc: waff...@chromium.org wfh@chromium.org
Will/ Joshua, any ideas what might have changed?
Cc: xhw...@chromium.org
Owner: waff...@chromium.org
Status: Assigned (was: Unconfirmed)
Yeah. This regressed due to https://codereview.chromium.org/2642133004

Xiaohan, I see from the bug that the goal was to disable fake flash if this flag is passed, but I have a fuzzy memory that we discussed in person and for some reason decided to early-return from the entire function rather than limiting the change to just fake-flash registration, do you remember why?
Status: Started (was: Assigned)
Ah, I'm starting to remember now.

--disable-bundled-ppapi-flash has two effects:
 1 • Disable bundled Flash from loading. (Makes sense.)
 2 • Disable component Flash from loading. (Perhaps surprising given the flag name.)

However, it did not disable the registration of fake Flash, which caused  issue 683379 . Since bundled Flash no longer exists, the flag name doesn't make much sense and we incorrectly reinterpreted it to mean "disable Flash" when resolving that issue. (I think we simply forgot about use case 2 above, since it doesn't follow naturally from the flag name.)

So there are at least two possible futures to move into:
 1 • --disable-bundled-ppapi-flash means "disable Flash". (current behavior)
 2 • --disable-bundled-ppapi-flash means "disable component Flash and fake Flash". (i.e. enable command-line Flash or system Flash)

In both cases the flag is misnamed, but for backwards compatibility seems best to take option 2. I'll send a CL.

Comment 4 by xhw...@chromium.org, Apr 27 2017

I don't feel we should keep this command line flag forever for "backwards compatibility" reasons, especially since bundled Flash no longer exists, and the current flag name is so confusing.

Maybe after my last CL, I should've just gone ahead and renamed that flag to --disable-flash. Then this bug won't exist, because specifying --disable-bundled-ppapi-flash will just be a noop, which makes sense since there's no bundled flash. People can use --disable-flash to disable all flash (including the fake flash, which caused  issue 683379 ). And we don't have a confusing flag lingering forever.

WDYT?
Cc: lafo...@chromium.org
To recap, there are four sources of Flash: component, fake, system, and command-line.

I think what is being expressed here is:
 1 • We're committed to not loading component flash out of a network drive.¹
 2 • The code doesn't have perfect network drive detection, and will ignore a working system flash in favor of a broken but more recent component flash.
 3 • Therefore admins need a workaround, which previously was --disable-bundled-ppapi-flash, because that also disables component flash. (Note it *didn't* disable fake flash, so this workaround could break whenever we pushed a new Chrome version.)

¹If this is enforced by our sandbox, I wonder if we can copy/call whatever code is used to detect that it is a network drive? If we fix the imperfect detection in 2•, this whole issue goes away. I don't understand why the sandbox and the plugin code should ever disagree. Will, can you educate me?

If that's feasible then we can just do that, remove --disable-bundled-ppapi-flash and create --disable-flash, and everyone will be happy.

If that's infeasible then I still have no objection to creating --disable-flash, but feel we still need a workaround of some sort for admins who need to use system flash. That workaround could be:
 a • create another flag --disable-component-flash, which disables component and fake flash.
 b • repurpose --disable-bundled-ppapi-flash, acknowledging that most users passing this flag are trying to use this workaround
 c • push people to use group policy controls to disable binary component updates.
       • They should do this anyways, because they'll have similar issues with Widevine, PNaCl, and other components.
       • Currently the group policy does _not_ disable fake flash, and it should. (Fake flash should be disabled whenever component flash is.)
       • Not all users may be joined to a domain.
       • Users may already have a Flash component, in which case disabling the update won't force system Flash.

Comment 6 Deleted

Waff, appreciating your 'internal issues' and the hurdles you need to overcome and having said that, as an admin all I need is something like --use-system-flash.
Project Member

Comment 8 by bugdroid1@chromium.org, May 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e389863c1b80cdfa819bea395fd4d5770c161ee7

commit e389863c1b80cdfa819bea395fd4d5770c161ee7
Author: waffles <waffles@chromium.org>
Date: Tue May 02 22:46:22 2017

Allow command-line and system Flash when --disable-bundled-pepper-flash.

BUG= 715431 

Review-Url: https://codereview.chromium.org/2845823002
Cr-Commit-Position: refs/heads/master@{#468801}

[modify] https://crrev.com/e389863c1b80cdfa819bea395fd4d5770c161ee7/chrome/common/chrome_content_client.cc

Status: Fixed (was: Started)
This should be fixed in tomorrow's canary. As implied by the CL description, the behavior of --disable-bundled-pepper-flash is now "disable component and fake flash (but allow system and command-line flash)".
Correction: everywhere I said "--disable-bundled-pepper-flash" I meant "--disable-bundled-ppapi-flash".
Labels: Merge-Request-59
The CL looks pretty straight forward.  We should try to get this into M59 if at all possible.
Project Member

Comment 12 by sheriffbot@chromium.org, May 3 2017

Labels: -Merge-Request-59 Hotlist-Merge-Approved Merge-Approved-59
Your change meets the bar and is auto-approved for M59. Please go ahead and merge the CL to branch 3071 manually. Please contact milestone owner if you have questions.
Owners: amineer@(Android), cmasso@(iOS), gkihumba@(ChromeOS), Abdul Syed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 13 by bugdroid1@chromium.org, May 4 2017

Labels: -merge-approved-59 merge-merged-3071
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a7a943871fc4093d1e9e34a719293fec09c3f309

commit a7a943871fc4093d1e9e34a719293fec09c3f309
Author: Joshua Pawlicki <waffles@google.com>
Date: Thu May 04 15:35:37 2017

Allow command-line and system Flash when --disable-bundled-pepper-flash.

BUG= 715431 

Review-Url: https://codereview.chromium.org/2845823002
Cr-Commit-Position: refs/heads/master@{#468801}
(cherry picked from commit e389863c1b80cdfa819bea395fd4d5770c161ee7)

Review-Url: https://codereview.chromium.org/2862583007 .
Cr-Commit-Position: refs/branch-heads/3071@{#399}
Cr-Branched-From: a106f0abbf69dad349d4aaf4bcc4f5d376dd2377-refs/heads/master@{#464641}

[modify] https://crrev.com/a7a943871fc4093d1e9e34a719293fec09c3f309/chrome/common/chrome_content_client.cc

Cc: kkaluri@chromium.org
Labels: TE-Verified-M59 TE-Verified-59.0.3071.47
Verified this issue on Windows 10 with chrome #59.0.3071.47

These are the steps followed 
1. Start Chrome with the --disable-bundled-ppapi-flash flag
2. Go to chrome://version
3. flash version and flash path is displayed.

Able to play the flash video from "drmtest2.adobe.com/AccessPlayer/player.html" even though the flash is disabled.

Hence adding TE-Verified labels

Attaching the screen-cast for reference.


Issue 715431.mp4
3.7 MB View Download

Sign in to add a comment