[webkit-changes] cvs commit: WebCore/layout-tests/dom/html/level2/events dispatchEvent08-expected.txt dispatchEvent10-expected.txt dispatchEvent11-expected.txt dispatchEvent12-expected.txt dispatchEvent13-expected.txt

Darin darin at opensource.apple.com
Sun Aug 14 01:28:02 PDT 2005


darin       05/08/14 01:28:02

  Modified:    .        ChangeLog
               khtml/ecma kjs_events.cpp
               khtml/xml dom_nodeimpl.cpp
               layout-tests/dom/html/level2/events
                        dispatchEvent08-expected.txt
                        dispatchEvent10-expected.txt
                        dispatchEvent11-expected.txt
                        dispatchEvent12-expected.txt
                        dispatchEvent13-expected.txt
  Log:
          Reviewed and landed by Darin.
  
          Test cases added:
          * layout-tests/dom/html/level2/events/dispatchEvent08-expected.txt:
          * layout-tests/dom/html/level2/events/dispatchEvent10-expected.txt:
          * layout-tests/dom/html/level2/events/dispatchEvent12-expected.txt:
  	These pass now.
  
          * layout-tests/dom/html/level2/events/dispatchEvent11-expected.txt:
          * layout-tests/dom/html/level2/events/dispatchEvent13-expected.txt:
  	These fail someplace else now.
  
          * khtml/ecma/kjs_events.cpp:
          (KJS::JSAbstractEventListener::handleEvent):
  	Check if the listener has a "handleEvent" function property and
  	call that.
  
          * khtml/xml/dom_nodeimpl.cpp:
          (DOM::NodeImpl::dispatchGenericEvent):
  	A capturing event listener should not be triggered if an event is
  	dispatched directly to the node to which the listener has been added.
  
  Revision  Changes    Path
  1.4568    +24 -0     WebCore/ChangeLog
  
  Index: ChangeLog
  ===================================================================
  RCS file: /cvs/root/WebCore/ChangeLog,v
  retrieving revision 1.4567
  retrieving revision 1.4568
  diff -u -r1.4567 -r1.4568
  --- ChangeLog	14 Aug 2005 08:18:46 -0000	1.4567
  +++ ChangeLog	14 Aug 2005 08:27:57 -0000	1.4568
  @@ -2,6 +2,30 @@
   
           Reviewed and landed by Darin.
   
  +        Test cases added: 	
  +        * layout-tests/dom/html/level2/events/dispatchEvent08-expected.txt:
  +        * layout-tests/dom/html/level2/events/dispatchEvent10-expected.txt:
  +        * layout-tests/dom/html/level2/events/dispatchEvent12-expected.txt:
  +	These pass now.
  +	
  +        * layout-tests/dom/html/level2/events/dispatchEvent11-expected.txt:
  +        * layout-tests/dom/html/level2/events/dispatchEvent13-expected.txt:
  +	These fail someplace else now.
  +	
  +        * khtml/ecma/kjs_events.cpp:
  +        (KJS::JSAbstractEventListener::handleEvent):
  +	Check if the listener has a "handleEvent" function property and
  +	call that.
  +	
  +        * khtml/xml/dom_nodeimpl.cpp:
  +        (DOM::NodeImpl::dispatchGenericEvent):
  +	A capturing event listener should not be triggered if an event is
  +	dispatched directly to the node to which the listener has been added.
  +
  +2005-08-14  Anders Carlsson  <andersca at mac.com>
  +
  +        Reviewed and landed by Darin.
  +
           Test cases added: 
           * layout-tests/dom/html/level2/core/hc_nodedocumentfragmentnormalize2-expected.txt:
   	This passes now.
  
  
  
  1.55      +21 -5     WebCore/khtml/ecma/kjs_events.cpp
  
  Index: kjs_events.cpp
  ===================================================================
  RCS file: /cvs/root/WebCore/khtml/ecma/kjs_events.cpp,v
  retrieving revision 1.54
  retrieving revision 1.55
  diff -u -r1.54 -r1.55
  --- kjs_events.cpp	8 Aug 2005 04:07:41 -0000	1.54
  +++ kjs_events.cpp	14 Aug 2005 08:28:01 -0000	1.55
  @@ -81,12 +81,24 @@
     if (part)
         proxy = KJSProxy::proxy( part );
   
  -  if (proxy && listener->implementsCall()) {
  +  ScriptInterpreter *interpreter = static_cast<ScriptInterpreter *>(proxy->interpreter());
  +  ExecState *exec = interpreter->globalExec();
  +  
  +  bool hasHandleEvent = false;
  +  ValueImp *handleEventFuncValue = 0;
  +  ObjectImp *handleEventFunc = 0;
  +  
  +  handleEventFuncValue = listener->get(exec, "handleEvent");
  +  if (handleEventFuncValue->isObject()) {      
  +      handleEventFunc = static_cast<ObjectImp *>(handleEventFuncValue);
  +            
  +      if (handleEventFunc->implementsCall())
  +          hasHandleEvent = true;
  +  }
  +  
  +  if (proxy && (listener->implementsCall() || hasHandleEvent)) {
       ref();
   
  -    ScriptInterpreter *interpreter = static_cast<ScriptInterpreter *>(proxy->interpreter());
  -    ExecState *exec = interpreter->globalExec();
  -
       List args;
       args.append(getDOMEvent(exec,evt));
   
  @@ -106,7 +118,11 @@
       }
   
       Interpreter::lock();
  -    ValueImp *retval = listener->call(exec, thisObj, args);
  +    ValueImp *retval;
  +    if (hasHandleEvent)
  +        retval = handleEventFunc->call(exec, listener, args);
  +    else
  +        retval = listener->call(exec, thisObj, args);
       Interpreter::unlock();
   
       window->setCurrentEvent( 0 );
  
  
  
  1.174     +0 -4      WebCore/khtml/xml/dom_nodeimpl.cpp
  
  Index: dom_nodeimpl.cpp
  ===================================================================
  RCS file: /cvs/root/WebCore/khtml/xml/dom_nodeimpl.cpp,v
  retrieving revision 1.173
  retrieving revision 1.174
  diff -u -r1.173 -r1.174
  --- dom_nodeimpl.cpp	14 Aug 2005 08:18:50 -0000	1.173
  +++ dom_nodeimpl.cpp	14 Aug 2005 08:28:01 -0000	1.174
  @@ -560,10 +560,6 @@
           evt->setEventPhase(Event::AT_TARGET);
           evt->setCurrentTarget(it.current());
   
  -	// Capturing first. -dwh
  -        it.current()->handleLocalEvents(evt,true);
  -
  -	// Bubbling second. -dwh
   	if (!evt->propagationStopped())
               it.current()->handleLocalEvents(evt,false);
       }
  
  
  
  1.3       +2 -3      WebCore/layout-tests/dom/html/level2/events/dispatchEvent08-expected.txt
  
  Index: dispatchEvent08-expected.txt
  ===================================================================
  RCS file: /cvs/root/WebCore/layout-tests/dom/html/level2/events/dispatchEvent08-expected.txt,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dispatchEvent08-expected.txt	9 Aug 2005 21:29:43 -0000	1.2
  +++ dispatchEvent08-expected.txt	14 Aug 2005 08:28:01 -0000	1.3
  @@ -1,3 +1,2 @@
  -Test:	http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent08	
  -Status:	failure
  -Detail:	atCount: assertEquals failed, actual 0, expected 1.
  +Test:	http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent08
  +Status:	Success
  
  
  
  1.3       +2 -3      WebCore/layout-tests/dom/html/level2/events/dispatchEvent10-expected.txt
  
  Index: dispatchEvent10-expected.txt
  ===================================================================
  RCS file: /cvs/root/WebCore/layout-tests/dom/html/level2/events/dispatchEvent10-expected.txt,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dispatchEvent10-expected.txt	9 Aug 2005 21:29:43 -0000	1.2
  +++ dispatchEvent10-expected.txt	14 Aug 2005 08:28:01 -0000	1.3
  @@ -1,3 +1,2 @@
  -Test:	http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent10	
  -Status:	failure
  -Detail:	atCount: assertEquals failed, actual 0, expected 1.
  +Test:	http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent10
  +Status:	Success
  
  
  
  1.3       +3 -2      WebCore/layout-tests/dom/html/level2/events/dispatchEvent11-expected.txt
  
  Index: dispatchEvent11-expected.txt
  ===================================================================
  RCS file: /cvs/root/WebCore/layout-tests/dom/html/level2/events/dispatchEvent11-expected.txt,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dispatchEvent11-expected.txt	9 Aug 2005 21:29:43 -0000	1.2
  +++ dispatchEvent11-expected.txt	14 Aug 2005 08:28:01 -0000	1.3
  @@ -1,2 +1,3 @@
  -Test:	http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent11
  -Status:	Success
  +Test:	http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent11	
  +Status:	failure
  +Detail:	eventCount: assertEquals failed, actual 1, expected 0.
  
  
  
  1.3       +2 -3      WebCore/layout-tests/dom/html/level2/events/dispatchEvent12-expected.txt
  
  Index: dispatchEvent12-expected.txt
  ===================================================================
  RCS file: /cvs/root/WebCore/layout-tests/dom/html/level2/events/dispatchEvent12-expected.txt,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dispatchEvent12-expected.txt	9 Aug 2005 21:29:43 -0000	1.2
  +++ dispatchEvent12-expected.txt	14 Aug 2005 08:28:01 -0000	1.3
  @@ -1,3 +1,2 @@
  -Test:	http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent12	
  -Status:	failure
  -Detail:	eventCount: assertEquals failed, actual 0, expected 1.
  +Test:	http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent12
  +Status:	Success
  
  
  
  1.3       +1 -1      WebCore/layout-tests/dom/html/level2/events/dispatchEvent13-expected.txt
  
  Index: dispatchEvent13-expected.txt
  ===================================================================
  RCS file: /cvs/root/WebCore/layout-tests/dom/html/level2/events/dispatchEvent13-expected.txt,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dispatchEvent13-expected.txt	9 Aug 2005 21:29:43 -0000	1.2
  +++ dispatchEvent13-expected.txt	14 Aug 2005 08:28:01 -0000	1.3
  @@ -1,3 +1,3 @@
   Test:	http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent13	
   Status:	failure
  -Detail:	eventCount: assertEquals failed, actual 0, expected 1.
  +Detail:	eventCount: assertEquals failed, actual 2, expected 1.
  
  
  



More information about the webkit-changes mailing list