| Index: chrome/browser/component_updater/default_component_installer.cc
|
| diff --git a/chrome/browser/component_updater/default_component_installer.cc b/chrome/browser/component_updater/default_component_installer.cc
|
| index bc41f9f4ebdda39e96ce9961bc1c22464d534cfe..c951f960ed1136e4dbc78704bfc34e76a0db3acb 100644
|
| --- a/chrome/browser/component_updater/default_component_installer.cc
|
| +++ b/chrome/browser/component_updater/default_component_installer.cc
|
| @@ -164,17 +164,20 @@ void DefaultComponentInstaller::StartRegistration(ComponentUpdateService* cus) {
|
| }
|
|
|
| if (found) {
|
| - current_version_ = latest_version;
|
| - // TODO(ddorwin): Remove these members and pass them directly to
|
| - // FinishRegistration().
|
| - base::ReadFileToString(latest_dir.AppendASCII("manifest.fingerprint"),
|
| - ¤t_fingerprint_);
|
| current_manifest_ = ReadManifest(latest_dir);
|
| - if (!current_manifest_) {
|
| + if (current_manifest_) {
|
| + current_version_ = latest_version;
|
| + // TODO(ddorwin): Remove these members and pass them directly to
|
| + // FinishRegistration().
|
| + base::ReadFileToString(latest_dir.AppendASCII("manifest.fingerprint"),
|
| + ¤t_fingerprint_);
|
| + } else {
|
| + // If the manifest can't be read, mark the directory for deletion and
|
| + // continue as if there were no versioned directories at all.
|
| DLOG(ERROR) << "Failed to read manifest for "
|
| << installer_traits_->GetName() << " ("
|
| << base_dir.MaybeAsASCII() << ").";
|
| - return;
|
| + older_dirs.push_back(latest_dir);
|
| }
|
| }
|
|
|
|
|