New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 735854 link

Starred by 4 users

Issue metadata

Status: Verified
Owner:
Closed: Jul 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

After allow Flash plugin command flash content plays only in new tab or after browser restart

Reported by ivankosi...@gmail.com, Jun 22 2017

Issue description

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

Example URL:
http://www.dhs.state.il.us/accessibility/tests/flash/video.html

Steps to reproduce the problem:
1. Option chrome://settings/content/flash Ask First have to be enabled
2. Open page with flash (e.g. http://www.dhs.state.il.us/accessibility/tests/flash/video.html )
3. Click on link in frase "Please install or enable Adobe Flash Player to view this content." (Flash player was already installed in system)
4. You will see "Run flash" dialog. Click Allow. Page will be reloaded. But no flash content.

What is the expected behavior?
After reload of page, flash content have to be displayed.

What went wrong?
No flash content after page reload. We can see the flash content only if we will open new tab with the same URL. Or if we will restart the browser.

Did this work before? Yes 60.0.3110.0

Is it a problem with Flash or HTML5? Flash

Does this work in other browsers? N/A

Chrome version: 61.0.3126.0  Channel: dev
OS Version: Windows 7
Flash Version: 26.0.0.131

Contents of chrome://gpu: 
Graphics Feature Status
Canvas: Hardware accelerated
CheckerImaging: Enabled
Flash: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Enabled
Native GpuMemoryBuffers: Software only. Hardware acceleration disabled
Rasterization: Hardware accelerated
Video Decode: Hardware accelerated
Video Encode: Hardware accelerated
WebGL: Hardware accelerated
WebGL2: Hardware accelerated
Driver Bug Workarounds
clear_uniforms_before_first_program_use
decode_encode_srgb_for_generatemipmap
disable_accelerated_vpx_decode
disable_direct_composition
disable_discard_framebuffer
disable_dxgi_zero_copy_video
disable_framebuffer_cmaa
exit_on_context_lost
force_cube_complete
scalarize_vec_and_mat_constructor_args
texsubimage_faster_than_teximage
Problems Detected
Some drivers are unable to reset the D3D device in the GPU process sandbox
Applied Workarounds: exit_on_context_lost
TexSubImage is faster for full uploads on ANGLE
Applied Workarounds: texsubimage_faster_than_teximage
Clear uniforms before first program use on all platforms: 124764, 349137
Applied Workarounds: clear_uniforms_before_first_program_use
Always rewrite vec/mat constructors to be consistent: 398694
Applied Workarounds: scalarize_vec_and_mat_constructor_args
ANGLE crash on glReadPixels from incomplete cube map texture: 518889
Applied Workarounds: force_cube_complete
Framebuffer discarding can hurt performance on non-tilers: 570897
Applied Workarounds: disable_discard_framebuffer
Direct composition flashes black initially on Win <10: 588588
Applied Workarounds: disable_direct_composition
Zero copy DXGI video hangs on shutdown on Win < 8.1: 621190
Applied Workarounds: disable_dxgi_zero_copy_video
Limited enabling of Chromium GL_INTEL_framebuffer_CMAA: 535198
Applied Workarounds: disable_framebuffer_cmaa
Disable KHR_blend_equation_advanced until cc shaders are updated: 661715
Decode and Encode before generateMipmap for srgb format textures on Windows: 634519
Applied Workarounds: decode_encode_srgb_for_generatemipmap
Zero-copy DXGI video hangs or displays incorrect colors on AMD drivers: 623029
Applied Workarounds: disable_dxgi_zero_copy_video
VPx decoding isn't supported well before Windows 10 creators update.: 616318, 667532
Applied Workarounds: disable_accelerated_vpx_decode
Native GpuMemoryBuffers have been disabled, either via about:flags or command line.
Disabled Features: native_gpu_memory_buffers
 
Cc: pbomm...@chromium.org lafo...@chromium.org ericde@chromium.org
Components: -Internals>Media Internals>Plugins>Flash
Labels: ReleaseBlock-Dev M-61 Needs-Bisect OS-Chrome OS-Linux OS-Mac
Status: Untriaged (was: Unconfirmed)
Able to reproduce with Chrome Canary and dev i.e., 61.0.3138.0 and 61.0.3135.4 respectively on Windows 7,10, Mac and Linux.

Note : Unable to reproduce the same on Stable(59.0.3071.109) and Beta(60.0.3112.40) on Windows 7,10, Mac and Linux
Cc: tommycli@chromium.org

Comment 3 by ericde@google.com, Jun 22 2017

i can't repro this on windows chrome 60.0.3112.32 (beta 64-bit).
Cc: brajkumar@chromium.org
Labels: -Needs-Bisect
Tested this issue on Ubuntu 14.04, Windows-10 and Mac OS 10.12.5 using chrome latest dev 61.0.3138.0.  This issue is not able to reproduce consistently, Able to reproduce this issue after upgrading the chrome to latest canary version but not able to reproduce on the same build after installing the market dev builds manually.

Note: Attaching screen-cast of both the behavior on same version for reference.

Due to inconsistent repro unable to find the regression range to provide bisect information. So, removing bisect label please feel free to add it back if it's required.

Thanks!


Linux Dev.ogv
1.4 MB View Download
Mac Canary.mp4
391 KB View Download
Labels: -ReleaseBlock-Dev
-RB, since its not reproducible.
The bug is easily reproducible by removing your website domain from the flash-allowed list (parameters > content parameter > flash) and reloading chrome.

The "navigator.plugins" list is not updated when flash is activated (there should be an item "Shockwave Flash something" in the list, like in previous versions of chrome).
Since most (all) of flash detection plugins check this "navigator.plugins" entry, it always fail after enabling flash in chrome 61 if the browser is not reloaded.

Comment 7 by ericde@google.com, Jun 30 2017

Cc: -tommycli@chromium.org
Labels: -Pri-2 Pri-1
Owner: tommycli@chromium.org
Status: Assigned (was: Untriaged)
I am not able to repro the bug on windows + chrome 60.0.3112.40. 

However, I was able to repro this on M61.0.3145.0:
[STARTING STATE]
-Flash set to ASK in chrome://settings/content/flash
-no exceptions listed

[REPRO]
1. browse to www.dhs.state.il.us/accessibility/tests/flash/video.html
2. check flash not in navigator.plugins - it's not.
3. click on link to download flash -> "Run Flash" prompt shown
4. click Allow

[RESULT]
-page appears to refresh.
-settings exception is logged now for ALLOW on www.dhs.state.il.us
-but no navigator.plugins listing for "Shockwave Flash"
-and clicking on Flash link is not intercepted anymore - i navigate to flash player download.

As mentioned by frederic in c#6 : you have to close the tab and browse back to the site in new tab. (using existing session no longer works). repro'd this on crunchyroll.com too.

@tommycli : something pretty wonky regressed between 60 & 61. over to you to investigate.

Comment 8 by ericde@google.com, Jun 30 2017

Labels: Needs-Bisect
requesting bisect : repro's on 61.0.3145.0, does not on 60.0.3112.40
Labels: -Needs-Bisect hasbisect
Bisect information:
--------------------
Good build: 61.0.3118.0
Bad build:  61.0.3119.0

Unable to perform per revision bisect due to different plugin settings, After navigating to chrome://settings/content/flash "Ask first" option is not seen to enable it. So providing  manual CL below.

Change Log from Omahaproxy:
------------------------------
https://chromium.googlesource.com/chromium/src/+log/61.0.3118.0..61.0.3119.0?pretty=fuller&n=10000

Unable to find the actual suspect from the above log, Could any one help us in assigning the issue to the concerned owner.

Thanks!
Cc: tommycli@chromium.org
Owner: lfg@chromium.org
Looking at the range, it may be related to Lucas's change to navigator.plugins return value behavior.  Would it be possible to get a narrower bisect w/ Chromium build and a system installation of Flash Player?

https://chromium.googlesource.com/chromium/src/+/819697cf41f496d914415cc88a39e39afe4dfe29
Labels: ReleaseBlock-Beta

Comment 12 by lfg@chromium.org, Jul 5 2017

Status: Started (was: Assigned)

Comment 13 by lfg@chromium.org, Jul 5 2017

This is because I removed the code that clears the plugin data of *all* pages in the renderer process inside Page::RefreshPlugins().

The spec says that "The PluginArray objects created by a user agent must not be live. The set of plugins represented by the objects must not change once an object is created, except when it is updated by the refresh() method."

This piece of code used to change the live object inside all pages in the renderer process, not just the affected page that's currently being reloaded by the flash reload mechanism.

I'll put up a fix for this, but to remain spec-compliant I'll need to force a reload of all the affected pages when the setting changes.

Let me know if anyone has any concerns about this plan.

lfg: Hey Lucas, sorry i did not chime in on your CL sooner.

There's no way we can break the HBD behavior (too many parties rely on it).

Can we schedule a VC so we can find a way to preserve the HBD behavior while still achieving your goal of better spec conformance?

Thanks,

Tommy

Comment 15 by lfg@chromium.org, Jul 5 2017

To update the bug -- I've chatted with Tommy about this and we decided to revert to the previous behavior, even though it's out-of-spec; it only happens when the user explicitly changes the permissions, and it's better than forcing a reload, which could cause other issues (reloading many unneeded tabs, potential loss of form data).

Project Member

Comment 16 by bugdroid1@chromium.org, Jul 7 2017

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

commit a22efb271e62974dc0f1016fbb2d00730079eff9
Author: Lucas Gadani <lfg@chromium.org>
Date: Fri Jul 07 16:25:37 2017

Invalidate navigator.plugins when permissions change.

This fixes reloading of flash plugins when content settings change.

Bug:  735854 
Change-Id: I1f6db54c73436223ecbbcf713034a3a590c2e67d
Reviewed-on: https://chromium-review.googlesource.com/559710
Reviewed-by: Rick Byers <rbyers@chromium.org>
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Commit-Queue: Lucas Gadani <lfg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#484949}
[modify] https://crrev.com/a22efb271e62974dc0f1016fbb2d00730079eff9/third_party/WebKit/Source/core/page/Page.cpp
[modify] https://crrev.com/a22efb271e62974dc0f1016fbb2d00730079eff9/third_party/WebKit/Source/core/page/Page.h
[modify] https://crrev.com/a22efb271e62974dc0f1016fbb2d00730079eff9/third_party/WebKit/Source/web/WebKit.cpp
[modify] https://crrev.com/a22efb271e62974dc0f1016fbb2d00730079eff9/third_party/WebKit/public/web/WebKit.h

Labels: TE-Verified-M61 TE-Verified-61.0.3153.0
Verified this issue on Ubuntu 14.04, Windows-10 and Mac OS 10.12.5 using chrome latest dev #61.0.3153.0. After navigating the flash site www.dhs.state.il.us/accessibility/tests/flash/video.html no "Run flash" dialog has observed, but able to play the video directly. Considering the above fix is working as intended and marking it as TE-Verified label.

Thanks!
735854.ogv
1.1 MB View Download
Status: Verified (was: Started)

Sign in to add a comment