| Index: ui/base/resource/data_pack.h
|
| diff --git a/ui/base/resource/data_pack.h b/ui/base/resource/data_pack.h
|
| index 26b94c2b4b7c98670a8eb418f9c927a3c21f84bc..8bb5e5c3c8e36dea502af46e8a7704ee485892c9 100644
|
| --- a/ui/base/resource/data_pack.h
|
| +++ b/ui/base/resource/data_pack.h
|
| @@ -46,6 +46,10 @@ class UI_DATA_PACK_EXPORT DataPack : public ResourceHandle {
|
| bool LoadFromFileRegion(base::File file,
|
| const base::MemoryMappedFile::Region& region);
|
|
|
| + // Loads a pack file from |buffer|, returning false on error.
|
| + // Data is not copied, |buffer| should stay alive during |DataPack| lifetime.
|
| + bool LoadFromBuffer(base::StringPiece buffer);
|
| +
|
| // Writes a pack file containing |resources| to |path|. If there are any
|
| // text resources to be written, their encoding must already agree to the
|
| // |textEncodingType| specified. If no text resources are present, please
|
| @@ -70,11 +74,15 @@ class UI_DATA_PACK_EXPORT DataPack : public ResourceHandle {
|
| #endif
|
|
|
| private:
|
| - // Does the actual loading of a pack file. Called by Load and LoadFromFile.
|
| - bool LoadImpl();
|
| + class DataSource;
|
| + class BufferDataSource;
|
| + class MemoryMappedDataSource;
|
| +
|
| + // Does the actual loading of a pack file.
|
| + // Called by Load and LoadFromFile and LoadFromBuffer.
|
| + bool LoadImpl(std::unique_ptr<DataSource> data_source);
|
|
|
| - // The memory-mapped data.
|
| - std::unique_ptr<base::MemoryMappedFile> mmap_;
|
| + std::unique_ptr<DataSource> data_source_;
|
|
|
| // Number of resources in the data.
|
| size_t resource_count_;
|
|
|