[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.19-706-ge5415e9
mitz at apple.com
mitz at apple.com
Thu Feb 4 21:35:52 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit ef77ce636b0f974f054f4c68eda3f12a18def0f3
Author: mitz at apple.com <mitz at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Feb 2 00:56:58 2010 +0000
<rdar://problem/7044385> Crash at NetscapePlugInStreamLoader::didReceiveResponse()
Reviewed by Anders Carlsson.
The crash was caused by having two streams with a streamID of 1.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): Fixed a typo. Now
correctly increments m_currentURLRequestID to account for the manual stream.
(WebKit::NetscapePluginInstanceProxy::disconnectStream): If the stream is the manual stream,
null it out instead of trying to remove it from the map. Added an assertion.
(WebKit::NetscapePluginInstanceProxy::loadRequest): Added an assertion.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@54178 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index 205583a..6f82668 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1 +1,16 @@
+2010-02-01 Dan Bernstein <mitz at apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ <rdar://problem/7044385> Crash at NetscapePlugInStreamLoader::didReceiveResponse()
+
+ The crash was caused by having two streams with a streamID of 1.
+
+ * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
+ (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): Fixed a typo. Now
+ correctly increments m_currentURLRequestID to account for the manual stream.
+ (WebKit::NetscapePluginInstanceProxy::disconnectStream): If the stream is the manual stream,
+ null it out instead of trying to remove it from the map. Added an assertion.
+ (WebKit::NetscapePluginInstanceProxy::loadRequest): Added an assertion.
+
== Rolled over to ChangeLog-2010-01-29 ==
diff --git a/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm b/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm
index 187b0ea..e4fe1d2 100644
--- a/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm
+++ b/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm
@@ -126,7 +126,7 @@ NetscapePluginInstanceProxy::NetscapePluginInstanceProxy(NetscapePluginHostProxy
if (fullFramePlugin) {
// For full frame plug-ins, the first requestID will always be the one for the already
// open stream.
- ++m_currentRequestID;
+ ++m_currentURLRequestID;
}
// Assign a plug-in ID.
@@ -261,6 +261,12 @@ bool NetscapePluginInstanceProxy::cancelStreamLoad(uint32_t streamID, NPReason r
void NetscapePluginInstanceProxy::disconnectStream(HostedNetscapePluginStream* stream)
{
+ if (stream == m_manualStream) {
+ m_manualStream = 0;
+ return;
+ }
+
+ ASSERT(m_streams.get(stream->streamID()) == stream);
m_streams.remove(stream->streamID());
}
@@ -655,6 +661,7 @@ NPError NetscapePluginInstanceProxy::loadRequest(NSURLRequest *request, const ch
} else {
RefPtr<HostedNetscapePluginStream> stream = HostedNetscapePluginStream::create(this, requestID, request);
+ ASSERT(!m_streams.contains(requestID));
m_streams.add(requestID, stream);
stream->start();
}
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list