| Index: chrome/common/plugin_messages.h
|
| ===================================================================
|
| --- chrome/common/plugin_messages.h (revision 78042)
|
| +++ chrome/common/plugin_messages.h (working copy)
|
| @@ -1,241 +0,0 @@
|
| -// Copyright (c) 2009 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.
|
| -
|
| -// Defines messages between the browser and plugin process, as well as between
|
| -// the renderer and plugin process.
|
| -//
|
| -// See render_message* for information about the multi-pass include of headers.
|
| -
|
| -#ifndef CHROME_COMMON_PLUGIN_MESSAGES_H_
|
| -#define CHROME_COMMON_PLUGIN_MESSAGES_H_
|
| -#pragma once
|
| -
|
| -#include <string>
|
| -#include <vector>
|
| -
|
| -#include "base/basictypes.h"
|
| -#include "base/string_number_conversions.h"
|
| -#include "chrome/common/common_param_traits.h"
|
| -#include "chrome/common/webkit_param_traits.h"
|
| -#include "googleurl/src/gurl.h"
|
| -#include "ipc/ipc_message_utils.h"
|
| -#include "third_party/npapi/bindings/npapi.h"
|
| -#include "third_party/WebKit/Source/WebKit/chromium/public/WebBindings.h"
|
| -#include "third_party/WebKit/Source/WebKit/chromium/public/WebInputEvent.h"
|
| -#include "ui/gfx/native_widget_types.h"
|
| -#include "ui/gfx/rect.h"
|
| -#include "webkit/glue/npruntime_util.h"
|
| -
|
| -// Name prefix of the event handle when a message box is displayed.
|
| -#define kMessageBoxEventPrefix L"message_box_active"
|
| -
|
| -// Structures for messages that have too many parameters to be put in a
|
| -// predefined IPC message.
|
| -
|
| -struct PluginMsg_Init_Params {
|
| - PluginMsg_Init_Params();
|
| - ~PluginMsg_Init_Params();
|
| -
|
| - gfx::NativeViewId containing_window;
|
| - GURL url;
|
| - GURL page_url;
|
| - std::vector<std::string> arg_names;
|
| - std::vector<std::string> arg_values;
|
| - bool load_manually;
|
| - int host_render_view_routing_id;
|
| -};
|
| -
|
| -struct PluginHostMsg_URLRequest_Params {
|
| - PluginHostMsg_URLRequest_Params();
|
| - ~PluginHostMsg_URLRequest_Params();
|
| -
|
| - std::string url;
|
| - std::string method;
|
| - std::string target;
|
| - std::vector<char> buffer;
|
| - int notify_id;
|
| - bool popups_allowed;
|
| - bool notify_redirects;
|
| -};
|
| -
|
| -struct PluginMsg_DidReceiveResponseParams {
|
| - PluginMsg_DidReceiveResponseParams();
|
| - ~PluginMsg_DidReceiveResponseParams();
|
| -
|
| - unsigned long id;
|
| - std::string mime_type;
|
| - std::string headers;
|
| - uint32 expected_length;
|
| - uint32 last_modified;
|
| - bool request_is_seekable;
|
| -};
|
| -
|
| -struct NPIdentifier_Param {
|
| - NPIdentifier_Param();
|
| - ~NPIdentifier_Param();
|
| -
|
| - NPIdentifier identifier;
|
| -};
|
| -
|
| -enum NPVariant_ParamEnum {
|
| - NPVARIANT_PARAM_VOID,
|
| - NPVARIANT_PARAM_NULL,
|
| - NPVARIANT_PARAM_BOOL,
|
| - NPVARIANT_PARAM_INT,
|
| - NPVARIANT_PARAM_DOUBLE,
|
| - NPVARIANT_PARAM_STRING,
|
| - // Used when when the NPObject is running in the caller's process, so we
|
| - // create an NPObjectProxy in the other process.
|
| - NPVARIANT_PARAM_SENDER_OBJECT_ROUTING_ID,
|
| - // Used when the NPObject we're sending is running in the callee's process
|
| - // (i.e. we have an NPObjectProxy for it). In that case we want the callee
|
| - // to just use the raw pointer.
|
| - NPVARIANT_PARAM_RECEIVER_OBJECT_ROUTING_ID,
|
| -};
|
| -
|
| -struct NPVariant_Param {
|
| - NPVariant_Param();
|
| - ~NPVariant_Param();
|
| -
|
| - NPVariant_ParamEnum type;
|
| - bool bool_value;
|
| - int int_value;
|
| - double double_value;
|
| - std::string string_value;
|
| - int npobject_routing_id;
|
| -};
|
| -
|
| -struct PluginMsg_UpdateGeometry_Param {
|
| - PluginMsg_UpdateGeometry_Param();
|
| - ~PluginMsg_UpdateGeometry_Param();
|
| -
|
| - gfx::Rect window_rect;
|
| - gfx::Rect clip_rect;
|
| - bool transparent;
|
| - TransportDIB::Handle windowless_buffer;
|
| - TransportDIB::Handle background_buffer;
|
| -
|
| -#if defined(OS_MACOSX)
|
| - // This field contains a key that the plug-in process is expected to return
|
| - // to the renderer in its ACK message, unless the value is -1, in which case
|
| - // no ACK message is required. Other than the special -1 value, the values
|
| - // used in ack_key are opaque to the plug-in process.
|
| - int ack_key;
|
| -#endif
|
| -};
|
| -
|
| -
|
| -namespace IPC {
|
| -
|
| -// Traits for PluginMsg_Init_Params structure to pack/unpack.
|
| -template <>
|
| -struct ParamTraits<PluginMsg_Init_Params> {
|
| - typedef PluginMsg_Init_Params param_type;
|
| - static void Write(Message* m, const param_type& p);
|
| - static bool Read(const Message* m, void** iter, param_type* p);
|
| - static void Log(const param_type& p, std::string* l);
|
| -};
|
| -
|
| -template <>
|
| -struct ParamTraits<PluginHostMsg_URLRequest_Params> {
|
| - typedef PluginHostMsg_URLRequest_Params param_type;
|
| - static void Write(Message* m, const param_type& p);
|
| - static bool Read(const Message* m, void** iter, param_type* p);
|
| - static void Log(const param_type& p, std::string* l);
|
| -};
|
| -
|
| -template <>
|
| -struct ParamTraits<PluginMsg_DidReceiveResponseParams> {
|
| - typedef PluginMsg_DidReceiveResponseParams param_type;
|
| - static void Write(Message* m, const param_type& p);
|
| - static bool Read(const Message* m, void** iter, param_type* r);
|
| - static void Log(const param_type& p, std::string* l);
|
| -};
|
| -
|
| -typedef const WebKit::WebInputEvent* WebInputEventPointer;
|
| -template <>
|
| -struct ParamTraits<WebInputEventPointer> {
|
| - typedef WebInputEventPointer param_type;
|
| - static void Write(Message* m, const param_type& p) {
|
| - m->WriteData(reinterpret_cast<const char*>(p), p->size);
|
| - }
|
| - // Note: upon read, the event has the lifetime of the message.
|
| - static bool Read(const Message* m, void** iter, param_type* r) {
|
| - const char* data;
|
| - int data_length;
|
| - if (!m->ReadData(iter, &data, &data_length)) {
|
| - NOTREACHED();
|
| - return false;
|
| - }
|
| - if (data_length < static_cast<int>(sizeof(WebKit::WebInputEvent))) {
|
| - NOTREACHED();
|
| - return false;
|
| - }
|
| - param_type event = reinterpret_cast<param_type>(data);
|
| - // Check that the data size matches that of the event (we check the latter
|
| - // in the delegate).
|
| - if (data_length != static_cast<int>(event->size)) {
|
| - NOTREACHED();
|
| - return false;
|
| - }
|
| - *r = event;
|
| - return true;
|
| - }
|
| - static void Log(const param_type& p, std::string* l) {
|
| - l->append("(");
|
| - LogParam(p->size, l);
|
| - l->append(", ");
|
| - LogParam(p->type, l);
|
| - l->append(", ");
|
| - LogParam(p->timeStampSeconds, l);
|
| - l->append(")");
|
| - }
|
| -};
|
| -
|
| -template <>
|
| -struct ParamTraits<NPIdentifier_Param> {
|
| - typedef NPIdentifier_Param param_type;
|
| - static void Write(Message* m, const param_type& p) {
|
| - webkit_glue::SerializeNPIdentifier(p.identifier, m);
|
| - }
|
| - static bool Read(const Message* m, void** iter, param_type* r) {
|
| - return webkit_glue::DeserializeNPIdentifier(*m, iter, &r->identifier);
|
| - }
|
| - static void Log(const param_type& p, std::string* l) {
|
| - if (WebKit::WebBindings::identifierIsString(p.identifier)) {
|
| - NPUTF8* str = WebKit::WebBindings::utf8FromIdentifier(p.identifier);
|
| - l->append(str);
|
| - NPN_MemFree(str);
|
| - } else {
|
| - l->append(base::IntToString(
|
| - WebKit::WebBindings::intFromIdentifier(p.identifier)));
|
| - }
|
| - }
|
| -};
|
| -
|
| -template <>
|
| -struct ParamTraits<NPVariant_Param> {
|
| - typedef NPVariant_Param param_type;
|
| - static void Write(Message* m, const param_type& p);
|
| - static bool Read(const Message* m, void** iter, param_type* r);
|
| - static void Log(const param_type& p, std::string* l);
|
| -};
|
| -
|
| -// For windowless plugins, windowless_buffer
|
| -// contains a buffer that the plugin draws into. background_buffer is used
|
| -// for transparent windowless plugins, and holds the background of the plugin
|
| -// rectangle.
|
| -template <>
|
| -struct ParamTraits<PluginMsg_UpdateGeometry_Param> {
|
| - typedef PluginMsg_UpdateGeometry_Param param_type;
|
| - static void Write(Message* m, const param_type& p);
|
| - static bool Read(const Message* m, void** iter, param_type* r);
|
| - static void Log(const param_type& p, std::string* l);
|
| -};
|
| -
|
| -} // namespace IPC
|
| -
|
| -#include "chrome/common/plugin_messages_internal.h"
|
| -
|
| -#endif // CHROME_COMMON_PLUGIN_MESSAGES_H_
|
|
|