Reviewed by John.
authortimothy@apple.com <timothy@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 12 Nov 2007 23:27:19 +0000 (23:27 +0000)
committertimothy@apple.com <timothy@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 12 Nov 2007 23:27:19 +0000 (23:27 +0000)
        <rdar://problem/5268311> REGRESSION (Safari 2-3): Exception thrown when calling -[WebDataSource subresources]

        * page/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
        If the SharedBuffer is null insert an empty NSData instead of nil.

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

WebCore/ChangeLog
WebCore/page/mac/WebCoreFrameBridge.mm

index 4747a0332819a4bf629f61cc0696c8ea204d0f4f..4b13ba15c828052d9eb8a7b2a0b7f2411d5d5fe0 100644 (file)
@@ -1,3 +1,13 @@
+2007-11-12  Timothy Hatcher  <timothy@apple.com>
+
+        Reviewed by John.
+
+        <rdar://problem/5268311> REGRESSION (Safari 2-3): Exception thrown when calling -[WebDataSource subresources]
+
+        * page/mac/WebCoreFrameBridge.mm:
+        (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
+        If the SharedBuffer is null insert an empty NSData instead of nil.
+
 2007-11-12  Darin Adler  <darin@apple.com>
 
         Reviewed by Tim.
index 4c4ebe98708c3e817177f6c3ffb2dfeffa766645..16b97dde2e90be7a6423b94e6c9d097d0ef8b89c 100644 (file)
@@ -975,7 +975,7 @@ static HTMLFormElement *formElementFromDOMElement(DOMElement *element)
 }
 
 // Determines whether whitespace needs to be added around aString to preserve proper spacing and
-// punctuation when itÕs inserted into the receiverÕs text over charRange. Returns by reference
+// punctuation when it’s inserted into the receiver’s text over charRange. Returns by reference
 // in beforeString and afterString any whitespace that should be added, unless either or both are
 // nil. Both are returned as nil if aString is nil or if smart insertion and deletion are disabled.
 - (void)smartInsertForString:(NSString *)pasteString replacingRange:(DOMRange *)rangeToReplace beforeString:(NSString **)beforeString afterString:(NSString **)afterString
@@ -1266,15 +1266,10 @@ static HTMLFormElement *formElementFromDOMElement(DOMElement *element)
     for (HashMap<String, CachedResource*>::const_iterator it = allResources.begin(); it != end; ++it) {
         SharedBuffer* buffer = it->second->data();
         NSData *data;
-        
         if (buffer)
             data = buffer->createNSData();
         else
-            data = nil;
-        
-        // It's clearly a bug to pass a nil value for data here, and doing so is part of the problem in
-        // <rdar://problem/5268311>. However, fixing this in the obvious ways makes the symptom in 5268311
-        // worse, so don't just fix this without investigating that bug further.
+            data = [[NSData alloc] init];
         [d addObject:data];
         [data release];
         [r addObject:it->second->response().nsURLResponse()];