2006-10-25 Anders Carlsson <acarlsson@apple.com>
authorandersca <andersca@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 26 Oct 2006 00:12:45 +0000 (00:12 +0000)
committerandersca <andersca@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 26 Oct 2006 00:12:45 +0000 (00:12 +0000)
        Reviewed by Geoff.

        <rdar://problem/4799088>
        REGRESSION: Translation widget fails to convert data and reports a "Data unavailable" error.

        * loader/mac/WebSubresourceLoader.h:
        * loader/mac/WebSubresourceLoader.mm:
        (-[WebCoreSubresourceHandle initWithLoader:]):
        Set the HTTP method before the HTTP body.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@17294 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/loader/mac/WebSubresourceLoader.h
WebCore/loader/mac/WebSubresourceLoader.mm

index 3407c76..cc15f2b 100644 (file)
@@ -1,3 +1,15 @@
+2006-10-25  Anders Carlsson  <acarlsson@apple.com>
+
+        Reviewed by Geoff.
+
+        <rdar://problem/4799088>
+        REGRESSION: Translation widget fails to convert data and reports a "Data unavailable" error.
+
+        * loader/mac/WebSubresourceLoader.h:
+        * loader/mac/WebSubresourceLoader.mm:
+        (-[WebCoreSubresourceHandle initWithLoader:]):
+        Set the HTTP method before the HTTP body.
+
 2006-10-25  Geoffrey Garen  <ggaren@apple.com>
 
         Reviewed by Adam.
 2006-10-25  Geoffrey Garen  <ggaren@apple.com>
 
         Reviewed by Adam.
index b65b2db..9b4b6cd 100644 (file)
@@ -48,7 +48,7 @@ namespace WebCore {
 
     private:
         static id <WebCoreResourceHandle> create(Frame*, id <WebCoreResourceLoader>,
 
     private:
         static id <WebCoreResourceHandle> create(Frame*, id <WebCoreResourceLoader>,
-            NSMutableURLRequest *, NSString *method, NSDictionary *customHeaders, NSString *referrer);
+            NSMutableURLRequest *, NSDictionary *customHeaders, NSString *referrer);
 
         SubresourceLoader(Frame*, id <WebCoreResourceLoader>);
         id <WebCoreResourceHandle> handle();
 
         SubresourceLoader(Frame*, id <WebCoreResourceLoader>);
         id <WebCoreResourceHandle> handle();
index 67a8328..59e2825 100644 (file)
@@ -64,14 +64,12 @@ SubresourceLoader::~SubresourceLoader()
 }
 
 id <WebCoreResourceHandle> SubresourceLoader::create(Frame* frame, id <WebCoreResourceLoader> rLoader,
 }
 
 id <WebCoreResourceHandle> SubresourceLoader::create(Frame* frame, id <WebCoreResourceLoader> rLoader,
-    NSMutableURLRequest *newRequest, NSString *method, NSDictionary *customHeaders, NSString *referrer)
+    NSMutableURLRequest *newRequest, NSDictionary *customHeaders, NSString *referrer)
 {
     FrameLoader* fl = frame->loader();
     if (fl->state() == WebFrameStateProvisional)
         return nil;
 
 {
     FrameLoader* fl = frame->loader();
     if (fl->state() == WebFrameStateProvisional)
         return nil;
 
-    [newRequest setHTTPMethod:method];
-
     wkSupportsMultipartXMixedReplace(newRequest);
 
     NSEnumerator *e = [customHeaders keyEnumerator];
     wkSupportsMultipartXMixedReplace(newRequest);
 
     NSEnumerator *e = [customHeaders keyEnumerator];
@@ -102,8 +100,9 @@ id <WebCoreResourceHandle> SubresourceLoader::create(Frame* frame, id <WebCoreRe
 id <WebCoreResourceHandle> SubresourceLoader::create(Frame* frame, id <WebCoreResourceLoader> rLoader,
     NSString *method, NSURL *URL, NSDictionary *customHeaders, NSString *referrer)
 {
 id <WebCoreResourceHandle> SubresourceLoader::create(Frame* frame, id <WebCoreResourceLoader> rLoader,
     NSString *method, NSURL *URL, NSDictionary *customHeaders, NSString *referrer)
 {
-    NSMutableURLRequest *newRequest = [[NSMutableURLRequest alloc] initWithURL:URL];
-    id <WebCoreResourceHandle> handle = create(frame, rLoader, newRequest, method, customHeaders, referrer);
+    NSMutableURLRequest *newRequest = [[NSMutableURLRequest alloc] initWithURL:URL];    
+    [newRequest setHTTPMethod:method];
+    id <WebCoreResourceHandle> handle = create(frame, rLoader, newRequest, customHeaders, referrer);
     [newRequest release];
     return handle;
 }
     [newRequest release];
     return handle;
 }
@@ -112,8 +111,11 @@ id <WebCoreResourceHandle> SubresourceLoader::create(Frame* frame, id <WebCoreRe
     NSString *method, NSURL *URL, NSDictionary *customHeaders, NSArray *postData, NSString *referrer)
 {
     NSMutableURLRequest *newRequest = [[NSMutableURLRequest alloc] initWithURL:URL];
     NSString *method, NSURL *URL, NSDictionary *customHeaders, NSArray *postData, NSString *referrer)
 {
     NSMutableURLRequest *newRequest = [[NSMutableURLRequest alloc] initWithURL:URL];
+    // FIXME: Because of <rdar://problem/4803505>, the method has to be set before the body.
+    // Once this is fixed we can pass the method to create like we used to.
+    [newRequest setHTTPMethod:method];
     webSetHTTPBody(newRequest, postData);
     webSetHTTPBody(newRequest, postData);
-    id <WebCoreResourceHandle> handle = create(frame, rLoader, newRequest, method, customHeaders, referrer);
+    id <WebCoreResourceHandle> handle = create(frame, rLoader, newRequest, customHeaders, referrer);
     [newRequest release];
     return handle;
 }
     [newRequest release];
     return handle;
 }