FLUID-4212: Dead Man's Blur dismisses undesirably on Chrome when interaction is on browser-generated scrollbar in excluded area

Metadata

Source
FLUID-4212
Type
Bug
Priority
Major
Status
Closed
Resolution
Fixed
Assignee
y z
Reporter
Antranig Basman
Created
2011-05-09T19:14:08.184-0400
Updated
2014-06-25T16:16:10.912-0400
Versions
  1. 1.3.1
Fixed Versions
  1. 1.4
Component
  1. Framework

Description

Due to an implementation fault in the Chrome browser, interaction with a browser-generated scrollbar hosted in the "excluded area" configured for fluid.deadMansBlur will give rise to a "blur" event as the previous control loses focus, but does not produce a corresponding "focus" or even "click" event in order for the blur to be cancelled. The issue was originally reported in the use of the "Autocomplete" popup within CollectionSpace:

[12:31] <yura_> ok so if you remember out autocomplete can be scrollable if there are a lot of matches
[12:31] <yura_> you can scroll with the mouse wheel, also move with keyboard down the list
[12:32] <yura_> you can/should also be able to use the side scroll bar and mouse to move up/down the list

The upstream Chromium bugs are discussed at

https://code.google.com/p/chromium/issues/detail?id=6759 "Clicking scrollbar in renderer should not change focus" and
http://code.google.com/p/chromium/issues/detail?id=14204 "Scrollbar triggers onmousedown, but fails to trigger onmouseup."

I have commented on the latter issue requesting a consistent resolution. That report provides clue to a workaround - the "mousedown" event is the ONLY one which can be detected in this condition and will be added to FluidView.js as a Chrome-specific workaround.