diff options
author | mad@google.com <mad@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-04 21:10:59 +0000 |
---|---|---|
committer | mad@google.com <mad@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-04 21:10:59 +0000 |
commit | bd441ad14e30b205c6033eb0336ea736b27dc2a4 (patch) | |
tree | 3ed375b70380f883d305e8b512240d7966a412a6 /ceee/ie/broker/chrome_postman.cc | |
parent | f632ee43959fb2ac545558468dd1ea00d95f80e8 (diff) | |
download | chromium_src-bd441ad14e30b205c6033eb0336ea736b27dc2a4.zip chromium_src-bd441ad14e30b205c6033eb0336ea736b27dc2a4.tar.gz chromium_src-bd441ad14e30b205c6033eb0336ea736b27dc2a4.tar.bz2 |
Make sure we don't keep tab id - handles mapping when a dread dies.
BUG= 65153
TEST=See hard to repro scenario in bug...
Review URL: http://codereview.chromium.org/5622001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68298 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ceee/ie/broker/chrome_postman.cc')
-rw-r--r-- | ceee/ie/broker/chrome_postman.cc | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/ceee/ie/broker/chrome_postman.cc b/ceee/ie/broker/chrome_postman.cc index bc44023..9a9562d 100644 --- a/ceee/ie/broker/chrome_postman.cc +++ b/ceee/ie/broker/chrome_postman.cc @@ -6,12 +6,12 @@ #include "ceee/ie/broker/chrome_postman.h" #include "base/string_util.h" +#include "ceee/common/com_utils.h" #include "ceee/ie/broker/api_dispatcher.h" #include "ceee/ie/common/api_registration.h" #include "ceee/ie/common/ceee_module_util.h" #include "chrome/browser/automation/extension_automation_constants.h" #include "chrome/common/url_constants.h" -#include "ceee/common/com_utils.h" namespace ext = extension_automation_constants; @@ -121,6 +121,16 @@ void ChromePostman::PostMessage(BSTR message, BSTR target) { } } +void ChromePostman::QueueApiInvocationThreadTask(Task* task) { + MessageLoop* message_loop = api_worker_thread_.message_loop(); + if (message_loop) { + message_loop->PostTask(FROM_HERE, task); + } else { + LOG(ERROR) << "Trying to queue a task before the API worker thread is" + "completely initialized and ready."; + } +} + void ChromePostman::FireEvent(const char* event_name, const char* event_args) { MessageLoop* message_loop = api_worker_thread_.message_loop(); if (message_loop) { |