| 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) {
|
|
|