summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_message_service.cc
diff options
context:
space:
mode:
authorrafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-16 02:41:28 +0000
committerrafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-16 02:41:28 +0000
commitb68d5ed3f9d1b49b24713431bfe212b7601b75b1 (patch)
tree9d374ca1d7c1f5f8a25fefacde0bcf3396595da6 /chrome/browser/extensions/extension_message_service.cc
parentf606747ffb21e9d0c6d55c9b57d42445503728f1 (diff)
downloadchromium_src-b68d5ed3f9d1b49b24713431bfe212b7601b75b1.zip
chromium_src-b68d5ed3f9d1b49b24713431bfe212b7601b75b1.tar.gz
chromium_src-b68d5ed3f9d1b49b24713431bfe212b7601b75b1.tar.bz2
Initial plumbing for sending events from the browser to extension renderers. Implement onTabMoved.
Review URL: http://codereview.chromium.org/73065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13824 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extension_message_service.cc')
-rwxr-xr-xchrome/browser/extensions/extension_message_service.cc15
1 files changed, 11 insertions, 4 deletions
diff --git a/chrome/browser/extensions/extension_message_service.cc b/chrome/browser/extensions/extension_message_service.cc
index 74e2757..3c2c1de 100755
--- a/chrome/browser/extensions/extension_message_service.cc
+++ b/chrome/browser/extensions/extension_message_service.cc
@@ -54,12 +54,20 @@ ExtensionMessageService::ExtensionMessageService()
: next_port_id_(0) {
}
+std::set<int> ExtensionMessageService::GetUniqueProcessIds() {
+ std::set<int> ids;
+ ProcessIDMap::iterator it;
+ AutoLock lock(renderers_lock_);
+
+ for (it = process_ids_.begin(); it != process_ids_.end(); it++) {
+ ids.insert(it->second);
+ }
+ return ids;
+}
+
void ExtensionMessageService::RegisterExtension(
const std::string& extension_id, int render_process_id) {
AutoLock lock(renderers_lock_);
- // TODO(mpcomplete): We need to ensure an extension always ends up in a single
- // process. I think this means having an ExtensionProcessManager which holds
- // a BrowsingContext for each extension.
DCHECK(process_ids_.find(extension_id) == process_ids_.end() ||
process_ids_[extension_id] == render_process_id);
process_ids_[extension_id] = render_process_id;
@@ -174,4 +182,3 @@ void ExtensionMessageService::Observe(NotificationType type,
source);
}
}
-