| Index: chrome/browser/process_singleton.h
|
| diff --git a/chrome/browser/process_singleton.h b/chrome/browser/process_singleton.h
|
| index 96a9bf65f42d2cfab301a10573b25739e7e05a4e..3d126cd9902ae6b900837ed824b5b434277fe24d 100644
|
| --- a/chrome/browser/process_singleton.h
|
| +++ b/chrome/browser/process_singleton.h
|
| @@ -49,6 +49,42 @@ class CommandLine;
|
|
|
| class ProcessSingleton : public base::NonThreadSafe {
|
| public:
|
| + // Used to send the reason of remote hang process termination as histogram.
|
| + enum RemoteHungProcessTerminateReason {
|
| +#if defined(OS_WIN)
|
| + USER_ACCEPTED_TERMINATION = 1,
|
| + NO_VISIBLE_WINDOW_FOUND = 2,
|
| +#elif defined(OS_POSIX)
|
| + NOTIFY_ATTEMPTS_EXCEEDED = 3,
|
| + SOCKET_WRITE_FAILED = 4,
|
| + SOCKET_READ_FAILED = 5,
|
| +#endif
|
| + REMOTE_HUNG_PROCESS_TERMINATE_REASON_COUNT
|
| + };
|
| +
|
| + // Used to send the result of interaction with remote process as histograms in
|
| + // case when remote process influences on start.
|
| + enum RemoteProcessInteractionResult {
|
| + TERMINATE_SUCCEEDED = 0,
|
| + TERMINATE_FAILED = 1,
|
| + REMOTE_PROCESS_NOT_FOUND = 2,
|
| +#if defined(OS_WIN)
|
| + TERMINATE_WAIT_TIMEOUT = 3,
|
| + RUNNING_PROCESS_NOTIFY_ERROR = 4,
|
| +#elif defined(OS_POSIX)
|
| + TERMINATE_NOT_ENOUGH_PERMISSIONS = 5,
|
| + REMOTE_PROCESS_SHUTTING_DOWN = 6,
|
| + PROFILE_UNLOCKED = 7,
|
| + PROFILE_UNLOCKED_BEFORE_KILL = 8,
|
| + SAME_BROWSER_INSTANCE = 9,
|
| + SAME_BROWSER_INSTANCE_BEFORE_KILL = 10,
|
| + FAILED_TO_EXTRACT_PID = 11,
|
| + INVALID_LOCK_FILE = 12,
|
| + ORPHANED_LOCK_FILE = 13,
|
| +#endif
|
| + REMOTE_PROCESS_INTERACTION_RESULT_COUNT
|
| + };
|
| +
|
| // Logged as histograms, do not modify these values.
|
| enum NotifyResult {
|
| PROCESS_NONE = 0,
|
| @@ -95,6 +131,7 @@ class ProcessSingleton : public base::NonThreadSafe {
|
|
|
| #if defined(OS_POSIX) && !defined(OS_ANDROID)
|
| static void DisablePromptForTesting();
|
| + static void SkipIsChromeProcessCheckForTesting(bool skip);
|
| #endif
|
| #if defined(OS_WIN)
|
| // Called to query whether to kill a hung browser process that has visible
|
|
|