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

darin darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 06:58:58 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 43befc74897df9b02408b8beaa6e728187a3db0b
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Nov 12 01:47:17 2002 +0000

    	- fixed 3084704 -- crash in HTMLTokenizer on page with JavaScript
    	HTMLDocument::Close inside a <script>
    
    	I think it's going to work this time. The key was to hook up the
    	KHTML submitFormAgain machinery.
    
            * khtml/khtml_part.cpp: (KHTMLPart::submitForm): Take out the APPLE_CHANGES
    	ifdef that was disabling the submitFormAgain logic.
            * kwq/KWQKHTMLPart.h: Remove submitForm(), because openURLRequest() handles it fine.
            * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURLRequest): Move the logic for handling
    	POST here from submitForm() and remove submitForm().
    
            * kwq/KWQSlot.mm:
            (KWQSlot::KWQSlot): Add support for the submitFormAgain slot.
            (KWQSlot::call): Ditto.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2627 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index 29e23c0..953cfcb 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,5 +1,23 @@
 2002-11-11  Darin Adler  <darin at apple.com>
 
+	- fixed 3084704 -- crash in HTMLTokenizer on page with JavaScript
+	HTMLDocument::Close inside a <script>
+
+	I think it's going to work this time. The key was to hook up the
+	KHTML submitFormAgain machinery.
+
+        * khtml/khtml_part.cpp: (KHTMLPart::submitForm): Take out the APPLE_CHANGES
+	ifdef that was disabling the submitFormAgain logic.
+        * kwq/KWQKHTMLPart.h: Remove submitForm(), because openURLRequest() handles it fine.
+        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURLRequest): Move the logic for handling
+	POST here from submitForm() and remove submitForm().
+
+        * kwq/KWQSlot.mm:
+        (KWQSlot::KWQSlot): Add support for the submitFormAgain slot.
+        (KWQSlot::call): Ditto.
+
+2002-11-11  Darin Adler  <darin at apple.com>
+
 	- fixed 3092421 -- javascript: URL that opens window crashes Alex if typed into empty window
 
         * kwq/KWQKHTMLPart.h:
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 29e23c0..953cfcb 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,5 +1,23 @@
 2002-11-11  Darin Adler  <darin at apple.com>
 
+	- fixed 3084704 -- crash in HTMLTokenizer on page with JavaScript
+	HTMLDocument::Close inside a <script>
+
+	I think it's going to work this time. The key was to hook up the
+	KHTML submitFormAgain machinery.
+
+        * khtml/khtml_part.cpp: (KHTMLPart::submitForm): Take out the APPLE_CHANGES
+	ifdef that was disabling the submitFormAgain logic.
+        * kwq/KWQKHTMLPart.h: Remove submitForm(), because openURLRequest() handles it fine.
+        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURLRequest): Move the logic for handling
+	POST here from submitForm() and remove submitForm().
+
+        * kwq/KWQSlot.mm:
+        (KWQSlot::KWQSlot): Add support for the submitFormAgain slot.
+        (KWQSlot::call): Ditto.
+
+2002-11-11  Darin Adler  <darin at apple.com>
+
 	- fixed 3092421 -- javascript: URL that opens window crashes Alex if typed into empty window
 
         * kwq/KWQKHTMLPart.h:
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 29e23c0..953cfcb 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,5 +1,23 @@
 2002-11-11  Darin Adler  <darin at apple.com>
 
+	- fixed 3084704 -- crash in HTMLTokenizer on page with JavaScript
+	HTMLDocument::Close inside a <script>
+
+	I think it's going to work this time. The key was to hook up the
+	KHTML submitFormAgain machinery.
+
+        * khtml/khtml_part.cpp: (KHTMLPart::submitForm): Take out the APPLE_CHANGES
+	ifdef that was disabling the submitFormAgain logic.
+        * kwq/KWQKHTMLPart.h: Remove submitForm(), because openURLRequest() handles it fine.
+        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURLRequest): Move the logic for handling
+	POST here from submitForm() and remove submitForm().
+
+        * kwq/KWQSlot.mm:
+        (KWQSlot::KWQSlot): Add support for the submitFormAgain slot.
+        (KWQSlot::call): Ditto.
+
+2002-11-11  Darin Adler  <darin at apple.com>
+
 	- fixed 3092421 -- javascript: URL that opens window crashes Alex if typed into empty window
 
         * kwq/KWQKHTMLPart.h:
diff --git a/WebCore/khtml/khtml_part.cpp b/WebCore/khtml/khtml_part.cpp
index d3739a4..3afa29f 100644
--- a/WebCore/khtml/khtml_part.cpp
+++ b/WebCore/khtml/khtml_part.cpp
@@ -3156,9 +3156,6 @@ void KHTMLPart::submitForm( const char *action, const QString &url, const QByteA
       args.setContentType( "Content-Type: " + contentType + "; boundary=" + boundary );
   }
 
