Closed Bug 1254969 Opened 5 years ago Closed 2 years ago

[non-e10s] Firefox generates doubleclick event if I click elements after clicking on Flash, then outside the window (if Flash has wmode=opaque or transparent)

Categories

(Core :: Plug-ins, defect, P5)

x86
Windows 7
defect

Tracking

()

RESOLVED WONTFIX
Tracking Status
e10s - ---
firefox45 --- wontfix
firefox46 --- wontfix
firefox47 --- wontfix
firefox48 --- wontfix
firefox-esr38 --- wontfix
firefox-esr45 --- wontfix

People

(Reporter: arni2033, Unassigned)

References

Details

(Keywords: polish, regression, Whiteboard: btpp-followup-2016-03-18)

Attachments

(2 files)

>>>   My Info:   Win7_64, Nightly 48, 32bit, ID 20160308030418
STR:
0. Make sure there's only 1 Firefox window. Minimize all windows except Firefox window.
1. Open many tabs to cause overflow in tabs toolbar. Open 2 more tabs
2. Open http://livestream.com/watch in last tab, select the last tab
3. Find element   #live > .heading_title   on the page, add attribute [ondblclick="alert()"]
4. Click on the video to stop it
5. Click on free place on Windows taskbar OR click outside of Firefox window
6.A) Click on the left scrollbutton in tabs toolbar of Firefox window
6.B) Click on the element from Step 3.

AR:
 Doubleclick event happens
 (A) Tabs are scrolled by visible number of tabs. So penultimate tab isn't visible anymore
 (B) Alert message appears

ER:  
 Normal click. Doubleclick shouldn't happen
 (A) Scroll by 1 tab. Penultimate tab should be still visible.
 (B) Nothing

Regression from bug 1133351. Regression range:
> https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=4156586d7ac617e1deab5fdaab5790e00d42844d&tochange=829195e67537345402249d6bbf4aef428ff8ce39
Component: Plug-ins → Event Handling
tracking-e10s: --- → -
ni(aklotz) given regression from bug 1133351.
Flags: needinfo?(aklotz)
Whiteboard: btpp-followup-2016-03-18
I think that this bug is best suited for the plug-ins component. Leaving ni? for now so that I remember to set aside some time to reproduce.
Component: Event Handling → Plug-ins
Assignee: nobody → kyle
I've at least confirmed this and will try to take a look, just gotta trace back to wherever we do timing for double clicks.
I'm trying to get a more optimized STR for this, but I can't actually seem to repro this on anything but the original STR (which does still work). For instance, just trying it with a flash youtube file and a div with a double click, I can't ever get the doubleclick to happen using only one click. I've also tried this on other sites using flash, and haven't had any luck. 

Could this possibly have something to do with the way that the specific flash file in the STR works?
Flags: needinfo?(aklotz)
The odds of getting to this before we disable NPAPI are pretty slim.
Tried this again, on Windows 10, e10s off, and cannot repro on a few different sites outside of livestream.com. Marking WONTFIX unless we can get other STRs.
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → WONTFIX
STR_2 (aka try better):
1. Open many tabs to cause overflow in tabs toolbar (N tabs). Open N more tabs.
2. Load https://www.twitch.tv/nooneboss/v/59158846 in the last tab, play the video
3. Open style editor, create new stylesheet:    .js-control-fullscreen-overlay{display:none!important}
4. Click on Flash
5. Click on free space on Task bar
6. Click on left scrollbutton in tabs toolbar

AR:  'doubleclick' (tab strip scrolls by visible amount of tabs)
ER:  'click' (tab stip should scroll by 1 tab)
Status: RESOLVED → REOPENED
Flags: needinfo?(kyle)
Resolution: WONTFIX → ---
Ok. So I managed to repro the situation you posted, and then also managed to repro it in my test finally. Not sure what I missed before, probably set a config flag wrong. 

Tested on Nightly 2016-06-03 on Windows 10 (local debug build and downloaded release build).

1. Turn off e10s (browser.tabs.remote.autostart.* set to false)
2. Turn off youtube rewrites (plugins.rewrite_youtube_embeds set to false)
3. Close and reopen browser
4. Open test.html
5. Click on flash
6. Click outside firefox window
7. Click on red div

Expected: Nothing happens
Actual: "Double clicked!" alert message shows up

Cannot repro on linux or os x.

Also, it's not a 100% repro. There's some sort of interaction with the browser that stops this from happening after a while. So there's something about how windows/flash time and consume clicks that is off in some instances, I guess.
OS: Unspecified → Windows 7
Hardware: Unspecified → x86
Ok, it looks like whenever we click a plugin, the focus isn't updating correctly or something. Using the repro in comment #9, when clicking on the red div to focus after bluring the firefox window, we get multiple click messages at once, versus the single click message we expect.

jimm, you got any ideas about this? I'm not exactly sure what the expectation is about windows messages and the plugin window here.
Flags: needinfo?(jmathies)
Sorry, I can't reproduce this bug using your testcase in comment 9 ("STR_3") even once. But I found 
2 more examples in my "bugs.txt" - see below. Each of my 4 examples is 100% reproducible for me.

STR_4:
0. Disable e10s, restart browser
1. Open http://www.daisuki.net/ru/en/anime/watch.GODEATER.12133.html
2. Execute in console:      onclick=ondblclick=onmousedown=onmouseup=(e)=>{console.error(e.type)};
3. Click on Flash
4. Click on free place on Windows Taskbar (outside of Firefox window)
5. Click on free place on the page


STR_5:
0. Disable e10s, restart browser
1. Open http://narutoplanet.ru/serii-naruto/156-naruto-second-season
2. Execute in console:      onclick=ondblclick=onmousedown=onmouseup=(e)=>{console.error(e.type)};
3. Click on Flash  (The audio player at the right side. Selector:  ".art-blockcontent object")
4. Click on free place on Windows Taskbar (outside of Firefox window)
5. Click on free place on the page


AR:
 In Step 3 - messages "mousedown", "mouseup", "click" in console.
 In Step 5 - messages "mousedown", "mousedown"(yes), "mouseup", "click", "doubleclick" in console

ER:
 In Step 5 - messages "mousedown", "mouseup", "click"
As I said, I can't reproduce this bug using testcase from comment 8.
So I created my own, 100%-reproducible testcase. It appears that this bug happens with
any Flash I tested, but only if "wmode" parameter is set to "opaque" or "transparent".

Set devtools.inspector.showAllAnonymousContent -> "true" in about:config to see those params in markup
Summary: [non-e10s] Firefox generates doubleclick event if I click elements after clicking on Flash, then outside the window → [non-e10s] Firefox generates doubleclick event if I click elements after clicking on Flash, then outside the window (if Flash has wmode=opaque or transparent)
We're not going to prioritize this. We will accept a suitably tested and safe patch.
Assignee: kyle → nobody
Flags: needinfo?(jmathies)
Priority: P4 → P5
Status: REOPENED → RESOLVED
Closed: 5 years ago2 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.