Allow unpacked extensions to downgrade.

BUG=63980
TEST=ExtensionsServiceTest.LoadExtensionsCanDowngrade

Review URL: http://codereview.chromium.org/5278014

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68203 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/extensions/extensions_service.cc b/chrome/browser/extensions/extensions_service.cc
index 2d139a6a..c2742a7 100644
--- a/chrome/browser/extensions/extensions_service.cc
+++ b/chrome/browser/extensions/extensions_service.cc
@@ -1651,8 +1651,10 @@
   }
 
   if (is_extension_upgrade) {
-    // CrxInstaller should have guaranteed that we aren't downgrading.
-    CHECK(extension->version()->CompareTo(*(old->version())) >= 0);
+    // Other than for unpacked extensions, CrxInstaller should have guaranteed
+    // that we aren't downgrading.
+    if (extension->location() != Extension::LOAD)
+      CHECK(extension->version()->CompareTo(*(old->version())) >= 0);
 
     // Extensions get upgraded if the privileges are allowed to increase or
     // the privileges haven't increased.