[Webkit-unassigned] [Bug 41061] New: [V8 Binding] User's gesture initiated from select's onchange event can not be treated as user initiated
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Jun 23 06:17:02 PDT 2010
https://bugs.webkit.org/show_bug.cgi?id=41061
Summary: [V8 Binding] User's gesture initiated from select's
onchange event can not be treated as user initiated
Product: WebKit
Version: 528+ (Nightly build)
Platform: PC
OS/Version: Mac OS X 10.5
Status: UNCONFIRMED
Severity: Normal
Priority: P2
Component: WebCore JavaScript
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: jnd at chromium.org
CC: dglazkov at chromium.org
Please refer to http://code.google.com/p/chromium/issues/detail?id=47276 for the bug details.
After investigation, this bug was because chromium thought the popup was not user initiated.
In function: bool ScriptController::processingUserGesture(DOMWrapperWorld*) const (WebCore/binding/v8/ScriptController.cpp)
Chromium tests whether UserGestureIndicator::processingUserGesture() returns true before checking the current event object. If not, it returns false to indicate the disposition was not user initiated.
However, in JSC (WebCore/binding/js/ScriptController.cp), it tests the current event object at first, if the event can be treated as user gesture, JSC will treat the disposition as user initiated.
For why UserGestureIndicator::processingUserGesture() returns false (both JSC and V8) when current event is from select element (widget), it's because
now we set the UserGestureIndicator as DefinitelyUserGesture only in the event handlers written in event_handler.cpp which are called by webview. For the event handlers which are called by widget (derived from FrameScrollView), we didn't change UserGestureIndicator to DefinitelyUserGesture. I think we probably need to fix this behavior.
I will provide a patch to make sure the ScriptController::processingUserGesture follows the JSC's behavior.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list