Changeset 71054 in webkit


Ignore:
Timestamp:
Nov 1, 2010 2:10:56 PM (13 years ago)
Author:
andersca@apple.com
Message:

Start stubbing out NPClass functions in NPObjectProxy
https://bugs.webkit.org/show_bug.cgi?id=48778

Reviewed by Adam Roben.

  • PluginProcess/PluginControllerProxy.cpp:

(WebKit::PluginControllerProxy::windowScriptNPObject):
getOrCreateNPObjectProxy is now createNPObjectProxy.

  • Shared/Plugins/NPObjectProxy.cpp:

(WebKit::NPObjectProxy::create):
Allocate and initialize an NPObjectProxy object.

(WebKit::NPObjectProxy::NPObjectProxy):
Initialize m_npObjectID to 0.

(WebKit::NPObjectProxy::isNPObjectProxy):
Check the class.

(WebKit::NPObjectProxy::initialize):
Set m_npObjectID.

(WebKit::NPObjectProxy::npClass):
Return the NPClass with all functions filled in.

(WebKit::NPObjectProxy::NP_Allocate):
Create a new NPObjectProxy object.

(WebKit::NPObjectProxy::NP_Deallocate):
Deallocate the NPObjectProxy object.

(WebKit::NPObjectProxy::NP_HasMethod):
(WebKit::NPObjectProxy::NP_Invoke):
(WebKit::NPObjectProxy::NP_InvokeDefault):
(WebKit::NPObjectProxy::NP_HasProperty):
(WebKit::NPObjectProxy::NP_GetProperty):
(WebKit::NPObjectProxy::NP_SetProperty):
(WebKit::NPObjectProxy::NP_RemoveProperty):
(WebKit::NPObjectProxy::NP_Enumerate):
(WebKit::NPObjectProxy::NP_Construct):
Add stubs.

  • Shared/Plugins/NPRemoteObjectMap.cpp:

(WebKit::NPRemoteObjectMap::createNPObjectProxy):

  • Shared/Plugins/NPRemoteObjectMap.h:

Rename getOrCreateNPObjectProxy to createNPObjectProxy.

  • WebProcess/Plugins/Netscape/NPJSObject.cpp:

(WebKit::NPJSObject::NP_Allocate):
Remove unused parameter.

