| Index: ui/base/resource/data_pack.cc
|
| diff --git a/ui/base/resource/data_pack.cc b/ui/base/resource/data_pack.cc
|
| index e1d8c144ac54ec21c7f3448c3f9b34a6b713d659..87c8735d319d4339a7dfd78ad8c081ca6d95ba44 100644
|
| --- a/ui/base/resource/data_pack.cc
|
| +++ b/ui/base/resource/data_pack.cc
|
| @@ -53,6 +53,7 @@ enum LoadErrors {
|
| ENTRY_NOT_FOUND,
|
| HEADER_TRUNCATED,
|
| WRONG_ENCODING,
|
| + INIT_FAILED_FROM_FILE,
|
|
|
| LOAD_ERRORS_COUNT,
|
| };
|
| @@ -70,7 +71,7 @@ DataPack::DataPack(ui::ScaleFactor scale_factor)
|
| DataPack::~DataPack() {
|
| }
|
|
|
| -bool DataPack::Load(const FilePath& path) {
|
| +bool DataPack::LoadFromPath(const FilePath& path) {
|
| mmap_.reset(new file_util::MemoryMappedFile);
|
| if (!mmap_->Initialize(path)) {
|
| DLOG(ERROR) << "Failed to mmap datapack";
|
| @@ -79,7 +80,22 @@ bool DataPack::Load(const FilePath& path) {
|
| mmap_.reset();
|
| return false;
|
| }
|
| + return LoadImpl();
|
| +}
|
| +
|
| +bool DataPack::LoadFromFile(base::PlatformFile file) {
|
| + mmap_.reset(new file_util::MemoryMappedFile);
|
| + if (!mmap_->Initialize(file)) {
|
| + DLOG(ERROR) << "Failed to mmap datapack";
|
| + UMA_HISTOGRAM_ENUMERATION("DataPack.Load", INIT_FAILED_FROM_FILE,
|
| + LOAD_ERRORS_COUNT);
|
| + mmap_.reset();
|
| + return false;
|
| + }
|
| + return LoadImpl();
|
| +}
|
|
|
| +bool DataPack::LoadImpl() {
|
| // Sanity check the header of the file.
|
| if (kHeaderLength > mmap_->length()) {
|
| DLOG(ERROR) << "Data pack file corruption: incomplete file header.";
|
|
|