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

Unified Diff: content/common/browser_plugin_messages.h

Issue 10830072: Browser Plugin: New Implementation (Renderer Side) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: content/common/browser_plugin_messages.h
diff --git a/content/common/browser_plugin_messages.h b/content/common/browser_plugin_messages.h
new file mode 100644
index 0000000000000000000000000000000000000000..81f535e7b143861b5ccdf77b46a7be47f33508b7
--- /dev/null
+++ b/content/common/browser_plugin_messages.h
@@ -0,0 +1,159 @@
+// 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 header, no traditional include guard.
+
+#include <string>
+
+#include "base/basictypes.h"
+#include "base/process.h"
+#include "content/common/content_export.h"
+#include "content/public/common/common_param_traits.h"
+#include "ipc/ipc_channel_handle.h"
+#include "ipc/ipc_message_macros.h"
+#include "ipc/ipc_message_utils.h"
+#include "ui/gfx/rect.h"
+#include "ui/gfx/size.h"
+#include "webkit/glue/webcursor.h"
+
+#undef IPC_MESSAGE_EXPORT
+#define IPC_MESSAGE_EXPORT CONTENT_EXPORT
+
+#define IPC_MESSAGE_START BrowserPluginMsgStart
+
+// Browser plugin messages
+
+// -----------------------------------------------------------------------------
+// These messages are from the embedder to the browser process.
+
+IPC_STRUCT_BEGIN(BrowserPluginHostMsg_PostMessage_Params)
+ // The serialized script value.
+ IPC_STRUCT_MEMBER(string16, data)
+
+ // This is the routing ID of the source frame in the source process. The
+ // browser replaces it with the routing ID of the equivalent (swapped out)
+ // frame in the destination process.
Charlie Reis 2012/08/03 18:06:02 This comment seems stale, since you appear to be i
Fady Samuel 2012/08/03 19:34:43 Yup, postMessage really requires both renderer and
+ IPC_STRUCT_MEMBER(int, source_routing_id)
+
+ // The origin of the source frame.
+ IPC_STRUCT_MEMBER(string16, source_origin)
+
+ // The origin for the message's target.
+ IPC_STRUCT_MEMBER(string16, target_origin)
+IPC_STRUCT_END()
+
+IPC_MESSAGE_ROUTED1(BrowserPluginHostMsg_RouteMessageEvent,
+ BrowserPluginHostMsg_PostMessage_Params)
+
+// Tells the guest to focus or defocus itself.
+IPC_MESSAGE_ROUTED2(BrowserPluginHostMsg_SetFocus,
+ int /* instance_id */,
+ bool /* enable */)
+
+// Message payload includes:
+// 1. A blob that should be cast to WebInputEvent
+// 2. An optional boolean value indicating if a RawKeyDown event is associated
+// to a keyboard shortcut of the browser.
+IPC_SYNC_MESSAGE_ROUTED0_2(BrowserPluginHostMsg_HandleInputEvent,
+ bool /* handled */,
+ WebCursor /* cursor */)
+
+// An ACK to the guest process letting it know that the embedder has handled
+// the previous frame and is ready for the next frame. If the guest sent the
+// embedder a bitmap that does not match the size of the BrowserPlugin's
+// container, the BrowserPlugin requests a new size as well.
+IPC_MESSAGE_ROUTED3(BrowserPluginHostMsg_UpdateRect_ACK,
+ int /* instance_id */,
+ int /* message_id */,
+ gfx::Size /* repaint_view_size */)
+
+// A BrowserPlugin sends this to the browser process when it wants to navigate
+// to a given src URL. If a guest WebContents already exists, it will navigate
+// that WebContents. If not, it will create the WebContents, associate it with
+// the BrowserPlugin's browser-side BrowserPluginHost as a guest, and navigate
+// it to the requested URL.
+IPC_MESSAGE_ROUTED3(BrowserPluginHostMsg_NavigateOrCreateGuest,
+ int /* instance_id*/,
+ long long /* frame_id */,
+ std::string /* src */)
+
+// When a BrowserPlugin has been removed from the embedder's DOM, it informs
+// the browser process to cleanup the guest.
+IPC_MESSAGE_ROUTED1(BrowserPluginHostMsg_PluginDestroyed,
+ int /* instance_id */)
+
+// -----------------------------------------------------------------------------
+// These messages are from the guest renderer to the browser process
+
+// A embedder sends this message to the browser when it wants
+// to resize a guest plugin container so that the guest is relaid out
+// according to the new size.
+IPC_SYNC_MESSAGE_ROUTED5_0(BrowserPluginHostMsg_ResizeGuest,
+ int /* instance_id*/,
+ TransportDIB::Id /* damage_buffer_id */,
+ int /* width */,
+ int /* height */,
+ bool /* resize_pending */)
+
+// -----------------------------------------------------------------------------
+// These messages are from the browser process to the embedder.
+
+// When the guest navigates, the browser process informs the embedder through
+// the BrowserPluginMsg_DidNavigate message.
+IPC_MESSAGE_CONTROL2(BrowserPluginMsg_DidNavigate,
+ int /* instance_id */,
+ GURL /* url */)
+
+// When the guest crashes, the browser process informs the embedder through this
+// message.
+IPC_MESSAGE_CONTROL1(BrowserPluginMsg_GuestCrashed,
+ int /* instance_id */)
+
+IPC_STRUCT_BEGIN(BrowserPluginMsg_UpdateRect_Params)
+ // The position and size of the bitmap.
+ IPC_STRUCT_MEMBER(gfx::Rect, bitmap_rect)
+
+ // The scroll offset. Only one of these can be non-zero, and if they are
+ // both zero, then it means there is no scrolling and the scroll_rect is
+ // ignored.
+ IPC_STRUCT_MEMBER(int, dx)
+ IPC_STRUCT_MEMBER(int, dy)
+
+ // The rectangular region to scroll.
+ IPC_STRUCT_MEMBER(gfx::Rect, scroll_rect)
+
+ // The scroll offset of the render view.
+ IPC_STRUCT_MEMBER(gfx::Point, scroll_offset)
+
+ // The regions of the bitmap (in view coords) that contain updated pixels.
+ // In the case of scrolling, this includes the scroll damage rect.
+ IPC_STRUCT_MEMBER(std::vector<gfx::Rect>, copy_rects)
+
+ // The size of the RenderView when this message was generated. This is
+ // included so the host knows how large the view is from the perspective of
+ // the renderer process. This is necessary in case a resize operation is in
+ // progress. If auto-resize is enabled, this should update the corresponding
+ // view size.
+ IPC_STRUCT_MEMBER(gfx::Size, view_size)
+
+ // All the above coordinates are in DIP. This is the scale factor needed
+ // to convert them to pixels.
+ IPC_STRUCT_MEMBER(float, scale_factor)
+
+ // Is this UpdateRect an ACK to a resize request?
+ IPC_STRUCT_MEMBER(bool, is_resize_ack)
+IPC_STRUCT_END()
+
+// When the user tabs to the end of the tab stops of a guest, the browser
+// process informs the embedder to tab out of the browser plugin.
+IPC_MESSAGE_CONTROL2(BrowserPluginMsg_AdvanceFocus,
+ int /* instance_id */,
+ bool /* reverse */)
+
+// The guest has damage it wants to convey to the embedder so that it can
+// update its backing store.
+IPC_MESSAGE_CONTROL3(BrowserPluginMsg_UpdateRect,
+ int /* instance_id */,
+ int /* message_id */,
+ BrowserPluginMsg_UpdateRect_Params)
« no previous file with comments | « no previous file | content/common/content_message_generator.h » ('j') | content/renderer/browser_plugin/browser_plugin.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698