Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(21)

Unified Diff: tests/ppapi_proxy/basic_object.cc

Issue 7292002: Remove plugin connection to PPAPI scriptable objects (var deprecated). Also (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client/
Patch Set: '' Created 9 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tests/ppapi_browser/ppb_scrollbar/ppapi_ppb_scrollbar.cc ('k') | tests/ppapi_proxy/basic_object.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/ppapi_proxy/basic_object.cc
===================================================================
--- tests/ppapi_proxy/basic_object.cc (revision 6005)
+++ tests/ppapi_proxy/basic_object.cc (working copy)
@@ -1,718 +0,0 @@
-// Copyright (c) 2011 The Native Client Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Copy of the stub test from ppapi/examples/stub/stub.c
-// This is the simplest possible C Pepper plugin that does nothing. If you're
-// using C++, you will want to look at stub.cc which uses the more convenient
-// C++ wrappers.
-
-#include <stdio.h>
-#include <string.h>
-#include <inttypes.h>
-#include <nacl/nacl_inttypes.h>
-#include <map>
-#include <string>
-#include <utility>
-#include "ppapi/c/dev/ppb_var_deprecated.h"
-#include "ppapi/c/dev/ppp_class_deprecated.h"
-#include "ppapi/c/pp_errors.h"
-#include "ppapi/c/pp_module.h"
-#include "ppapi/c/pp_resource.h"
-#include "ppapi/c/ppb.h"
-#include "ppapi/c/ppp.h"
-#include "ppapi/c/ppp_instance.h"
-
-
-namespace {
-
-PP_Module g_module_id;
-PPB_GetInterface g_get_browser_interface = NULL;
-const PPB_Var_Deprecated* g_var_interface = NULL;
-
-const PP_Var kGetFailed = PP_MakeNull();
-const PP_Var kSetFailed = PP_MakeBool(PP_FALSE);
-const PP_Var kCallFailed = PP_MakeBool(PP_FALSE);
-
-const char* const kPropUndefined = "propUndefined";
-const char* const kPropNull = "propNull";
-const char* const kPropBool = "propBool";
-const char* const kPropInt32 = "propInt32";
-const char* const kPropDouble = "propDouble";
-const char* const kPropString = "propString";
-const char* const kPropObject = "propObject";
-const char* const kPropWindow = "propWindow";
-
-// Each of these methods takes 1 parameter, which has to be the same type as
-// the type named in the method. E.g. "methodInt32" takes a pp_Var that
-// must be int32 type.
-const char* const kMethodUndefined = "methodUndefined";
-const char* const kMethodNull = "methodNull";
-const char* const kMethodBool = "methodBool";
-const char* const kMethodInt32 = "methodInt32";
-const char* const kMethodDouble = "methodDouble";
-const char* const kMethodString = "methodString";
-const char* const kMethodObject = "methodObject";
-
-// Each of these methods takes 2 parameters, each has to be the same type as
-// the type named in the method. E.g. "methodInt32With2Args" takes two pp_Vars
-// that must both be int32 type.
-const char* const kMethodUndefinedWith2Args = "methodUndefinedWith2Args";
-const char* const kMethodNullWith2Args = "methodNullWith2Args";
-const char* const kMethodBoolWith2Args = "methodBoolWith2Args";
-const char* const kMethodInt32With2Args = "methodInt32With2Args";
-const char* const kMethodDoubleWith2Args = "methodDoubleWith2Args";
-const char* const kMethodStringWith2Args = "methodStringWith2Args";
-const char* const kMethodObjectWith2Args = "methodObjectWith2Args";
-
-// This method takes an object as its single argument (should be the |window|
-// object in the browser), and returns the value of the |location| property
-// on that object. In the test, this should produce the same object as
-// the JavaScript window.location.
-const char* const kMethodWindow = "windowLocation";
-
-// This method takes no parameters and returns the string declared by
-// |kHelloWorld|, below.
-const char* const kMethodHelloWorld = "helloWorld";
-
-const char* const kHelloWorld = "hello, world";
-
-bool IsIntegral(PP_Var var) {
- // JavaScript sometimes passes doubles for integers.
- return (var.type == PP_VARTYPE_INT32) ||
- ((var.type == PP_VARTYPE_DOUBLE) &&
- (var.value.as_double == (int) var.value.as_double));
-}
-
-// A printer for PP_Vars.
-void PrintPpVar(PP_Var var) {
- printf("PP_Var(");
- switch (var.type) {
- case PP_VARTYPE_UNDEFINED:
- printf("undefined");
- break;
- case PP_VARTYPE_NULL:
- printf("null");
- break;
- case PP_VARTYPE_BOOL:
- printf("bool(%s)", var.value.as_bool ? "true" : "false");
- break;
- case PP_VARTYPE_INT32:
- printf("int32(%d)", static_cast<int>(var.value.as_int));
- break;
- case PP_VARTYPE_DOUBLE:
- printf("double(%f)", var.value.as_double);
- break;
- case PP_VARTYPE_STRING:
- /* SCOPE */ {
- uint32_t len;
- const char* str = g_var_interface->VarToUtf8(var, &len);
- printf("string(\"%*s\")", static_cast<int>(len), str);
- }
- break;
- case PP_VARTYPE_OBJECT:
- printf("object(%d)", static_cast<int>(var.value.as_id));
- break;
- default:
- printf("bad_type(%d)", var.type);
- break;
- }
- printf(")");
-}
-
-class TestObject {
- public:
- TestObject();
-
- bool HasProperty(PP_Var name);
- bool HasMethod(PP_Var name);
- PP_Var GetProperty(PP_Var name);
- void RemoveProperty(PP_Var name);
- bool SetProperty(PP_Var name, PP_Var value);
- PP_Var Call(PP_Var name, uint32_t argc, PP_Var* argv, PP_Var* exception);
-
- private:
- // Getter/setter/function for PP_VARTYPE_UNDEFINED.
- PP_Var prop_undefined() const { return prop_undefined_; }
- bool set_prop_undefined(PP_Var prop_undefined);
- PP_Var method_undefined(uint32_t argc, PP_Var* argv, PP_Var* exception);
- PP_Var method_undefined_2_args(uint32_t argc,
- PP_Var* argv,
- PP_Var* exception);
- // Getter/setter/function for PP_VARTYPE_NULL.
- PP_Var prop_null() const { return prop_null_; }
- bool set_prop_null(PP_Var prop_null);
- PP_Var method_null(uint32_t argc, PP_Var* argv, PP_Var* exception);
- PP_Var method_null_2_args(uint32_t argc, PP_Var* argv, PP_Var* exception);
- // Getter/setter/function for PP_VARTYPE_BOOL.
- PP_Var prop_bool() const { return prop_bool_; }
- bool set_prop_bool(PP_Var prop_bool);
- PP_Var method_bool(uint32_t argc, PP_Var* argv, PP_Var* exception);
- PP_Var method_bool_2_args(uint32_t argc, PP_Var* argv, PP_Var* exception);
- // Getter/setter/function for PP_VARTYPE_INT32.
- PP_Var prop_int32() const { return prop_int32_; }
- bool set_prop_int32(PP_Var prop_int32);
- PP_Var method_int32(uint32_t argc, PP_Var* argv, PP_Var* exception);
- PP_Var method_int32_2_args(uint32_t argc, PP_Var* argv, PP_Var* exception);
- // Getter/setter/function for PP_VARTYPE_DOUBLE.
- PP_Var prop_double() const { return prop_double_; }
- bool set_prop_double(PP_Var prop_double);
- PP_Var method_double(uint32_t argc, PP_Var* argv, PP_Var* exception);
- PP_Var method_double_2_args(uint32_t argc, PP_Var* argv, PP_Var* exception);
- // Getter/setter/function for PP_VARTYPE_STRING.
- PP_Var prop_string() const { return prop_string_; }
- bool set_prop_string(PP_Var prop_string);
- PP_Var method_string(uint32_t argc, PP_Var* argv, PP_Var* exception);
- PP_Var method_string_2_args(uint32_t argc, PP_Var* argv, PP_Var* exception);
- // Getter/setter/function for PP_VARTYPE_OBJECT.
- PP_Var prop_object() const { return prop_object_; }
- bool set_prop_object(PP_Var prop_object);
- PP_Var method_object(uint32_t argc, PP_Var* argv, PP_Var* exception);
- PP_Var method_object_2_args(uint32_t argc, PP_Var* argv, PP_Var* exception);
- // Test of scripting the window object.
- PP_Var window_location(uint32_t argc, PP_Var* argv, PP_Var* exception);
- // Test that calls a method on a JS object which is exported from the NaCl
- // module.
- PP_Var hello_world(uint32_t argc, PP_Var* argv, PP_Var* exception);
-
- PP_Var module_ready() const { return prop_module_ready_; }
- bool set_module_ready(PP_Var module_ready);
-
- // Properties.
- typedef PP_Var (TestObject::*Getter)() const;
- typedef bool (TestObject::*Setter)(PP_Var val);
- typedef std::pair<Getter, Setter> Property;
- typedef std::map<std::string, Property> PropertyMap;
- // Methods.
- typedef PP_Var (TestObject::*Method)(uint32_t argc,
- PP_Var* argv,
- PP_Var* exception);
- typedef std::map<std::string, Method> MethodMap;
-
- PP_Var prop_undefined_;
- PP_Var prop_null_;
- PP_Var prop_bool_;
- PP_Var prop_int32_;
- PP_Var prop_double_;
- PP_Var prop_string_;
- PP_Var prop_object_;
- PP_Var prop_module_ready_;
-
- static PropertyMap property_map;
- static MethodMap method_map;
- static bool class_is_initialized;
-};
-
-TestObject::PropertyMap TestObject::property_map;
-TestObject::MethodMap TestObject::method_map;
-bool TestObject::class_is_initialized = false;
-
-TestObject::TestObject()
- : prop_undefined_(PP_MakeNull()),
- prop_null_(PP_MakeNull()),
- prop_int32_(PP_MakeNull()),
- prop_double_(PP_MakeNull()),
- prop_string_(PP_MakeNull()),
- prop_object_(PP_MakeNull()),
- prop_module_ready_(PP_MakeBool(PP_TRUE)) {
- if (class_is_initialized) {
- return;
- }
- // Property map initialization.
- property_map[kPropUndefined] =
- Property(&TestObject::prop_undefined, &TestObject::set_prop_undefined);
- property_map[kPropNull] =
- Property(&TestObject::prop_null, &TestObject::set_prop_null);
- property_map[kPropBool] =
- Property(&TestObject::prop_bool, &TestObject::set_prop_bool);
- property_map[kPropInt32] =
- Property(&TestObject::prop_int32, &TestObject::set_prop_int32);
- property_map[kPropDouble] =
- Property(&TestObject::prop_double, &TestObject::set_prop_double);
- property_map[kPropString] =
- Property(&TestObject::prop_string, &TestObject::set_prop_string);
- property_map[kPropObject] =
- Property(&TestObject::prop_object, &TestObject::set_prop_object);
- // Method map initialization.
- method_map[kMethodUndefined] = &TestObject::method_undefined;
- method_map[kMethodNull] = &TestObject::method_null;
- method_map[kMethodBool] = &TestObject::method_bool;
- method_map[kMethodInt32] = &TestObject::method_int32;
- method_map[kMethodDouble] = &TestObject::method_double;
- method_map[kMethodString] = &TestObject::method_string;
- method_map[kMethodObject] = &TestObject::method_object;
-
- method_map[kMethodUndefinedWith2Args] = &TestObject::method_undefined_2_args;
- method_map[kMethodNullWith2Args] = &TestObject::method_null_2_args;
- method_map[kMethodBoolWith2Args] = &TestObject::method_bool_2_args;
- method_map[kMethodInt32With2Args] = &TestObject::method_int32_2_args;
- method_map[kMethodDoubleWith2Args] = &TestObject::method_double_2_args;
- method_map[kMethodStringWith2Args] = &TestObject::method_string_2_args;
- method_map[kMethodObjectWith2Args] = &TestObject::method_object_2_args;
- method_map[kMethodWindow] = &TestObject::window_location;
- method_map[kMethodHelloWorld] = &TestObject::hello_world;
- class_is_initialized = true;
-}
-
-bool TestObject::HasProperty(PP_Var name) {
- printf("basic_object: HasProperty(%p, ", reinterpret_cast<void*>(this));
- PrintPpVar(name);
- printf(")\n");
- uint32_t len;
- const char* str = g_var_interface->VarToUtf8(name, &len);
- if (str == NULL) return false;
- std::string name_str(str, len);
- bool retval = property_map.find(name_str) != property_map.end();
- printf(" HasProperty done\n");
- return retval;
-}
-
-PP_Var TestObject::GetProperty(PP_Var name) {
- printf("basic_object: GetProperty(%p, ", reinterpret_cast<void*>(this));
- PrintPpVar(name);
- printf(")\n");
- uint32_t len;
- const char* str = g_var_interface->VarToUtf8(name, &len);
- if (str == NULL) return kGetFailed;
- std::string name_str(str, len);
- if (property_map.find(name_str) == property_map.end()) {
- return kGetFailed;
- }
- PP_Var retval = (this->*property_map[name_str].first)();
- printf(" GetProperty done\n");
- return retval;
-}
-
-bool TestObject::SetProperty(PP_Var name, PP_Var value) {
- printf("basic_object: SetProperty(%p, ", reinterpret_cast<void*>(this));
- PrintPpVar(name);
- printf(", ");
- PrintPpVar(value);
- printf(")\n");
- uint32_t len;
- const char* str = g_var_interface->VarToUtf8(name, &len);
- if (str == NULL) return false;
- std::string name_str(str, len);
- if (property_map.find(name_str) == property_map.end()) {
- return false;
- }
- return (this->*property_map[name_str].second)(value);
-}
-
-void TestObject::RemoveProperty(PP_Var name) {
- printf("basic_object: RemoveProperty(%p, ", reinterpret_cast<void*>(this));
- PrintPpVar(name);
- printf(")\n");
- uint32_t len;
- const char* str = g_var_interface->VarToUtf8(name, &len);
- if (str == NULL) return;
- std::string name_str(str, len);
- PropertyMap::iterator iter = property_map.find(name_str);
- if (iter != property_map.end()) {
- property_map.erase(iter);
- }
-}
-
-bool TestObject::HasMethod(PP_Var name) {
- printf("basic_object: HasMethod(%p, ", reinterpret_cast<void*>(this));
- PrintPpVar(name);
- printf(")\n");
- uint32_t len;
- const char* str = g_var_interface->VarToUtf8(name, &len);
- if (str == NULL) return false;
- std::string name_str(str, len);
- return method_map.find(name_str) != method_map.end();
-}
-
-PP_Var TestObject::Call(PP_Var name,
- uint32_t argc,
- PP_Var* argv,
- PP_Var* exception) {
- printf("basic_object: Call(%p, ", reinterpret_cast<void*>(this));
- PrintPpVar(name);
- printf(", argc=%d, [", static_cast<int>(argc));
- for (uint32_t i = 0; i < argc; ++i) {
- if (i != 0) printf(", ");
- PrintPpVar(argv[i]);
- }
- printf("])\n");
- uint32_t len;
- const char* str = g_var_interface->VarToUtf8(name, &len);
- if (str == NULL) {
- *exception = kCallFailed;
- return kCallFailed;
- }
- std::string name_str(str, len);
- return (this->*method_map[name_str])(argc, argv, exception);
-}
-
-bool TestObject::set_prop_undefined(PP_Var prop_undefined) {
- if (prop_undefined.type != PP_VARTYPE_UNDEFINED) return false;
- prop_undefined_ = prop_undefined;
- return true;
-}
-
-bool TestObject::set_prop_null(PP_Var prop_null) {
- if (prop_null.type != PP_VARTYPE_NULL) return false;
- prop_null_ = prop_null;
- return true;
-}
-
-bool TestObject::set_prop_bool(PP_Var prop_bool) {
- if (prop_bool.type != PP_VARTYPE_BOOL) return false;
- prop_bool_ = prop_bool;
- return true;
-}
-
-bool TestObject::set_prop_int32(PP_Var prop_int32) {
- if (!IsIntegral(prop_int32)) return false;
- prop_int32_ = prop_int32;
- return true;
-}
-
-bool TestObject::set_prop_double(PP_Var prop_double) {
- if (prop_double.type != PP_VARTYPE_DOUBLE) return false;
- prop_double_ = prop_double;
- return true;
-}
-
-bool TestObject::set_prop_string(PP_Var prop_string) {
- if (prop_string.type != PP_VARTYPE_STRING) return false;
- prop_string_ = prop_string;
- return true;
-}
-
-bool TestObject::set_prop_object(PP_Var prop_object) {
- if (prop_object.type != PP_VARTYPE_OBJECT) return false;
- prop_object_ = prop_object;
- return true;
-}
-
-bool TestObject::set_module_ready(PP_Var prop_string) {
- // This is a read-only property.
- return false;
-}
-
-PP_Var TestObject::method_undefined(uint32_t argc,
- PP_Var* argv,
- PP_Var* exception) {
- if (argc != 1 || argv[0].type != PP_VARTYPE_UNDEFINED) {
- *exception = kCallFailed;
- }
- return argv[0];
-}
-
-PP_Var TestObject::method_null(uint32_t argc,
- PP_Var* argv,
- PP_Var* exception) {
- if (argc != 1 || argv[0].type != PP_VARTYPE_NULL) {
- *exception = kCallFailed;
- }
- return argv[0];
-}
-
-PP_Var TestObject::method_bool(uint32_t argc,
- PP_Var* argv,
- PP_Var* exception) {
- if (argc != 1 || argv[0].type != PP_VARTYPE_BOOL) {
- *exception = kCallFailed;
- }
- return argv[0];
-}
-
-PP_Var TestObject::method_int32(uint32_t argc,
- PP_Var* argv,
- PP_Var* exception) {
- if (argc != 1 || !IsIntegral(argv[0])) {
- *exception = kCallFailed;
- }
- return argv[0];
-}
-
-PP_Var TestObject::method_double(uint32_t argc,
- PP_Var* argv,
- PP_Var* exception) {
- if (argc != 1 || argv[0].type != PP_VARTYPE_DOUBLE) {
- *exception = kCallFailed;
- }
- return argv[0];
-}
-
-PP_Var TestObject::method_string(uint32_t argc,
- PP_Var* argv,
- PP_Var* exception) {
- if (argc != 1 || argv[0].type != PP_VARTYPE_STRING) {
- *exception = kCallFailed;
- }
- return argv[0];
-}
-
-PP_Var TestObject::method_object(uint32_t argc,
- PP_Var* argv,
- PP_Var* exception) {
- if (argc != 1 || argv[0].type != PP_VARTYPE_OBJECT) {
- *exception = kCallFailed;
- return kCallFailed;
- }
- return argv[0];
-}
-
-PP_Var TestObject::method_undefined_2_args(uint32_t argc,
- PP_Var* argv,
- PP_Var* exception) {
- if (argc != 2 ||
- argv[0].type != PP_VARTYPE_UNDEFINED ||
- argv[1].type != PP_VARTYPE_UNDEFINED) {
- *exception = kCallFailed;
- }
- return argv[0];
-}
-
-PP_Var TestObject::method_null_2_args(uint32_t argc,
- PP_Var* argv,
- PP_Var* exception) {
- if (argc != 2 ||
- argv[0].type != PP_VARTYPE_NULL ||
- argv[1].type != PP_VARTYPE_NULL) {
- *exception = kCallFailed;
- }
- return argv[0];
-}
-
-PP_Var TestObject::method_bool_2_args(uint32_t argc,
- PP_Var* argv,
- PP_Var* exception) {
- if (argc != 2 ||
- argv[0].type != PP_VARTYPE_BOOL ||
- argv[1].type != PP_VARTYPE_BOOL) {
- *exception = kCallFailed;
- }
- return argv[0];
-}
-
-PP_Var TestObject::method_int32_2_args(uint32_t argc,
- PP_Var* argv,
- PP_Var* exception) {
- if (argc != 2 || !IsIntegral(argv[0]) || !IsIntegral(argv[1])) {
- *exception = kCallFailed;
- }
- return argv[0];
-}
-
-PP_Var TestObject::method_double_2_args(uint32_t argc,
- PP_Var* argv,
- PP_Var* exception) {
- if (argc != 2 ||
- argv[0].type != PP_VARTYPE_DOUBLE ||
- argv[1].type != PP_VARTYPE_DOUBLE) {
- *exception = kCallFailed;
- }
- return argv[0];
-}
-
-PP_Var TestObject::method_string_2_args(uint32_t argc,
- PP_Var* argv,
- PP_Var* exception) {
- if (argc != 2 ||
- argv[0].type != PP_VARTYPE_STRING ||
- argv[1].type != PP_VARTYPE_STRING) {
- *exception = kCallFailed;
- }
- return argv[0];
-}
-
-PP_Var TestObject::method_object_2_args(uint32_t argc,
- PP_Var* argv,
- PP_Var* exception) {
- if (argc != 2 ||
- argv[0].type != PP_VARTYPE_OBJECT ||
- argv[1].type != PP_VARTYPE_OBJECT) {
- *exception = kCallFailed;
- return kCallFailed;
- }
- return argv[0];
-}
-
-// A function to be called with the JavaScript |window| object.
-// This test basically checks that we can access browser object proxies.
-PP_Var TestObject::window_location(uint32_t argc,
- PP_Var* argv,
- PP_Var* exception) {
- if (argc != 1 ||
- argv[0].type != PP_VARTYPE_OBJECT) {
- *exception = kCallFailed;
- return kCallFailed;
- }
- // Get the location property from the passed in object.
- const char kLocation[] = "location";
- const uint32_t kLocationLength = static_cast<uint32_t>(strlen(kLocation));
- PP_Var location_name =
- g_var_interface->VarFromUtf8(g_module_id, kLocation, kLocationLength);
- PP_Var location =
- g_var_interface->GetProperty(argv[0], location_name, exception);
- if (location.type != PP_VARTYPE_OBJECT ||
- exception->type != PP_VARTYPE_UNDEFINED) {
- *exception = kCallFailed;
- return kCallFailed;
- }
- // Get the href property on the returned object.
- const char kHref[] = "href";
- const uint32_t kHrefLength = static_cast<uint32_t>(strlen(kHref));
- PP_Var href_name =
- g_var_interface->VarFromUtf8(g_module_id, kHref, kHrefLength);
- PP_Var href = g_var_interface->GetProperty(location, href_name, exception);
- printf("window.location.href = ");
- PrintPpVar(href);
- printf("\n");
- if (href.type != PP_VARTYPE_STRING ||
- exception->type != PP_VARTYPE_UNDEFINED) {
- *exception = kCallFailed;
- return kCallFailed;
- }
- return PP_MakeBool(PP_TRUE);
-}
-
-PP_Var TestObject::hello_world(uint32_t argc, PP_Var* argv, PP_Var* exception) {
- return g_var_interface->VarFromUtf8(g_module_id,
- kHelloWorld,
- strlen(kHelloWorld));
-}
-
-// PPP_Class_Deprecated
-
-bool HasProperty(void* object,
- PP_Var name,
- PP_Var* exception) {
- printf("Global HasProperty\n");
- TestObject* test_object = static_cast<TestObject*>(object);
- return test_object->HasProperty(name);
-}
-
-bool HasMethod(void* object,
- PP_Var name,
- PP_Var* exception) {
- TestObject* test_object = static_cast<TestObject*>(object);
- return test_object->HasMethod(name);
-}
-
-PP_Var GetProperty(void* object,
- PP_Var name,
- PP_Var* exception) {
- printf("Global GetProperty\n");
- TestObject* test_object = static_cast<TestObject*>(object);
- return test_object->GetProperty(name);
-}
-
-void SetProperty(void* object,
- PP_Var name,
- PP_Var value,
- PP_Var* exception) {
- printf("Global SetProperty\n");
- TestObject* test_object = static_cast<TestObject*>(object);
- if (!test_object->SetProperty(name, value)) {
- *exception = kSetFailed;
- }
-}
-
-void RemoveProperty(void* object,
- PP_Var name,
- PP_Var* exception) {
- TestObject* test_object = static_cast<TestObject*>(object);
- test_object->RemoveProperty(name);
-}
-
-PP_Var Call(void* object,
- PP_Var name,
- uint32_t argc,
- PP_Var* argv,
- PP_Var* exception) {
- TestObject* test_object = static_cast<TestObject*>(object);
- return test_object->Call(name, argc, argv, exception);
-}
-
-static const PPP_Class_Deprecated object_class = {
- HasProperty,
- HasMethod,
- GetProperty,
- NULL,
- SetProperty,
- RemoveProperty,
- Call,
- NULL,
- NULL,
-};
-
-// PPP_Instance functions.
-
-PP_Bool DidCreate(PP_Instance instance,
- uint32_t argc,
- const char* argn[],
- const char* argv[]) {
- printf("basic_object: DidCreate(%"NACL_PRIu32")\n", instance);
- for (uint32_t i = 0; i < argc; ++i) {
- printf(" arg[%"NACL_PRIu32"]: '%s' = '%s'\n", i, argn[i], argv[i]);
- }
- return PP_TRUE;
-}
-
-void DidDestroy(PP_Instance instance) {
- printf("basic_object: DidDestroy(%"NACL_PRIu32")\n", instance);
-}
-
-PP_Var GetInstanceObject(PP_Instance instance) {
- printf("basic_object: GetInstanceObject(%"NACL_PRIu32")\n", instance);
- printf(" g_var_interface = %p\n",
- reinterpret_cast<const void*>(g_var_interface));
- PP_Var retval =
- g_var_interface->CreateObject(g_module_id,
- &object_class,
- static_cast<void*>(new TestObject));
- return retval;
-}
-
-static const void* GetInstanceInterface() {
- static const PPP_Instance instance_class = {
- DidCreate,
- DidDestroy,
- NULL, // DidChangeView
- NULL, // DidChangeFocus
- NULL, // HandleInputEvent
- NULL // HandleDocumentLoad
-// TODO(dmichael): This test should probably just be removed.
-#ifndef PPAPI_INSTANCE_REMOVE_SCRIPTING
- , GetInstanceObject
-#endif
- };
-
- return reinterpret_cast<const void*>(&instance_class);
-}
-
-} // namespace
-
-PP_EXPORT int32_t PPP_InitializeModule(PP_Module module_id,
- PPB_GetInterface get_browser_interface) {
- // Save the global module information for later.
- g_module_id = module_id;
- g_get_browser_interface = get_browser_interface;
- printf("basic_object: PPP_InitializeModule(%"NACL_PRId32", %p)\n",
- module_id,
- get_browser_interface);
-
- g_var_interface =
- reinterpret_cast<const PPB_Var_Deprecated*>(
- get_browser_interface(PPB_VAR_DEPRECATED_INTERFACE));
-
- return PP_OK;
-}
-
-PP_EXPORT void PPP_ShutdownModule() {
- printf("basic_object: PPP_ShutdownModule()\n");
-}
-
-PP_EXPORT const void* PPP_GetInterface(const char* interface_name) {
- printf("basic_object: PPP_GetInterface('%s')\n", interface_name);
- if (strcmp(interface_name, PPP_INSTANCE_INTERFACE) == 0) {
- return GetInstanceInterface();
- }
- return NULL;
-}
« no previous file with comments | « tests/ppapi_browser/ppb_scrollbar/ppapi_ppb_scrollbar.cc ('k') | tests/ppapi_proxy/basic_object.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698