Index: chrome/app/chrome_exe_main_win.cc |
diff --git a/chrome/app/chrome_exe_main_win.cc b/chrome/app/chrome_exe_main_win.cc |
index b1095fb081dd470f78f63f2e814c0b02e0953a15..cde1f24781253b501653ba84d07f0f3698aca947 100644 |
--- a/chrome/app/chrome_exe_main_win.cc |
+++ b/chrome/app/chrome_exe_main_win.cc |
@@ -12,6 +12,7 @@ |
#include <string> |
#include "base/at_exit.h" |
+#include "base/bind.h" |
#include "base/command_line.h" |
#include "base/files/file_path.h" |
#include "base/logging.h" |
@@ -20,9 +21,11 @@ |
#include "base/strings/string_split.h" |
#include "base/strings/string_util.h" |
#include "base/strings/utf_string_conversions.h" |
+#include "base/threading/thread.h" |
#include "base/time/time.h" |
#include "base/win/registry.h" |
#include "base/win/windows_version.h" |
+#include "chrome/app/chrome_exe_main_app_win.h" |
#include "chrome/app/main_dll_loader_win.h" |
#include "chrome/browser/policy/policy_path_parser.h" |
#include "chrome/browser/win/chrome_process_finder.h" |
@@ -265,6 +268,16 @@ int main() { |
RemoveAppCompatFlagsEntry(); |
+ base::Thread com_thread_("COM Thread for Toast"); |
+ if (process_type.empty()) { |
+ if (base::win::GetVersion() >= base::win::VERSION_WIN10_R1) { |
+ com_thread_.init_com_with_mta(true); |
+ com_thread_.Start(); |
+ com_thread_.task_runner()->PostTask( |
+ FROM_HERE, base::Bind(&PrepareChromeForWindows10)); |
+ } |
+ } |
+ |
// Load and launch the chrome dll. *Everything* happens inside. |
VLOG(1) << "About to load main DLL."; |
MainDllLoader* loader = MakeMainDllLoader(); |