Closed Bug 1296400 Opened 8 years ago Closed 4 years ago

Remove support for windowed mode plugins

Categories

(Core Graveyard :: Plug-ins, task, P3)

Tracking

(firefox55 wontfix)

RESOLVED DUPLICATE of bug 1682030
Tracking Status
firefox55 --- wontfix

People

(Reporter: cpeterson, Unassigned)

References

()

Details

(Keywords: dev-doc-needed, site-compat)

After we drop support for NPAPI plugins other than Flash (bug 1269807), we can look into dropping support for windowed mode plugins. Which versions of Flash can we safely force into windowless mode?
See bug 1283274. We can detect async drawing support without depending on version sniffing. Moreover, we don't have to force windowless mode ourselves.
emk, I'm not sure what comment 1 means. The point of this bug is to remove all of the machinery that supports windowed-mode plugins.
Severity: normal → enhancement
Priority: -- → P3
Whiteboard: must wait to drop non-Flash plugins
Blocks: 729011
Depends on: IETab
Blocks: QuantumDOM
Blocks: Quantum
No longer blocks: QuantumDOM
Depends on: 1337781
Depends on: 1338172
Assignee: nobody → benjamin
Status: NEW → ASSIGNED
Priority: P3 → P2
Depends on: 1351165
No longer depends on: 1351165
We need to ship Flash async drawing (bug 1340934 in Firefox 55) and confirm that the Flash Player never tries to fall back to windowed mode before we can remove windowed mode plugin support.
Whiteboard: must wait to drop non-Flash plugins
Assignee: benjamin → nobody
Status: ASSIGNED → NEW
Flags: needinfo?(jmathies)
Flags: needinfo?(jmathies)
It seems better to avoid handling windowed mode plugins when WebRender is enabled.
(In reply to Sotaro Ikeda [:sotaro] from comment #4) > It seems better to avoid handling windowed mode plugins when WebRender is > enabled. This is nuanced as there are still corner cases where windowed mode gets invoked - https://telemetry.mozilla.org/new-pipeline/evo.html#!aggregates=bucket-0!bucket-1!bucket-6!bucket-8!bucket-9&arch=x86-64!x86&cumulative=0&end_date=2017-04-22&keys=!__none__!__none__&max_channel_version=nightly%252F60&measure=PLUGIN_DRAWING_MODEL&min_channel_version=nightly%252F57&os=Windows_NT&processType=*&product=Firefox&sanitize=1&sort_keys=submissions&start_date=2017-03-08&trim=1&use_submission_date=0 bucket 6 is windowed. Some investigation of this block of users is warranted.
No longer blocks: Quantum
Depends on: 1477064
Can you elaborate on when windowed mode gets invoked? Is there same way we can test that scenario?
Hey, Jim -- Can you help Jeff and me with the questions in Comment 6? Thanks!
Flags: needinfo?(jmathies)
(In reply to Jeff Muizelaar [:jrmuizel] from comment #6) > Can you elaborate on when windowed mode gets invoked? Is there same way we > can test that scenario? My theory: unaccelerated browser rendering plus a request for direct rendering mode by content. Need to test this a bit to see if it holds.
Flags: needinfo?(jmathies)
also, keep an eye on bug 1477064, I'm trying to get telemetry for this out on release.
Priority: P2 → P3
No longer blocks: stage-wr-trains
Depends on: 1347925
No longer blocks: 729011
Blocks: 729011

Jim recommends that we not remove windowed mode support until we remove all Flash plugin support (bug 1455897).

What's the rationale for that?

Flags: needinfo?(cpeterson)

(In reply to Jeff Muizelaar [:jrmuizel] from comment #11)

Jim recommends that we not remove windowed mode support until we remove all Flash plugin support (bug 1455897).

What's the rationale for that?

Jim?

Flags: needinfo?(cpeterson) → needinfo?(jmathies)

(In reply to Jeff Muizelaar [:jrmuizel] from comment #11)

What's the rationale for that?

People still fall back on windowed mode in a small number of cases. I've actually been trying to find a good test case because I'm concerned about webrender shipping. But so far I haven't found one. I think it has something to do with wmode direct + blocked graphics drivers and flash acceleration settings.

On average about 3% of flash instantiations fall back.

Flags: needinfo?(jmathies)

Alice, curious, have you ever experienced the old windowed mode behavior with webrender?

Flags: needinfo?(alice0775)

This game http://6bob.net/play/Angry-Birds-Space,
Click on 'PLAY GAME'
Click on 'Skip Ad'
Click on 'Run Adobe Flash and then click 'Allow'

This page http://weathernews.jp/

Seems no problem with WebRender.

And this test page https://www.baseonmars.co.uk/bugs/wmode/
On wmode='window', Japanese IME candidate window flashes once and pops up at incorrect place. But this is also reproduced without Webrender.

Flags: needinfo?(alice0775)

I believe I see whats happening here. The gist is that NPDrawingModelSyncWin, which is what the unexpected telemetry refers to, does not actually use windowed plugin mode. It promotes to direct with async rendering, as suggested here [1]. If you set dom.ipc.plugins.asyncdrawing.enabled to false, this mode is the result.

I've confirmed with the debugger and some local experimentation that NPDrawingModelSyncWin in Flash does not result in NPP_SetWindow calls. At this point, I agree that trying to remove the dead plugin code is not worth the effort. All of it is on the way out. I'm pro-WONTFIX.

[1] https://wiki.mozilla.org/Plugins/Async_Drawing#Current_WMODE_Handling

FYI: The things I said in comment 16 are true for WebRender runs. Non-async drawing (the way to get NPDrawingModelSyncWin) is already broken without Web-Render (bug 1582307). Since we can assume most of the users showing up in telemetry aren't using WebRender, this seems like it would be a problem for that 3%, but I only found bug 1582307 through experimentation with settings -- there are no bug reports to my knowledge. I don't have a good explanation at this point but I'll throw in that the only time I run into Flash in personal web use is on Comcast's site, and I think their plugin is not visible. So the bug wouldn't be detected. Maybe this needs more investigation after all.

Type: enhancement → task
No longer depends on: remove-plugin-support

We really already blocked off windowed plugin support -- it was dead code -- but we are removing that dead code as part of clearing all of NPAPI in bug 1682030 so I'll just dupe it.

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → DUPLICATE
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.