diff options
author | jorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-30 00:35:33 +0000 |
---|---|---|
committer | jorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-30 00:35:33 +0000 |
commit | a3929294e9176abc6085d87cb2c6f8f8417b58f3 (patch) | |
tree | 82db7bd5e99b1ddcc4ab0efb9c43decf3698b92c /webkit | |
parent | 2da90e5f4e6deae2902ea1de2f4a76544885e1d8 (diff) | |
download | chromium_src-a3929294e9176abc6085d87cb2c6f8f8417b58f3.zip chromium_src-a3929294e9176abc6085d87cb2c6f8f8417b58f3.tar.gz chromium_src-a3929294e9176abc6085d87cb2c6f8f8417b58f3.tar.bz2 |
Continue eliminating direct NPN_ function calls that go from Chromium code to WebKit code. The long-term goal is to be able to link WebKit as a DLL.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/160310
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22031 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/api/public/WebBindings.h | 37 | ||||
-rw-r--r-- | webkit/api/src/WebBindings.cpp | 55 |
2 files changed, 90 insertions, 2 deletions
diff --git a/webkit/api/public/WebBindings.h b/webkit/api/public/WebBindings.h index 00d055c..17af60f 100644 --- a/webkit/api/public/WebBindings.h +++ b/webkit/api/public/WebBindings.h @@ -44,17 +44,29 @@ namespace WebKit { // NPN Functions ------------------------------------------------------ // These are all defined in npruntime.h and are well documented. + // NPN_Construct + WEBKIT_API static bool construct(NPP npp, NPObject *npobj, const NPVariant *args, uint32_t argCount, NPVariant* result); + // NPN_CreateObject WEBKIT_API static NPObject* createObject(NPP npp, NPClass* npClass); + // NPN_Enumerate + WEBKIT_API static bool enumerate(NPP id, NPObject* obj, NPIdentifier** identifier, uint32_t* val); + + // NPN_EvaluateHelper + WEBKIT_API static bool evaluateHelper(NPP npp, bool popups_allowed, NPObject* npobj, NPString* npscript, NPVariant* result); + // NPN_GetIntIdentifier - WEBKIT_API static NPIdentifier getIntIdentifier(int32_t); + WEBKIT_API static NPIdentifier getIntIdentifier(int32_t number); // NPN_GetProperty WEBKIT_API static bool getProperty(NPP npp, NPObject* obj, NPIdentifier propertyName, NPVariant *result); // NPN_GetStringIdentifier - WEBKIT_API static NPIdentifier getStringIdentifier(const NPUTF8*); + WEBKIT_API static NPIdentifier getStringIdentifier(const NPUTF8* string); + + // NPN_GetStringIdentifiers + WEBKIT_API static void getStringIdentifiers(const NPUTF8** names, int32_t nameCount, NPIdentifier* identifiers); // NPN_HasMethod WEBKIT_API static bool hasMethod(NPP npp, NPObject* npObject, NPIdentifier methodName); @@ -62,24 +74,45 @@ namespace WebKit { // NPN_HasProperty WEBKIT_API static bool hasProperty(NPP npp, NPObject* npObject, NPIdentifier propertyName); + // NPN_IdentifierIsString + WEBKIT_API static bool identifierIsString(NPIdentifier identifier); + // NPN_InitializeVariantWithStringCopy (though sometimes prefixed with an underscore) WEBKIT_API static void initializeVariantWithStringCopy(NPVariant* variant, const NPString* value); + // NPN_IntFromIdentifier + WEBKIT_API static int32_t intFromIdentifier(NPIdentifier identifier); + // NPN_Invoke WEBKIT_API static bool invoke(NPP npp, NPObject* npObject, NPIdentifier methodName, const NPVariant* arguments, uint32_t argumentCount, NPVariant* result); + // NPN_InvokeDefault + WEBKIT_API static bool invokeDefault(NPP id, NPObject* obj, const NPVariant* args, uint32_t count, NPVariant* result); + // NPN_ReleaseObject WEBKIT_API static void releaseObject(NPObject* npObject); // NPN_ReleaseVariantValue WEBKIT_API static void releaseVariantValue(NPVariant* variant); + // NPN_RemoveProperty + WEBKIT_API static bool removeProperty(NPP id, NPObject* object, NPIdentifier identifier); + // NPN_RetainObject WEBKIT_API static NPObject* retainObject(NPObject* npObject); + // NPN_SetException + WEBKIT_API static void setException(NPObject* obj, const NPUTF8* message); + + // NPN_SetProperty + WEBKIT_API static bool setProperty(NPP id, NPObject* obj, NPIdentifier identifier, const NPVariant* variant); + // _NPN_UnregisterObject WEBKIT_API static void unregisterObject(NPObject* npObject); + // NPN_UTF8FromIdentifier + WEBKIT_API static NPUTF8* utf8FromIdentifier(NPIdentifier identifier); + // Miscellaneous utility functions ------------------------------------ // Complement to NPN_Get___Identifier functions. Extracts data from the NPIdentifier data diff --git a/webkit/api/src/WebBindings.cpp b/webkit/api/src/WebBindings.cpp index b3cf59a..8e725e4 100644 --- a/webkit/api/src/WebBindings.cpp +++ b/webkit/api/src/WebBindings.cpp @@ -54,11 +54,26 @@ using namespace WebCore; namespace WebKit { +bool WebBindings::construct(NPP npp, NPObject *npobj, const NPVariant *args, uint32_t argCount, NPVariant* result) +{ + return NPN_Construct(npp, npobj, args, argCount, result); +} + NPObject* WebBindings::createObject(NPP npp, NPClass* npClass) { return NPN_CreateObject(npp, npClass); } +bool WebBindings::enumerate(NPP id, NPObject* obj, NPIdentifier** identifier, uint32_t* val) +{ + return NPN_Enumerate(id, obj, identifier, val); +} + +bool WebBindings::evaluateHelper(NPP npp, bool popups_allowed, NPObject* npobj, NPString* npscript, NPVariant* result) +{ + return NPN_EvaluateHelper(npp, popups_allowed, npobj, npscript, result); +} + NPIdentifier WebBindings::getIntIdentifier(int32_t number) { return NPN_GetIntIdentifier(number); @@ -74,6 +89,11 @@ NPIdentifier WebBindings::getStringIdentifier(const NPUTF8* string) return NPN_GetStringIdentifier(string); } +void WebBindings::getStringIdentifiers(const NPUTF8** names, int32_t nameCount, NPIdentifier* identifiers) +{ + NPN_GetStringIdentifiers(names, nameCount, identifiers); +} + bool WebBindings::hasMethod(NPP npp, NPObject* npObject, NPIdentifier methodName) { return NPN_HasMethod(npp, npObject, methodName); @@ -84,6 +104,16 @@ bool WebBindings::hasProperty(NPP npp, NPObject* npObject, NPIdentifier property return NPN_HasProperty(npp, npObject, propertyName); } +bool WebBindings::identifierIsString(NPIdentifier identifier) +{ + return NPN_IdentifierIsString(identifier); +} + +int32_t WebBindings::intFromIdentifier(NPIdentifier identifier) +{ + return NPN_IntFromIdentifier(identifier); +} + void WebBindings::initializeVariantWithStringCopy(NPVariant* variant, const NPString* value) { #if USE(V8) @@ -98,6 +128,11 @@ bool WebBindings::invoke(NPP npp, NPObject* npObject, NPIdentifier methodName, c return NPN_Invoke(npp, npObject, methodName, arguments, argumentCount, result); } +bool WebBindings::invokeDefault(NPP id, NPObject* obj, const NPVariant* args, uint32_t count, NPVariant* result) +{ + return NPN_InvokeDefault(id, obj, args, count, result); +} + void WebBindings::releaseObject(NPObject* npObject) { return NPN_ReleaseObject(npObject); @@ -108,11 +143,26 @@ void WebBindings::releaseVariantValue(NPVariant* variant) NPN_ReleaseVariantValue(variant); } +bool WebBindings::removeProperty(NPP id, NPObject* object, NPIdentifier identifier) +{ + return NPN_RemoveProperty(id, object, identifier); +} + NPObject* WebBindings::retainObject(NPObject* npObject) { return NPN_RetainObject(npObject); } +void WebBindings::setException(NPObject* obj, const NPUTF8* message) +{ + NPN_SetException(obj, message); +} + +bool WebBindings::setProperty(NPP id, NPObject* obj, NPIdentifier identifier, const NPVariant* variant) +{ + return NPN_SetProperty(id, obj, identifier, variant); +} + void WebBindings::unregisterObject(NPObject* npObject) { #if USE(V8) @@ -120,6 +170,11 @@ void WebBindings::unregisterObject(NPObject* npObject) #endif } +NPUTF8* WebBindings::utf8FromIdentifier(NPIdentifier identifier) +{ + return NPN_UTF8FromIdentifier(identifier); +} + void WebBindings::extractIdentifierData(const NPIdentifier& identifier, const NPUTF8*& string, int32_t& number, bool& isString) { PrivateIdentifier* priv = static_cast<PrivateIdentifier*>(identifier); |