| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/content/browser/crash_dump_observer_android.h" | 5 #include "components/crash/content/browser/crash_dump_observer_android.h" |
| 6 | 6 |
| 7 #include <unistd.h> | 7 #include <unistd.h> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 77 registered_clients_copy.push_back(client.get()); | 77 registered_clients_copy.push_back(client.get()); |
| 78 } | 78 } |
| 79 for (auto* client : registered_clients_copy) { | 79 for (auto* client : registered_clients_copy) { |
| 80 client->OnChildExit(child_process_id, pid, process_type, termination_status, | 80 client->OnChildExit(child_process_id, pid, process_type, termination_status, |
| 81 app_state); | 81 app_state); |
| 82 } | 82 } |
| 83 } | 83 } |
| 84 | 84 |
| 85 void CrashDumpObserver::BrowserChildProcessStarted( | 85 void CrashDumpObserver::BrowserChildProcessStarted( |
| 86 int child_process_id, | 86 int child_process_id, |
| 87 content::FileDescriptorInfo* mappings) { | 87 content::PosixFileDescriptorInfo* mappings) { |
| 88 std::vector<Client*> registered_clients_copy; | 88 std::vector<Client*> registered_clients_copy; |
| 89 { | 89 { |
| 90 base::AutoLock auto_lock(registered_clients_lock_); | 90 base::AutoLock auto_lock(registered_clients_lock_); |
| 91 for (auto& client : registered_clients_) | 91 for (auto& client : registered_clients_) |
| 92 registered_clients_copy.push_back(client.get()); | 92 registered_clients_copy.push_back(client.get()); |
| 93 } | 93 } |
| 94 for (auto* client : registered_clients_copy) { | 94 for (auto* client : registered_clients_copy) { |
| 95 client->OnChildStart(child_process_id, mappings); | 95 client->OnChildStart(child_process_id, mappings); |
| 96 } | 96 } |
| 97 } | 97 } |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 161 if (pid == base::kNullProcessHandle) { | 161 if (pid == base::kNullProcessHandle) { |
| 162 pid = iter->second; | 162 pid = iter->second; |
| 163 } | 163 } |
| 164 child_process_id_to_pid_.erase(iter); | 164 child_process_id_to_pid_.erase(iter); |
| 165 } | 165 } |
| 166 OnChildExit(rph->GetID(), pid, content::PROCESS_TYPE_RENDERER, term_status, | 166 OnChildExit(rph->GetID(), pid, content::PROCESS_TYPE_RENDERER, term_status, |
| 167 app_state); | 167 app_state); |
| 168 } | 168 } |
| 169 | 169 |
| 170 } // namespace breakpad | 170 } // namespace breakpad |
| OLD | NEW |