Title: [169055] branches/safari-538.34.5-branch/Source/WebCore
Diff
Modified: branches/safari-538.34.5-branch/Source/WebCore/ChangeLog (169054 => 169055)
--- branches/safari-538.34.5-branch/Source/WebCore/ChangeLog 2014-05-19 19:10:46 UTC (rev 169054)
+++ branches/safari-538.34.5-branch/Source/WebCore/ChangeLog 2014-05-19 19:54:48 UTC (rev 169055)
@@ -1,3 +1,24 @@
+2014-05-19 Lucas Forschler <[email protected]>
+
+ Merge r168909
+
+ 2014-05-15 Alexey Proskuryakov <[email protected]>
+
+ NetworkProcess crashes at ResourceHandle::continueDidReceiveResponse
+ https://bugs.webkit.org/show_bug.cgi?id=132966
+ <rdar://problem/16373694>
+
+ Reviewed by Brady Eidson.
+
+ Covered by many fast/files tests.
+
+ * platform/network/BlobResourceHandle.cpp: (WebCore::BlobResourceHandle::continueDidReceiveResponse):
+ * platform/network/BlobResourceHandle.h:
+ * platform/network/ResourceHandle.h:
+ Don't call delegate's continueDidReceiveResponse when loading a blob:// URL,
+ the delegate is null. On the Mac, we used to lazily create it, which was also wrong,
+ but at least not observable.
+
2014-05-16 Lucas Forschler <[email protected]>
Merge r168886
Modified: branches/safari-538.34.5-branch/Source/WebCore/platform/network/BlobResourceHandle.cpp (169054 => 169055)
--- branches/safari-538.34.5-branch/Source/WebCore/platform/network/BlobResourceHandle.cpp 2014-05-19 19:10:46 UTC (rev 169054)
+++ branches/safari-538.34.5-branch/Source/WebCore/platform/network/BlobResourceHandle.cpp 2014-05-19 19:54:48 UTC (rev 169055)
@@ -202,6 +202,11 @@
ResourceHandle::cancel();
}
+void BlobResourceHandle::continueDidReceiveResponse()
+{
+ // BlobResourceHandle doesn't wait for didReceiveResponse, and it currently cannot be used for downloading.
+}
+
void delayedStartBlobResourceHandle(void* context)
{
RefPtr<BlobResourceHandle> handle = adoptRef(static_cast<BlobResourceHandle*>(context));
Modified: branches/safari-538.34.5-branch/Source/WebCore/platform/network/BlobResourceHandle.h (169054 => 169055)
--- branches/safari-538.34.5-branch/Source/WebCore/platform/network/BlobResourceHandle.h 2014-05-19 19:10:46 UTC (rev 169054)
+++ branches/safari-538.34.5-branch/Source/WebCore/platform/network/BlobResourceHandle.h 2014-05-19 19:54:48 UTC (rev 169055)
@@ -48,20 +48,12 @@
class ResourceRequest;
struct BlobDataItem;
-class BlobResourceHandle : public FileStreamClient, public ResourceHandle {
+class BlobResourceHandle final : public FileStreamClient, public ResourceHandle {
public:
static PassRefPtr<BlobResourceHandle> createAsync(BlobData*, const ResourceRequest&, ResourceHandleClient*);
static void loadResourceSynchronously(BlobData*, const ResourceRequest&, ResourceError&, ResourceResponse&, Vector<char>& data);
- // FileStreamClient methods.
- virtual void didGetSize(long long) override;
- virtual void didOpen(bool) override;
- virtual void didRead(int) override;
-
- // ResourceHandle methods.
- virtual void cancel() override;
-
void start();
int readSync(char*, int);
@@ -73,6 +65,15 @@
BlobResourceHandle(BlobData*, const ResourceRequest&, ResourceHandleClient*, bool async);
virtual ~BlobResourceHandle();
+ // FileStreamClient methods.
+ virtual void didGetSize(long long) override;
+ virtual void didOpen(bool) override;
+ virtual void didRead(int) override;
+
+ // ResourceHandle methods.
+ virtual void cancel() override;
+ virtual void continueDidReceiveResponse() override;
+
void doStart();
void getSizeForNext();
void seek();
Modified: branches/safari-538.34.5-branch/Source/WebCore/platform/network/ResourceHandle.h (169054 => 169055)
--- branches/safari-538.34.5-branch/Source/WebCore/platform/network/ResourceHandle.h 2014-05-19 19:10:46 UTC (rev 169054)
+++ branches/safari-538.34.5-branch/Source/WebCore/platform/network/ResourceHandle.h 2014-05-19 19:54:48 UTC (rev 169055)
@@ -207,7 +207,7 @@
void continueWillSendRequest(const ResourceRequest&);
// Called in response to ResourceHandleClient::didReceiveResponseAsync().
- void continueDidReceiveResponse();
+ virtual void continueDidReceiveResponse();
#if USE(PROTECTION_SPACE_AUTH_CALLBACK)
// Called in response to ResourceHandleClient::canAuthenticateAgainstProtectionSpaceAsync().
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes