[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