Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1845)

Unified Diff: chrome/browser/extensions/event_router.cc

Issue 10828218: Add chrome.runtime.onStartup, which is fired on browser start. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rm debug logs Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/event_router.cc
diff --git a/chrome/browser/extensions/event_router.cc b/chrome/browser/extensions/event_router.cc
index a6aec97f860f8a5eb7fd18c353c48d0f8cbaa660..8be11a650290ffce2321c1ca1e03c98d52bab06b 100644
--- a/chrome/browser/extensions/event_router.cc
+++ b/chrome/browser/extensions/event_router.cc
@@ -8,6 +8,7 @@
#include "base/command_line.h"
#include "base/message_loop.h"
#include "base/values.h"
+#include "chrome/browser/browser_process.h"
#include "chrome/browser/extensions/api/runtime/runtime_api.h"
#include "chrome/browser/extensions/api/web_request/web_request_api.h"
#include "chrome/browser/extensions/extension_devtools_manager.h"
@@ -20,6 +21,7 @@
#include "chrome/browser/extensions/lazy_background_task_queue.h"
#include "chrome/browser/extensions/process_map.h"
#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/common/chrome_notification_types.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/extensions/extension.h"
@@ -32,6 +34,8 @@
using base::Value;
using content::BrowserThread;
+namespace extensions {
+
namespace {
const char kDispatchEvent[] = "Event.dispatchEvent";
@@ -44,9 +48,15 @@ void NotifyEventListenerRemovedOnIOThread(
profile, extension_id, sub_event_name);
}
-} // namespace
+void DispatchOnInstalledEvent(
+ Profile* profile, const std::string& extension_id) {
+ if (!g_browser_process->profile_manager()->IsValidProfile(profile))
+ return;
-namespace extensions {
+ RuntimeEventRouter::DispatchOnInstalledEvent(profile, extension_id);
+}
+
+} // namespace
struct EventRouter::ListenerProcess {
content::RenderProcessHost* process;
@@ -558,8 +568,7 @@ void EventRouter::Observe(int type,
const Extension* extension =
content::Details<const Extension>(details).ptr();
MessageLoop::current()->PostTask(FROM_HERE,
- base::Bind(&RuntimeEventRouter::DispatchOnInstalledEvent,
- profile_, extension->id()));
+ base::Bind(&DispatchOnInstalledEvent, profile_, extension->id()));
break;
}
default:
« no previous file with comments | « chrome/browser/extensions/api/runtime/runtime_api.cc ('k') | chrome/browser/extensions/extension_process_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698