Index: storage/common/blob_storage/blob_item_bytes_request.cc |
diff --git a/storage/common/blob_storage/blob_item_bytes_request.cc b/storage/common/blob_storage/blob_item_bytes_request.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ffec47066e8aef3b1041464c3b49743c3b447d08 |
--- /dev/null |
+++ b/storage/common/blob_storage/blob_item_bytes_request.cc |
@@ -0,0 +1,69 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "storage/common/blob_storage/blob_item_bytes_request.h" |
+ |
+namespace storage { |
+ |
+BlobItemBytesRequest BlobItemBytesRequest::CreateIPCRequest( |
+ size_t request_number, size_t renderer_item_index, |
+ size_t renderer_item_offset, size_t size) { |
+ return BlobItemBytesRequest(request_number, IPCBlobItemRequestStrategy::IPC, |
+ renderer_item_index, renderer_item_offset, size, |
+ kInvalidIndex, kInvalidSize); |
+} |
+BlobItemBytesRequest BlobItemBytesRequest::CreateSharedMemoryRequest( |
+ size_t request_number, size_t renderer_item_index, |
+ size_t renderer_item_offset, size_t size, size_t handle_index, |
+ uint64_t handle_offset) { |
+ return BlobItemBytesRequest(request_number, |
+ IPCBlobItemRequestStrategy::SHARED_MEMORY, |
+ renderer_item_index, renderer_item_offset, size, |
+ handle_index, handle_offset); |
+} |
+ |
+BlobItemBytesRequest BlobItemBytesRequest::CreateFileRequest( |
+ size_t request_number, size_t renderer_item_index, |
+ uint64_t renderer_item_offset, uint64_t size, size_t handle_index, |
+ uint64_t handle_offset) { |
+ return BlobItemBytesRequest( |
+ request_number, IPCBlobItemRequestStrategy::FILE, renderer_item_index, |
+ renderer_item_offset, size, handle_index, handle_offset); |
+} |
+ |
+BlobItemBytesRequest::BlobItemBytesRequest() |
+ : request_number(kInvalidIndex), |
+ transport_strategy(IPCBlobItemRequestStrategy::UNKNOWN), |
+ renderer_item_index(kInvalidIndex), |
+ renderer_item_offset(kInvalidSize), |
+ size(kInvalidSize), |
+ handle_index(kInvalidIndex), |
+ handle_offset(kInvalidSize) {} |
+ |
+BlobItemBytesRequest::BlobItemBytesRequest( |
+ size_t request_number, IPCBlobItemRequestStrategy transport_strategy, |
+ size_t renderer_item_index, uint64_t renderer_item_offset, uint64_t size, |
+ size_t handle_index, uint64_t handle_offset) |
+ : request_number(request_number), |
+ transport_strategy(transport_strategy), |
+ renderer_item_index(renderer_item_index), |
+ renderer_item_offset(renderer_item_offset), |
+ size(size), |
+ handle_index(handle_index), |
+ handle_offset(handle_offset) {} |
+ |
+BlobItemBytesRequest::~BlobItemBytesRequest() {} |
+ |
+void PrintTo(const BlobItemBytesRequest& request, std::ostream* os) { |
+ *os << "{request_number: " << request.request_number |
+ << ", transport_strategy: " |
+ << static_cast<int>(request.transport_strategy) |
+ << ", renderer_item_index: " << request.renderer_item_index |
+ << ", renderer_item_offset: " << request.renderer_item_offset |
+ << ", size: " << request.size |
+ << ", handle_index: " << request.handle_index |
+ << ", handle_offset: " << request.handle_offset << "}"; |
+} |
+ |
+} // namespace storage |