| 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 |