Re: [Laszlo-reviews] For Review: Change 20090831-hqm-N Summary: (DHTML) ignore spurious mouse events when user dismisses contextmenu
2009-08-31 23:10:34 GMT
Hmm, the behavior in Firefox/SWF on Windows and OSX is quite different. In OSX, I don't get
any mouse events on the view, in case b), and also don't get any of the global mouse events.
Would you approve this change as an improvement over the existing behavior? The thing
I'm most worried about is in DHTML having unwanted mouse click events on views
when people try to dismiss a context menu without choosing any items.
I've tested
a) right clicking on canvas and then left clicking on canvas
b) right clicking on red view and then left clicking on red view
a) right clicking on canvas and then left clicking on red view
b) right clicking on red view and then left clicking on canvas
swf8-results:
a)
DEBUG: global onmousedown
DEBUG: global onmouseup
b)
DEBUG: global onmousedown
DEBUG: view onmousedown
DEBUG: global onmouseup
DEBUG: view onmouseup
DEBUG: view onclick
c)
DEBUG: global onmousedown
DEBUG: view onmousedown
DEBUG: global onmouseup
DEBUG: view onmouseup
DEBUG: view onclick
d)
DEBUG: global onmousedown
DEBUG: global onmouseup
dhtml (Firefox3.5, Win)
a) none
b) DEBUG: global onmouseup
c) DEBUG: global onmouseup
d) none
Note: the global mouseup-events in dhtml may be triggered by LPP-8423
On 8/31/2009 7:09 PM, Henry Minsky wrote:
Change 20090831-hqm-N by hqm <at> badtzmaru.home on 2009-08-31 13:01:15 EDT
in /Users/hqm/openlaszlo/trunk-clean
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: (DHTML) ignore spurious mouse events when user dismisses contextmenu
New Features:
Bugs Fixed: LPP-8218, LPP-8189
Technical Reviewer: max
QA Reviewer: andre
Doc Reviewer: (pending)
Documentation:
Release Notes:
Details:
Change to make behavior when menu is dismissed match SWF more closely.
+ When the user wants to dismiss a context menu without selecting any
items, they move the mouse outside of the menu and either release the
button or click the button. In either case, we do not want these
mousedown,mouseup, and click events to be sent to whatever view they
happen to be over.
This change modifies LzMouseKernel#__sendEvent to check if the context
menu is being hidden due to a mousedown, and if so, sets flags to
ignore the next mouseup and onclick events.
Tests:
[test case from LPP-8189]
<canvas>
<view width="200" height="200" bgcolor="0xff0000">
<handler name="onmousedown">
// Expected: Fires in swf8 and dhtml for left mouse click
// Unexpected: Fires in dhtml for right mouse click
Debug.write("onmousedown");
</handler>
<handler name="onmouseup">
// Expected: Fires in swf8 and dhtml for left mouse click
// Unexpected: Fires in dhtml for right mouse click
Debug.write("onmouseup");
</handler>
<handler name="onclick">
// Expected: Fires in swf8 and dhtml for left mouse click
Debug.write("onclick");
</handler>
</view>
</canvas>
In DHTML, these two cases should print no mouse events to the debugger
[1] Move mouse over red view, click right to display context menu.
Press left button over an item, and while holding, drag mouse out of
context menu, but still over the red view, and then release button to
dismiss menu.
No events should print to the debugger.
[1] Move mouse over red view, click right to display context menu.
Move mouse out of context menu, but still over red view, and click
left to dismiss menu.
No events should print to the debugger.
Files:
M WEB-INF/lps/lfc/kernel/dhtml/LzMouseKernel.js
Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20090831-hqm-N.tar
--
Henry Minsky
Software Architect
hminsky <at> laszlosystems.com
_______________________________________________ Laszlo-reviews mailing list Laszlo-reviews <at> www.openlaszlo.org http://www.openlaszlo.org/mailman/listinfo/laszlo-reviews
RSS Feed