summaryrefslogtreecommitdiffstats
path: root/ceee/ie/broker/chrome_postman.cc
diff options
context:
space:
mode:
authormad@google.com <mad@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-04 21:10:59 +0000
committermad@google.com <mad@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-04 21:10:59 +0000
commitbd441ad14e30b205c6033eb0336ea736b27dc2a4 (patch)
tree3ed375b70380f883d305e8b512240d7966a412a6 /ceee/ie/broker/chrome_postman.cc
parentf632ee43959fb2ac545558468dd1ea00d95f80e8 (diff)
downloadchromium_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.cc12
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) {