[e10s] Flash plugin does not draw with dom.ipc.plugins.asyncInit = true

RESOLVED FIXED in Firefox 38

Status

()

Core
Plug-ins
RESOLVED FIXED
3 years ago
2 years ago

People

(Reporter: handyman, Assigned: aklotz)

Tracking

unspecified
mozilla38
x86
Mac OS X
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(e10sm6+, firefox38 fixed)

Details

Attachments

(1 attachment)

(Reporter)

Description

3 years ago
Bug 1121735 reported a crash in flash plugins with dom.ipc.plugins.asyncInit set to true.  The crash seems to have vanished in the latest build but now flash movies display as a blank window.

Formally,
STR:
0. Set dom.ipc.plugins.asyncInit=true and restart browser.
1. Open e10s window.
2. Go to a flash movie (e.g. http://www.fastswf.com/bcXRPyc )

Expected Result
---
The flash movie plays


Actual Result
---
A white window is shown where the flash movie would be.
Blocks: 1116806
No longer depends on: 1121735
Component: General → Plug-ins
Keywords: flashplayer
Assignee: nobody → aklotz
Status: NEW → ASSIGNED
tracking-e10s: ? → m6+
From looking in the devtools I see the stream for the SWF file being opened but not read. This tells me that the result of the NPP_NewStream call has not been returned to the content process.
Hmmm, everything on the plugin side is working correctly.

I think that there might be a problem with resuming the HTTP channel on the e10s side of things.
Definitely specific to Mac. I can't reproduce this on Windows.
Created attachment 8561043 [details] [diff] [review]
Ensure plugin entry points are set correctly on MacOS when both asyncInit and e10s are both on

Normally SetPluginFuncs is called in different locations on Mac and Windows. When asyncInit and e10s are both on, however, those differences are handled elsewhere; it must be called at the same place on both platforms in this case.
Attachment #8561043 - Flags: review?(jmathies)
The reason that this was causing failures on Mac was that async init was never replacing the PluginAsyncSurrogate entry points with the correct PluginModuleParent entry points on MacOS. The stream containing the SWF file would be permanently suspended because calls to NPP_WriteReady would permanently return 0.
Blocks: 1125128

Updated

3 years ago
Attachment #8561043 - Flags: review?(jmathies) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/f6795c8f0f31
https://hg.mozilla.org/mozilla-central/rev/f6795c8f0f31
Status: ASSIGNED → RESOLVED
Last Resolved: 3 years ago
status-firefox38: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla38
QA Whiteboard: [good first verify][verify in Nightly only]
You need to log in before you can comment on or make changes to this bug.