2009-01-21 Anders Carlsson <andersca@apple.com>
authorandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 22 Jan 2009 01:39:57 +0000 (01:39 +0000)
committerandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 22 Jan 2009 01:39:57 +0000 (01:39 +0000)
commit6b8461d707862837c86ab9fedbd6f5e944692fbc
tree448d5640be19676925681000233cad51a9b49f9e
parentdbfcc66bd44bfbd5f235502a35b3d4f3090ec339
2009-01-21  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        More browser->plug-in scripting support.

        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (WKPCNPObjectHasPropertyReply):
        (WKPCNPObjectHasMethodReply):
        (WKPCNPObjectInvokeReply):
        MIG reply functions.

        (WKPCIdentifierInfo):
        Return information about an identifier given its 64-bit value.

        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        Add new reply structs.

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::addValueToArray):
        Split out code that adds values to the arrays from marshalValue.

        (WebKit::NetscapePluginInstanceProxy::marshalValue):
        Call addValueToArray.

        (WebKit::NetscapePluginInstanceProxy::marshalValues):
        Marshal a list of values.

        (WebKit::NetscapePluginInstanceProxy::createBindingsInstance):
        Actually create a proxy instance.

        * Plugins/Hosted/ProxyInstance.h:
        * Plugins/Hosted/ProxyInstance.mm:
        (WebKit::ProxyClass::methodsNamed):
        (WebKit::ProxyClass::fieldNamed):
        Add a proxy ProxyClass class that just forwards everything to the ProxyInstance class.

        (WebKit::proxyClass):
        Shared proxyClass getter.

        (WebKit::ProxyField::ProxyField):
        (WebKit::ProxyField::valueFromInstance):
        (WebKit::ProxyField::setValueToInstance):
        Add a proxy ProxyField class that just forwards everything to the ProxyInstance class.

        (WebKit::ProxyMethod::ProxyMethod):
        (WebKit::ProxyMethod::serverIdentifier):
        (WebKit::ProxyMethod::numParameters):
        Add a dummy ProxyMethod class.

        (WebKit::ProxyInstance::invokeMethod):
        Call _WKPHNPObjectInvoke.

        (WebKit::ProxyInstance::defaultValue):
        (WebKit::ProxyInstance::stringValue):
        (WebKit::ProxyInstance::numberValue):
        (WebKit::ProxyInstance::booleanValue):
        (WebKit::ProxyInstance::valueOf):
        Add dummy implementations (taken from CInstance).

        (WebKit::ProxyInstance::methodsNamed):
        Call _WKPHNPObjectHasMethod to determine whether a method with the given name exists.

        (WebKit::ProxyInstance::fieldNamed):
        Call _WKPHNPObjectHasProperty to determine whether a property with the given name exists.

        * Plugins/Hosted/WebKitPluginClient.defs:
        * Plugins/Hosted/WebKitPluginHost.defs:
        Add new MIG definitions.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@40106 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebKit/mac/ChangeLog
WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.mm
WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h
WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm
WebKit/mac/Plugins/Hosted/ProxyInstance.h
WebKit/mac/Plugins/Hosted/ProxyInstance.mm
WebKit/mac/Plugins/Hosted/WebKitPluginClient.defs
WebKit/mac/Plugins/Hosted/WebKitPluginHost.defs