-#if APPLE_CHANGES
-  kwq->submitForm(u, args);
-#else
   if ( d->m_doc->parsing() || d->m_runningScripts > 0 ) {
     if( d->m_submitForm ) {
       kdDebug(6000) << "KHTMLPart::submitForm ABORTING!" << endl;
@@ -3177,7 +3174,6 @@ void KHTMLPart::submitForm( const char *action, const QString &url, const QByteA
   {
     emit d->m_extension->openURLRequest( u, args );
   }
-#endif // APPLE_CHANGES
 }
 
 void KHTMLPart::popupMenu( const QString &linkUrl )
diff --git a/WebCore/kwq/KWQKHTMLPart.h b/WebCore/kwq/KWQKHTMLPart.h
index 450a991..e2cfd2f 100644
--- a/WebCore/kwq/KWQKHTMLPart.h
+++ b/WebCore/kwq/KWQKHTMLPart.h
@@ -90,8 +90,6 @@ public:
     bool requestObject(khtml::RenderPart *frame, const QString &url, const QString &serviceType, const QStringList &args);
     KParts::ReadOnlyPart *createPart(const khtml::ChildFrame &child, const KURL &url, const QString &mimeType);
 
-    void submitForm(const KURL &url, const KParts::URLArgs &);
-
     void scheduleClose();
 
     void unfocusWindow();
diff --git a/WebCore/kwq/KWQKHTMLPart.mm b/WebCore/kwq/KWQKHTMLPart.mm
index 4fa30f2..1f36a0a 100644
--- a/WebCore/kwq/KWQKHTMLPart.mm
+++ b/WebCore/kwq/KWQKHTMLPart.mm
@@ -151,8 +151,17 @@ void KWQKHTMLPart::openURLRequest(const KURL &url, const URLArgs &args)
     NSURL *cocoaURL = url.getNSURL();
     if (cocoaURL == nil) {
         // FIXME: We need to report this error to someone.
-    } else {
+        return;
+    }
+    
+    if (!args.doPost()) {
         [bridgeForFrameName(args.frameName) loadURL:cocoaURL reload:args.reload triggeringEvent:nil];
+    } else {
+        QString contentType = args.contentType();
+        ASSERT(contentType.startsWith("Content-Type: "));
+        [bridgeForFrameName(args.frameName) postWithURL:cocoaURL
+            data:[NSData dataWithBytes:args.postData.data() length:args.postData.size()]
+            contentType:contentType.mid(14).getNSString()];
     }
 }
 
@@ -223,19 +232,6 @@ ReadOnlyPart *KWQKHTMLPart::createPart(const ChildFrame &child, const KURL &url,
     }
 }
     
-void KWQKHTMLPart::submitForm(const KURL &u, const URLArgs &args)
-{
-    if (!args.doPost()) {
-	[bridgeForFrameName(args.frameName) loadURL:u.getNSURL() reload:args.reload triggeringEvent:nil];
-    } else {
-        QString contentType = args.contentType();
-        ASSERT(contentType.startsWith("Content-Type: "));
-	[bridgeForFrameName(args.frameName) postWithURL:u.getNSURL()
-                   data:[NSData dataWithBytes:args.postData.data() length:args.postData.size()]
-            contentType:contentType.mid(14).getNSString()];
-    }
-}
-
 void KWQKHTMLPart::setView(KHTMLView *view, bool weOwnIt)
 {
     if (_ownsView) {
diff --git a/WebCore/kwq/KWQSlot.mm b/WebCore/kwq/KWQSlot.mm
index 7ec58e8..23ee37f 100644
--- a/WebCore/kwq/KWQSlot.mm
+++ b/WebCore/kwq/KWQSlot.mm
@@ -62,6 +62,7 @@ enum FunctionNumber {
     slotSelected,
     slotSelectionChanged,
     slotStateChanged,
+    slotSubmitFormAgain,
     slotTextChanged,
     slotTextChangedWithString,
     slotWidgetDestructed
@@ -117,6 +118,9 @@ KWQSlot::KWQSlot(QObject *object, const char *member) : m_object(0)
     } else if (KWQNamesMatch(member, SLOT(slotStateChanged(int)))) {
         ASSERT(dynamic_cast<RenderCheckBox *>(object));
         m_function = slotStateChanged;
+    } else if (KWQNamesMatch(member, SLOT(submitFormAgain()))) {
+        ASSERT(dynamic_cast<KHTMLPart *>(object));
+        m_function = slotSubmitFormAgain;
     } else if (KWQNamesMatch(member, SLOT(slotTextChanged()))) {
         ASSERT(dynamic_cast<RenderTextArea *>(object));
         m_function = slotTextChanged;
@@ -155,6 +159,7 @@ void KWQSlot::call() const
         CASE(slotRedirect, KHTMLPart, slotRedirect)
         CASE(slotReturnPressed, RenderLineEdit, slotReturnPressed)
         CASE(slotSelectionChanged, RenderSelect, slotSelectionChanged)
+        CASE(slotSubmitFormAgain, KHTMLPart, submitFormAgain)
         CASE(slotTextChanged, RenderTextArea, slotTextChanged)
         CASE(slotWidgetDestructed, RenderWidget, slotWidgetDestructed)
     }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list