| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <stdint.h> | 5 #include <stdint.h> |
| 6 | 6 |
| 7 #include "ipc/ipc_message.h" | 7 #include "ipc/ipc_message.h" |
| 8 #include "ppapi/proxy/nacl_message_scanner.h" | 8 #include "ppapi/proxy/nacl_message_scanner.h" |
| 9 #include "ppapi/proxy/ppapi_messages.h" | 9 #include "ppapi/proxy/ppapi_messages.h" |
| 10 #include "ppapi/proxy/ppapi_proxy_test.h" | 10 #include "ppapi/proxy/ppapi_proxy_test.h" |
| (...skipping 28 matching lines...) Expand all Loading... |
| 39 NaClMessageScanner::FileIOMap::const_iterator it = | 39 NaClMessageScanner::FileIOMap::const_iterator it = |
| 40 scanner.files_.find(file_io); | 40 scanner.files_.find(file_io); |
| 41 return (it != scanner.files_.end()) ? it->second : NULL; | 41 return (it != scanner.files_.end()) ? it->second : NULL; |
| 42 } | 42 } |
| 43 | 43 |
| 44 void OpenQuotaFile(NaClMessageScanner* scanner, | 44 void OpenQuotaFile(NaClMessageScanner* scanner, |
| 45 PP_Resource file_io, | 45 PP_Resource file_io, |
| 46 PP_Resource file_system) { | 46 PP_Resource file_system) { |
| 47 std::vector<SerializedHandle> unused_handles; | 47 std::vector<SerializedHandle> unused_handles; |
| 48 ResourceMessageReplyParams fio_reply_params(file_io, 0); | 48 ResourceMessageReplyParams fio_reply_params(file_io, 0); |
| 49 scoped_ptr<IPC::Message> new_msg_ptr; | 49 std::unique_ptr<IPC::Message> new_msg_ptr; |
| 50 scanner->ScanMessage( | 50 scanner->ScanMessage( |
| 51 PpapiPluginMsg_ResourceReply( | 51 PpapiPluginMsg_ResourceReply( |
| 52 fio_reply_params, | 52 fio_reply_params, |
| 53 PpapiPluginMsg_FileIO_OpenReply(file_system, 0)), | 53 PpapiPluginMsg_FileIO_OpenReply(file_system, 0)), |
| 54 PpapiPluginMsg_ResourceReply::ID, | 54 PpapiPluginMsg_ResourceReply::ID, |
| 55 &unused_handles, | 55 &unused_handles, |
| 56 &new_msg_ptr); | 56 &new_msg_ptr); |
| 57 EXPECT_FALSE(new_msg_ptr); | 57 EXPECT_FALSE(new_msg_ptr); |
| 58 } | 58 } |
| 59 }; | 59 }; |
| 60 | 60 |
| 61 TEST_F(NaClMessageScannerTest, FileOpenClose) { | 61 TEST_F(NaClMessageScannerTest, FileOpenClose) { |
| 62 NaClMessageScanner test; | 62 NaClMessageScanner test; |
| 63 std::vector<SerializedHandle> unused_handles; | 63 std::vector<SerializedHandle> unused_handles; |
| 64 ResourceMessageCallParams fio_call_params(kFileIO, 0); | 64 ResourceMessageCallParams fio_call_params(kFileIO, 0); |
| 65 ResourceMessageCallParams fs_call_params(kFileSystem, 0); | 65 ResourceMessageCallParams fs_call_params(kFileSystem, 0); |
| 66 ResourceMessageReplyParams fio_reply_params(kFileIO, 0); | 66 ResourceMessageReplyParams fio_reply_params(kFileIO, 0); |
| 67 ResourceMessageReplyParams fs_reply_params(kFileSystem, 0); | 67 ResourceMessageReplyParams fs_reply_params(kFileSystem, 0); |
| 68 scoped_ptr<IPC::Message> new_msg_ptr; | 68 std::unique_ptr<IPC::Message> new_msg_ptr; |
| 69 | 69 |
| 70 EXPECT_EQ(NULL, FindFileSystem(test, kFileSystem)); | 70 EXPECT_EQ(NULL, FindFileSystem(test, kFileSystem)); |
| 71 EXPECT_EQ(NULL, FindFileIO(test, kFileIO)); | 71 EXPECT_EQ(NULL, FindFileIO(test, kFileIO)); |
| 72 | 72 |
| 73 // Open a file, not in a quota file system. | 73 // Open a file, not in a quota file system. |
| 74 test.ScanMessage( | 74 test.ScanMessage( |
| 75 PpapiPluginMsg_ResourceReply( | 75 PpapiPluginMsg_ResourceReply( |
| 76 fio_reply_params, | 76 fio_reply_params, |
| 77 PpapiPluginMsg_FileIO_OpenReply(kInvalidResource, 0)), | 77 PpapiPluginMsg_FileIO_OpenReply(kInvalidResource, 0)), |
| 78 PpapiPluginMsg_ResourceReply::ID, | 78 PpapiPluginMsg_ResourceReply::ID, |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 136 EXPECT_FALSE(FindFileSystem(test, kFileSystem)); | 136 EXPECT_FALSE(FindFileSystem(test, kFileSystem)); |
| 137 } | 137 } |
| 138 | 138 |
| 139 TEST_F(NaClMessageScannerTest, QuotaAuditing) { | 139 TEST_F(NaClMessageScannerTest, QuotaAuditing) { |
| 140 NaClMessageScanner test; | 140 NaClMessageScanner test; |
| 141 std::vector<SerializedHandle> unused_handles; | 141 std::vector<SerializedHandle> unused_handles; |
| 142 ResourceMessageCallParams fio_call_params(kFileIO, 0); | 142 ResourceMessageCallParams fio_call_params(kFileIO, 0); |
| 143 ResourceMessageCallParams fs_call_params(kFileSystem, 0); | 143 ResourceMessageCallParams fs_call_params(kFileSystem, 0); |
| 144 ResourceMessageReplyParams fio_reply_params(kFileIO, 0); | 144 ResourceMessageReplyParams fio_reply_params(kFileIO, 0); |
| 145 ResourceMessageReplyParams fs_reply_params(kFileSystem, 0); | 145 ResourceMessageReplyParams fs_reply_params(kFileSystem, 0); |
| 146 scoped_ptr<IPC::Message> new_msg_ptr; | 146 std::unique_ptr<IPC::Message> new_msg_ptr; |
| 147 | 147 |
| 148 OpenQuotaFile(&test, kFileIO, kFileSystem); | 148 OpenQuotaFile(&test, kFileIO, kFileSystem); |
| 149 NaClMessageScanner::FileSystem* fs = FindFileSystem(test, kFileSystem); | 149 NaClMessageScanner::FileSystem* fs = FindFileSystem(test, kFileSystem); |
| 150 NaClMessageScanner::FileIO* fio = FindFileIO(test, kFileIO); | 150 NaClMessageScanner::FileIO* fio = FindFileIO(test, kFileIO); |
| 151 EXPECT_TRUE(fs); | 151 EXPECT_TRUE(fs); |
| 152 EXPECT_EQ(0, fs->reserved_quota()); | 152 EXPECT_EQ(0, fs->reserved_quota()); |
| 153 EXPECT_TRUE(fio); | 153 EXPECT_TRUE(fio); |
| 154 EXPECT_EQ(0, fio->max_written_offset()); | 154 EXPECT_EQ(0, fio->max_written_offset()); |
| 155 | 155 |
| 156 // Without reserving quota, we should not be able to grow the file. | 156 // Without reserving quota, we should not be able to grow the file. |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 208 EXPECT_EQ(kNewFileSize + 1, new_file_growths[kFileIO].max_written_offset); | 208 EXPECT_EQ(kNewFileSize + 1, new_file_growths[kFileIO].max_written_offset); |
| 209 } | 209 } |
| 210 | 210 |
| 211 TEST_F(NaClMessageScannerTest, SetLength) { | 211 TEST_F(NaClMessageScannerTest, SetLength) { |
| 212 NaClMessageScanner test; | 212 NaClMessageScanner test; |
| 213 std::vector<SerializedHandle> unused_handles; | 213 std::vector<SerializedHandle> unused_handles; |
| 214 ResourceMessageCallParams fio_call_params(kFileIO, 0); | 214 ResourceMessageCallParams fio_call_params(kFileIO, 0); |
| 215 ResourceMessageCallParams fs_call_params(kFileSystem, 0); | 215 ResourceMessageCallParams fs_call_params(kFileSystem, 0); |
| 216 ResourceMessageReplyParams fio_reply_params(kFileIO, 0); | 216 ResourceMessageReplyParams fio_reply_params(kFileIO, 0); |
| 217 ResourceMessageReplyParams fs_reply_params(kFileSystem, 0); | 217 ResourceMessageReplyParams fs_reply_params(kFileSystem, 0); |
| 218 scoped_ptr<IPC::Message> new_msg_ptr; | 218 std::unique_ptr<IPC::Message> new_msg_ptr; |
| 219 | 219 |
| 220 OpenQuotaFile(&test, kFileIO, kFileSystem); | 220 OpenQuotaFile(&test, kFileIO, kFileSystem); |
| 221 NaClMessageScanner::FileSystem* fs = FindFileSystem(test, kFileSystem); | 221 NaClMessageScanner::FileSystem* fs = FindFileSystem(test, kFileSystem); |
| 222 NaClMessageScanner::FileIO* fio = FindFileIO(test, kFileIO); | 222 NaClMessageScanner::FileIO* fio = FindFileIO(test, kFileIO); |
| 223 | 223 |
| 224 // Receive reserved quota, and updated file sizes. | 224 // Receive reserved quota, and updated file sizes. |
| 225 const int64_t kNewFileSize = 10; | 225 const int64_t kNewFileSize = 10; |
| 226 FileSizeMap file_sizes; | 226 FileSizeMap file_sizes; |
| 227 file_sizes[kFileIO] = 0; | 227 file_sizes[kFileIO] = 0; |
| 228 test.ScanMessage( | 228 test.ScanMessage( |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 261 UnpackMessage<PpapiHostMsg_FileIO_SetLength>( | 261 UnpackMessage<PpapiHostMsg_FileIO_SetLength>( |
| 262 nested_msg, &length)); | 262 nested_msg, &length)); |
| 263 new_msg_ptr.reset(); | 263 new_msg_ptr.reset(); |
| 264 EXPECT_EQ(-1, length); | 264 EXPECT_EQ(-1, length); |
| 265 EXPECT_EQ(kQuotaReservationAmount - kNewFileSize, fs->reserved_quota()); | 265 EXPECT_EQ(kQuotaReservationAmount - kNewFileSize, fs->reserved_quota()); |
| 266 EXPECT_EQ(kNewFileSize, fio->max_written_offset()); | 266 EXPECT_EQ(kNewFileSize, fio->max_written_offset()); |
| 267 } | 267 } |
| 268 | 268 |
| 269 } // namespace proxy | 269 } // namespace proxy |
| 270 } // namespace ppapi | 270 } // namespace ppapi |
| OLD | NEW |