|  | // Copyright 2015 The Chromium Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | // Message definition file, included multiple times, hence no include guard. | 
|  |  | 
|  | #include <string> | 
|  | #include <vector> | 
|  |  | 
|  | #include "base/strings/string16.h" | 
|  | #include "content/public/common/common_param_traits.h" | 
|  | #include "content/public/common/common_param_traits_macros.h" | 
|  | #include "ipc/ipc_message_macros.h" | 
|  | #include "ipc/ipc_message_utils.h" | 
|  |  | 
|  | #define IPC_MESSAGE_START SafeJsonParserMsgStart | 
|  |  | 
|  | //------------------------------------------------------------------------------ | 
|  | // Process messages: | 
|  | // This is a message from the browser to the utility process telling it to parse | 
|  | // a JSON string into a Value object. | 
|  | IPC_MESSAGE_CONTROL1(SafeJsonParserMsg_ParseJSON, | 
|  | std::string /* JSON to parse */) | 
|  |  | 
|  | //------------------------------------------------------------------------------ | 
|  | // Host messages: Reply when the utility process successfully parsed a JSON | 
|  | // string. | 
|  | // | 
|  | // WARNING: The result can be of any Value subclass type, but we can't easily | 
|  | // pass indeterminate value types by const object reference with our IPC macros, | 
|  | // so we put the result Value into a ListValue. Handlers should examine the | 
|  | // first (and only) element of the ListValue for the actual result. | 
|  | IPC_MESSAGE_CONTROL1(SafeJsonParserHostMsg_ParseJSON_Succeeded, base::ListValue) | 
|  |  | 
|  | // Reply when the utility process failed in parsing a JSON string. | 
|  | IPC_MESSAGE_CONTROL1(SafeJsonParserHostMsg_ParseJSON_Failed, | 
|  | std::string /* error message, if any*/) |