Allow chrome.management.setEnabled() to re-enable crashed extensions.

crrev.com/10832237, take two. Removed code that treated crashed extensions as a special case. Now, developers can reload their crashed extensions like so: setEnabled(false); setEnabled(true);

BUG=131977


Review URL: https://chromiumcodereview.appspot.com/10912105

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155456 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
index d0a6ca8..11e7842 100644
--- a/chrome/browser/extensions/extension_service.cc
+++ b/chrome/browser/extensions/extension_service.cc
@@ -897,14 +897,15 @@
   if (!extension)
     return;
 
-  // Move it over to the disabled list.
+  // Move it over to the disabled list. Don't send a second unload notification
+  // for terminated extensions being disabled.
   disabled_extensions_.Insert(make_scoped_refptr(extension));
-  if (extensions_.Contains(extension->id()))
+  if (extensions_.Contains(extension->id())) {
     extensions_.Remove(extension->id());
-  else
+    NotifyExtensionUnloaded(extension, extension_misc::UNLOAD_REASON_DISABLE);
+  } else {
     terminated_extensions_.Remove(extension->id());
-
-  NotifyExtensionUnloaded(extension, extension_misc::UNLOAD_REASON_DISABLE);
+  }
 
   SyncExtensionChangeIfNeeded(*extension);