[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

aroben at apple.com aroben at apple.com
Wed Dec 22 11:19:27 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 6230c129dd7f36d72298a0175e96a3f6caede94f
Author: aroben at apple.com <aroben at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Jul 19 16:21:04 2010 +0000

    Fix an assertion when a plugin returns -1 from NPP_Write
    
    We were forgetting to call setDefersLoading(false) before destroying
    the PluginStream. In the process of destroying the stream, someone
    would call setDefersLoading(true), and we would assert because we were
    already deferring loads.
    
    Fixes <http://webkit.org/b/42563> Assertion failure in
    ResourceHandle::setDefersLoading when running
    plugins/return-negative-one-from-write.html on Windows
    
    Reviewed by Anders Carlsson.
    
    * plugins/PluginStream.cpp:
    (WebCore::PluginStream::deliverData): Call setDefersLoading(false)
    before destroying the stream, to match the setDefersLoading(true) call
    earlier in this function. (We already call setDefersLoading(false) in
    the non-error case later on.)
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@63667 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 09906ee..78b0a7a 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,24 @@
+2010-07-19  Adam Roben  <aroben at apple.com>
+
+        Fix an assertion when a plugin returns -1 from NPP_Write
+
+        We were forgetting to call setDefersLoading(false) before destroying
+        the PluginStream. In the process of destroying the stream, someone
+        would call setDefersLoading(true), and we would assert because we were
+        already deferring loads.
+
+        Fixes <http://webkit.org/b/42563> Assertion failure in
+        ResourceHandle::setDefersLoading when running
+        plugins/return-negative-one-from-write.html on Windows
+
+        Reviewed by Anders Carlsson.
+
+        * plugins/PluginStream.cpp:
+        (WebCore::PluginStream::deliverData): Call setDefersLoading(false)
+        before destroying the stream, to match the setDefersLoading(true) call
+        earlier in this function. (We already call setDefersLoading(false) in
+        the non-error case later on.)
+
 2010-07-19  Rafael Antognolli  <antognolli at profusion.mobi>
 
         Reviewed by Antonio Gomes.
diff --git a/WebCore/plugins/PluginStream.cpp b/WebCore/plugins/PluginStream.cpp
index c892fa3..7b985a1 100644
--- a/WebCore/plugins/PluginStream.cpp
+++ b/WebCore/plugins/PluginStream.cpp
@@ -356,6 +356,8 @@ void PluginStream::deliverData()
             deliveryBytes = m_pluginFuncs->write(m_instance, &m_stream, m_offset, dataLength, (void*)data);
             if (deliveryBytes < 0) {
                 LOG_PLUGIN_NET_ERROR();
+                if (m_loader)
+                    m_loader->setDefersLoading(false);
                 cancelAndDestroyStream(NPRES_NETWORK_ERR);
                 return;
             }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list