| Index: ppapi/nacl_irt/manifest_service.cc
|
| diff --git a/ppapi/nacl_irt/manifest_service.cc b/ppapi/nacl_irt/manifest_service.cc
|
| index ed7c4ebf969ffe9d337780ad426831abfcb3f4a0..9fede4fd740b9393140895fe1daf9af9ce2989ce 100644
|
| --- a/ppapi/nacl_irt/manifest_service.cc
|
| +++ b/ppapi/nacl_irt/manifest_service.cc
|
| @@ -12,6 +12,8 @@
|
|
|
| namespace ppapi {
|
|
|
| +const char kFilePrefix[] = "files/";
|
| +
|
| ManifestService::ManifestService(
|
| const IPC::ChannelHandle& handle,
|
| scoped_refptr<base::MessageLoopProxy> io_message_loop,
|
| @@ -19,7 +21,7 @@ ManifestService::ManifestService(
|
| filter_ = new IPC::SyncMessageFilter(shutdown_event);
|
| channel_.reset(new IPC::ChannelProxy(handle,
|
| IPC::Channel::MODE_SERVER,
|
| - NULL, // Listener
|
| + NULL, // Listener
|
| io_message_loop));
|
| channel_->AddFilter(filter_.get());
|
| }
|
| @@ -31,4 +33,16 @@ void ManifestService::StartupInitializationComplete() {
|
| filter_->Send(new PpapiHostMsg_StartupInitializationComplete);
|
| }
|
|
|
| +bool ManifestService::OpenResource(const char* file, int* fd) {
|
| + ppapi::proxy::SerializedHandle ipc_fd;
|
| + if (!filter_->Send(new PpapiHostMsg_OpenResource(
|
| + std::string(kFilePrefix) + file, &ipc_fd))) {
|
| + LOG(ERROR) << "ManifestService::OpenResource failed:" << file;
|
| + return false;
|
| + }
|
| +
|
| + *fd = IPC::PlatformFileForTransitToPlatformFile(ipc_fd.descriptor());
|
| + return true;
|
| +}
|
| +
|
| } // namespace ppapi
|
|
|