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

Unified Diff: components/nacl/renderer/ppb_nacl_private_impl.cc

Issue 307173002: Remove PlatformFile from components/nacl (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Update NexeFdCallback definition Created 6 years, 7 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 | « components/nacl/renderer/pnacl_translation_resource_host.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/nacl/renderer/ppb_nacl_private_impl.cc
diff --git a/components/nacl/renderer/ppb_nacl_private_impl.cc b/components/nacl/renderer/ppb_nacl_private_impl.cc
index f3e8855989c90a91c1c693ad22d9238a6b7186b7..9113dddb55a9d695de23e613cf31165559cda5b3 100644
--- a/components/nacl/renderer/ppb_nacl_private_impl.cc
+++ b/components/nacl/renderer/ppb_nacl_private_impl.cc
@@ -553,14 +553,12 @@ PP_FileHandle GetReadonlyPnaclFd(const char* url) {
if (!sender->Send(new NaClHostMsg_GetReadonlyPnaclFD(
std::string(filename),
&out_fd))) {
- return base::kInvalidPlatformFileValue;
+ return PP_kInvalidFileHandle;
}
if (out_fd == IPC::InvalidPlatformFileForTransit()) {
- return base::kInvalidPlatformFileValue;
+ return PP_kInvalidFileHandle;
}
- base::PlatformFile handle =
- IPC::PlatformFileForTransitToPlatformFile(out_fd);
- return handle;
+ return IPC::PlatformFileForTransitToPlatformFile(out_fd);
}
PP_FileHandle CreateTemporaryFile(PP_Instance instance) {
@@ -569,16 +567,14 @@ PP_FileHandle CreateTemporaryFile(PP_Instance instance) {
DCHECK(sender);
if (!sender->Send(new NaClHostMsg_NaClCreateTemporaryFile(
&transit_fd))) {
- return base::kInvalidPlatformFileValue;
+ return PP_kInvalidFileHandle;
}
if (transit_fd == IPC::InvalidPlatformFileForTransit()) {
- return base::kInvalidPlatformFileValue;
+ return PP_kInvalidFileHandle;
}
- base::PlatformFile handle = IPC::PlatformFileForTransitToPlatformFile(
- transit_fd);
- return handle;
+ return IPC::PlatformFileForTransitToPlatformFile(transit_fd);
}
int32_t GetNumberOfProcessors() {
@@ -700,16 +696,13 @@ PP_FileHandle OpenNaClExecutable(PP_Instance instance,
&out_fd,
nonce_lo,
nonce_hi))) {
- return base::kInvalidPlatformFileValue;
+ return PP_kInvalidFileHandle;
}
- if (out_fd == IPC::InvalidPlatformFileForTransit()) {
- return base::kInvalidPlatformFileValue;
- }
+ if (out_fd == IPC::InvalidPlatformFileForTransit())
+ return PP_kInvalidFileHandle;
- base::PlatformFile handle =
- IPC::PlatformFileForTransitToPlatformFile(out_fd);
- return handle;
+ return IPC::PlatformFileForTransitToPlatformFile(out_fd);
}
void DispatchEvent(PP_Instance instance,
@@ -1127,8 +1120,8 @@ PP_Bool GetPNaClResourceInfo(PP_Instance instance,
if (!load_manager)
return PP_FALSE;
- base::PlatformFile file = GetReadonlyPnaclFd(filename);
- if (file == base::kInvalidPlatformFileValue) {
+ base::File file(GetReadonlyPnaclFd(filename));
+ if (!file.IsValid()) {
load_manager->ReportLoadError(
PP_NACL_ERROR_PNACL_RESOURCE_FETCH,
"The Portable Native Client (pnacl) component is not "
@@ -1137,8 +1130,8 @@ PP_Bool GetPNaClResourceInfo(PP_Instance instance,
return PP_FALSE;
}
- base::PlatformFileInfo file_info;
- if (!GetPlatformFileInfo(file, &file_info)) {
+ base::File::Info file_info;
+ if (!file.GetInfo(&file_info)) {
load_manager->ReportLoadError(
PP_NACL_ERROR_PNACL_RESOURCE_FETCH,
std::string("GetPNaClResourceInfo, GetFileInfo failed for: ") +
@@ -1162,7 +1155,7 @@ PP_Bool GetPNaClResourceInfo(PP_Instance instance,
return PP_FALSE;
}
- int rc = base::ReadPlatformFile(file, 0, buffer.get(), file_info.size);
+ int rc = file.Read(0, buffer.get(), file_info.size);
if (rc < 0) {
load_manager->ReportLoadError(
PP_NACL_ERROR_PNACL_RESOURCE_FETCH,
@@ -1315,9 +1308,9 @@ class ProgressEventRateLimiter {
};
void DownloadNexeCompletion(const DownloadNexeRequest& request,
- base::PlatformFile target_file,
PP_NaClFileInfo* out_file_info,
FileDownloader::Status status,
+ base::File target_file,
int http_status);
void DownloadNexe(PP_Instance instance,
@@ -1339,16 +1332,16 @@ void DownloadNexe(PP_Instance instance,
&out_file_info->token_hi);
if (handle != PP_kInvalidFileHandle) {
DownloadNexeCompletion(request,
- handle,
out_file_info,
FileDownloader::SUCCESS,
+ base::File(handle),
200);
return;
}
// The fast path didn't work, we'll fetch the file using URLLoader and write
// it to local storage.
- base::PlatformFile target_file = CreateTemporaryFile(instance);
+ base::File target_file(CreateTemporaryFile(instance));
GURL gurl(url);
content::PepperPluginInstance* plugin_instance =
@@ -1370,31 +1363,28 @@ void DownloadNexe(PP_Instance instance,
// FileDownloader deletes itself after invoking DownloadNexeCompletion.
FileDownloader* file_downloader = new FileDownloader(
url_loader.Pass(),
- target_file,
- base::Bind(&DownloadNexeCompletion, request, target_file, out_file_info),
+ target_file.Pass(),
+ base::Bind(&DownloadNexeCompletion, request, out_file_info),
base::Bind(&ProgressEventRateLimiter::ReportProgress,
base::Owned(tracker), url));
file_downloader->Load(url_request);
}
void DownloadNexeCompletion(const DownloadNexeRequest& request,
- base::PlatformFile target_file,
PP_NaClFileInfo* out_file_info,
FileDownloader::Status status,
+ base::File target_file,
int http_status) {
int32_t pp_error = FileDownloaderToPepperError(status);
- if (pp_error == PP_OK)
- out_file_info->handle = target_file;
-
int64_t bytes_read = -1;
- if (pp_error == PP_OK && target_file != base::kInvalidPlatformFileValue) {
- base::PlatformFileInfo info;
- if (GetPlatformFileInfo(target_file, &info))
+ if (pp_error == PP_OK && target_file.IsValid()) {
+ base::File::Info info;
+ if (target_file.GetInfo(&info))
bytes_read = info.size;
}
if (bytes_read == -1) {
- base::ClosePlatformFile(target_file);
+ target_file.Close();
pp_error = PP_ERROR_FAILED;
}
@@ -1410,17 +1400,22 @@ void DownloadNexeCompletion(const DownloadNexeRequest& request,
download_time);
}
+ if (pp_error == PP_OK && target_file.IsValid())
+ out_file_info->handle = target_file.TakePlatformFile();
+ else
+ out_file_info->handle = PP_kInvalidFileHandle;
+
request.callback.func(request.callback.user_data, pp_error);
}
-void DownloadFileCompletion(base::PlatformFile file,
- PP_NaClFileInfo* file_info,
+void DownloadFileCompletion(PP_NaClFileInfo* file_info,
PP_CompletionCallback callback,
FileDownloader::Status status,
+ base::File file,
int http_status) {
int32_t pp_error = FileDownloaderToPepperError(status);
if (pp_error == PP_OK) {
- file_info->handle = file;
+ file_info->handle = file.TakePlatformFile();
file_info->token_lo = 0;
file_info->token_hi = 0;
}
@@ -1499,7 +1494,7 @@ void DownloadFile(PP_Instance instance,
// The fast path didn't work, we'll fetch the file using URLLoader and write
// it to local storage.
- base::PlatformFile target_file = CreateTemporaryFile(instance);
+ base::File target_file(CreateTemporaryFile(instance));
GURL gurl(url);
content::PepperPluginInstance* plugin_instance =
@@ -1521,8 +1516,8 @@ void DownloadFile(PP_Instance instance,
// FileDownloader deletes itself after invoking DownloadNexeCompletion.
FileDownloader* file_downloader = new FileDownloader(
url_loader.Pass(),
- target_file,
- base::Bind(&DownloadFileCompletion, target_file, file_info, callback),
+ target_file.Pass(),
+ base::Bind(&DownloadFileCompletion, file_info, callback),
base::Bind(&ProgressEventRateLimiter::ReportProgress,
base::Owned(tracker), url));
file_downloader->Load(url_request);
« no previous file with comments | « components/nacl/renderer/pnacl_translation_resource_host.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698