1// Copyright 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_CHROME_PROCESS_FINDER_WIN_H_
6#define CHROME_BROWSER_CHROME_PROCESS_FINDER_WIN_H_
7
8#include <windows.h>
9
10namespace base {
11class FilePath;
12}
13
14namespace chrome {
15
16enum NotifyChromeResult {
17  NOTIFY_SUCCESS,
18  NOTIFY_FAILED,
19  NOTIFY_WINDOW_HUNG,
20};
21
22// Finds an already running Chrome window if it exists.
23HWND FindRunningChromeWindow(const base::FilePath& user_data_dir);
24
25// Attempts to send the current command line to an already running instance of
26// Chrome via a WM_COPYDATA message.
27// Returns true if a running Chrome is found and successfully notified.
28// |fast_start| is true when this is being called on the window fast start path.
29NotifyChromeResult AttemptToNotifyRunningChrome(HWND remote_window,
30                                                bool fast_start);
31
32}  // namespace chrome
33
34#endif  // CHROME_BROWSER_CHROME_PROCESS_FINDER_WIN_H_
35