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

Unified Diff: ppapi/proxy/pdf_resource.cc

Issue 13004012: Implement the host side of the PPB_PDF proxy. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 7 years, 9 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 | « ppapi/ppapi_sources.gypi ('k') | ppapi/proxy/pdf_resource_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ppapi/proxy/pdf_resource.cc
diff --git a/ppapi/proxy/pdf_resource.cc b/ppapi/proxy/pdf_resource.cc
index 9b588a7d81c9e49aef4423dec9a0871af7287243..45b1cdf516942275f679bf71db75eeafd1b54789 100644
--- a/ppapi/proxy/pdf_resource.cc
+++ b/ppapi/proxy/pdf_resource.cc
@@ -164,8 +164,9 @@ PP_Resource PDFResource::GetResourceImageForScale(PP_ResourceImage image_id,
HostResource resource;
std::string image_data_desc;
+ int fd;
if (!UnpackMessage<PpapiPluginMsg_PDF_GetResourceImageReply>(
- reply, &resource, &image_data_desc)) {
+ reply, &resource, &image_data_desc, &fd)) {
return 0;
}
@@ -176,19 +177,18 @@ PP_Resource PDFResource::GetResourceImageForScale(PP_ResourceImage image_id,
PP_ImageDataDesc desc;
memcpy(&desc, image_data_desc.data(), sizeof(PP_ImageDataDesc));
- base::SharedMemoryHandle handle;
- if (!reply_params.TakeSharedMemoryHandleAtIndex(0, &handle))
- return 0;
- // We always succeed after this point (on non-android platforms, so we don't
- // have to worry about leaking |handle|.
-
#if defined(OS_ANDROID)
// This is compiled into android for tests only.
return 0;
#elif defined(OS_WIN) || defined(OS_MACOSX)
+ base::SharedMemoryHandle handle;
+ if (!reply_params.TakeSharedMemoryHandleAtIndex(0, &handle))
+ return 0;
return (new ImageData(resource, desc, handle))->GetReference();
+#elif defined(OS_LINUX)
+ return (new ImageData(resource, desc, fd))->GetReference();
#else
- return (new ImageData(resource, desc, handle.fd))->GetReference();
+#error Not implemented.
#endif
}
« no previous file with comments | « ppapi/ppapi_sources.gypi ('k') | ppapi/proxy/pdf_resource_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698