summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_message_service.cc
diff options
context:
space:
mode:
authormattm@chromium.org <mattm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-02 23:07:33 +0000
committermattm@chromium.org <mattm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-02 23:07:33 +0000
commitf1165494135dce16afc85db6d77de295451ee12f (patch)
tree21b7a93e5dfebb7c65d8400f9a5e10bab823b264 /chrome/browser/extensions/extension_message_service.cc
parent9914b760ae181dac034bf16ec196097312199935 (diff)
downloadchromium_src-f1165494135dce16afc85db6d77de295451ee12f.zip
chromium_src-f1165494135dce16afc85db6d77de295451ee12f.tar.gz
chromium_src-f1165494135dce16afc85db6d77de295451ee12f.tar.bz2
Revert 33611 - Fix leaking ExtensionMessageService in ProfileManagerTest.
BUG=28824 TEST=tools/valgrind/chrome_tests.sh t unit gtest_filter=ProfileManagerTest.CreateProfile Review URL: http://codereview.chromium.org/455031 TBR=mattm@chromium.org Review URL: http://codereview.chromium.org/458012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33613 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extension_message_service.cc')
-rw-r--r--chrome/browser/extensions/extension_message_service.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/chrome/browser/extensions/extension_message_service.cc b/chrome/browser/extensions/extension_message_service.cc
index 5aaeb73..ae43bd6 100644
--- a/chrome/browser/extensions/extension_message_service.cc
+++ b/chrome/browser/extensions/extension_message_service.cc
@@ -115,6 +115,11 @@ ExtensionMessageService::ExtensionMessageService(Profile* profile)
: profile_(profile),
extension_devtools_manager_(NULL),
next_port_id_(0) {
+ if (!ChromeThread::GetCurrentThreadIdentifier(&thread_id_)) {
+ // If we get created in unit test, GetCurrentThreadIdentifier fails.
+ // Assign thread_id_ to an ID not used.
+ thread_id_ = ChromeThread::ID_COUNT;
+ }
registrar_.Add(this, NotificationType::RENDERER_PROCESS_TERMINATED,
NotificationService::AllSources());
registrar_.Add(this, NotificationType::RENDERER_PROCESS_CLOSED,
@@ -133,7 +138,8 @@ ExtensionMessageService::~ExtensionMessageService() {
void ExtensionMessageService::ProfileDestroyed() {
profile_ = NULL;
if (!registrar_.IsEmpty()) {
- CHECK(ChromeThread::CurrentlyOn(ChromeThread::UI));
+ if (thread_id_ != ChromeThread::ID_COUNT)
+ CHECK(ChromeThread::CurrentlyOn(thread_id_));
registrar_.RemoveAll();
}
}