[Extensions] Make ExternalInstallInfo less pointer-y

Remove the std::unique_ptr<> members from ExternalInstallInfoFile and
ExternalInstallInfoUpdateUrl. These were used to hold the version and
url members, but each of these will never be null and are cheaply 
copyable (or, in the case of GURL, movable), so have no reason to
be pointers.

Bug: 770007
Change-Id: I4b9c3ef8c9888a2d460ab082a9fa3339423a5ee6
Reviewed-on: https://chromium-review.googlesource.com/691045
Commit-Queue: Devlin <[email protected]>
Reviewed-by: Karan Bhatia <[email protected]>
Cr-Commit-Position: refs/heads/master@{#505398}
diff --git a/extensions/browser/mock_external_provider.cc b/extensions/browser/mock_external_provider.cc
index db82fcdd..988bdb2 100644
--- a/extensions/browser/mock_external_provider.cc
+++ b/extensions/browser/mock_external_provider.cc
@@ -4,7 +4,8 @@
 
 #include "extensions/browser/mock_external_provider.h"
 
-#include "base/memory/ptr_util.h"
+#include <memory>
+
 #include "base/version.h"
 #include "extensions/browser/external_install_info.h"
 #include "extensions/common/extension.h"
@@ -20,10 +21,9 @@
 void MockExternalProvider::UpdateOrAddExtension(const ExtensionId& id,
                                                 const std::string& version_str,
                                                 const base::FilePath& path) {
-  auto version = std::make_unique<base::Version>(version_str);
   auto info = std::make_unique<ExternalInstallInfoFile>(
-      id, std::move(version), path, location_, Extension::NO_FLAGS, false,
-      false);
+      id, base::Version(version_str), path, location_, Extension::NO_FLAGS,
+      false, false);
   extension_map_[id] = std::move(info);
 }
 
@@ -57,7 +57,7 @@
     return false;
 
   if (version)
-    version->reset(new base::Version(it->second->version->GetString()));
+    version->reset(new base::Version(it->second->version));
 
   if (location)
     *location = location_;