Index: chrome/app/client_util.cc |
diff --git a/chrome/app/client_util.cc b/chrome/app/client_util.cc |
index 1be8bf063cfdd8e6c19554bdeac53ade398e0691..d577aab2d62f149ba4c712617096d4d4a54ccef8 100644 |
--- a/chrome/app/client_util.cc |
+++ b/chrome/app/client_util.cc |
@@ -21,6 +21,7 @@ |
#include "base/win/scoped_handle.h" |
#include "base/win/windows_version.h" |
#include "chrome/app/chrome_crash_reporter_client.h" |
+#include "chrome/app/chrome_watcher_client_win.h" |
#include "chrome/app/chrome_watcher_command_line_win.h" |
#include "chrome/app/client_util.h" |
#include "chrome/app/image_pre_reader_win.h" |
@@ -33,7 +34,6 @@ |
#include "chrome/installer/util/google_update_settings.h" |
#include "chrome/installer/util/install_util.h" |
#include "chrome/installer/util/util_constants.h" |
-#include "components/browser_watcher/watcher_client_win.h" |
#include "components/crash/app/breakpad_win.h" |
#include "components/crash/app/crash_reporter_client.h" |
#include "components/metrics/client_info.h" |
@@ -179,10 +179,12 @@ int MainDllLoader::Launch(HINSTANCE instance) { |
} |
if (process_type_ == "watcher") { |
- base::win::ScopedHandle parent_process = |
- InterpretChromeWatcherCommandLine(cmd_line); |
- if (!parent_process.IsValid()) |
+ base::win::ScopedHandle parent_process; |
+ base::win::ScopedHandle on_initialized_event; |
+ if (!InterpretChromeWatcherCommandLine(cmd_line, &parent_process, |
+ &on_initialized_event)) { |
return chrome::RESULT_CODE_UNSUPPORTED_PARAM; |
+ } |
// Intentionally leaked. |
HMODULE watcher_dll = Load(&version, &file); |
@@ -193,7 +195,7 @@ int MainDllLoader::Launch(HINSTANCE instance) { |
reinterpret_cast<ChromeWatcherMainFunction>( |
::GetProcAddress(watcher_dll, kChromeWatcherDLLEntrypoint)); |
return watcher_main(chrome::kBrowserExitCodesRegistryPath, |
- parent_process.Take()); |
+ parent_process.Take(), on_initialized_event.Take()); |
} |
// Initialize the sandbox services. |
@@ -260,8 +262,7 @@ void ChromeDllLoader::OnBeforeLaunch(const std::string& process_type, |
if (g_chrome_crash_client.Get().GetCollectStatsConsent()) { |
base::char16 exe_path[MAX_PATH]; |
::GetModuleFileNameW(nullptr, exe_path, arraysize(exe_path)); |
- |
- browser_watcher::WatcherClient watcher_client(base::Bind( |
+ ChromeWatcherClient watcher_client(base::Bind( |
&GenerateChromeWatcherCommandLine, base::FilePath(exe_path))); |
watcher_client.LaunchWatcher(); |
} |