Index: experimental/c_salt/npapi/browser_binding.cc |
diff --git a/experimental/c_salt/npapi/browser_binding.cc b/experimental/c_salt/npapi/browser_binding.cc |
deleted file mode 100644 |
index cbd80c89e4fae884367f702f6e5bd2ad90406c3c..0000000000000000000000000000000000000000 |
--- a/experimental/c_salt/npapi/browser_binding.cc |
+++ /dev/null |
@@ -1,153 +0,0 @@ |
-// Copyright 2010 The Ginsu Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can |
-// be found in the LICENSE file. |
- |
-#include "c_salt/npapi/browser_binding.h" |
- |
-#include <vector> |
- |
-#include "c_salt/instance.h" |
-#include "c_salt/npapi/variant_converter.h" |
-#include "c_salt/variant.h" |
- |
-namespace c_salt { |
-namespace npapi { |
- |
-bool BrowserBinding::HasMethod(NPIdentifier name) const { |
- ScopedNPIdToStringConverter np_str(name); |
- return scripting_bridge_->HasScriptMethod(np_str.string_value()); |
-} |
- |
-void BrowserBinding::Invalidate() { |
- return scripting_bridge_->Invalidate(); |
-} |
- |
-bool BrowserBinding::Invoke(NPIdentifier name, |
- const NPVariant* args, |
- uint32_t arg_count, |
- NPVariant* return_value) { |
- ScopedNPIdToStringConverter np_str(name); |
- // Make a vector of c_salt::Variants that's the same size as |args| |
- // and fill it in. This will take care of cleaning up when we're done, |
- // and vectors are guaranteed to be stored contiguously, so we can pass it |
- // like an array. |
- std::vector< SharedVariant > c_salt_var_vec; |
- c_salt_var_vec.reserve(arg_count); |
- for (uint32_t i = 0; i < arg_count; ++i) { |
- c_salt_var_vec.push_back( |
- variant_converter_.CreateVariantFromNPVariant(args[i])); |
- } |
- SharedVariant c_salt_return_var; |
- bool success = scripting_bridge_-> |
- InvokeScriptMethod(np_str.string_value(), |
- &(*c_salt_var_vec.begin()), |
- &(*c_salt_var_vec.end()), |
- &c_salt_return_var); |
- if (success) { |
- variant_converter_.ConvertVariantToNPVariant(*c_salt_return_var, |
- return_value); |
- } |
- return success; |
-} |
- |
-bool BrowserBinding::HasProperty(NPIdentifier name) const { |
- ScopedNPIdToStringConverter np_str(name); |
- return scripting_bridge_->HasScriptProperty(np_str.string_value()); |
-} |
- |
-bool BrowserBinding::GetProperty(NPIdentifier name, NPVariant* return_value) |
- const { |
- ScopedNPIdToStringConverter np_str(name); |
- SharedVariant value(new Variant()); |
- bool success = scripting_bridge_->GetScriptProperty(np_str.string_value(), |
- &value); |
- variant_converter_.ConvertVariantToNPVariant(*value, return_value); |
- return success; |
-} |
- |
-bool BrowserBinding::SetProperty(NPIdentifier name, |
- const NPVariant& np_value) { |
- ScopedNPIdToStringConverter np_str(name); |
- SharedVariant value(variant_converter_.CreateVariantFromNPVariant(np_value)); |
- return scripting_bridge_->SetScriptProperty(np_str.string_value(), value); |
-} |
- |
-bool BrowserBinding::RemoveProperty(NPIdentifier name) { |
- ScopedNPIdToStringConverter np_str(name); |
- return scripting_bridge_->RemoveScriptProperty(np_str.string_value()); |
-} |
- |
-// Helper functions for dereferencing the bridging object. |
-static inline BrowserBinding* cast_browser_binding(NPObject* np_object) { |
- assert(np_object); |
- return static_cast<BrowserBinding*>(np_object); |
-} |
- |
-// The browser-facing entry points that represent the bridge's class methods. |
-// These are the function wrappers that the browser actually calls. |
-NPObject* Allocate(NPP npp, NPClass* npclass) { |
- return new BrowserBinding(npp); |
-} |
- |
-void Deallocate(NPObject* object) { |
- delete cast_browser_binding(object); |
-} |
- |
-void Invalidate(NPObject* object) { |
- cast_browser_binding(object)->Invalidate(); |
-} |
- |
-bool HasMethod(NPObject* object, NPIdentifier name) { |
- return cast_browser_binding(object)->HasMethod(name); |
-} |
- |
-bool Invoke(NPObject* object, NPIdentifier name, |
- const NPVariant* args, |
- uint32_t arg_count, |
- NPVariant* return_value) { |
- return cast_browser_binding(object)->Invoke( |
- name, args, arg_count, return_value); |
-} |
- |
-bool HasProperty(NPObject* object, NPIdentifier name) { |
- return cast_browser_binding(object)->HasProperty(name); |
-} |
- |
-bool GetProperty(NPObject* object, NPIdentifier name, NPVariant* result) { |
- return cast_browser_binding(object)->GetProperty(name, result); |
-} |
- |
-bool SetProperty(NPObject* object, NPIdentifier name, const NPVariant* value) { |
- return cast_browser_binding(object)->SetProperty(name, *value); |
-} |
- |
-bool RemoveProperty(NPObject* object, NPIdentifier name) { |
- return cast_browser_binding(object)->RemoveProperty(name); |
-} |
- |
-void BrowserBinding::Retain() { |
- NPN_RetainObject(this); |
-} |
- |
-static NPClass bridge_class = { |
- NP_CLASS_STRUCT_VERSION, |
- c_salt::npapi::Allocate, |
- c_salt::npapi::Deallocate, |
- c_salt::npapi::Invalidate, |
- c_salt::npapi::HasMethod, |
- c_salt::npapi::Invoke, |
- NULL, // InvokeDefault is not implemented |
- c_salt::npapi::HasProperty, |
- c_salt::npapi::GetProperty, |
- c_salt::npapi::SetProperty, |
- c_salt::npapi::RemoveProperty |
-}; |
- |
-BrowserBinding* BrowserBinding::CreateBrowserBinding( |
- const c_salt::Instance& instance) { |
- return static_cast<BrowserBinding*>( |
- NPN_CreateObject(instance.npp_instance(), &bridge_class)); |
-} |
- |
-} // namespace npapi |
-} // namespace c_salt |