| Index: components/browser_watcher/stability_report.proto | 
| diff --git a/components/browser_watcher/stability_report.proto b/components/browser_watcher/stability_report.proto | 
| index d13010223769ba6d1c6cc9d328ab9cb289c39bd0..9d659b5c22fcc62969f33b83b4622306257dbb95 100644 | 
| --- a/components/browser_watcher/stability_report.proto | 
| +++ b/components/browser_watcher/stability_report.proto | 
| @@ -87,7 +87,7 @@ message TypedValue { | 
| } | 
|  | 
| // An activity represents information about something of interest on a thread. | 
| -// Next id: 14 | 
| +// Next id: 18 | 
| message Activity { | 
| enum Type { | 
| UNKNOWN = 0; | 
| @@ -136,7 +136,7 @@ message Activity { | 
| // An arbitrary value used for information purposes. | 
| optional int32 generic_data = 13; | 
|  | 
| -  // Tag id 10 is reserved for server side augmentation. | 
| +  // Tag ids 10 and 14-17 are reserved for server side augmentation. | 
|  | 
| // A key-value store. | 
| map<string, TypedValue> user_data = 9; | 
| @@ -171,8 +171,14 @@ message ThreadState { | 
| } | 
|  | 
| // The state of a process. | 
| -// Next id: 5 | 
| +// Next id: 7 | 
| message ProcessState { | 
| +  enum Type { | 
| +    UNKNOWN_PROCESS = 0; | 
| +    BROWSER_PROCESS = 1; | 
| +    WATCHER_PROCESS = 2; | 
| +  } | 
| + | 
| message MemoryState { | 
| message WindowsMemory { | 
| // The private byte usage of the process. Unit is 4K pages. | 
| @@ -190,14 +196,17 @@ message ProcessState { | 
|  | 
| // The identifier of the process. | 
| optional int64 process_id = 3; | 
| +  optional Type process_type = 5; | 
|  | 
| // Note: likely only a subset of modules of interest (e.g. Chromium's own | 
| // modules). | 
| repeated CodeModule modules = 1; | 
| repeated ThreadState threads = 2; | 
| -  // TODO(manzagop): add experiment state. | 
|  | 
| optional MemoryState memory_state = 4; | 
| + | 
| +  // A key-value store global to the process. | 
| +  map<string, TypedValue> data = 6; | 
| } | 
|  | 
| // Description of a field trial or experiment that the user is currently | 
| @@ -230,22 +239,26 @@ message SystemMemoryState { | 
| // A stability report contains information pertaining to the execution of a | 
| // single logical instance of a "chrome browser". It is comprised of information | 
| // about the system state and about the chrome browser's processes. | 
| -// Next id: 8 | 
| +// Next id: 9 | 
| message StabilityReport { | 
| // Whether the report is complete. Reports can be incomplete when the | 
| // recording size quota is hit. | 
| optional bool is_complete = 6; | 
|  | 
| +  // The process identifier of the crashed process. | 
| +  optional int64 crashed_process_id = 8; | 
| + | 
| +  // State pertaining to the system. | 
| optional SystemState system_state = 1; | 
| -  // TODO(manzagop): revisit whether a single repeated field should contain all | 
| -  //     processes, or whether it's preferable to have separate fields per type. | 
| -  // TODO(manzagop): add information about the type of process, pid, process | 
| -  //     times (e.g. start time), hierarchical relationships (e.g. parent pid), | 
| -  //     command line, etc. | 
| + | 
| +  // State pertaining to Chrome's processes. | 
| repeated ProcessState process_states = 2; | 
| -  // TODO(manzagop): if/when reports contain multiple processes, attribute and | 
| -  //     relocate these to their process (and perhaps thread). | 
| + | 
| +  // Log messages. This is empty on official builds. | 
| +  // TODO(manzagop): attribute messages to their process. | 
| repeated string log_messages = 3; | 
| + | 
| +  // A global key-value store. | 
| map<string, TypedValue> global_data = 4; | 
|  | 
| // The field trials the user is currently enrolled in. | 
|  |