OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "components/crash/browser/crash_dump_manager_android.h" | 5 #include "components/crash/browser/crash_dump_manager_android.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/files/file_util.h" | 8 #include "base/files/file_util.h" |
9 #include "base/format_macros.h" | 9 #include "base/format_macros.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 VLOG(1) << "Crash minidump successfully generated: " << | 119 VLOG(1) << "Crash minidump successfully generated: " << |
120 instance_->crash_dump_dir_.Append(filename).value(); | 120 instance_->crash_dump_dir_.Append(filename).value(); |
121 } | 121 } |
122 | 122 |
123 void CrashDumpManager::BrowserChildProcessHostDisconnected( | 123 void CrashDumpManager::BrowserChildProcessHostDisconnected( |
124 const content::ChildProcessData& data) { | 124 const content::ChildProcessData& data) { |
125 OnChildExit(data.id, data.handle); | 125 OnChildExit(data.id, data.handle); |
126 } | 126 } |
127 | 127 |
128 void CrashDumpManager::BrowserChildProcessCrashed( | 128 void CrashDumpManager::BrowserChildProcessCrashed( |
129 const content::ChildProcessData& data) { | 129 const content::ChildProcessData& data, |
| 130 int exit_code) { |
130 OnChildExit(data.id, data.handle); | 131 OnChildExit(data.id, data.handle); |
131 } | 132 } |
132 | 133 |
133 void CrashDumpManager::Observe(int type, | 134 void CrashDumpManager::Observe(int type, |
134 const content::NotificationSource& source, | 135 const content::NotificationSource& source, |
135 const content::NotificationDetails& details) { | 136 const content::NotificationDetails& details) { |
136 switch (type) { | 137 switch (type) { |
137 case content::NOTIFICATION_RENDERER_PROCESS_TERMINATED: | 138 case content::NOTIFICATION_RENDERER_PROCESS_TERMINATED: |
138 // NOTIFICATION_RENDERER_PROCESS_TERMINATED is sent when the renderer | 139 // NOTIFICATION_RENDERER_PROCESS_TERMINATED is sent when the renderer |
139 // process is cleanly shutdown. However, we need to fallthrough so that | 140 // process is cleanly shutdown. However, we need to fallthrough so that |
(...skipping 24 matching lines...) Expand all Loading... |
164 } | 165 } |
165 minidump_path = iter->second; | 166 minidump_path = iter->second; |
166 child_process_id_to_minidump_path_.erase(iter); | 167 child_process_id_to_minidump_path_.erase(iter); |
167 } | 168 } |
168 BrowserThread::PostTask( | 169 BrowserThread::PostTask( |
169 BrowserThread::FILE, FROM_HERE, | 170 BrowserThread::FILE, FROM_HERE, |
170 base::Bind(&CrashDumpManager::ProcessMinidump, minidump_path, pid)); | 171 base::Bind(&CrashDumpManager::ProcessMinidump, minidump_path, pid)); |
171 } | 172 } |
172 | 173 |
173 } // namespace breakpad | 174 } // namespace breakpad |
OLD | NEW |