| Index: chrome/browser/extensions/api/image_writer_private/operation.cc
|
| diff --git a/chrome/browser/extensions/api/image_writer_private/operation.cc b/chrome/browser/extensions/api/image_writer_private/operation.cc
|
| index 0fec496748570a227f2fe0776aac9681bf91cc9a..5c4ce7c543791242a020260fab0d177f71fc66df 100644
|
| --- a/chrome/browser/extensions/api/image_writer_private/operation.cc
|
| +++ b/chrome/browser/extensions/api/image_writer_private/operation.cc
|
| @@ -11,6 +11,7 @@
|
| #include "chrome/browser/extensions/api/image_writer_private/error_messages.h"
|
| #include "chrome/browser/extensions/api/image_writer_private/operation_manager.h"
|
| #include "content/public/browser/browser_thread.h"
|
| +#include "third_party/zlib/google/zip_reader.h"
|
|
|
| namespace extensions {
|
| namespace image_writer {
|
| @@ -41,7 +42,8 @@ Operation::Operation(base::WeakPtr<OperationManager> manager,
|
| device_path_(device_path),
|
| #endif
|
| stage_(image_writer_api::STAGE_UNKNOWN),
|
| - progress_(0) {
|
| + progress_(0),
|
| + zip_reader_(new zip::ZipReader) {
|
| }
|
|
|
| Operation::~Operation() {}
|
| @@ -105,20 +107,20 @@ void Operation::Unzip(const base::Closure& continuation) {
|
|
|
| SetStage(image_writer_api::STAGE_UNZIP);
|
|
|
| - if (!(zip_reader_.Open(image_path_) && zip_reader_.AdvanceToNextEntry() &&
|
| - zip_reader_.OpenCurrentEntryInZip())) {
|
| + if (!(zip_reader_->Open(image_path_) && zip_reader_->AdvanceToNextEntry() &&
|
| + zip_reader_->OpenCurrentEntryInZip())) {
|
| Error(error::kUnzipGenericError);
|
| return;
|
| }
|
|
|
| - if (zip_reader_.HasMore()) {
|
| + if (zip_reader_->HasMore()) {
|
| Error(error::kUnzipInvalidArchive);
|
| return;
|
| }
|
|
|
| // Create a new target to unzip to. The original file is opened by the
|
| // zip_reader_.
|
| - zip::ZipReader::EntryInfo* entry_info = zip_reader_.current_entry_info();
|
| + zip::ZipReader::EntryInfo* entry_info = zip_reader_->current_entry_info();
|
| if (entry_info) {
|
| image_path_ = temp_dir_.path().Append(entry_info->file_path().BaseName());
|
| } else {
|
| @@ -126,13 +128,13 @@ void Operation::Unzip(const base::Closure& continuation) {
|
| return;
|
| }
|
|
|
| - zip_reader_.ExtractCurrentEntryToFilePathAsync(
|
| + zip_reader_->ExtractCurrentEntryToFilePathAsync(
|
| image_path_,
|
| base::Bind(&Operation::CompleteAndContinue, this, continuation),
|
| base::Bind(&Operation::OnUnzipFailure, this),
|
| base::Bind(&Operation::OnUnzipProgress,
|
| this,
|
| - zip_reader_.current_entry_info()->original_size()));
|
| + zip_reader_->current_entry_info()->original_size()));
|
| }
|
|
|
| void Operation::Finish() {
|
|
|