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

Unified Diff: ppapi/native_client/src/trusted/plugin/file_downloader.cc

Issue 14750007: NaCl: enable meta-based validation for shared libraries. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: More edits Created 7 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
Index: ppapi/native_client/src/trusted/plugin/file_downloader.cc
diff --git a/ppapi/native_client/src/trusted/plugin/file_downloader.cc b/ppapi/native_client/src/trusted/plugin/file_downloader.cc
index ce7fe30b2046f58b4348926d3560e0e40673ccfd..96211f0634b9bf1f9ea03eaf4a839520ceabbff2 100644
--- a/ppapi/native_client/src/trusted/plugin/file_downloader.cc
+++ b/ppapi/native_client/src/trusted/plugin/file_downloader.cc
@@ -5,6 +5,7 @@
#include "native_client/src/trusted/plugin/file_downloader.h"
#include <stdio.h>
+#include <string.h>
#include <string>
#include "native_client/src/include/portability_io.h"
@@ -23,6 +24,14 @@
namespace {
Mark Seaborn 2013/05/16 23:01:47 Add empty line after this
Nick Bray (chromium) 2013/05/21 20:09:06 Done.
const int32_t kExtensionUrlRequestStatusOk = 200;
const int32_t kDataUriRequestStatusOk = 0;
+
+struct NaClFileInfo NoFileInfo() {
Mark Seaborn 2013/05/16 23:01:47 'struct NaClFileInfo' -> 'NaClFileInfo' in C++? S
Nick Bray (chromium) 2013/05/21 20:09:06 Staying consistent with the C code base.
+ struct NaClFileInfo info;
+ memset(&info, 0, sizeof(info));
+ info.desc = -1;
+ return info;
+}
+
}
namespace plugin {
@@ -145,7 +154,8 @@ bool FileDownloader::Open(
}
void FileDownloader::OpenFast(const nacl::string& url,
- PP_FileHandle file_handle) {
+ PP_FileHandle file_handle,
+ uint64_t nonce) {
PLUGIN_PRINTF(("FileDownloader::OpenFast (url=%s)\n", url.c_str()));
CHECK(instance_ != NULL);
open_time_ = NaClGetTimeOfDayMicroseconds();
@@ -154,9 +164,11 @@ void FileDownloader::OpenFast(const nacl::string& url,
url_ = url;
mode_ = DOWNLOAD_NONE;
file_handle_ = file_handle;
+ nonce_ = nonce;
}
-int32_t FileDownloader::GetPOSIXFileDescriptor() {
+struct NaClFileInfo FileDownloader::GetFileInfo() {
+ struct NaClFileInfo info = NoFileInfo();
int32_t file_desc = NACL_NO_FILE_DESC;
if (not_streaming() && file_handle_ != PP_kInvalidFileHandle) {
#if NACL_WINDOWS
@@ -165,13 +177,14 @@ int32_t FileDownloader::GetPOSIXFileDescriptor() {
#else
file_desc = file_handle_;
#endif
+ info.nonce = nonce_;
} else {
if (!streaming_to_file()) {
- return NACL_NO_FILE_DESC;
+ return NoFileInfo();
}
// Use the trusted interface to get the file descriptor.
if (file_io_trusted_interface_ == NULL) {
- return NACL_NO_FILE_DESC;
+ return NoFileInfo();
}
file_desc = file_io_trusted_interface_->GetOSFileDescriptor(
file_reader_.pp_resource());
@@ -183,12 +196,13 @@ int32_t FileDownloader::GetPOSIXFileDescriptor() {
if (posix_desc == -1) {
// Close the Windows HANDLE if it can't be converted.
CloseHandle(reinterpret_cast<HANDLE>(file_desc));
- return NACL_NO_FILE_DESC;
+ return NoFileInfo();
}
file_desc = posix_desc;
#endif
- return file_desc;
+ info.desc = file_desc;
+ return info;
}
int64_t FileDownloader::TimeSinceOpenMilliseconds() const {

Powered by Google App Engine
This is Rietveld 408576698