Implement extension:// protocol.
Review URL: http://codereview.chromium.org/15010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7462 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/extensions/extensions_service.cc b/chrome/browser/extensions/extensions_service.cc
index 0245ce6..cd0397c 100644
--- a/chrome/browser/extensions/extensions_service.cc
+++ b/chrome/browser/extensions/extensions_service.cc
@@ -10,6 +10,7 @@
#include "base/thread.h"
#include "chrome/browser/browser_process.h"
#include "chrome/common/json_value_serializer.h"
+#include "chrome/common/notification_service.h"
// ExtensionsService
@@ -51,9 +52,12 @@
ExtensionList* new_extensions) {
extensions_.insert(extensions_.end(), new_extensions->begin(),
new_extensions->end());
- delete new_extensions;
- // TODO(aa): Notify extensions are loaded.
+ NotificationService::current()->Notify(NOTIFY_EXTENSIONS_LOADED,
+ NotificationService::AllSources(),
+ Details<ExtensionList>(new_extensions));
+
+ delete new_extensions;
}
void ExtensionsService::OnExtensionLoadError(const std::string& error) {
@@ -99,7 +103,7 @@
continue;
}
- scoped_ptr<Extension> extension(new Extension());
+ scoped_ptr<Extension> extension(new Extension(child_path));
if (!extension->InitFromValue(*static_cast<DictionaryValue*>(root),
&error)) {
ReportExtensionLoadError(frontend.get(), child_path.ToWStringHack(),