[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

mjs mjs at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:32:26 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 94ac641b651d520f30c562597e58d1c88ee5c332
Author: mjs <mjs at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Mar 31 02:53:16 2003 +0000

            Reviewed by Darin.
    
    	- fixed 3206524 - incyte.com "load properties" function does not work
    
            * khtml/html/html_documentimpl.cpp:
            (HTMLDocumentImpl::close): Make sure to clear the tokenizer before firing
    	the onLoad handler, otherwise document.write from inside an onLoad handler
    	will fail.
            * khtml/xml/dom_docimpl.h:
            * khtml/xml/dom_docimpl.cpp:
            (DocumentImpl::close): Call closeInternal.
            (DocumentImpl::closeInternal): New version of close that allows
    	bypassing the tokenizer null check, in case we already deleted the
    	tokenizer/
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3965 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index a78c1cc..4b68aaa 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,5 +1,22 @@
 2003-03-30  Maciej Stachowiak  <mjs at apple.com>
 
+        Reviewed by Darin.
+
+	- fixed 3206524 - incyte.com "load properties" function does not work
+	
+        * khtml/html/html_documentimpl.cpp:
+        (HTMLDocumentImpl::close): Make sure to clear the tokenizer before firing
+	the onLoad handler, otherwise document.write from inside an onLoad handler
+	will fail.
+        * khtml/xml/dom_docimpl.h:
+        * khtml/xml/dom_docimpl.cpp:
+        (DocumentImpl::close): Call closeInternal.
+        (DocumentImpl::closeInternal): New version of close that allows
+	bypassing the tokenizer null check, in case we already deleted the
+	tokenizer/
+
+2003-03-30  Maciej Stachowiak  <mjs at apple.com>
+
         Reviewed by Trey.
 
 	- fixed 3169064 - can't search at lonelyplanet.com; onSubmit handler fails due to problem addressing radio button
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index a78c1cc..4b68aaa 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,5 +1,22 @@
 2003-03-30  Maciej Stachowiak  <mjs at apple.com>
 
+        Reviewed by Darin.
+
+	- fixed 3206524 - incyte.com "load properties" function does not work
+	
+        * khtml/html/html_documentimpl.cpp:
+        (HTMLDocumentImpl::close): Make sure to clear the tokenizer before firing
+	the onLoad handler, otherwise document.write from inside an onLoad handler
+	will fail.
+        * khtml/xml/dom_docimpl.h:
+        * khtml/xml/dom_docimpl.cpp:
+        (DocumentImpl::close): Call closeInternal.
+        (DocumentImpl::closeInternal): New version of close that allows
+	bypassing the tokenizer null check, in case we already deleted the
+	tokenizer/
+
+2003-03-30  Maciej Stachowiak  <mjs at apple.com>
+
         Reviewed by Trey.
 
 	- fixed 3169064 - can't search at lonelyplanet.com; onSubmit handler fails due to problem addressing radio button
diff --git a/WebCore/khtml/html/html_documentimpl.cpp b/WebCore/khtml/html/html_documentimpl.cpp
index 39c20c6..f93d981 100644
--- a/WebCore/khtml/html/html_documentimpl.cpp
+++ b/WebCore/khtml/html/html_documentimpl.cpp
@@ -338,6 +338,10 @@ void HTMLDocumentImpl::close()
 
     processingLoadEvent = true;
     if (body() && doload) {
+	// We have to clear the tokenizer, in case someone document.write()s from the
+	// onLoad event handler, as in Radar 3206524
+	delete m_tokenizer;
+	m_tokenizer = 0;
         dispatchImageLoadEventsNow();
         body()->dispatchWindowEvent(EventImpl::LOAD_EVENT, false, false);
     }
@@ -364,7 +368,7 @@ void HTMLDocumentImpl::close()
     }
                 
     // The initial layout happens here.
-    DocumentImpl::close();
+    DocumentImpl::closeInternal(!doload);
 
     // Now do our painting
     if (body() && doload) {
diff --git a/WebCore/khtml/xml/dom_docimpl.cpp b/WebCore/khtml/xml/dom_docimpl.cpp
index 1b93e62..7a8a879 100644
--- a/WebCore/khtml/xml/dom_docimpl.cpp
+++ b/WebCore/khtml/xml/dom_docimpl.cpp
@@ -1110,7 +1110,12 @@ void DocumentImpl::open(  )
 
 void DocumentImpl::close(  )
 {
-    if (parsing() || !m_tokenizer) return;
+    closeInternal(true);
+}
+
+void DocumentImpl::closeInternal( bool checkTokenizer )
+{
+    if (parsing() || (checkTokenizer && !m_tokenizer)) return;
 
     if ( m_render )
         m_render->close();
diff --git a/WebCore/khtml/xml/dom_docimpl.h b/WebCore/khtml/xml/dom_docimpl.h
index 4f71172..686c6d0 100644
--- a/WebCore/khtml/xml/dom_docimpl.h
+++ b/WebCore/khtml/xml/dom_docimpl.h
@@ -244,6 +244,7 @@ public:
 
     void open (  );
     virtual void close (  );
+    void closeInternal ( bool checkTokenizer );
     void write ( const DOMString &text );
     void write ( const QString &text );
     void writeln ( const DOMString &text );

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list