[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.21-584-g1e41756

ap at apple.com ap at apple.com
Fri Feb 26 22:25:22 UTC 2010


The following commit has been merged in the webkit-1.1 branch:
commit f552746db1dbe9c3d74624c61ee9004060181dc3
Author: ap at apple.com <ap at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Feb 19 01:21:37 2010 +0000

            Reviewed by Dan Bernstein.
    
            https://bugs.webkit.org/show_bug.cgi?id=35134
            <rdar://problem/7246280> Crash when a plugin calls NPN_SetStatus(0)
    
            * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
            (testSetStatus):
            (pluginInvoke):
            Added a setStatus() method.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@54996 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index c036968..ac98a3b 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,15 @@
+2010-02-18  Alexey Proskuryakov  <ap at apple.com>
+
+        Reviewed by Dan Bernstein.
+
+        https://bugs.webkit.org/show_bug.cgi?id=35134
+        <rdar://problem/7246280> Crash when a plugin calls NPN_SetStatus(0)
+
+        * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
+        (testSetStatus):
+        (pluginInvoke):
+        Added a setStatus() method.
+
 2010-02-18  Brady Eidson  <beidson at apple.com>
 
         Reviewed by Sam Weinig.
diff --git a/WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp b/WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp
index 1616d3e..8e278f5 100644
--- a/WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp
+++ b/WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp
@@ -180,6 +180,7 @@ enum {
     ID_GET_REMEMBERED_OBJECT,
     ID_GET_AND_FORGET_REMEMBERED_OBJECT,
     ID_REF_COUNT,
+    ID_SET_STATUS,
     NUM_METHOD_IDENTIFIERS
 };
 
@@ -213,7 +214,8 @@ static const NPUTF8 *pluginMethodIdentifierNames[NUM_METHOD_IDENTIFIERS] = {
     "remember",
     "getRememberedObject",
     "getAndForgetRememberedObject",
-    "refCount"
+    "refCount",
+    "setStatus"
 };
 
 static NPUTF8* createCStringFromNPVariant(const NPVariant* variant)
@@ -755,6 +757,20 @@ bool testWindowOpen(NPP npp)
     return false;
 }
 
+static bool testSetStatus(PluginObject* obj, const NPVariant* args, uint32_t argCount, NPVariant* result)
+{
+    char* message = 0;
+    if (argCount && NPVARIANT_IS_STRING(args[0])) {
+        NPString statusString = NPVARIANT_TO_STRING(args[0]);
+        message = toCString(statusString);
+    }
+    
+    browser->status(obj->npp, message);
+
+    free(message);
+    return true;
+}
+
 static NPObject* rememberedObject;
 
 static bool pluginInvoke(NPObject* header, NPIdentifier name, const NPVariant* args, uint32_t argCount, NPVariant* result)
@@ -838,7 +854,8 @@ static bool pluginInvoke(NPObject* header, NPIdentifier name, const NPVariant* a
         uint32_t refCount = NPVARIANT_TO_OBJECT(args[0])->referenceCount;
         INT32_TO_NPVARIANT(refCount, *result);
         return true;
-    }
+    } else if (name == pluginMethodIdentifiers[ID_SET_STATUS])
+        return testSetStatus(plugin, args, argCount, result);
     
     return false;
 }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list