Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(268)

Side by Side Diff: chrome/browser/utility_process_host.cc

Issue 3386014: This adds some plumbing for propagating the status and error code of a (Closed)
Patch Set: Fixed Mac code to handle both SEGV and BUS Created 10 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 "chrome/browser/utility_process_host.h" 5 #include "chrome/browser/utility_process_host.h"
6 6
7 #include "app/app_switches.h" 7 #include "app/app_switches.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 158
159 return true; 159 return true;
160 } 160 }
161 161
162 void UtilityProcessHost::OnMessageReceived(const IPC::Message& message) { 162 void UtilityProcessHost::OnMessageReceived(const IPC::Message& message) {
163 ChromeThread::PostTask( 163 ChromeThread::PostTask(
164 client_thread_id_, FROM_HERE, 164 client_thread_id_, FROM_HERE,
165 NewRunnableMethod(client_.get(), &Client::OnMessageReceived, message)); 165 NewRunnableMethod(client_.get(), &Client::OnMessageReceived, message));
166 } 166 }
167 167
168 void UtilityProcessHost::OnProcessCrashed() { 168 void UtilityProcessHost::OnProcessCrashed(int exit_code) {
169 ChromeThread::PostTask( 169 ChromeThread::PostTask(
170 client_thread_id_, FROM_HERE, 170 client_thread_id_, FROM_HERE,
171 NewRunnableMethod(client_.get(), &Client::OnProcessCrashed)); 171 NewRunnableMethod(client_.get(), &Client::OnProcessCrashed, exit_code));
172 } 172 }
173 173
174 void UtilityProcessHost::Client::OnMessageReceived( 174 void UtilityProcessHost::Client::OnMessageReceived(
175 const IPC::Message& message) { 175 const IPC::Message& message) {
176 IPC_BEGIN_MESSAGE_MAP(UtilityProcessHost, message) 176 IPC_BEGIN_MESSAGE_MAP(UtilityProcessHost, message)
177 IPC_MESSAGE_HANDLER(UtilityHostMsg_UnpackExtension_Succeeded, 177 IPC_MESSAGE_HANDLER(UtilityHostMsg_UnpackExtension_Succeeded,
178 Client::OnUnpackExtensionSucceeded) 178 Client::OnUnpackExtensionSucceeded)
179 IPC_MESSAGE_HANDLER(UtilityHostMsg_UnpackExtension_Failed, 179 IPC_MESSAGE_HANDLER(UtilityHostMsg_UnpackExtension_Failed,
180 Client::OnUnpackExtensionFailed) 180 Client::OnUnpackExtensionFailed)
181 IPC_MESSAGE_HANDLER(UtilityHostMsg_UnpackWebResource_Succeeded, 181 IPC_MESSAGE_HANDLER(UtilityHostMsg_UnpackWebResource_Succeeded,
182 Client::OnUnpackWebResourceSucceeded) 182 Client::OnUnpackWebResourceSucceeded)
183 IPC_MESSAGE_HANDLER(UtilityHostMsg_UnpackWebResource_Failed, 183 IPC_MESSAGE_HANDLER(UtilityHostMsg_UnpackWebResource_Failed,
184 Client::OnUnpackWebResourceFailed) 184 Client::OnUnpackWebResourceFailed)
185 IPC_MESSAGE_HANDLER(UtilityHostMsg_ParseUpdateManifest_Succeeded, 185 IPC_MESSAGE_HANDLER(UtilityHostMsg_ParseUpdateManifest_Succeeded,
186 Client::OnParseUpdateManifestSucceeded) 186 Client::OnParseUpdateManifestSucceeded)
187 IPC_MESSAGE_HANDLER(UtilityHostMsg_ParseUpdateManifest_Failed, 187 IPC_MESSAGE_HANDLER(UtilityHostMsg_ParseUpdateManifest_Failed,
188 Client::OnParseUpdateManifestFailed) 188 Client::OnParseUpdateManifestFailed)
189 IPC_MESSAGE_HANDLER(UtilityHostMsg_DecodeImage_Succeeded, 189 IPC_MESSAGE_HANDLER(UtilityHostMsg_DecodeImage_Succeeded,
190 Client::OnDecodeImageSucceeded) 190 Client::OnDecodeImageSucceeded)
191 IPC_MESSAGE_HANDLER(UtilityHostMsg_DecodeImage_Failed, 191 IPC_MESSAGE_HANDLER(UtilityHostMsg_DecodeImage_Failed,
192 Client::OnDecodeImageFailed) 192 Client::OnDecodeImageFailed)
193 IPC_MESSAGE_HANDLER(UtilityHostMsg_IDBKeysFromValuesAndKeyPath_Succeeded, 193 IPC_MESSAGE_HANDLER(UtilityHostMsg_IDBKeysFromValuesAndKeyPath_Succeeded,
194 Client::OnIDBKeysFromValuesAndKeyPathSucceeded) 194 Client::OnIDBKeysFromValuesAndKeyPathSucceeded)
195 IPC_MESSAGE_HANDLER(UtilityHostMsg_IDBKeysFromValuesAndKeyPath_Failed, 195 IPC_MESSAGE_HANDLER(UtilityHostMsg_IDBKeysFromValuesAndKeyPath_Failed,
196 Client::OnIDBKeysFromValuesAndKeyPathFailed) 196 Client::OnIDBKeysFromValuesAndKeyPathFailed)
197 IPC_END_MESSAGE_MAP_EX() 197 IPC_END_MESSAGE_MAP_EX()
198 } 198 }
OLDNEW
« no previous file with comments | « chrome/browser/utility_process_host.h ('k') | chrome/browser/web_resource/web_resource_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698