[webkit-changes] cvs commit: WebCore/manual-tests textfield-onblur.html

Adele adele at opensource.apple.com
Wed Jul 20 11:17:32 PDT 2005


adele       05/07/20 11:17:31

  Modified:    .        ChangeLog
               kwq      KWQTextField.mm
  Added:       manual-tests textfield-onblur.html
  Log:
          Reviewed by Darin.
  
          - fixed <rdar://problem/4181058> 8C45: Safari repro crash with document.write (DOM::NodeImpl::dispatchEvent)
  
          Test cases added:
          * manual-tests/textfield-onblur.html: Added.
  
          * kwq/KWQTextField.mm: (-[KWQTextFieldController setHasFocus:]): added nil check for widget, since it can get deleted during an event.
  
  Revision  Changes    Path
  1.4451    +11 -0     WebCore/ChangeLog
  
  Index: ChangeLog
  ===================================================================
  RCS file: /cvs/root/WebCore/ChangeLog,v
  retrieving revision 1.4450
  retrieving revision 1.4451
  diff -u -r1.4450 -r1.4451
  --- ChangeLog	20 Jul 2005 07:29:43 -0000	1.4450
  +++ ChangeLog	20 Jul 2005 18:17:27 -0000	1.4451
  @@ -1,3 +1,14 @@
  +2005-07-20  Adele Peterson  <adele at apple.com>
  +
  +        Reviewed by Darin.
  +
  +        - fixed <rdar://problem/4181058> 8C45: Safari repro crash with document.write (DOM::NodeImpl::dispatchEvent)
  +
  +        Test cases added:
  +        * manual-tests/textfield-onblur.html: Added.
  +        
  +        * kwq/KWQTextField.mm: (-[KWQTextFieldController setHasFocus:]): added nil check for widget, since it can get deleted during an event.
  +
   2005-07-20  Maciej Stachowiak  <mjs at apple.com>
   
           Patch from Trey Matteson <trey at usa.net>, reviewed by me.
  
  
  
  1.81      +2 -1      WebCore/kwq/KWQTextField.mm
  
  Index: KWQTextField.mm
  ===================================================================
  RCS file: /cvs/root/WebCore/kwq/KWQTextField.mm,v
  retrieving revision 1.80
  retrieving revision 1.81
  diff -u -r1.80 -r1.81
  --- KWQTextField.mm	14 Jul 2005 23:53:33 -0000	1.80
  +++ KWQTextField.mm	20 Jul 2005 18:17:31 -0000	1.81
  @@ -441,7 +441,8 @@
           if (widget) {
               QFocusEvent event(QEvent::FocusOut);
               const_cast<QObject *>(widget->eventFilterObject())->eventFilter(widget, &event);
  -            [KWQKHTMLPart::bridgeForWidget(widget) formControlIsResigningFirstResponder:field];
  +            if (widget)
  +                [KWQKHTMLPart::bridgeForWidget(widget) formControlIsResigningFirstResponder:field];
           }
       }
   }
  
  
  
  1.1                  WebCore/manual-tests/textfield-onblur.html
  
  Index: textfield-onblur.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
          "http://www.w3.org/TR/html4/strict.dtd">
  <html lang="en">
  <head>
      <script>
          function init () {
              document.getElementById("test").focus();
          }
  
          function foo () {
              document.open();
              document.write('Test has passed.');
              document.close();
          }
      </script>
  </head>
  <body onload="init();">
  <p><b>BUG ID:</b> <a href="rdar://problem/4181058">4181058</a> 8C45: Safari repro crash with document.write (DOM::NodeImpl::dispatchEvent)</p>
  
  <p id="test" style="background-color:skyblue; padding:3px;"><b>STEPS TO TEST:</b> 
  <ul>
  <li> Press the Tab key.  This will remove focus from the text field, and should call document.write without crashing.
  </ul>
  </p>
  
  <p id="success" style="background-color:palegreen; padding:3px;"><b>TEST PASS:</b> 
  You should see text that says "Test has passed".
  </p>
  
  <p id="failure" style="background-color:#FF3300; padding:3px;"><b>TEST FAIL:</b>  
  If the test fails, the browser will crash.
  </p>
  
  <input type="text" id="test" onblur="foo();" />  
  
  </body>
  </html>
  
  



More information about the webkit-changes mailing list