Index: chrome/browser/extensions/api/image_writer_private/operation.h |
diff --git a/chrome/browser/extensions/api/image_writer_private/operation.h b/chrome/browser/extensions/api/image_writer_private/operation.h |
index f4e025d5bde3d962064b072c7fbe46d6a9bb9d05..bb0afbc2668b4b09f4baa0a1005daf758c646fd2 100644 |
--- a/chrome/browser/extensions/api/image_writer_private/operation.h |
+++ b/chrome/browser/extensions/api/image_writer_private/operation.h |
@@ -14,7 +14,7 @@ |
#include "base/task/cancelable_task_tracker.h" |
#include "chrome/browser/extensions/api/image_writer_private/image_writer_utility_client.h" |
#include "chrome/common/extensions/api/image_writer_private.h" |
-#include "third_party/zlib/google/zip_reader.h" |
+ |
namespace image_writer_api = extensions::api::image_writer_private; |
@@ -22,6 +22,10 @@ namespace base { |
class FilePath; |
} // namespace base |
+namespace zip { |
+class ZipReader; |
+} |
+ |
namespace extensions { |
namespace image_writer { |
@@ -207,8 +211,10 @@ class Operation : public base::RefCountedThreadSafe<Operation> { |
// memory here. This requires that we only do one MD5 sum at a time. |
base::MD5Context md5_context_; |
- // Zip reader for unzip operations. |
- zip::ZipReader zip_reader_; |
+ // Zip reader for unzip operations. The reason for using a pointer is that we |
+ // don't want to include zip_reader.h here which can mangle definitions in |
+ // jni.h when included in the same file. See crbug.com/554199. |
+ scoped_ptr<zip::ZipReader> zip_reader_; |
// CleanUp operations that must be run. All these functions are run on the |
// FILE thread. |