summaryrefslogtreecommitdiffstats
path: root/ppapi
diff options
context:
space:
mode:
Diffstat (limited to 'ppapi')
-rw-r--r--ppapi/api/private/ppb_nacl_private.idl8
-rw-r--r--ppapi/c/private/ppb_nacl_private.h9
-rw-r--r--ppapi/native_client/src/trusted/plugin/service_runtime.cc92
-rw-r--r--ppapi/native_client/src/trusted/plugin/service_runtime.h18
4 files changed, 4 insertions, 123 deletions
diff --git a/ppapi/api/private/ppb_nacl_private.idl b/ppapi/api/private/ppb_nacl_private.idl
index 9a94214..f57b7f6 100644
--- a/ppapi/api/private/ppb_nacl_private.idl
+++ b/ppapi/api/private/ppb_nacl_private.idl
@@ -156,14 +156,6 @@ interface PPP_ManifestService {
/* Called when PPAPI initialization in the NaCl plugin is finished. */
PP_Bool StartupInitializationComplete([inout] mem_t user_data);
-
- /* Called when irt_open_resource() is invoked in the NaCl plugin.
- * Upon completion, callback will be invoked with given callback_user_data
- * and the result file handle (or PP_kInvalidFileHandle on error). */
- PP_Bool OpenResource([inout] mem_t user_data,
- [in] str_t entry_key,
- [in] PP_OpenResourceCompletionCallback callback,
- [inout] mem_t callback_user_data);
};
/* Corresponds to NaClFileInfo in
diff --git a/ppapi/c/private/ppb_nacl_private.h b/ppapi/c/private/ppb_nacl_private.h
index 9df8723..3b23e19 100644
--- a/ppapi/c/private/ppb_nacl_private.h
+++ b/ppapi/c/private/ppb_nacl_private.h
@@ -3,7 +3,7 @@
* found in the LICENSE file.
*/
-/* From private/ppb_nacl_private.idl modified Fri Jun 13 15:14:51 2014. */
+/* From private/ppb_nacl_private.idl modified Wed Jun 18 19:15:01 2014. */
#ifndef PPAPI_C_PRIVATE_PPB_NACL_PRIVATE_H_
#define PPAPI_C_PRIVATE_PPB_NACL_PRIVATE_H_
@@ -194,13 +194,6 @@ struct PPP_ManifestService_1_0 {
PP_Bool (*Quit)(void* user_data);
/* Called when PPAPI initialization in the NaCl plugin is finished. */
PP_Bool (*StartupInitializationComplete)(void* user_data);
- /* Called when irt_open_resource() is invoked in the NaCl plugin.
- * Upon completion, callback will be invoked with given callback_user_data
- * and the result file handle (or PP_kInvalidFileHandle on error). */
- PP_Bool (*OpenResource)(void* user_data,
- const char* entry_key,
- PP_OpenResourceCompletionCallback callback,
- void* callback_user_data);
};
typedef struct PPP_ManifestService_1_0 PPP_ManifestService;
diff --git a/ppapi/native_client/src/trusted/plugin/service_runtime.cc b/ppapi/native_client/src/trusted/plugin/service_runtime.cc
index ea4736d..e03f3dc 100644
--- a/ppapi/native_client/src/trusted/plugin/service_runtime.cc
+++ b/ppapi/native_client/src/trusted/plugin/service_runtime.cc
@@ -51,41 +51,6 @@
namespace plugin {
-class OpenManifestEntryAsyncCallback {
- public:
- OpenManifestEntryAsyncCallback(PP_OpenResourceCompletionCallback callback,
- void* callback_user_data)
- : callback_(callback), callback_user_data_(callback_user_data) {
- }
-
- ~OpenManifestEntryAsyncCallback() {
- if (callback_)
- callback_(callback_user_data_, PP_kInvalidFileHandle);
- }
-
- void Run(int32_t pp_error) {
-#if defined(OS_WIN)
- // Currently, this is used only for non-SFI mode, and now the mode is not
- // supported on windows.
- // TODO(hidehiko): Support it on Windows when we switch to use
- // ManifestService also in SFI-mode.
- NACL_NOTREACHED();
-#elif defined(OS_POSIX)
- // On posix, PlatformFile is the file descriptor.
- callback_(callback_user_data_, (pp_error == PP_OK) ? info_.desc : -1);
- callback_ = NULL;
-#endif
- }
-
- NaClFileInfo* mutable_info() { return &info_; }
-
- private:
- NaClFileInfo info_;
- PP_OpenResourceCompletionCallback callback_;
- void* callback_user_data_;
- DISALLOW_COPY_AND_ASSIGN(OpenManifestEntryAsyncCallback);
-};
-
namespace {
class ManifestService {
@@ -116,25 +81,6 @@ class ManifestService {
return true;
}
- bool OpenResource(const char* entry_key,
- PP_OpenResourceCompletionCallback callback,
- void* callback_user_data) {
- // Release this instance if the ServiceRuntime is already destructed.
- if (anchor_->is_abandoned()) {
- callback(callback_user_data, PP_kInvalidFileHandle);
- delete this;
- return false;
- }
-
- OpenManifestEntryAsyncCallback* open_manifest_callback =
- new OpenManifestEntryAsyncCallback(callback, callback_user_data);
- plugin_reverse_->OpenManifestEntryAsync(
- entry_key,
- open_manifest_callback->mutable_info(),
- open_manifest_callback);
- return true;
- }
-
static PP_Bool QuitTrampoline(void* user_data) {
return PP_FromBool(static_cast<ManifestService*>(user_data)->Quit());
}
@@ -144,15 +90,6 @@ class ManifestService {
StartupInitializationComplete());
}
- static PP_Bool OpenResourceTrampoline(
- void* user_data,
- const char* entry_key,
- PP_OpenResourceCompletionCallback callback,
- void* callback_user_data) {
- return PP_FromBool(static_cast<ManifestService*>(user_data)->OpenResource(
- entry_key, callback, callback_user_data));
- }
-
private:
// Weak reference to check if plugin_reverse is legally accessible or not.
nacl::WeakRefAnchor* anchor_;
@@ -165,22 +102,11 @@ class ManifestService {
const PPP_ManifestService kManifestServiceVTable = {
&ManifestService::QuitTrampoline,
&ManifestService::StartupInitializationCompleteTrampoline,
- &ManifestService::OpenResourceTrampoline,
};
} // namespace
OpenManifestEntryResource::~OpenManifestEntryResource() {
- MaybeRunCallback(PP_ERROR_ABORTED);
-}
-
-void OpenManifestEntryResource::MaybeRunCallback(int32_t pp_error) {
- if (!callback)
- return;
-
- callback->Run(pp_error);
- delete callback;
- callback = NULL;
}
PluginReverseInterface::PluginReverseInterface(
@@ -243,7 +169,7 @@ bool PluginReverseInterface::OpenManifestEntry(nacl::string url_key,
// the main thread before this function can return. The pointers it contains
// to stack variables will not leak.
OpenManifestEntryResource* to_open =
- new OpenManifestEntryResource(url_key, info, &op_complete, NULL);
+ new OpenManifestEntryResource(url_key, info, &op_complete);
CHECK(to_open != NULL);
NaClLog(4, "PluginReverseInterface::OpenManifestEntry: %s\n",
url_key.c_str());
@@ -293,16 +219,6 @@ bool PluginReverseInterface::OpenManifestEntry(nacl::string url_key,
return true;
}
-void PluginReverseInterface::OpenManifestEntryAsync(
- const nacl::string& entry_key,
- struct NaClFileInfo* info,
- OpenManifestEntryAsyncCallback* callback) {
- bool op_complete = false;
- OpenManifestEntryResource to_open(
- entry_key, info, &op_complete, callback);
- OpenManifestEntry_MainThreadContinuation(&to_open, PP_OK);
-}
-
// Transfer point from OpenManifestEntry() which runs on the main thread
// (Some PPAPI actions -- like StreamAsFile -- can only run on the main thread).
// OpenManifestEntry() is waiting on a condvar for this continuation to
@@ -334,7 +250,6 @@ void PluginReverseInterface::OpenManifestEntry_MainThreadContinuation(
p->file_info->desc = -1; // but failed.
NaClXCondVarBroadcast(&cv_);
}
- p->MaybeRunCallback(PP_OK);
return;
}
nacl::string mapped_url = pp::Var(pp_mapped_url).AsString();
@@ -354,7 +269,6 @@ void PluginReverseInterface::OpenManifestEntry_MainThreadContinuation(
p->file_info->desc = -1; // but failed.
NaClXCondVarBroadcast(&cv_);
}
- p->MaybeRunCallback(PP_OK);
return;
}
@@ -362,9 +276,6 @@ void PluginReverseInterface::OpenManifestEntry_MainThreadContinuation(
// to create another instance.
OpenManifestEntryResource* open_cont = new OpenManifestEntryResource(*p);
open_cont->url = mapped_url;
- // Callback is now delegated from p to open_cont. So, here we manually clear
- // complete callback.
- p->callback = NULL;
pp::CompletionCallback stream_cc = WeakRefNewCallback(
anchor_,
@@ -403,7 +314,6 @@ void PluginReverseInterface::StreamAsFile_MainThreadContinuation(
*p->op_complete_ptr = true;
NaClXCondVarBroadcast(&cv_);
}
- p->MaybeRunCallback(PP_OK);
}
bool PluginReverseInterface::CloseManifestEntry(int32_t desc) {
diff --git a/ppapi/native_client/src/trusted/plugin/service_runtime.h b/ppapi/native_client/src/trusted/plugin/service_runtime.h
index dbafee7..d53d612 100644
--- a/ppapi/native_client/src/trusted/plugin/service_runtime.h
+++ b/ppapi/native_client/src/trusted/plugin/service_runtime.h
@@ -34,7 +34,6 @@ class DescWrapper;
namespace plugin {
-class OpenManifestEntryAsyncCallback;
class Plugin;
class SrpcClient;
class ServiceRuntime;
@@ -69,20 +68,16 @@ struct OpenManifestEntryResource {
public:
OpenManifestEntryResource(const std::string& target_url,
struct NaClFileInfo* finfo,
- bool* op_complete,
- OpenManifestEntryAsyncCallback* callback)
+ bool* op_complete)
: url(target_url),
file_info(finfo),
- op_complete_ptr(op_complete),
- callback(callback) {}
+ op_complete_ptr(op_complete) {}
~OpenManifestEntryResource();
- void MaybeRunCallback(int32_t pp_error);
std::string url;
struct NaClFileInfo* file_info;
PP_NaClFileInfo pp_file_info;
bool* op_complete_ptr;
- OpenManifestEntryAsyncCallback* callback;
};
// Do not invoke from the main thread, since the main methods will
@@ -122,15 +117,6 @@ class PluginReverseInterface: public nacl::ReverseInterface {
int64_t offset,
int64_t bytes_to_write);
- // This is a sibling of OpenManifestEntry. While OpenManifestEntry is
- // a sync function and must be called on a non-main thread,
- // OpenManifestEntryAsync must be called on the main thread. Upon completion
- // (even on error), callback will be invoked. The caller has responsibility
- // to keep the memory passed to info until callback is invoked.
- void OpenManifestEntryAsync(const nacl::string& key,
- struct NaClFileInfo* info,
- OpenManifestEntryAsyncCallback* callback);
-
protected:
virtual void OpenManifestEntry_MainThreadContinuation(
OpenManifestEntryResource* p,