| Index: chrome/browser/extensions/external_extension_provider_impl.cc
|
| diff --git a/chrome/browser/extensions/external_extension_provider_impl.cc b/chrome/browser/extensions/external_extension_provider_impl.cc
|
| index ea245c37fe5415c0eabf87ec0d66318ae109ea0c..ad94ef51b96a6e8a35c4d7bb1a9688e7537fe8f1 100644
|
| --- a/chrome/browser/extensions/external_extension_provider_impl.cc
|
| +++ b/chrome/browser/extensions/external_extension_provider_impl.cc
|
| @@ -204,15 +204,14 @@ void ExternalExtensionProviderImpl::SetPrefs(DictionaryValue* prefs) {
|
| path = base_path.Append(external_crx);
|
| }
|
|
|
| - scoped_ptr<Version> version;
|
| - version.reset(Version::GetVersionFromString(external_version));
|
| - if (!version.get()) {
|
| + Version version(external_version);
|
| + if (!version.IsValid()) {
|
| LOG(WARNING) << "Malformed extension dictionary for extension: "
|
| << extension_id.c_str() << ". Invalid version string \""
|
| << external_version << "\".";
|
| continue;
|
| }
|
| - service_->OnExternalExtensionFileFound(extension_id, version.get(), path,
|
| + service_->OnExternalExtensionFileFound(extension_id, &version, path,
|
| crx_location_, creation_flags,
|
| auto_acknowledge_);
|
| } else { // if (has_external_update_url)
|
| @@ -283,7 +282,7 @@ bool ExternalExtensionProviderImpl::GetExtensionDetails(
|
| return false;
|
|
|
| if (version)
|
| - version->reset(Version::GetVersionFromString(external_version));
|
| + version->reset(new Version(external_version));
|
|
|
| } else {
|
| NOTREACHED(); // Chrome should not allow prefs to get into this state.
|
|
|