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

Unified Diff: base/task_scheduler/scheduler_worker.cc

Issue 2978253002: Disable COM Initialization on SchedulerWorkers When COM_INIT_CHECK_HOOK_ENABLED() (Closed)
Patch Set: Fixed Unused Private Field Created 3 years, 5 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
« no previous file with comments | « base/task_scheduler/scheduler_worker.h ('k') | base/task_scheduler/scheduler_worker_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/task_scheduler/scheduler_worker.cc
diff --git a/base/task_scheduler/scheduler_worker.cc b/base/task_scheduler/scheduler_worker.cc
index 0735344314765437ee068eb909899b62536a432a..bc3750286c49a6a864665c81d04c177d740f179b 100644
--- a/base/task_scheduler/scheduler_worker.cc
+++ b/base/task_scheduler/scheduler_worker.cc
@@ -15,6 +15,7 @@
#if defined(OS_MACOSX)
#include "base/mac/scoped_nsautorelease_pool.h"
#elif defined(OS_WIN)
+#include "base/win/com_init_check_hook.h"
#include "base/win/scoped_com_initializer.h"
#endif
@@ -43,7 +44,10 @@ class SchedulerWorker::Thread : public PlatformThread::Delegate {
// A SchedulerWorker starts out waiting for work.
outer_->delegate_->WaitForWork(&wake_up_event_);
-#if defined(OS_WIN)
+ // When defined(COM_INIT_CHECK_HOOK_ENABLED), ignore
+ // SchedulerBackwardCompatibility::INIT_COM_STA to find incorrect uses of
+ // COM that should be running in a COM STA Task Runner.
+#if defined(OS_WIN) && !defined(COM_INIT_CHECK_HOOK_ENABLED)
std::unique_ptr<win::ScopedCOMInitializer> com_initializer;
if (outer_->backward_compatibility_ ==
SchedulerBackwardCompatibility::INIT_COM_STA) {
@@ -210,7 +214,7 @@ SchedulerWorker::SchedulerWorker(
priority_hint_(priority_hint),
delegate_(std::move(delegate)),
task_tracker_(task_tracker),
-#if defined(OS_WIN)
+#if defined(OS_WIN) && !defined(COM_INIT_CHECK_HOOK_ENABLED)
backward_compatibility_(backward_compatibility),
#endif
initial_state_(initial_state) {
« no previous file with comments | « base/task_scheduler/scheduler_worker.h ('k') | base/task_scheduler/scheduler_worker_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698