Transfer DictionaryValue ownership in SandboxedUnpacker::OnUnpackSuccess()

This would avoid DeepCopy() in clients that care about retaining the
DictionaryValue's ownership.

BUG=699528
Test=None

Review-Url: https://codereview.chromium.org/2788563002
Cr-Commit-Position: refs/heads/master@{#460835}
diff --git a/extensions/browser/sandboxed_unpacker.h b/extensions/browser/sandboxed_unpacker.h
index 9007a47..5b081df 100644
--- a/extensions/browser/sandboxed_unpacker.h
+++ b/extensions/browser/sandboxed_unpacker.h
@@ -51,11 +51,12 @@
   // for deleting this memory.
   //
   // install_icon - The icon we will display in the installation UI, if any.
-  virtual void OnUnpackSuccess(const base::FilePath& temp_dir,
-                               const base::FilePath& extension_root,
-                               const base::DictionaryValue* original_manifest,
-                               const Extension* extension,
-                               const SkBitmap& install_icon) = 0;
+  virtual void OnUnpackSuccess(
+      const base::FilePath& temp_dir,
+      const base::FilePath& extension_root,
+      std::unique_ptr<base::DictionaryValue> original_manifest,
+      const Extension* extension,
+      const SkBitmap& install_icon) = 0;
   virtual void OnUnpackFailure(const CrxInstallError& error) = 0;
 
  protected: