Closed Bug 1271898 Opened 8 years ago Closed 3 years ago

[e10s] JS tab modal dialogs appear under Flash plugin windows

Categories

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

44 Branch
defect

Tracking

(e10s+, firefox47 wontfix, firefox48 wontfix, firefox49 fix-optional, firefox50 fix-optional)

RESOLVED INCOMPLETE
Tracking Status
e10s + ---
firefox47 --- wontfix
firefox48 --- wontfix
firefox49 --- fix-optional
firefox50 --- fix-optional

People

(Reporter: arni2033, Unassigned)

References

Details

(Keywords: regression)

>>>   My Info:   Win7_64, Nightly 49, 32bit, ID 20160504043118
STR:
1. Open http://kinoactive.ru/index.php?newsid=21811
2. Open console, paste "addEventListener('click', function(){alert()})" w/o outer quotes, press Enter
3. Scroll the page to place Flash content in the middle of the page (vertically)
4. Click on free place on page
5. Click "OK" button inside notification
6. Clock on free place on page (it's better reproducible if there's ~2s between mousedown and mouseup)

AR:  Modal dialog appears under Flash content
ER:  Modal dialog should appear above Flash content

Notes:
1) I encountered it with onbeforeunload dialog on another page, where it was completely invisible.
2) NI request is set, because it's completely unclear what bug caused this

This is regression from bug 1137944 or bug 1196539. Regression range:
> https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=2a51d8766dfbfd272518ab3a47d2ca5f452dc971&tochange=e1e281f04f2706c55d017ca55e35ada2e1d05aaf
Flags: needinfo?(jmathies)
I can reproduce.
Flags: needinfo?(jmathies)
Priority: -- → P3
This seems like a pretty serious regression. Jim do you remember why this was marked P3 instead of blocking? Re-nominating for triage.

We could in these cases hide the Flash content entirely while the modal dialog was displayed: that would be a reasonable workaround.
Flags: needinfo?(jmathies)
(In reply to Benjamin Smedberg  [:bsmedberg] from comment #2)
> This seems like a pretty serious regression. Jim do you remember why this
> was marked P3 instead of blocking? Re-nominating for triage.
> 
> We could in these cases hide the Flash content entirely while the modal
> dialog was displayed: that would be a reasonable workaround.

What I remember from the triage discussion was this: modal dialogs aren't generated by content and rarely by firefox, usually they are add-on related and generally pretty rare. aHence the lower priority.

FWIW I can't reproduce this anymore either.
Flags: needinfo?(jmathies)
>>>   My Info:   Win7_64, Nightly 50, 32bit, ID 20160711034039
I still can reproduce.
In STR I meant JS dialogs like alert, unbeforeunload. Those ARE generated by content.
> usually they are add-on related
I noticed that people mostly refer to Web console when they say "console", and always use "browser console" for browser console. In STR I meant web console (Ctrl+Shift+K). Sorry if it caused confusion
See Also: → 1137944, 1196539
Summary: [e10s] Modal dialogs appear under Flash plugin → [e10s] JS modal dialogs appear under Flash plugin
I created a testcase for this: http://benjamin.smedbergs.us/tests/ctptests/flash-alert.html

I couldn't reproduce this on win64 nightly (I didn't expect to, because we force Flash to be windowless on win64).

I also couldn't reproduce this On 48.0b7 win32.

arni, could you try my testcase on your 32-bit nightly?
Flags: needinfo?(arni2033)
> http://benjamin.smedbergs.us/tests/ctptests/flash-alert.html
Hah. Just to clarify, it's not testcase for_this. Testcase for_this is in comment 0, please follow STR
But yes, I can't reproduce this bug on the page you provided.
(Tested on:   Win7_64, Nightly 50, 32bit, ID 20160711034039)
Flags: needinfo?(arni2033)
Here're two testcases for this bug. You must click outside of iframe instead of "Click me" button
> [1] data:text/html,<center><iframe src="http://benjamin.smedbergs.us/tests/ctptests/flash-alert.html"></iframe></center><style>iframe{height:800px;width:800px;}</style><script>addEventListener('click', function(){alert()})</script>
> [2] data:text/html,<center><iframe src="https://bug1148978.bmoattachments.org/attachment.cgi?id=8675621"></iframe></center><style>iframe{height:calc(100%25 - 8px);width:800px;}</style><script>addEventListener('click', function(){alert()})</script>
ok great, I've created a standalone testcase which reproduces the problem (on win32 with e10s):

http://benjamin.smedbergs.us/tests/ctptests/flash-alert2.html

Notes:
The alert() alternates showing and not-showing. The first time it shows, second time it doesn't, etc.

If I make the iframe element larger than the window, it stops reproducing.
If I make the inner <embed> larger than its inner window, it also stops reproducing.
I bet this has something to do with window clipping starting to kick in.

Given that this is a rather specific set of circumstances, I don't think this needs to be treated as a blocker: it's still possible to close the tab, to escape from the problem. But it does suck and we should try to solve the clipping issue that leads to this.

Jim, can you take this? It's very similar to the previous windowed plugin scrolling and repainting issues you've dealt with.
Flags: needinfo?(jmathies)
Priority: P3 → P2
sure, I can take a look. The tab modal prompt should definitely clip the entire plugin window out. Something must be going wrong in GetVisibleRegionRelativeToRootLayer.

http://searchfox.org/mozilla-central/rev/bfcc10319e4e3ce78367fa9bba9316f7eb5248b6/gfx/layers/Layers.cpp#1030
Blocks: e10s-plugins
Flags: needinfo?(jmathies)
Summary: [e10s] JS modal dialogs appear under Flash plugin → [e10s] JS tab modal dialogs appear under Flash plugin windows
Jim did you get a chance to take a look?
Flags: needinfo?(jmathies)
(In reply to David Bolter [:davidb] from comment #10)
> Jim did you get a chance to take a look?

No I haven't. This will get 'fixed' by Flash 23, so I don't think we need to invest time in it.
Flags: needinfo?(jmathies)
Priority: P2 → P3

Adobe Flash is no longer supported.

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