// Copyright (c) 2012 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. // Multiply-included message file, hence no include guard. #include <vector> #include "content/common/content_export.h" #include "ipc/ipc_message_macros.h" #include "ipc/ipc_param_traits.h" #include "url/gurl.h" #undef IPC_MESSAGE_EXPORT #define IPC_MESSAGE_EXPORT CONTENT_EXPORT #define IPC_MESSAGE_START SocketStreamMsgStart // Web Sockets messages sent from the renderer to the browser. // Open new Socket Stream for the |socket_url| identified by |socket_id| // in the renderer process. // The browser starts connecting asynchronously. // Once Socket Stream connection is established, the browser will send // SocketStreamMsg_Connected back. // |render_frame_id| must be the routing id of RenderFrameImpl to which the // Socket Stream belongs. IPC_MESSAGE_CONTROL3(SocketStreamHostMsg_Connect, int /* render_frame_id */, GURL /* socket_url */, int /* socket_id */) // Request to send data on the Socket Stream. // SocketStreamHandle can send data at most |max_pending_send_allowed| bytes, // which is given by ViewMsg_SocketStream_Connected at any time. // The number of pending bytes can be tracked by size of |data| sent // and |amount_sent| parameter of ViewMsg_SocketStream_DataSent. // That is, the following constraints is applied: // (accumulated total of |data|) - (accumulated total of |amount_sent|) // <= |max_pending_send_allowed| // If the SocketStreamHandle ever tries to exceed the // |max_pending_send_allowed|, the connection will be closed. IPC_MESSAGE_CONTROL2(SocketStreamHostMsg_SendData, int /* socket_id */, std::vector<char> /* data */) // Request to close the Socket Stream. // The browser will send ViewMsg_SocketStream_Closed back when the Socket // Stream is completely closed. IPC_MESSAGE_CONTROL1(SocketStreamHostMsg_Close, int /* socket_id */) // Speech input messages sent from the browser to the renderer. // A |socket_id| is assigned by SocketStreamHostMsg_Connect. // The Socket Stream is connected. The SocketStreamHandle should keep track // of how much it has pending (how much it has requested to be sent) and // shouldn't go over |max_pending_send_allowed| bytes. IPC_MESSAGE_CONTROL2(SocketStreamMsg_Connected, int /* socket_id */, int /* max_pending_send_allowed */) // |data| is received on the Socket Stream. IPC_MESSAGE_CONTROL2(SocketStreamMsg_ReceivedData, int /* socket_id */, std::vector<char> /* data */) // |amount_sent| bytes of data requested by // SocketStreamHostMsg_SendData has been sent on the Socket Stream. IPC_MESSAGE_CONTROL2(SocketStreamMsg_SentData, int /* socket_id */, int /* amount_sent */) // The Socket Stream is closed. IPC_MESSAGE_CONTROL1(SocketStreamMsg_Closed, int /* socket_id */) // The Socket Stream is failed. IPC_MESSAGE_CONTROL2(SocketStreamMsg_Failed, int /* socket_id */, int /* error_code */)