Location:
trunk/WebKit2
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKit2/ChangeLog

    r71051 r71054  
     12010-11-01  Anders Carlsson  <andersca@apple.com>
     2
     3        Reviewed by Adam Roben.
     4
     5        Start stubbing out NPClass functions in NPObjectProxy
     6        https://bugs.webkit.org/show_bug.cgi?id=48778
     7
     8        * PluginProcess/PluginControllerProxy.cpp:
     9        (WebKit::PluginControllerProxy::windowScriptNPObject):
     10        getOrCreateNPObjectProxy is now createNPObjectProxy.
     11
     12        * Shared/Plugins/NPObjectProxy.cpp:
     13        (WebKit::NPObjectProxy::create):
     14        Allocate and initialize an NPObjectProxy object.
     15
     16        (WebKit::NPObjectProxy::NPObjectProxy):
     17        Initialize m_npObjectID to 0.
     18
     19        (WebKit::NPObjectProxy::isNPObjectProxy):
     20        Check the class.
     21
     22        (WebKit::NPObjectProxy::initialize):
     23        Set m_npObjectID.
     24
     25        (WebKit::NPObjectProxy::npClass):
     26        Return the NPClass with all functions filled in.
     27
     28        (WebKit::NPObjectProxy::NP_Allocate):
     29        Create a new NPObjectProxy object.
     30
     31        (WebKit::NPObjectProxy::NP_Deallocate):
     32        Deallocate the NPObjectProxy object.
     33
     34        (WebKit::NPObjectProxy::NP_HasMethod):
     35        (WebKit::NPObjectProxy::NP_Invoke):
     36        (WebKit::NPObjectProxy::NP_InvokeDefault):
     37        (WebKit::NPObjectProxy::NP_HasProperty):
     38        (WebKit::NPObjectProxy::NP_GetProperty):
     39        (WebKit::NPObjectProxy::NP_SetProperty):
     40        (WebKit::NPObjectProxy::NP_RemoveProperty):
     41        (WebKit::NPObjectProxy::NP_Enumerate):
     42        (WebKit::NPObjectProxy::NP_Construct):
     43        Add stubs.
     44
     45        * Shared/Plugins/NPRemoteObjectMap.cpp:
     46        (WebKit::NPRemoteObjectMap::createNPObjectProxy):
     47        * Shared/Plugins/NPRemoteObjectMap.h:
     48        Rename getOrCreateNPObjectProxy to createNPObjectProxy.
     49
     50        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
     51        (WebKit::NPJSObject::NP_Allocate):
     52        Remove unused parameter.
     53
    1542010-11-01  Anders Carlsson  <andersca@apple.com>
    255
  • trunk/WebKit2/PluginProcess/PluginControllerProxy.cpp

    r71051 r71054  
    171171        return 0;
    172172
    173     return m_connection->npRemoteObjectMap().getOrCreateNPObjectProxy(windowScriptNPObjectID);
     173    return m_connection->npRemoteObjectMap().createNPObjectProxy(windowScriptNPObjectID);
    174174}
    175175
  • trunk/WebKit2/Shared/Plugins/NPObjectProxy.cpp

    r70809 r71054  
    2424 */
    2525
     26#if ENABLE(PLUGIN_PROCESS)
     27
    2628#include "NPObjectProxy.h"
    2729
    28 #if ENABLE(PLUGIN_PROCESS)
     30#include "NotImplemented.h"
     31#include "NPRuntimeUtilities.h"
    2932
    3033namespace WebKit {
    3134
     35NPObjectProxy* NPObjectProxy::create(uint64_t npObjectID)
     36{
     37    NPObjectProxy* npObjectProxy = toNPObjectProxy(createNPObject(0, npClass()));
     38    npObjectProxy->initialize(npObjectID);
     39
     40    return npObjectProxy;
     41}
     42
    3243NPObjectProxy::NPObjectProxy()
     44    : m_npObjectID(0)
    3345{
    3446}
     
    3850}
    3951
     52bool NPObjectProxy::isNPObjectProxy(NPObject* npObject)
     53{
     54    return npObject->_class == npClass();
     55}
     56   
     57void NPObjectProxy::initialize(uint64_t npObjectID)
     58{
     59    ASSERT(!m_npObjectID);
     60    m_npObjectID = npObjectID;
     61}
     62
     63NPClass* NPObjectProxy::npClass()
     64{
     65    static NPClass npClass = {
     66        NP_CLASS_STRUCT_VERSION,
     67        NP_Allocate,
     68        NP_Deallocate,
     69        0,
     70        NP_HasMethod,
     71        NP_Invoke,
     72        NP_InvokeDefault,
     73        NP_HasProperty,
     74        NP_GetProperty,
     75        NP_SetProperty,
     76        NP_RemoveProperty,
     77        NP_Enumerate,
     78        NP_Construct
     79    };
     80
     81    return &npClass;
     82}
     83
     84NPObject* NPObjectProxy::NP_Allocate(NPP npp, NPClass*)
     85{
     86    ASSERT_UNUSED(npp, !npp);
     87
     88    return new NPObjectProxy;
     89}
     90
     91void NPObjectProxy::NP_Deallocate(NPObject* npObject)
     92{
     93    NPObjectProxy* npObjectProxy = toNPObjectProxy(npObject);
     94    delete npObjectProxy;
     95}
     96
     97bool NPObjectProxy::NP_HasMethod(NPObject*, NPIdentifier methodName)
     98{
     99    notImplemented();
     100    return false;
     101}
     102
     103bool NPObjectProxy::NP_Invoke(NPObject*, NPIdentifier methodName, const NPVariant* arguments, uint32_t argumentCount, NPVariant* result)
     104{
     105    notImplemented();
     106    return false;
     107}
     108
     109bool NPObjectProxy::NP_InvokeDefault(NPObject*, const NPVariant* arguments, uint32_t argumentCount, NPVariant* result)
     110{
     111    notImplemented();
     112    return false;
     113}
     114
     115bool NPObjectProxy::NP_HasProperty(NPObject*, NPIdentifier propertyName)
     116{
     117    notImplemented();
     118    return false;
     119}
     120
     121bool NPObjectProxy::NP_GetProperty(NPObject*, NPIdentifier propertyName, NPVariant* result)
     122{
     123    notImplemented();
     124    return false;
     125}
     126
     127bool NPObjectProxy::NP_SetProperty(NPObject*, NPIdentifier propertyName, const NPVariant* value)
     128{
     129    notImplemented();
     130    return false;
     131}
     132
     133bool NPObjectProxy::NP_RemoveProperty(NPObject*, NPIdentifier propertyName)
     134{
     135    notImplemented();
     136    return false;
     137}
     138
     139bool NPObjectProxy::NP_Enumerate(NPObject*, NPIdentifier** identifiers, uint32_t* identifierCount)
     140{
     141    notImplemented();
     142    return false;
     143}
     144
     145bool NPObjectProxy::NP_Construct(NPObject*, const NPVariant* arguments, uint32_t argumentCount, NPVariant* result)
     146{
     147    notImplemented();
     148    return false;
     149}
     150
    40151} // namespace WebKit
    41152
  • trunk/WebKit2/Shared/Plugins/NPObjectProxy.h

    r70809 r71054  
    3737    WTF_MAKE_NONCOPYABLE(NPObjectProxy);
    3838
     39public:
     40    static NPObjectProxy* create(uint64_t npObjectID);
     41
     42    static bool isNPObjectProxy(NPObject*);
     43   
     44    static NPObjectProxy* toNPObjectProxy(NPObject* npObject)
     45    {
     46        ASSERT(isNPObjectProxy(npObject));
     47        return static_cast<NPObjectProxy*>(npObject);
     48    }
     49   
    3950private:
    4051    NPObjectProxy();
    4152    ~NPObjectProxy();
     53
     54    void initialize(uint64_t npObjectID);
     55
     56    static NPClass* npClass();
     57    static NPObject* NP_Allocate(NPP, NPClass*);
     58    static void NP_Deallocate(NPObject*);
     59    static bool NP_HasMethod(NPObject*, NPIdentifier methodName);
     60    static bool NP_Invoke(NPObject*, NPIdentifier methodName, const NPVariant* arguments, uint32_t argumentCount, NPVariant* result);
     61    static bool NP_InvokeDefault(NPObject*, const NPVariant* arguments, uint32_t argumentCount, NPVariant* result);
     62    static bool NP_HasProperty(NPObject*, NPIdentifier propertyName);
     63    static bool NP_GetProperty(NPObject*, NPIdentifier propertyName, NPVariant* result);
     64    static bool NP_SetProperty(NPObject*, NPIdentifier propertyName, const NPVariant* value);
     65    static bool NP_RemoveProperty(NPObject*, NPIdentifier propertyName);
     66    static bool NP_Enumerate(NPObject*, NPIdentifier** identifiers, uint32_t* identifierCount);
     67    static bool NP_Construct(NPObject*, const NPVariant* arguments, uint32_t argumentCount, NPVariant* result);
     68
     69    uint64_t m_npObjectID;
    4270};
    4371   
  • trunk/WebKit2/Shared/Plugins/NPRemoteObjectMap.cpp

    r71051 r71054  
    2929
    3030#include "NPObjectMessageReceiver.h"
     31#include "NPObjectProxy.h"
    3132#include <wtf/OwnPtr.h>
    3233
     
    4445}
    4546
    46 NPObjectProxy* NPRemoteObjectMap::getOrCreateNPObjectProxy(uint64_t remoteObjectID)
     47NPObjectProxy* NPRemoteObjectMap::createNPObjectProxy(uint64_t remoteObjectID)
    4748{
    48     // FIXME: Implement.
    49     return 0;
     49    return NPObjectProxy::create(remoteObjectID);
    5050}
    5151
  • trunk/WebKit2/Shared/Plugins/NPRemoteObjectMap.h

    r71051 r71054  
    4949
    5050    // Creates an NPObjectProxy wrapper for the remote object with the given remote object ID.
    51     NPObjectProxy* getOrCreateNPObjectProxy(uint64_t remoteObjectID);
     51    NPObjectProxy* createNPObjectProxy(uint64_t remoteObjectID);
    5252
    5353    // Expose the given NPObject as a remote object. Returns the objectID.
  • trunk/WebKit2/WebProcess/Plugins/Netscape/NPJSObject.cpp

    r70898 r71054  
    324324}
    325325   
    326 NPObject* NPJSObject::NP_Allocate(NPP npp, NPClass* npClass)
     326NPObject* NPJSObject::NP_Allocate(NPP npp, NPClass*)
    327327{
    328328    ASSERT_UNUSED(npp, !npp);
Note: See TracChangeset for help on using the changeset viewer.