| Index: storage/browser/blob/blob_async_transport_strategy.h | 
| diff --git a/storage/browser/blob/blob_async_transport_strategy.h b/storage/browser/blob/blob_async_transport_strategy.h | 
| deleted file mode 100644 | 
| index 3e0777182cb1314294f40942ff63304e4545f988..0000000000000000000000000000000000000000 | 
| --- a/storage/browser/blob/blob_async_transport_strategy.h | 
| +++ /dev/null | 
| @@ -1,126 +0,0 @@ | 
| -// 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. | 
| - | 
| -#ifndef STORAGE_BROWSER_BLOB_BLOB_ASYNC_TRANSPORT_STRATEGY_H_ | 
| -#define STORAGE_BROWSER_BLOB_BLOB_ASYNC_TRANSPORT_STRATEGY_H_ | 
| - | 
| -#include <stddef.h> | 
| -#include <stdint.h> | 
| - | 
| -#include <map> | 
| -#include <vector> | 
| - | 
| -#include "base/macros.h" | 
| -#include "base/memory/scoped_ptr.h" | 
| -#include "storage/browser/blob/blob_data_builder.h" | 
| -#include "storage/browser/storage_browser_export.h" | 
| -#include "storage/common/blob_storage/blob_item_bytes_request.h" | 
| -#include "storage/common/data_element.h" | 
| - | 
| -namespace storage { | 
| - | 
| -// This class computes and stores the strategy for asynchronously transporting | 
| -// memory from the renderer to the browser. We take memory constraints of our | 
| -// system and the description of a blob, and figure out: | 
| -// 1) How to store the blob data in the browser process: in memory or on disk. | 
| -// 2) How to transport the data from the renderer: ipc payload, shared memory, | 
| -//    or file handles. | 
| -// We then generate data requests for that blob's memory and seed a | 
| -// BlobDataBuilder for storing that data. | 
| -// | 
| -// Note: This class does not compute requests by using the 'shortcut' method, | 
| -//       where the data is already present in the blob description, and will | 
| -//       always give the caller the full strategy for requesting all data from | 
| -//       the renderer. | 
| -class STORAGE_EXPORT BlobAsyncTransportStrategy { | 
| - public: | 
| -  enum Error { | 
| -    ERROR_NONE = 0, | 
| -    ERROR_TOO_LARGE,  // This item can't fit in disk or memory | 
| -    ERROR_INVALID_PARAMS | 
| -  }; | 
| - | 
| -  struct RendererMemoryItemRequest { | 
| -    RendererMemoryItemRequest(); | 
| -    // This is the index of the item in the builder on the browser side. | 
| -    size_t browser_item_index; | 
| -    // Note: For files this offset should always be 0, as the file offset in | 
| -    //       segmentation is handled by the handle_offset in the message.  This | 
| -    //       offset is used for populating a chunk when the data comes back to | 
| -    //       the browser. | 
| -    size_t browser_item_offset; | 
| -    BlobItemBytesRequest message; | 
| -    bool received; | 
| -  }; | 
| - | 
| -  BlobAsyncTransportStrategy(); | 
| -  virtual ~BlobAsyncTransportStrategy(); | 
| - | 
| -  // This call does the computation to create the requests and builder for the | 
| -  // blob given the memory constraints and blob description. |memory_available| | 
| -  // is the total amount of memory we can offer for storing blobs. | 
| -  // This method can only be called once. | 
| -  void Initialize(size_t max_ipc_memory_size, | 
| -                  size_t max_shared_memory_size, | 
| -                  size_t max_file_size, | 
| -                  uint64_t disk_space_left, | 
| -                  size_t memory_available, | 
| -                  const std::string& uuid, | 
| -                  const std::vector<DataElement>& blob_item_infos); | 
| - | 
| -  // The sizes of the handles being used (by handle index) in the async | 
| -  // operation. This is used for both files or shared memory, as their use is | 
| -  // mutually exclusive. | 
| -  const std::vector<size_t>& handle_sizes() const { return handle_sizes_; } | 
| - | 
| -  // The requests for memory, segmented as described above, along with their | 
| -  // destination browser indexes and offsets. | 
| -  const std::vector<RendererMemoryItemRequest>& requests() const { | 
| -    return requests_; | 
| -  } | 
| - | 
| -  // Marks the request at the given request number as recieved. | 
| -  void MarkRequestAsReceived(size_t request_num) { | 
| -    DCHECK_LT(request_num, requests_.size()); | 
| -    requests_[request_num].received = true; | 
| -  } | 
| - | 
| -  // A BlobDataBuilder which can be used to construct the Blob in the | 
| -  // BlobStorageContext object after: | 
| -  // * The bytes items from AppendFutureData are populated by | 
| -  //   PopulateFutureData. | 
| -  // * The temporary files from AppendFutureFile are populated by | 
| -  //   PopulateFutureFile. | 
| -  BlobDataBuilder* blob_builder() { return builder_.get(); } | 
| - | 
| -  // The total bytes size of memory items in the blob. | 
| -  uint64_t total_bytes_size() const { return total_bytes_size_; } | 
| - | 
| -  Error error() const { return error_; } | 
| - | 
| -  static bool ShouldBeShortcut(const std::vector<DataElement>& items, | 
| -                               size_t memory_available); | 
| - | 
| - private: | 
| -  static void ComputeHandleSizes(uint64_t total_memory_size, | 
| -                                 size_t max_segment_size, | 
| -                                 std::vector<size_t>* segment_sizes); | 
| - | 
| -  Error error_; | 
| - | 
| -  // We use the same vector for shared memory handle sizes and file handle sizes | 
| -  // because we only use one for any strategy. The size of the handles is capped | 
| -  // by the |max_file_size| argument in Initialize, so we can just use size_t. | 
| -  std::vector<size_t> handle_sizes_; | 
| - | 
| -  uint64_t total_bytes_size_; | 
| -  std::vector<RendererMemoryItemRequest> requests_; | 
| -  scoped_ptr<BlobDataBuilder> builder_; | 
| - | 
| -  DISALLOW_COPY_AND_ASSIGN(BlobAsyncTransportStrategy); | 
| -}; | 
| - | 
| -}  // namespace storage | 
| - | 
| -#endif  // STORAGE_BROWSER_BLOB_BLOB_ASYNC_TRANSPORT_STRATEGY_H_ | 
|  |