[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