Reviewed by John Sullivan.
authordarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 9 Mar 2006 17:19:48 +0000 (17:19 +0000)
committerdarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 9 Mar 2006 17:19:48 +0000 (17:19 +0000)
commitd36ee90f95214cf0fe822eb55aa4746247f780fe
tree364b6ccd65df200e40cd1d56a30c0876b77ebfba
parentca09751f54c9462e79896b0cd3fa813cbc693623
    Reviewed by John Sullivan.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7681
          memory leak in the plug-in tests

        * DumpRenderTree/TestNetscapePlugIn.subproj/main.c:
        (NPP_Destroy): Added code to release the plug-in object. This is the leak fix.
        (NPP_SetWindow): Remove unneeded code to store the window pointer.

        * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.c:
        Moved the browser global in here since it's declared in this file's header.
        Changed the code to set up the pluginClass structure to not use function
        pointer casts. Those are dangerous because they can hide many types of mismatch.
        And indeed when I did this I discovered that many functions were missing their
        boolean return values or had parameter declarations with the wrong types.
        (pluginGetProperty): Use STRINGZ_TO_NPVARIANT macro for greater simplicity and
        clarity. Added boolean return value: return true when successful and false when not.
        (pluginSetProperty): Added boolean return value, return false since we have no
        properties we can set.
        (pluginInvoke): Added boolean return value. Return true when successful and false
        when not. Use NPVARIANT macros where appropriate. Added a missing release for the
        return value from calling the browser. Changed code to put the strings in malloc
        buffers instead of relying on GCC's extension that allows variable-sized arrays
        on the stack.
        (pluginInvokeDefault): Added boolean return value, return false since we have no
        default function to call.
        (pluginInvalidate): Added missing parameter. Removed comment.
        (pluginAllocate): Removed unneeded cast. This is C code, not C++, so you don't have
        to cast the result of malloc.
        (pluginDeallocate): Removed uneeded cast.

        * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h: Removed some unneeded
        includes. Changed our PluginObject to use NPObject instead of re-declaring fields
        that match NPObject's fields. Removed unused NPWindow pointer.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@13233 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebKitTools/ChangeLog
WebKitTools/DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj
WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.c
WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h
WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/main.c