Chromium Code Reviews| Index: chrome/utility/image_writer/image_writer_handler.cc |
| diff --git a/chrome/utility/image_writer/image_writer_handler.cc b/chrome/utility/image_writer/image_writer_handler.cc |
| index d63edb7705fc684abbba908d632d5d104be4ee4b..c36e969118613a208ccf8605fe5cea9e4ff7cf77 100644 |
| --- a/chrome/utility/image_writer/image_writer_handler.cc |
| +++ b/chrome/utility/image_writer/image_writer_handler.cc |
| @@ -42,11 +42,8 @@ void ImageWriterHandler::Write( |
| if (test_mode) |
| target_device = MakeTestDevicePath(image); |
| - // https://crbug.com/352442 |
| - if (!image_writer_.get() || image != image_writer_->GetImagePath() || |
| - target_device != image_writer_->GetDevicePath()) { |
| + if (ShouldResetImageWriter(image, target_device)) |
| image_writer_.reset(new ImageWriter(this, image, target_device)); |
| - } |
| if (image_writer_->IsRunning()) { |
| SendFailed(error::kOperationAlreadyInProgress); |
| @@ -80,11 +77,8 @@ void ImageWriterHandler::Verify( |
| if (test_mode) |
| target_device = MakeTestDevicePath(image); |
| - // https://crbug.com/352442 |
| - if (!image_writer_.get() || image != image_writer_->GetImagePath() || |
| - target_device != image_writer_->GetDevicePath()) { |
| + if (ShouldResetImageWriter(image, target_device)) |
| image_writer_.reset(new ImageWriter(this, image, target_device)); |
| - } |
| if (image_writer_->IsRunning()) { |
| SendFailed(error::kOperationAlreadyInProgress); |
| @@ -124,4 +118,15 @@ void ImageWriterHandler::Cancel() { |
| client_.reset(); |
| } |
| +bool ImageWriterHandler::ShouldResetImageWriter(const base::FilePath& image, |
| + const base::FilePath& device) { |
| + if (!image_writer_) |
|
dcheng
2017/03/06 21:47:46
Please link to the original bug and also comment h
Noel Gordon
2017/03/17 02:51:29
Done.
|
| + return true; |
| + if (image != image_writer_->GetImagePath()) |
| + return true; |
| + if (device != image_writer_->GetDevicePath()) |
| + return true; |
| + return false; |
| +} |
| + |
| } // namespace image_writer |