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

Unified Diff: experimental/c_salt/npapi/npp_gate.cc

Issue 10928195: First round of dead file removal (Closed) Base URL: https://github.com/samclegg/nativeclient-sdk.git@master
Patch Set: Created 8 years, 3 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
Index: experimental/c_salt/npapi/npp_gate.cc
diff --git a/experimental/c_salt/npapi/npp_gate.cc b/experimental/c_salt/npapi/npp_gate.cc
deleted file mode 100644
index d9f1266f710a2cd0b94a5fcc213407e0e958fe2e..0000000000000000000000000000000000000000
--- a/experimental/c_salt/npapi/npp_gate.cc
+++ /dev/null
@@ -1,220 +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.
-
-// TODO(dspringer): This file will disappear when we migrate to Pepper V2.
-
-#include <nacl/npupp.h>
-
-#include <stdlib.h>
-#include <sys/mman.h>
-#include <sys/stat.h>
-#include <cstring>
-
-#include "c_salt/instance.h"
-#include "c_salt/module.h"
-#include "c_salt/scripting_bridge.h"
-#include "c_salt/scripting_bridge_ptrs.h"
-
-namespace {
- bool MapStreamToMemory(NPStream* stream,
- const char* fname,
- char** data,
- size_t* data_length);
-}
-using c_salt::Instance;
-using c_salt::Module;
-
-NPError NPP_New(NPMIMEType mime_type,
- NPP instance,
- uint16_t mode,
- int16_t argc,
- char* argn[],
- char* argv[],
- NPSavedData* saved) {
- extern void InitializePepperExtensions(NPP instance);
- if (instance == NULL) {
- return NPERR_INVALID_INSTANCE_ERROR;
- }
-
- InitializePepperExtensions(instance);
-
- // Build the attribute key/value map.
- // TODO(dspringer): Add this implementation when we switch to Pepper V2.
- // std::map<std::string, std::string> attribute_dict;
- // while (--argc) {
- // attribute_dict[argn[argc]] = argv[argc];
- // }
- Instance* module_instance =
- Module::GetModuleSingleton().CreateInstance(instance);
- if (module_instance == NULL) {
- return NPERR_OUT_OF_MEMORY_ERROR;
- }
- // module_instance->SetAttributes(attribute_dict);
- instance->pdata = reinterpret_cast<void*>(module_instance);
- return NPERR_NO_ERROR;
-}
-
-NPError NPP_Destroy(NPP instance, NPSavedData** save) {
- if (instance == NULL) {
- return NPERR_INVALID_INSTANCE_ERROR;
- }
- Instance* module_instance = static_cast<Instance*>(instance->pdata);
- if (module_instance != NULL) {
- delete module_instance;
- }
- return NPERR_NO_ERROR;
-}
-
-// NPP_GetScriptableInstance returns the NPObject pointer that corresponds to
-// NPPVpluginScriptableNPObject queried by NPP_GetValue() from the browser.
-NPObject* NPP_GetScriptableInstance(NPP instance) {
- if (instance == NULL || instance->pdata == NULL) {
- return NULL;
- }
-
- Instance* module_instance = static_cast<Instance*>(instance->pdata);
- if (!module_instance) {
- return NULL;
- }
- c_salt::SharedScriptingBridge bridge
- = module_instance->GetScriptingBridge().lock();
- if (bridge) {
- return bridge->CopyBrowserBinding();
- } else {
- // The shared pointer expired, which means the browser was done with it.
- // This shouldn't really happen, but we can just return NULL.
- return NULL;
- }
- return NULL;
-}
-
-NPError NPP_GetValue(NPP instance, NPPVariable variable, void *value) {
- if (NPPVpluginScriptableNPObject == variable) {
- NPObject* scriptable_object = NPP_GetScriptableInstance(instance);
- if (scriptable_object == NULL)
- return NPERR_INVALID_INSTANCE_ERROR;
- *reinterpret_cast<NPObject**>(value) = scriptable_object;
- return NPERR_NO_ERROR;
- }
- return NPERR_INVALID_PARAM;
-}
-
-int16_t NPP_HandleEvent(NPP instance, void* event) {
- if (instance == NULL) {
- return 0;
- }
- Instance* module_instance = static_cast<Instance*>(instance->pdata);
- if (!module_instance)
- return 0;
- return module_instance->ReceiveEvent(
- *reinterpret_cast<const NPPepperEvent*>(event)) ? 1 : 0;
-}
-
-NPError NPP_SetWindow(NPP instance, NPWindow* window) {
- if (instance == NULL) {
- return NPERR_INVALID_INSTANCE_ERROR;
- }
- if (window == NULL) {
- return NPERR_GENERIC_ERROR;
- }
- Instance* module_instance = static_cast<Instance*>(instance->pdata);
- if (!module_instance)
- return NPERR_INVALID_INSTANCE_ERROR;
- // The first call to NPP_SetWindow indicates that the instance is all loaded
- // up and Pepper devices are ready for use.
- if (!module_instance->is_loaded()) {
- module_instance->InstanceDidLoad(window->width, window->height);
- module_instance->set_is_loaded(true);
- }
- module_instance->WindowDidChangeSize(window->width, window->height);
- return NPERR_NO_ERROR;
-}
-
-void NPP_StreamAsFile(NPP instance, NPStream* stream, const char* fname) {
- if (NULL != stream) {
- Instance* module_instance = static_cast<Instance*>(instance->pdata);
- if (NULL != module_instance) {
- char* data = NULL;
- size_t data_length = 0;
- if (MapStreamToMemory(stream, fname, &data, &data_length)) {
- module_instance->OnURLLoaded(data, data_length);
- } else {
- module_instance->OnURLLoadFailed(Instance::URLLDR_INTERNAL_ERROR);
- }
- }
- }
-}
-
-void NPP_URLNotify(NPP instance,
- const char* url,
- NPReason reason,
- void* notifyData) {
- Instance* module_instance = static_cast<Instance*>(instance->pdata);
- if ((NULL != module_instance) && (NPRES_DONE != reason)) {
- Instance::URLLoaderErrorCode error_code = Instance::URLLDR_INTERNAL_ERROR;
- switch (reason) {
- case NPRES_NETWORK_ERR: {
- error_code = Instance::URLLDR_NETWORK_ERROR;
- break;
- }
- case NPRES_USER_BREAK: {
- error_code = Instance::URLLDR_USER_BREAK;
- break;
- }
- }
- module_instance->OnURLLoadFailed(error_code);
- }
-}
-
-extern "C" {
-NPError InitializePepperGateFunctions(NPPluginFuncs* plugin_funcs) {
- std::memset(plugin_funcs, 0, sizeof(*plugin_funcs));
- plugin_funcs->version = NPVERS_HAS_PLUGIN_THREAD_ASYNC_CALL;
- plugin_funcs->size = sizeof(*plugin_funcs);
- plugin_funcs->newp = NPP_New;
- plugin_funcs->destroy = NPP_Destroy;
- plugin_funcs->setwindow = NPP_SetWindow;
- plugin_funcs->event = NPP_HandleEvent;
- plugin_funcs->getvalue = NPP_GetValue;
- plugin_funcs->asfile = NPP_StreamAsFile;
- plugin_funcs->urlnotify = NPP_URLNotify;
- return NPERR_NO_ERROR;
-}
-} // extern "C"
-
-namespace {
-bool MapStreamToMemory(NPStream* stream,
- const char* fname,
- char** data,
- size_t* data_length) {
- // |fname| is actually a pointer to a file descriptor.
- const int fd = *reinterpret_cast<const int*>(fname);
- if (NULL == stream) {
- return false;
- }
- if (-1 == fd) {
- return false;
- }
- struct stat stb;
- if (-1 == fstat(fd, &stb)) {
- return false;
- }
- if ((stb.st_mode & S_IFMT) != S_IFSHM) {
- return false;
- }
- // Chrome integration returns a shared memory descriptor for this now.
- *data = reinterpret_cast<char *>(mmap(NULL,
- stream->end,
- PROT_READ,
- MAP_SHARED,
- fd,
- 0));
- if (MAP_FAILED == *data) {
- return false;
- }
- *data_length = stream->end;
- return true;
-}
-} // namespace
-
« no previous file with comments | « experimental/c_salt/npapi/npn_bridge.cc ('k') | experimental/c_salt/npapi/scoped_npid_to_string_converter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698