summaryrefslogtreecommitdiffstats
path: root/chrome/common/render_messages_internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/common/render_messages_internal.h')
-rw-r--r--chrome/common/render_messages_internal.h2529
1 files changed, 2529 insertions, 0 deletions
diff --git a/chrome/common/render_messages_internal.h b/chrome/common/render_messages_internal.h
new file mode 100644
index 0000000..2cedec8
--- /dev/null
+++ b/chrome/common/render_messages_internal.h
@@ -0,0 +1,2529 @@
+// Copyright (c) 2010 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.
+
+// This header is meant to be included in multiple passes, hence no traditional
+// header guard.
+// See ipc_message_macros.h for explanation of the macros and passes.
+
+#include <map>
+#include <string>
+#include <vector>
+
+#include "build/build_config.h"
+
+#include "base/file_path.h"
+#include "base/nullable_string16.h"
+#include "base/platform_file.h"
+#include "base/sync_socket.h"
+#include "base/time.h"
+#include "base/values.h"
+#include "chrome/common/content_settings.h"
+#include "chrome/common/extensions/update_manifest.h"
+#include "chrome/common/geoposition.h"
+#include "chrome/common/nacl_types.h"
+#include "chrome/common/notification_type.h"
+#include "chrome/common/page_zoom.h"
+#include "chrome/common/thumbnail_score.h"
+#include "chrome/common/translate_errors.h"
+#include "chrome/common/window_container_type.h"
+#include "gfx/rect.h"
+#include "ipc/ipc_channel_handle.h"
+#include "ipc/ipc_message.h"
+#include "ipc/ipc_message_macros.h"
+#include "third_party/skia/include/core/SkBitmap.h"
+#include "webkit/glue/dom_operations.h"
+#include "webkit/glue/form_field.h"
+#include "webkit/glue/webcursor.h"
+
+#if defined(OS_POSIX)
+#include "base/file_descriptor_posix.h"
+#endif
+
+#if defined(OS_MACOSX)
+#include "chrome/common/font_descriptor_mac.h"
+#endif
+
+// TODO(mpcomplete): rename ViewMsg and ViewHostMsg to something that makes
+// more sense with our current design.
+
+// IPC_MESSAGE macros choke on extra , in the std::map, when expanding. We need
+// to typedef it to avoid that.
+// Substitution map for l10n messages.
+typedef std::map<std::string, std::string> SubstitutionMap;
+
+//-----------------------------------------------------------------------------
+// RenderView messages
+// These are messages sent from the browser to the renderer process.
+
+IPC_BEGIN_MESSAGES(View)
+ // Used typically when recovering from a crash. The new rendering process
+ // sets its global "next page id" counter to the given value.
+ IPC_MESSAGE_CONTROL1(ViewMsg_SetNextPageID,
+ int32 /* next_page_id */)
+
+ // Sends System Colors corresponding to a set of CSS color keywords
+ // down the pipe.
+ // This message must be sent to the renderer immediately on launch
+ // before creating any new views.
+ // The message can also be sent during a renderer's lifetime if system colors
+ // are updated.
+ // TODO(jeremy): Possibly change IPC format once we have this all hooked up.
+ IPC_MESSAGE_ROUTED1(ViewMsg_SetCSSColors,
+ std::vector<CSSColors::CSSColorMapping>)
+
+ // Tells the renderer to create a new view.
+ // This message is slightly different, the view it takes (via
+ // ViewMsg_New_Params) is the view to create, the message itself is sent as a
+ // non-view control message.
+ IPC_MESSAGE_CONTROL1(ViewMsg_New,
+ ViewMsg_New_Params)
+
+ // Tells the renderer to set its maximum cache size to the supplied value
+ IPC_MESSAGE_CONTROL3(ViewMsg_SetCacheCapacities,
+ size_t /* min_dead_capacity */,
+ size_t /* max_dead_capacity */,
+ size_t /* capacity */)
+
+ // Reply in response to ViewHostMsg_ShowView or ViewHostMsg_ShowWidget.
+ // similar to the new command, but used when the renderer created a view
+ // first, and we need to update it
+ IPC_MESSAGE_ROUTED1(ViewMsg_CreatingNew_ACK,
+ gfx::NativeViewId /* parent_hwnd */)
+
+ // Sends updated preferences to the renderer.
+ IPC_MESSAGE_ROUTED1(ViewMsg_SetRendererPrefs,
+ RendererPreferences)
+
+ // Tells the renderer to perform the given action on the media player
+ // located at the given point.
+ IPC_MESSAGE_ROUTED2(ViewMsg_MediaPlayerActionAt,
+ gfx::Point, /* location */
+ WebKit::WebMediaPlayerAction)
+
+ // Tells the render view to close.
+ IPC_MESSAGE_ROUTED0(ViewMsg_Close)
+
+ // Tells the render view to change its size. A ViewHostMsg_PaintRect message
+ // is generated in response provided new_size is not empty and not equal to
+ // the view's current size. The generated ViewHostMsg_PaintRect message will
+ // have the IS_RESIZE_ACK flag set. It also receives the resizer rect so that
+ // we don't have to fetch it every time WebKit asks for it.
+ IPC_MESSAGE_ROUTED2(ViewMsg_Resize,
+ gfx::Size /* new_size */,
+ gfx::Rect /* resizer_rect */)
+
+ // Sent to inform the view that it was hidden. This allows it to reduce its
+ // resource utilization.
+ IPC_MESSAGE_ROUTED0(ViewMsg_WasHidden)
+
+ // Tells the render view that it is no longer hidden (see WasHidden), and the
+ // render view is expected to respond with a full repaint if needs_repainting
+ // is true. In that case, the generated ViewHostMsg_PaintRect message will
+ // have the IS_RESTORE_ACK flag set. If needs_repainting is false, then this
+ // message does not trigger a message in response.
+ IPC_MESSAGE_ROUTED1(ViewMsg_WasRestored,
+ bool /* needs_repainting */)
+
+ // Tells the render view to capture a thumbnail image of the page. The
+ // render view responds with a ViewHostMsg_Thumbnail.
+ IPC_MESSAGE_ROUTED0(ViewMsg_CaptureThumbnail)
+
+ // Tells the render view to capture a thumbnail image of the page. The
+ // render view responds with a ViewHostMsg_Snapshot.
+ IPC_MESSAGE_ROUTED0(ViewMsg_CaptureSnapshot)
+
+ // Tells the render view to switch the CSS to print media type, renders every
+ // requested pages and switch back the CSS to display media type.
+ IPC_MESSAGE_ROUTED0(ViewMsg_PrintPages)
+
+ // Tells the render view that printing is done so it can clean up.
+ IPC_MESSAGE_ROUTED2(ViewMsg_PrintingDone,
+ int /* document_cookie */,
+ bool /* success */)
+
+ // Tells the renderer to dump as much memory as it can, perhaps because we
+ // have memory pressure or the renderer is (or will be) paged out. This
+ // should only result in purging objects we can recalculate, e.g. caches or
+ // JS garbage, not in purging irreplaceable objects.
+ IPC_MESSAGE_CONTROL0(ViewMsg_PurgeMemory)
+
+ // Sent to render the view into the supplied transport DIB, resize
+ // the web widget to match the |page_size|, scale it by the
+ // appropriate scale to make it fit the |desired_size|, and return
+ // it. In response to this message, the host generates a
+ // ViewHostMsg_PaintAtSize_ACK message. Note that the DIB *must* be
+ // the right size to receive an RGBA image at the |desired_size|.
+ // |tag| is sent along with ViewHostMsg_PaintAtSize_ACK unmodified to
+ // identify the PaintAtSize message the ACK belongs to.
+ IPC_MESSAGE_ROUTED4(ViewMsg_PaintAtSize,
+ TransportDIB::Handle /* dib_handle */,
+ int /* tag */,
+ gfx::Size /* page_size */,
+ gfx::Size /* desired_size */)
+
+ // Tells the render view that a ViewHostMsg_UpdateRect message was processed.
+ // This signals the render view that it can send another UpdateRect message.
+ IPC_MESSAGE_ROUTED0(ViewMsg_UpdateRect_ACK)
+
+ // Replies to creating and updating videos.
+ IPC_MESSAGE_ROUTED1(ViewMsg_CreateVideo_ACK,
+ int32 /* video_id */)
+ IPC_MESSAGE_ROUTED1(ViewMsg_UpdateVideo_ACK,
+ int32 /* video_id */)
+
+ // 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_MESSAGE_ROUTED0(ViewMsg_HandleInputEvent)
+
+ // This message notifies the renderer that the next key event is bound to one
+ // or more pre-defined edit commands. If the next key event is not handled
+ // by webkit, the specified edit commands shall be executed against current
+ // focused frame.
+ // Parameters
+ // * edit_commands (see chrome/common/edit_command_types.h)
+ // Contains one or more edit commands.
+ // See third_party/WebKit/WebCore/editing/EditorCommand.cpp for detailed
+ // definition of webkit edit commands.
+ //
+ // This message must be sent just before sending a key event.
+ IPC_MESSAGE_ROUTED1(ViewMsg_SetEditCommandsForNextKeyEvent,
+ EditCommands /* edit_commands */)
+
+ // Message payload is the name/value of a WebCore edit command to execute.
+ IPC_MESSAGE_ROUTED2(ViewMsg_ExecuteEditCommand,
+ std::string, /* name */
+ std::string /* value */)
+
+ IPC_MESSAGE_ROUTED0(ViewMsg_MouseCaptureLost)
+
+ // TODO(darin): figure out how this meshes with RestoreFocus
+ IPC_MESSAGE_ROUTED1(ViewMsg_SetFocus, bool /* enable */)
+
+ // Tells the renderer to focus the first (last if reverse is true) focusable
+ // node.
+ IPC_MESSAGE_ROUTED1(ViewMsg_SetInitialFocus, bool /* reverse */)
+
+ // Tells the renderer to perform the specified navigation, interrupting any
+ // existing navigation.
+ IPC_MESSAGE_ROUTED1(ViewMsg_Navigate, ViewMsg_Navigate_Params)
+
+ IPC_MESSAGE_ROUTED0(ViewMsg_Stop)
+
+ // Tells the renderer to reload the current focused frame
+ IPC_MESSAGE_ROUTED0(ViewMsg_ReloadFrame)
+
+ // This message notifies the renderer that the user has closed the FindInPage
+ // window (and what action to take regarding the selection).
+ IPC_MESSAGE_ROUTED1(ViewMsg_StopFinding,
+ ViewMsg_StopFinding_Params /* action */)
+
+ // These messages are typically generated from context menus and request the
+ // renderer to apply the specified operation to the current selection.
+ IPC_MESSAGE_ROUTED0(ViewMsg_Undo)
+ IPC_MESSAGE_ROUTED0(ViewMsg_Redo)
+ IPC_MESSAGE_ROUTED0(ViewMsg_Cut)
+ IPC_MESSAGE_ROUTED0(ViewMsg_Copy)
+#if defined(OS_MACOSX)
+ IPC_MESSAGE_ROUTED0(ViewMsg_CopyToFindPboard)
+#endif
+ IPC_MESSAGE_ROUTED0(ViewMsg_Paste)
+ // Replaces the selected region or a word around the cursor with the
+ // specified string.
+ IPC_MESSAGE_ROUTED1(ViewMsg_Replace, string16)
+ IPC_MESSAGE_ROUTED0(ViewMsg_ToggleSpellCheck)
+ IPC_MESSAGE_ROUTED0(ViewMsg_Delete)
+ IPC_MESSAGE_ROUTED0(ViewMsg_SelectAll)
+ IPC_MESSAGE_ROUTED1(ViewMsg_ToggleSpellPanel, bool)
+
+ // This message tells the renderer to advance to the next misspelling. It is
+ // sent when the user clicks the "Find Next" button on the spelling panel.
+ IPC_MESSAGE_ROUTED0(ViewMsg_AdvanceToNextMisspelling)
+
+ // Copies the image at location x, y to the clipboard (if there indeed is an
+ // image at that location).
+ IPC_MESSAGE_ROUTED2(ViewMsg_CopyImageAt,
+ int /* x */,
+ int /* y */)
+
+ // History system notification that the visited link database has been
+ // replaced. It has one SharedMemoryHandle argument consisting of the table
+ // handle. This handle is valid in the context of the renderer
+ IPC_MESSAGE_CONTROL1(ViewMsg_VisitedLink_NewTable, base::SharedMemoryHandle)
+
+ // History system notification that a link has been added and the link
+ // coloring state for the given hash must be re-calculated.
+ IPC_MESSAGE_CONTROL1(ViewMsg_VisitedLink_Add, std::vector<uint64>)
+
+ // History system notification that one or more history items have been
+ // deleted, which at this point means that all link coloring state must be
+ // re-calculated.
+ IPC_MESSAGE_CONTROL0(ViewMsg_VisitedLink_Reset)
+
+ // Notification that the user scripts have been updated. It has one
+ // SharedMemoryHandle argument consisting of the pickled script data. This
+ // handle is valid in the context of the renderer.
+ IPC_MESSAGE_CONTROL1(ViewMsg_UserScripts_UpdatedScripts,
+ base::SharedMemoryHandle)
+
+ // Sent when the user wants to search for a word on the page (find in page).
+ IPC_MESSAGE_ROUTED3(ViewMsg_Find,
+ int /* request_id */,
+ string16 /* search_text */,
+ WebKit::WebFindOptions)
+
+ // Send from the renderer to the browser to return the script running result.
+ IPC_MESSAGE_ROUTED2(ViewMsg_ExecuteCodeFinished,
+ int, /* request id */
+ bool /* whether the script ran successfully */)
+
+ // Sent when the headers are available for a resource request.
+ IPC_MESSAGE_ROUTED2(ViewMsg_Resource_ReceivedResponse,
+ int /* request_id */,
+ ResourceResponseHead)
+
+ // Sent when cached metadata from a resource request is ready.
+ IPC_MESSAGE_ROUTED2(ViewMsg_Resource_ReceivedCachedMetadata,
+ int /* request_id */,
+ std::vector<char> /* data */)
+
+ // Sent as download progress is being made, size of the resource may be
+ // unknown, in that case |size| is -1.
+ IPC_MESSAGE_ROUTED3(ViewMsg_Resource_DownloadProgress,
+ int /* request_id */,
+ int64 /* position */,
+ int64 /* size */)
+
+ // Sent as upload progress is being made.
+ IPC_MESSAGE_ROUTED3(ViewMsg_Resource_UploadProgress,
+ int /* request_id */,
+ int64 /* position */,
+ int64 /* size */)
+
+ // Sent when the request has been redirected. The receiver is expected to
+ // respond with either a FollowRedirect message (if the redirect is to be
+ // followed) or a CancelRequest message (if it should not be followed).
+ IPC_MESSAGE_ROUTED3(ViewMsg_Resource_ReceivedRedirect,
+ int /* request_id */,
+ GURL /* new_url */,
+ ResourceResponseHead)
+
+ // Sent when some data from a resource request is ready. The handle should
+ // already be mapped into the process that receives this message.
+ IPC_MESSAGE_ROUTED3(ViewMsg_Resource_DataReceived,
+ int /* request_id */,
+ base::SharedMemoryHandle /* data */,
+ int /* data_len */)
+
+ // Sent when the request has been completed.
+ IPC_MESSAGE_ROUTED3(ViewMsg_Resource_RequestComplete,
+ int /* request_id */,
+ URLRequestStatus /* status */,
+ std::string /* security info */)
+
+ // Sent when user prompting is required before a ViewHostMsg_GetCookies
+ // message can complete. This message indicates that the renderer should
+ // pump messages while waiting for cookies.
+ IPC_MESSAGE_CONTROL0(ViewMsg_SignalCookiePromptEvent)
+
+ // Request for the renderer to evaluate an xpath to a frame and execute a
+ // javascript: url in that frame's context. The message is completely
+ // asynchronous and no corresponding response message is sent back.
+ //
+ // frame_xpath contains the modified xpath notation to identify an inner
+ // subframe (starting from the root frame). It is a concatenation of
+ // number of smaller xpaths delimited by '\n'. Each chunk in the string can
+ // be evaluated to a frame in its parent-frame's context.
+ //
+ // Example: /html/body/iframe/\n/html/body/div/iframe/\n/frameset/frame[0]
+ // can be broken into 3 xpaths
+ // /html/body/iframe evaluates to an iframe within the root frame
+ // /html/body/div/iframe evaluates to an iframe within the level-1 iframe
+ // /frameset/frame[0] evaluates to first frame within the level-2 iframe
+ //
+ // jscript_url is the string containing the javascript: url to be executed
+ // in the target frame's context. The string should start with "javascript:"
+ // and continue with a valid JS text.
+ IPC_MESSAGE_ROUTED2(ViewMsg_ScriptEvalRequest,
+ std::wstring, /* frame_xpath */
+ std::wstring /* jscript_url */)
+
+ // Request for the renderer to evaluate an xpath to a frame and insert css
+ // into that frame's document. See ViewMsg_ScriptEvalRequest for details on
+ // allowed xpath expressions.
+ IPC_MESSAGE_ROUTED3(ViewMsg_CSSInsertRequest,
+ std::wstring, /* frame_xpath */
+ std::string, /* css string */
+ std::string /* element id */)
+
+ // Log a message to the console of the target frame
+ IPC_MESSAGE_ROUTED3(ViewMsg_AddMessageToConsole,
+ string16 /* frame_xpath */,
+ string16 /* message */,
+ WebKit::WebConsoleMessage::Level /* message_level */)
+
+ // RenderViewHostDelegate::RenderViewCreated method sends this message to a
+ // new renderer to notify it that it will host developer tools UI and should
+ // set up all neccessary bindings and create DevToolsClient instance that
+ // will handle communication with inspected page DevToolsAgent.
+ IPC_MESSAGE_ROUTED0(ViewMsg_SetupDevToolsClient)
+
+ // Change the zoom level for the current main frame. If the level actually
+ // changes, a ViewHostMsg_DidZoomURL message will be sent back to the browser
+ // telling it what url got zoomed and what its current zoom level is.
+ IPC_MESSAGE_ROUTED1(ViewMsg_Zoom,
+ PageZoom::Function /* function */)
+
+ // Set the zoom level for a particular url that the renderer is in the
+ // process of loading. This will be stored, to be used if the load commits
+ // and ignored otherwise.
+ IPC_MESSAGE_ROUTED2(ViewMsg_SetZoomLevelForLoadingURL,
+ GURL /* url */,
+ int /* zoom_level */)
+
+ // Set the zoom level for a particular url, so all render views
+ // displaying this url can update their zoom levels to match.
+ IPC_MESSAGE_CONTROL2(ViewMsg_SetZoomLevelForCurrentURL,
+ GURL /* url */,
+ int /* zoom_level */)
+
+ // Set the content settings for a particular url that the renderer is in the
+ // process of loading. This will be stored, to be used if the load commits
+ // and ignored otherwise.
+ IPC_MESSAGE_ROUTED2(ViewMsg_SetContentSettingsForLoadingURL,
+ GURL /* url */,
+ ContentSettings /* content_settings */)
+
+ // Set the content settings for a particular url, so all render views
+ // displaying this host url update their content settings to match.
+ IPC_MESSAGE_CONTROL2(ViewMsg_SetContentSettingsForCurrentURL,
+ GURL /* url */,
+ ContentSettings /* content_settings */)
+
+ // Change encoding of page in the renderer.
+ IPC_MESSAGE_ROUTED1(ViewMsg_SetPageEncoding,
+ std::string /*new encoding name*/)
+
+ // Reset encoding of page in the renderer back to default.
+ IPC_MESSAGE_ROUTED0(ViewMsg_ResetPageEncodingToDefault)
+
+ // Requests the renderer to reserve a range of page ids.
+ IPC_MESSAGE_ROUTED1(ViewMsg_ReservePageIDRange,
+ int /* size_of_range */)
+
+ // Fill a form with data and optionally submit it
+ IPC_MESSAGE_ROUTED1(ViewMsg_FormFill,
+ webkit_glue::FormData /* form */)
+
+ // Fill a password form and prepare field autocomplete for multiple
+ // matching logins.
+ IPC_MESSAGE_ROUTED1(ViewMsg_FillPasswordForm,
+ webkit_glue::PasswordFormFillData)
+
+ // D&d drop target messages.
+ IPC_MESSAGE_ROUTED4(ViewMsg_DragTargetDragEnter,
+ WebDropData /* drop_data */,
+ gfx::Point /* client_pt */,
+ gfx::Point /* screen_pt */,
+ WebKit::WebDragOperationsMask /* ops_allowed */)
+ IPC_MESSAGE_ROUTED3(ViewMsg_DragTargetDragOver,
+ gfx::Point /* client_pt */,
+ gfx::Point /* screen_pt */,
+ WebKit::WebDragOperationsMask /* ops_allowed */)
+ IPC_MESSAGE_ROUTED0(ViewMsg_DragTargetDragLeave)
+ IPC_MESSAGE_ROUTED2(ViewMsg_DragTargetDrop,
+ gfx::Point /* client_pt */,
+ gfx::Point /* screen_pt */)
+
+ // Notifies the renderer of updates in mouse position of an in-progress
+ // drag. if |ended| is true, then the user has ended the drag operation.
+ IPC_MESSAGE_ROUTED4(ViewMsg_DragSourceEndedOrMoved,
+ gfx::Point /* client_pt */,
+ gfx::Point /* screen_pt */,
+ bool /* ended */,
+ WebKit::WebDragOperation /* drag_operation */)
+
+ // Notifies the renderer that the system DoDragDrop call has ended.
+ IPC_MESSAGE_ROUTED0(ViewMsg_DragSourceSystemDragEnded)
+
+ // Used to tell a render view whether it should expose various bindings
+ // that allow JS content extended privileges. See BindingsPolicy for valid
+ // flag values.
+ IPC_MESSAGE_ROUTED1(ViewMsg_AllowBindings,
+ int /* enabled_bindings_flags */)
+
+ // Tell the renderer to add a property to the DOMUI binding object. This
+ // only works if we allowed DOMUI bindings.
+ IPC_MESSAGE_ROUTED2(ViewMsg_SetDOMUIProperty,
+ std::string /* property_name */,
+ std::string /* property_value_json */)
+
+ // This message starts/stop monitoring the input method status of the focused
+ // edit control of a renderer process.
+ // Parameters
+ // * is_active (bool)
+ // Indicates if an input method is active in the browser process.
+ // The possible actions when a renderer process receives this message are
+ // listed below:
+ // Value Action
+ // true Start sending IPC message ViewHostMsg_ImeUpdateTextInputState
+ // to notify the input method status of the focused edit control.
+ // false Stop sending IPC message ViewHostMsg_ImeUpdateTextInputState.
+ IPC_MESSAGE_ROUTED1(ViewMsg_SetInputMethodActive,
+ bool /* is_active */)
+
+ // This message sends a string being composed with an input method.
+ IPC_MESSAGE_ROUTED4(
+ ViewMsg_ImeSetComposition,
+ string16, /* text */
+ std::vector<WebKit::WebCompositionUnderline>, /* underlines */
+ int, /* selectiont_start */
+ int /* selection_end */)
+
+ // This message confirms an ongoing composition.
+ IPC_MESSAGE_ROUTED0(ViewMsg_ImeConfirmComposition)
+
+ // This passes a set of webkit preferences down to the renderer.
+ IPC_MESSAGE_ROUTED1(ViewMsg_UpdateWebPreferences, WebPreferences)
+
+ // Used to notify the render-view that the browser has received a reply for
+ // the Find operation and is interested in receiving the next one. This is
+ // used to prevent the renderer from spamming the browser process with
+ // results.
+ IPC_MESSAGE_ROUTED0(ViewMsg_FindReplyACK)
+
+ // Used to notify the render-view that we have received a target URL. Used
+ // to prevent target URLs spamming the browser.
+ IPC_MESSAGE_ROUTED0(ViewMsg_UpdateTargetURL_ACK)
+
+ // Sets the alternate error page URL (link doctor) for the renderer process.
+ IPC_MESSAGE_ROUTED1(ViewMsg_SetAltErrorPageURL, GURL)
+
+ // Install the first missing pluign.
+ IPC_MESSAGE_ROUTED0(ViewMsg_InstallMissingPlugin)
+
+ // Tells the renderer to empty its plugin list cache, optional reloading
+ // pages containing plugins.
+ IPC_MESSAGE_CONTROL1(ViewMsg_PurgePluginListCache,
+ bool /* reload_pages */)
+
+ IPC_MESSAGE_ROUTED1(ViewMsg_RunFileChooserResponse,
+ std::vector<FilePath> /* selected files */)
+
+ // Used to instruct the RenderView to go into "view source" mode.
+ IPC_MESSAGE_ROUTED0(ViewMsg_EnableViewSourceMode)
+
+ // Get all savable resource links from current webpage, include main
+ // frame and sub-frame.
+ IPC_MESSAGE_ROUTED1(ViewMsg_GetAllSavableResourceLinksForCurrentPage,
+ GURL /* url of page which is needed to save */)
+
+ // Get html data by serializing all frames of current page with lists
+ // which contain all resource links that have local copy.
+ IPC_MESSAGE_ROUTED3(ViewMsg_GetSerializedHtmlDataForCurrentPageWithLocalLinks,
+ std::vector<GURL> /* urls that have local copy */,
+ std::vector<FilePath> /* paths of local copy */,
+ FilePath /* local directory path */)
+
+ // Requests application info for the page. The renderer responds back with
+ // ViewHostMsg_DidGetApplicationInfo.
+ IPC_MESSAGE_ROUTED1(ViewMsg_GetApplicationInfo, int32 /*page_id*/)
+
+ // Requests the renderer to download the specified favicon image encode it as
+ // PNG and send the PNG data back ala ViewHostMsg_DidDownloadFavIcon.
+ IPC_MESSAGE_ROUTED3(ViewMsg_DownloadFavIcon,
+ int /* identifier for the request */,
+ GURL /* URL of the image */,
+ int /* Size of the image. Normally 0, but set if you have
+ a preferred image size to request, such as when
+ downloading the favicon */)
+
+ // When a renderer sends a ViewHostMsg_Focus to the browser process,
+ // the browser has the option of sending a ViewMsg_CantFocus back to
+ // the renderer.
+ IPC_MESSAGE_ROUTED0(ViewMsg_CantFocus)
+
+ // Instructs the renderer to invoke the frame's shouldClose method, which
+ // runs the onbeforeunload event handler. Expects the result to be returned
+ // via ViewHostMsg_ShouldClose.
+ IPC_MESSAGE_ROUTED0(ViewMsg_ShouldClose)
+
+ // Instructs the renderer to close the current page, including running the
+ // onunload event handler. See the struct in render_messages.h for more.
+ //
+ // Expects a ClosePage_ACK message when finished, where the parameters are
+ // echoed back.
+ IPC_MESSAGE_ROUTED1(ViewMsg_ClosePage,
+ ViewMsg_ClosePage_Params)
+
+ // Asks the renderer to send back stats on the WebCore cache broken down by
+ // resource types.
+ IPC_MESSAGE_CONTROL0(ViewMsg_GetCacheResourceStats)
+
+ // Asks the renderer to send back Histograms.
+ IPC_MESSAGE_CONTROL1(ViewMsg_GetRendererHistograms,
+ int /* sequence number of Renderer Histograms. */)
+
+#if defined(USE_TCMALLOC)
+ // Asks the renderer to send back tcmalloc stats.
+ IPC_MESSAGE_CONTROL0(ViewMsg_GetRendererTcmalloc)
+#endif
+
+ // Asks the renderer to send back V8 heap stats.
+ IPC_MESSAGE_CONTROL0(ViewMsg_GetV8HeapStats)
+
+ // Notifies the renderer about ui theme changes
+ IPC_MESSAGE_ROUTED0(ViewMsg_ThemeChanged)
+
+ // Notifies the renderer that a paint is to be generated for the rectangle
+ // passed in.
+ IPC_MESSAGE_ROUTED1(ViewMsg_Repaint,
+ gfx::Size /* The view size to be repainted */)
+
+ // Posts a message to the renderer.
+ IPC_MESSAGE_ROUTED3(ViewMsg_HandleMessageFromExternalHost,
+ std::string /* The message */,
+ std::string /* The origin */,
+ std::string /* The target*/)
+
+ // Sent to the renderer when a popup window should no longer count against
+ // the current popup count (either because it's not a popup or because it was
+ // a generated by a user action or because a constrained popup got turned
+ // into a full window).
+ IPC_MESSAGE_ROUTED0(ViewMsg_DisassociateFromPopupCount)
+
+ // The browser sends this to a renderer process in response to a
+ // ViewHostMsg_EstablishGpuChannel message.
+ IPC_MESSAGE_CONTROL1(ViewMsg_GpuChannelEstablished,
+ IPC::ChannelHandle /* handle to channel */)
+
+ // Notifies the renderer of the appcache that has been selected for a
+ // a particular host. This is sent in reply to AppCacheMsg_SelectCache.
+ IPC_MESSAGE_CONTROL3(AppCacheMsg_CacheSelected,
+ int /* host_id */,
+ int64 /* appcache_id */,
+ appcache::Status)
+
+ // Notifies the renderer of an AppCache status change.
+ IPC_MESSAGE_CONTROL2(AppCacheMsg_StatusChanged,
+ std::vector<int> /* host_ids */,
+ appcache::Status)
+
+ // Notifies the renderer of an AppCache event other than the
+ // progress event which has a seperate message.
+ IPC_MESSAGE_CONTROL2(AppCacheMsg_EventRaised,
+ std::vector<int> /* host_ids */,
+ appcache::EventID)
+
+ // Notifies the renderer of an AppCache progress event.
+ IPC_MESSAGE_CONTROL4(AppCacheMsg_ProgressEventRaised,
+ std::vector<int> /* host_ids */,
+ GURL /* url being processed */,
+ int /* total */,
+ int /* complete */)
+
+ // Notifies the renderer of an AppCache error event.
+ IPC_MESSAGE_CONTROL2(AppCacheMsg_ErrorEventRaised,
+ std::vector<int> /* host_ids */,
+ std::string /* error_message */)
+
+ // Notifies the renderer of an AppCache logging message.
+ IPC_MESSAGE_CONTROL3(AppCacheMsg_LogMessage,
+ int /* host_id */,
+ int /* log_level */,
+ std::string /* message */)
+
+ // Notifies the renderer of the fact that AppCache access was blocked.
+ IPC_MESSAGE_CONTROL2(AppCacheMsg_ContentBlocked,
+ int /* host_id */,
+ GURL /* manifest_url */)
+
+ // Reply to the ViewHostMsg_QueryFormFieldAutoFill message with the
+ // AutoFill suggestions.
+ IPC_MESSAGE_ROUTED4(ViewMsg_AutoFillSuggestionsReturned,
+ int /* id of the request message */,
+ std::vector<string16> /* names */,
+ std::vector<string16> /* labels */,
+ std::vector<int> /* unique_ids */)
+
+ // Reply to the ViewHostMsg_FillAutoFillFormData message with the
+ // AutoFill form data.
+ IPC_MESSAGE_ROUTED2(ViewMsg_AutoFillFormDataFilled,
+ int /* id of the request message */,
+ webkit_glue::FormData /* form data */)
+
+ // Sent by the Browser process to alert a window about whether a it should
+ // allow a scripted window.close(). The renderer assumes every new window is a
+ // blocked popup until notified otherwise.
+ IPC_MESSAGE_ROUTED1(ViewMsg_AllowScriptToClose,
+ bool /* script_can_close */)
+
+ // Sent by AudioRendererHost to renderer to request an audio packet.
+ IPC_MESSAGE_ROUTED3(ViewMsg_RequestAudioPacket,
+ int /* stream id */,
+ uint32 /* bytes in buffer */,
+ int64 /* message timestamp */)
+
+ // Tell the renderer process that the audio stream has been created, renderer
+ // process would be given a ShareMemoryHandle that it should write to from
+ // then on.
+ IPC_MESSAGE_ROUTED3(ViewMsg_NotifyAudioStreamCreated,
+ int /* stream id */,
+ base::SharedMemoryHandle /* handle */,
+ uint32 /* length */)
+
+ // Tell the renderer process that a low latency audio stream has been created,
+ // renderer process would be given a SyncSocket that it should write to from
+ // then on.
+#if defined(OS_WIN)
+ IPC_MESSAGE_ROUTED4(ViewMsg_NotifyLowLatencyAudioStreamCreated,
+ int /* stream id */,
+ base::SharedMemoryHandle /* handle */,
+ base::SyncSocket::Handle /* socket handle */,
+ uint32 /* length */)
+#else
+ IPC_MESSAGE_ROUTED4(ViewMsg_NotifyLowLatencyAudioStreamCreated,
+ int /* stream id */,
+ base::SharedMemoryHandle /* handle */,
+ base::FileDescriptor /* socket handle */,
+ uint32 /* length */)
+#endif
+
+ // Notification message sent from AudioRendererHost to renderer for state
+ // update after the renderer has requested a Create/Start/Close.
+ IPC_MESSAGE_ROUTED2(ViewMsg_NotifyAudioStreamStateChanged,
+ int /* stream id */,
+ ViewMsg_AudioStreamState_Params /* new state */)
+
+ IPC_MESSAGE_ROUTED2(ViewMsg_NotifyAudioStreamVolume,
+ int /* stream id */,
+ double /* volume */)
+
+ // Notification that a move or resize renderer's containing window has
+ // started.
+ IPC_MESSAGE_ROUTED0(ViewMsg_MoveOrResizeStarted)
+
+ // The browser sends this message in response to all extension api calls.
+ IPC_MESSAGE_ROUTED4(ViewMsg_ExtensionResponse,
+ int /* request_id */,
+ bool /* success */,
+ std::string /* response */,
+ std::string /* error */)
+
+ // This message is optionally routed. If used as a control message, it
+ // will call a javascript function in every registered context in the
+ // target process. If routed, it will be restricted to the contexts that
+ // are part of the target RenderView.
+ // |args| is a list of primitive Value types that are passed to the function.
+ IPC_MESSAGE_ROUTED4(ViewMsg_ExtensionMessageInvoke,
+ std::string /* function_name */,
+ ListValue /* args */,
+ bool /* requires incognito access */,
+ GURL /* event URL */)
+
+ // Tell the renderer process all known extension function names.
+ IPC_MESSAGE_CONTROL1(ViewMsg_Extension_SetFunctionNames,
+ std::vector<std::string>)
+
+ // Tell the renderer process which permissions the given extension has. See
+ // Extension::Permissions for which elements correspond to which permissions.
+ IPC_MESSAGE_CONTROL2(ViewMsg_Extension_SetAPIPermissions,
+ std::string /* extension_id */,
+ std::vector<std::string> /* permissions */)
+
+ // Tell the renderer process which host permissions the given extension has.
+ IPC_MESSAGE_CONTROL2(
+ ViewMsg_Extension_SetHostPermissions,
+ GURL /* source extension's origin */,
+ std::vector<URLPattern> /* URLPatterns the extension can access */)
+
+ // Tell the renderer process that the given extension is enabled or disabled
+ // for incognito mode.
+ IPC_MESSAGE_CONTROL2(ViewMsg_Extension_ExtensionSetIncognitoEnabled,
+ std::string /* extension_id */,
+ bool /* enabled */)
+
+ // Tell the renderer process all known page action ids for a particular
+ // extension.
+ IPC_MESSAGE_CONTROL2(ViewMsg_Extension_UpdatePageActions,
+ std::string /* extension_id */,
+ std::vector<std::string> /* page_action_ids */)
+
+ // Changes the text direction of the currently selected input field (if any).
+ IPC_MESSAGE_ROUTED1(ViewMsg_SetTextDirection,
+ WebKit::WebTextDirection /* direction */)
+
+ // Tells the renderer to clear the focused node (if any).
+ IPC_MESSAGE_ROUTED0(ViewMsg_ClearFocusedNode)
+
+ // Make the RenderView transparent and render it onto a custom background. The
+ // background will be tiled in both directions if it is not large enough.
+ IPC_MESSAGE_ROUTED1(ViewMsg_SetBackground,
+ SkBitmap /* background */)
+
+ // Reply to ViewHostMsg_RequestMove, ViewHostMsg_ShowView, and
+ // ViewHostMsg_ShowWidget to inform the renderer that the browser has
+ // processed the move. The browser may have ignored the move, but it finished
+ // processing. This is used because the renderer keeps a temporary cache of
+ // the widget position while these asynchronous operations are in progress.
+ IPC_MESSAGE_ROUTED0(ViewMsg_Move_ACK)
+
+ // Used to instruct the RenderView to send back updates to the preferred size.
+ IPC_MESSAGE_ROUTED1(ViewMsg_EnablePreferredSizeChangedMode, int /*flags*/)
+
+ // Used to tell the renderer not to add scrollbars with height and
+ // width below a threshold.
+ IPC_MESSAGE_ROUTED1(ViewMsg_DisableScrollbarsForSmallWindows,
+ gfx::Size /* disable_scrollbar_size_limit */)
+
+ // Used to inform the renderer that the browser has displayed its
+ // requested notification.
+ IPC_MESSAGE_ROUTED1(ViewMsg_PostDisplayToNotificationObject,
+ int /* notification_id */)
+
+ // Used to inform the renderer that the browser has encountered an error
+ // trying to display a notification.
+ IPC_MESSAGE_ROUTED2(ViewMsg_PostErrorToNotificationObject,
+ int /* notification_id */,
+ string16 /* message */)
+
+ // Informs the renderer that the one if its notifications has closed.
+ IPC_MESSAGE_ROUTED2(ViewMsg_PostCloseToNotificationObject,
+ int /* notification_id */,
+ bool /* by_user */)
+
+ // Informs the renderer that the one if its notifications has closed.
+ IPC_MESSAGE_ROUTED1(ViewMsg_PermissionRequestDone,
+ int /* request_id */)
+
+ // Activate/deactivate the RenderView (i.e., set its controls' tint
+ // accordingly, etc.).
+ IPC_MESSAGE_ROUTED1(ViewMsg_SetActive,
+ bool /* active */)
+
+#if defined(OS_MACOSX)
+ // Let the RenderView know its window has changed visibility.
+ IPC_MESSAGE_ROUTED1(ViewMsg_SetWindowVisibility,
+ bool /* visibile */)
+
+ // Let the RenderView know its window's frame has changed.
+ IPC_MESSAGE_ROUTED2(ViewMsg_WindowFrameChanged,
+ gfx::Rect /* window frame */,
+ gfx::Rect /* content view frame */)
+#endif
+
+ // Response message to ViewHostMsg_CreateShared/DedicatedWorker.
+ // Sent when the worker has started.
+ IPC_MESSAGE_ROUTED0(ViewMsg_WorkerCreated)
+
+ // Tell the renderer which browser window it's being attached to.
+ IPC_MESSAGE_ROUTED1(ViewMsg_UpdateBrowserWindowId,
+ int /* id of browser window */)
+
+ // Tell the renderer which type this view is.
+ IPC_MESSAGE_ROUTED1(ViewMsg_NotifyRenderViewType,
+ ViewType::Type /* view_type */)
+
+ // Notification that renderer should run some JavaScript code.
+ IPC_MESSAGE_ROUTED1(ViewMsg_ExecuteCode,
+ ViewMsg_ExecuteCode_Params)
+
+ // Notifies the child process of the new database size
+ IPC_MESSAGE_CONTROL4(ViewMsg_DatabaseUpdateSize,
+ string16 /* the origin */,
+ string16 /* the database name */,
+ int64 /* the new database size */,
+ int64 /* space available to origin */)
+
+ // Asks the child process to close a database immediately
+ IPC_MESSAGE_CONTROL2(ViewMsg_DatabaseCloseImmediately,
+ string16 /* the origin */,
+ string16 /* the database name */)
+
+ // Storage events are broadcast to renderer processes.
+ IPC_MESSAGE_CONTROL1(ViewMsg_DOMStorageEvent,
+ ViewMsg_DOMStorageEvent_Params)
+
+ // IDBCallback message handlers.
+ IPC_MESSAGE_CONTROL1(ViewMsg_IDBCallbacksSuccessNull,
+ int32 /* response_id */)
+ IPC_MESSAGE_CONTROL2(ViewMsg_IDBCallbacksSuccessIDBDatabase,
+ int32 /* response_id */,
+ int32 /* idb_database_id */)
+ IPC_MESSAGE_CONTROL2(ViewMsg_IDBCallbacksSuccessIndexedDBKey,
+ int32 /* response_id */,
+ IndexedDBKey /* indexed_db_key */)
+ IPC_MESSAGE_CONTROL2(ViewMsg_IDBCallbacksSuccessIDBObjectStore,
+ int32 /* response_id */,
+ int32 /* idb_object_store_id */)
+ IPC_MESSAGE_CONTROL2(ViewMsg_IDBCallbacksSuccessIDBIndex,
+ int32 /* response_id */,
+ int32 /* idb_index_id */)
+ IPC_MESSAGE_CONTROL2(ViewMsg_IDBCallbacksSuccessSerializedScriptValue,
+ int32 /* response_id */,
+ SerializedScriptValue /* serialized_script_value */)
+ IPC_MESSAGE_CONTROL3(ViewMsg_IDBCallbacksError,
+ int32 /* response_id */,
+ int /* code */,
+ string16 /* message */)
+
+#if defined(IPC_MESSAGE_LOG_ENABLED)
+ // Tell the renderer process to begin or end IPC message logging.
+ IPC_MESSAGE_CONTROL1(ViewMsg_SetIPCLoggingEnabled,
+ bool /* on or off */)
+#endif
+
+ // Socket Stream messages:
+ // These are messages from the browser to the SocketStreamHandle on
+ // a renderer.
+
+ // A |socket_id| is assigned by ViewHostMsg_SocketStream_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(ViewMsg_SocketStream_Connected,
+ int /* socket_id */,
+ int /* max_pending_send_allowed */)
+
+ // |data| is received on the Socket Stream.
+ IPC_MESSAGE_CONTROL2(ViewMsg_SocketStream_ReceivedData,
+ int /* socket_id */,
+ std::vector<char> /* data */)
+
+ // |amount_sent| bytes of data requested by
+ // ViewHostMsg_SocketStream_SendData has been sent on the Socket Stream.
+ IPC_MESSAGE_CONTROL2(ViewMsg_SocketStream_SentData,
+ int /* socket_id */,
+ int /* amount_sent */)
+
+ // The Socket Stream is closed.
+ IPC_MESSAGE_CONTROL1(ViewMsg_SocketStream_Closed,
+ int /* socket_id */)
+
+ // SpellChecker messages.
+
+ // Passes some initialization params to the renderer's spellchecker. This can
+ // be called directly after startup or in (async) response to a
+ // RequestDictionary ViewHost message.
+ IPC_MESSAGE_CONTROL4(ViewMsg_SpellChecker_Init,
+ IPC::PlatformFileForTransit /* bdict_file */,
+ std::vector<std::string> /* custom_dict_words */,
+ std::string /* language */,
+ bool /* auto spell correct */)
+
+ // A word has been added to the custom dictionary; update the local custom
+ // word list.
+ IPC_MESSAGE_CONTROL1(ViewMsg_SpellChecker_WordAdded,
+ std::string /* word */)
+
+ // Toggle the auto spell correct functionality.
+ IPC_MESSAGE_CONTROL1(ViewMsg_SpellChecker_EnableAutoSpellCorrect,
+ bool /* enable */)
+
+ // Executes custom context menu action that was provided from WebKit.
+ IPC_MESSAGE_ROUTED1(ViewMsg_CustomContextMenuAction,
+ unsigned /* action */)
+
+ // Tells the renderer to translate the page contents from one language to
+ // another.
+ IPC_MESSAGE_ROUTED4(ViewMsg_TranslatePage,
+ int /* page id */,
+ std::string, /* the script injected in the page */
+ std::string, /* BCP 47/RFC 5646 language code the page
+ is in */
+ std::string /* BCP 47/RFC 5646 language code to translate
+ to */)
+
+ // Tells the renderer to revert the text of translated page to its original
+ // contents.
+ IPC_MESSAGE_ROUTED1(ViewMsg_RevertTranslation,
+ int /* page id */)
+
+ // Reply in response to ViewHostMsg_Geolocation_RequestPermission.
+ IPC_MESSAGE_ROUTED2(ViewMsg_Geolocation_PermissionSet,
+ int /* bridge_id */,
+ bool /* is_allowed */)
+
+ // Sent after ViewHostMsg_Geolocation_StartUpdating iff the user has granted
+ // permission and we have a position available or an error occurs (such as
+ // permission denied, position unavailable, etc.)
+ IPC_MESSAGE_ROUTED1(ViewMsg_Geolocation_PositionUpdated,
+ Geoposition /* geoposition */)
+
+ // Sent on process startup to indicate whether this process is running in
+ // incognito mode.
+ IPC_MESSAGE_CONTROL1(ViewMsg_SetIsIncognitoProcess,
+ bool /* is_incognito_processs */)
+
+ // Notification that the list of extensions with web extents has been updated.
+ IPC_MESSAGE_CONTROL1(ViewMsg_ExtensionExtentsUpdated,
+ ViewMsg_ExtensionExtentsUpdated_Params)
+
+ // Request a tree of Accessibility data from the render process.
+ IPC_MESSAGE_ROUTED0(ViewMsg_GetAccessibilityTree)
+
+ // Relay a request from assistive technology to set focus to a given node.
+ IPC_MESSAGE_ROUTED1(ViewMsg_SetAccessibilityFocus,
+ int /* object id */)
+
+ // Relay a request from assistive technology to perform the default action
+ // on a given node.
+ IPC_MESSAGE_ROUTED1(ViewMsg_AccessibilityDoDefaultAction,
+ int /* object id */)
+
+IPC_END_MESSAGES(View)
+
+
+//-----------------------------------------------------------------------------
+// TabContents messages
+// These are messages sent from the renderer to the browser process.
+
+IPC_BEGIN_MESSAGES(ViewHost)
+ // Sent by the renderer when it is creating a new window. The browser creates
+ // a tab for it and responds with a ViewMsg_CreatingNew_ACK. If route_id is
+ // MSG_ROUTING_NONE, the view couldn't be created.
+ IPC_SYNC_MESSAGE_CONTROL1_2(ViewHostMsg_CreateWindow,
+ ViewHostMsg_CreateWindow_Params,
+ int /* route_id */,
+ int64 /* cloned_session_storage_namespace_id */)
+
+ // Similar to ViewHostMsg_CreateWindow, except used for sub-widgets, like
+ // <select> dropdowns. This message is sent to the TabContents that
+ // contains the widget being created.
+ IPC_SYNC_MESSAGE_CONTROL2_1(ViewHostMsg_CreateWidget,
+ int /* opener_id */,
+ WebKit::WebPopupType /* popup type */,
+ int /* route_id */)
+
+ // These two messages are sent to the parent RenderViewHost to display the
+ // page/widget that was created by CreateWindow/CreateWidget. routing_id
+ // refers to the id that was returned from the Create message above.
+ // The initial_position parameter is a rectangle in screen coordinates.
+ //
+ // FUTURE: there will probably be flags here to control if the result is
+ // in a new window.
+ IPC_MESSAGE_ROUTED4(ViewHostMsg_ShowView,
+ int /* route_id */,
+ WindowOpenDisposition /* disposition */,
+ gfx::Rect /* initial_pos */,
+ bool /* opened_by_user_gesture */)
+
+ IPC_MESSAGE_ROUTED2(ViewHostMsg_ShowWidget,
+ int /* route_id */,
+ gfx::Rect /* initial_pos */)
+
+ // Message to show a popup menu using native cocoa controls (Mac only).
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_ShowPopup,
+ ViewHostMsg_ShowPopup_Params)
+
+ // This message is sent after ViewHostMsg_ShowView to cause the RenderView
+ // to run in a modal fashion until it is closed.
+ IPC_SYNC_MESSAGE_ROUTED0_0(ViewHostMsg_RunModal)
+
+ IPC_MESSAGE_CONTROL1(ViewHostMsg_UpdatedCacheStats,
+ WebKit::WebCache::UsageStats /* stats */)
+
+ // Indicates the renderer is ready in response to a ViewMsg_New or
+ // a ViewMsg_CreatingNew_ACK.
+ IPC_MESSAGE_ROUTED0(ViewHostMsg_RenderViewReady)
+
+ // Indicates the renderer process is gone. This actually is sent by the
+ // browser process to itself, but keeps the interface cleaner.
+ IPC_MESSAGE_ROUTED0(ViewHostMsg_RenderViewGone)
+
+ // Sent by the renderer process to request that the browser close the view.
+ // This corresponds to the window.close() API, and the browser may ignore
+ // this message. Otherwise, the browser will generates a ViewMsg_Close
+ // message to close the view.
+ IPC_MESSAGE_ROUTED0(ViewHostMsg_Close)
+
+ // Sent by the renderer process to request that the browser move the view.
+ // This corresponds to the window.resizeTo() and window.moveTo() APIs, and
+ // the browser may ignore this message.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_RequestMove,
+ gfx::Rect /* position */)
+
+ // Notifies the browser that a frame in the view has changed. This message
+ // has a lot of parameters and is packed/unpacked by functions defined in
+ // render_messages.h.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_FrameNavigate,
+ ViewHostMsg_FrameNavigate_Params)
+
+ // Notifies the browser that we have session history information.
+ // page_id: unique ID that allows us to distinguish between history entries.
+ IPC_MESSAGE_ROUTED2(ViewHostMsg_UpdateState,
+ int32 /* page_id */,
+ std::string /* state */)
+
+ // Notifies the browser that a document has been loaded in a frame.
+ IPC_MESSAGE_ROUTED0(ViewHostMsg_DocumentLoadedInFrame)
+
+ // Changes the title for the page in the UI when the page is navigated or the
+ // title changes.
+ // TODO(darin): use a UTF-8 string to reduce data size
+ IPC_MESSAGE_ROUTED2(ViewHostMsg_UpdateTitle, int32, std::wstring)
+
+ // Changes the icon url for the page in the UI.
+ IPC_MESSAGE_ROUTED2(ViewHostMsg_UpdateIconURL, int32, GURL)
+
+ // Change the encoding name of the page in UI when the page has detected
+ // proper encoding name.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_UpdateEncoding,
+ std::string /* new encoding name */)
+
+ // Notifies the browser that we want to show a destination url for a potential
+ // action (e.g. when the user is hovering over a link).
+ IPC_MESSAGE_ROUTED2(ViewHostMsg_UpdateTargetURL, int32, GURL)
+
+ // Sent when the renderer starts loading the page. This corresponds to
+ // WebKit's notion of the throbber starting. Note that sometimes you may get
+ // duplicates of these during a single load.
+ IPC_MESSAGE_ROUTED0(ViewHostMsg_DidStartLoading)
+
+ // Sent when the renderer is done loading a page. This corresponds to WebKit's
+ // noption of the throbber stopping.
+ IPC_MESSAGE_ROUTED0(ViewHostMsg_DidStopLoading)
+
+ // Sent when the document element is available for the toplevel frame. This
+ // happens after the page starts loading, but before all resources are
+ // finished.
+ IPC_MESSAGE_ROUTED0(ViewHostMsg_DocumentAvailableInMainFrame)
+
+ // Sent when after the onload handler has been invoked for the document
+ // in the toplevel frame.
+ IPC_MESSAGE_ROUTED0(ViewHostMsg_DocumentOnLoadCompletedInMainFrame)
+
+ // Sent when the renderer loads a resource from its memory cache.
+ // The security info is non empty if the resource was originally loaded over
+ // a secure connection.
+ // Note: May only be sent once per URL per frame per committed load.
+ IPC_MESSAGE_ROUTED4(ViewHostMsg_DidLoadResourceFromMemoryCache,
+ GURL /* url */,
+ std::string /* frame_origin */,
+ std::string /* main_frame_origin */,
+ std::string /* security info */)
+
+ // Sent when the renderer displays insecure content in a secure page.
+ IPC_MESSAGE_ROUTED0(ViewHostMsg_DidDisplayInsecureContent)
+
+ // Sent when the renderer runs insecure content in a secure origin.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_DidRunInsecureContent,
+ std::string /* security_origin */)
+
+ // Sent when the renderer starts a provisional load for a frame.
+ IPC_MESSAGE_ROUTED2(ViewHostMsg_DidStartProvisionalLoadForFrame,
+ bool /* true if it is the main frame */,
+ GURL /* url */)
+
+ // Sent when the renderer fails a provisional load with an error.
+ IPC_MESSAGE_ROUTED4(ViewHostMsg_DidFailProvisionalLoadWithError,
+ bool /* true if it is the main frame */,
+ int /* error_code */,
+ GURL /* url */,
+ bool /* true if the failure is the result of
+ navigating to a POST again and we're going to
+ show the POST interstitial */ )
+
+ // Tells the render view that a ViewHostMsg_PaintAtSize message was
+ // processed, and the DIB is ready for use. |tag| has the same value that
+ // the tag sent along with ViewMsg_PaintAtSize.
+ IPC_MESSAGE_ROUTED2(ViewHostMsg_PaintAtSize_ACK,
+ int /* tag */,
+ gfx::Size /* size */)
+
+ // Sent to update part of the view. In response to this message, the host
+ // generates a ViewMsg_UpdateRect_ACK message.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_UpdateRect,
+ ViewHostMsg_UpdateRect_Params)
+
+ // Sent to create, update and destroy video layers.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_CreateVideo,
+ gfx::Size /* size */)
+ IPC_MESSAGE_ROUTED2(ViewHostMsg_UpdateVideo,
+ TransportDIB::Id /* bitmap */,
+ gfx::Rect /* bitmap_rect */)
+ IPC_MESSAGE_ROUTED0(ViewHostMsg_DestroyVideo)
+
+ // Sent by the renderer when GPU compositing is enabled or disabled to notify
+ // the browser whether or not is should do paiting.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_GpuRenderingActivated,
+ bool /* true if the GPU process renders to window */)
+
+ // Acknowledges receipt of a ViewMsg_HandleInputEvent message.
+ // Payload is a WebInputEvent::Type which is the type of the event, followed
+ // by an optional WebInputEvent which is provided only if the event was not
+ // processed.
+ IPC_MESSAGE_ROUTED0(ViewHostMsg_HandleInputEvent_ACK)
+
+ IPC_MESSAGE_ROUTED0(ViewHostMsg_Focus)
+ IPC_MESSAGE_ROUTED0(ViewHostMsg_Blur)
+ IPC_MESSAGE_ROUTED0(ViewHostMsg_FocusedNodeChanged)
+
+ // Returns the window location of the given window.
+ // TODO(shess): Provide a mapping from reply_msg->routing_id() to
+ // HWND so that we can eliminate the NativeViewId parameter.
+ IPC_SYNC_MESSAGE_ROUTED1_1(ViewHostMsg_GetWindowRect,
+ gfx::NativeViewId /* window */,
+ gfx::Rect /* Out: Window location */)
+
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_SetCursor, WebCursor)
+ // Result of string search in the page.
+ // Response to ViewMsg_Find with the results of the requested find-in-page
+ // search, the number of matches found and the selection rect (in screen
+ // coordinates) for the string found. If |final_update| is false, it signals
+ // that this is not the last Find_Reply message - more will be sent as the
+ // scoping effort continues.
+ IPC_MESSAGE_ROUTED5(ViewHostMsg_Find_Reply,
+ int /* request_id */,
+ int /* number of matches */,
+ gfx::Rect /* selection_rect */,
+ int /* active_match_ordinal */,
+ bool /* final_update */)
+
+ // Makes a resource request via the browser.
+ IPC_MESSAGE_ROUTED2(ViewHostMsg_RequestResource,
+ int /* request_id */,
+ ViewHostMsg_Resource_Request)
+
+ // Cancels a resource request with the ID given as the parameter.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_CancelRequest,
+ int /* request_id */)
+
+ // Follows a redirect that occured for the resource request with the ID given
+ // as the parameter.
+ IPC_MESSAGE_ROUTED3(ViewHostMsg_FollowRedirect,
+ int /* request_id */,
+ bool /* has_new_first_party_for_cookies */,
+ GURL /* new_first_party_for_cookies */)
+
+ // Makes a synchronous resource request via the browser.
+ IPC_SYNC_MESSAGE_ROUTED2_1(ViewHostMsg_SyncLoad,
+ int /* request_id */,
+ ViewHostMsg_Resource_Request,
+ SyncLoadResult)
+
+ // Used to set a cookie. The cookie is set asynchronously, but will be
+ // available to a subsequent ViewHostMsg_GetCookies request.
+ IPC_MESSAGE_ROUTED3(ViewHostMsg_SetCookie,
+ GURL /* url */,
+ GURL /* first_party_for_cookies */,
+ std::string /* cookie */)
+
+ // Used to get cookies for the given URL. This may be blocked by a user
+ // prompt to validate a previous SetCookie message.
+ IPC_SYNC_MESSAGE_ROUTED2_1(ViewHostMsg_GetCookies,
+ GURL /* url */,
+ GURL /* first_party_for_cookies */,
+ std::string /* cookies */)
+
+ // Used to get raw cookie information for the given URL. This may be blocked
+ // by a user prompt to validate a previous SetCookie message.
+ IPC_SYNC_MESSAGE_ROUTED2_1(ViewHostMsg_GetRawCookies,
+ GURL /* url */,
+ GURL /* first_party_for_cookies */,
+ std::vector<webkit_glue::WebCookie>
+ /* raw_cookies */)
+
+ // Used to delete cookie for the given URL and name
+ IPC_SYNC_MESSAGE_CONTROL2_0(ViewHostMsg_DeleteCookie,
+ GURL /* url */,
+ std::string /* cookie_name */)
+
+ // Used to get raw cookie information for the given URL
+ IPC_SYNC_MESSAGE_CONTROL2_1(ViewHostMsg_GetCookiesEnabled,
+ GURL /* url */,
+ GURL /* first_party_for_cookies */,
+ bool /* enabled */)
+
+ // Used to get the list of plugins
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_GetPlugins,
+ bool /* refresh*/,
+ std::vector<WebPluginInfo> /* plugins */)
+
+ // Returns a path to a plugin for the given url and mime type. If there's
+ // no plugin, an empty string is returned.
+ IPC_SYNC_MESSAGE_CONTROL3_2(ViewHostMsg_GetPluginPath,
+ GURL /* url */,
+ GURL /* policy_url */,
+ std::string /* mime_type */,
+ FilePath /* filename */,
+ std::string /* actual mime type for url */)
+
+ // Requests spellcheck for a word.
+ IPC_SYNC_MESSAGE_ROUTED2_2(ViewHostMsg_SpellCheck,
+ string16 /* word to check */,
+ int /* document tag*/,
+ int /* misspell location */,
+ int /* misspell length */)
+
+ // Asks the browser for a unique document tag.
+ IPC_SYNC_MESSAGE_ROUTED0_1(ViewHostMsg_GetDocumentTag,
+ int /* the tag */)
+
+
+ // This message tells the spellchecker that a document, identified by an int
+ // tag, has been closed and all of the ignored words for that document can be
+ // forgotten.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_DocumentWithTagClosed,
+ int /* the tag */)
+
+ // Tells the browser to display or not display the SpellingPanel
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_ShowSpellingPanel,
+ bool /* if true, then show it, otherwise hide it*/)
+
+ // Tells the browser to update the spelling panel with the given word.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_UpdateSpellingPanelWithMisspelledWord,
+ string16 /* the word to update the panel with */)
+
+ // Tells the browser that content in the current page was blocked due to the
+ // user's content settings.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_ContentBlocked,
+ ContentSettingsType /* type of blocked content */)
+
+ // Tells the browser that a specific Appcache manifest in the current page
+ // was accessed.
+ IPC_MESSAGE_ROUTED2(ViewHostMsg_AppCacheAccessed,
+ GURL /* manifest url */,
+ bool /* blocked by policy */)
+
+ // Tells the browser that a specific Web database in the current page was
+ // accessed.
+ IPC_MESSAGE_ROUTED5(ViewHostMsg_WebDatabaseAccessed,
+ GURL /* origin url */,
+ string16 /* database name */,
+ string16 /* database display name */,
+ unsigned long /* estimated size */,
+ bool /* blocked by policy */)
+
+ // Initiates a download based on user actions like 'ALT+click'.
+ IPC_MESSAGE_ROUTED2(ViewHostMsg_DownloadUrl,
+ GURL /* url */,
+ GURL /* referrer */)
+
+ // Used to go to the session history entry at the given offset (ie, -1 will
+ // return the "back" item).
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_GoToEntryAtOffset,
+ int /* offset (from current) of history item to get */)
+
+ IPC_SYNC_MESSAGE_ROUTED4_2(ViewHostMsg_RunJavaScriptMessage,
+ std::wstring /* in - alert message */,
+ std::wstring /* in - default prompt */,
+ GURL /* in - originating page URL */,
+ int /* in - dialog flags */,
+ bool /* out - success */,
+ std::wstring /* out - prompt field */)
+
+ // Provides the contents for the given page that was loaded recently.
+ IPC_MESSAGE_ROUTED5(ViewHostMsg_PageContents,
+ GURL /* URL of the page */,
+ int32 /* page id */,
+ string16 /* page contents */,
+ std::string /* page ISO639_1 language code */,
+ bool /* whether the page can be translated */)
+
+ // Used to get the extension message bundle.
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_GetExtensionMessageBundle,
+ std::string /* extension id */,
+ SubstitutionMap /* message bundle */)
+
+ // Specifies the URL as the first parameter (a wstring) and thumbnail as
+ // binary data as the second parameter.
+ IPC_MESSAGE_ROUTED3(ViewHostMsg_Thumbnail,
+ GURL /* url */,
+ ThumbnailScore /* score */,
+ SkBitmap /* bitmap */)
+
+ // Send a snapshot of the tab contents to the render host.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_Snapshot,
+ SkBitmap /* bitmap */)
+
+ // Notification that the url for the favicon of a site has been determined.
+ IPC_MESSAGE_ROUTED2(ViewHostMsg_UpdateFavIconURL,
+ int32 /* page_id */,
+ GURL /* url of the favicon */)
+
+ // Used to tell the parent that the user right clicked on an area of the
+ // content area, and a context menu should be shown for it. The params
+ // object contains information about the node(s) that were selected when the
+ // user right clicked.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_ContextMenu, ContextMenuParams)
+
+ // Requests that the given URL be opened in the specified manner.
+ IPC_MESSAGE_ROUTED3(ViewHostMsg_OpenURL,
+ GURL /* url */,
+ GURL /* referrer */,
+ WindowOpenDisposition /* disposition */)
+
+ // Notifies that the preferred size of the content changed.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_DidContentsPreferredSizeChange,
+ gfx::Size /* pref_size */)
+
+ // Following message is used to communicate the values received by the
+ // callback binding the JS to Cpp.
+ // An instance of browser that has an automation host listening to it can
+ // have a javascript send a native value (string, number, boolean) to the
+ // listener in Cpp. (DomAutomationController)
+ IPC_MESSAGE_ROUTED2(ViewHostMsg_DomOperationResponse,
+ std::string /* json_string */,
+ int /* automation_id */)
+
+ // A message from HTML-based UI. When (trusted) Javascript calls
+ // send(message, args), this message is sent to the browser.
+ IPC_MESSAGE_ROUTED3(ViewHostMsg_DOMUISend,
+ GURL /* source_url */,
+ std::string /* message */,
+ std::string /* args (as a JSON string) */)
+
+ // A message for an external host.
+ IPC_MESSAGE_ROUTED3(ViewHostMsg_ForwardMessageToExternalHost,
+ std::string /* message */,
+ std::string /* origin */,
+ std::string /* target */)
+
+ // A renderer sends this to the browser process when it wants to
+ // create a plugin. The browser will create the plugin process if
+ // necessary, and will return a handle to the channel on success.
+ // On error an empty string is returned.
+ IPC_SYNC_MESSAGE_CONTROL3_2(ViewHostMsg_OpenChannelToPlugin,
+ GURL /* url */,
+ std::string /* mime_type */,
+ std::wstring /* locale */,
+ IPC::ChannelHandle /* handle to channel */,
+ WebPluginInfo /* info */)
+
+ // A renderer sends this to the browser process when it wants to
+ // create connect to the GPU. The browser will create the GPU process if
+ // necessary, and will return a handle to the channel via
+ // a GpuChannelEstablished message.
+ IPC_MESSAGE_CONTROL0(ViewHostMsg_EstablishGpuChannel)
+
+ // A renderer sends this to the browser process to provide a synchronization
+ // point for GPU operations, in particular to make sure the GPU channel has
+ // been established.
+ IPC_SYNC_MESSAGE_CONTROL0_0(ViewHostMsg_SynchronizeGpu)
+
+ // A renderer sends this to the browser process when it wants to start
+ // a new instance of the Native Client process. The browser will launch
+ // the process and return a handle to an IMC channel.
+ IPC_SYNC_MESSAGE_CONTROL2_3(ViewHostMsg_LaunchNaCl,
+ std::wstring /* url for the NaCl module */,
+ int /* channel number */,
+ nacl::FileDescriptor /* imc channel handle */,
+ base::ProcessHandle /* NaCl process handle */,
+ base::ProcessId /* NaCl process id */)
+
+#if defined(USE_X11)
+ // A renderer sends this when it needs a browser-side widget for
+ // hosting a windowed plugin. id is the XID of the plugin window, for which
+ // the container is created.
+ IPC_SYNC_MESSAGE_ROUTED1_0(ViewHostMsg_CreatePluginContainer,
+ gfx::PluginWindowHandle /* id */)
+
+ // Destroy a plugin container previously created using CreatePluginContainer.
+ // id is the XID of the plugin window corresponding to the container that is
+ // to be destroyed.
+ IPC_SYNC_MESSAGE_ROUTED1_0(ViewHostMsg_DestroyPluginContainer,
+ gfx::PluginWindowHandle /* id */)
+#endif
+
+ // Clipboard IPC messages
+
+ // This message is used when the object list does not contain a bitmap.
+ IPC_MESSAGE_CONTROL1(ViewHostMsg_ClipboardWriteObjectsAsync,
+ Clipboard::ObjectMap /* objects */)
+ // This message is used when the object list contains a bitmap.
+ // It is synchronized so that the renderer knows when it is safe to
+ // free the shared memory used to transfer the bitmap.
+ IPC_SYNC_MESSAGE_CONTROL2_0(ViewHostMsg_ClipboardWriteObjectsSync,
+ Clipboard::ObjectMap /* objects */,
+ base::SharedMemoryHandle /* bitmap handle */)
+ IPC_SYNC_MESSAGE_CONTROL2_1(ViewHostMsg_ClipboardIsFormatAvailable,
+ std::string /* format */,
+ Clipboard::Buffer /* buffer */,
+ bool /* result */)
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_ClipboardReadText,
+ Clipboard::Buffer /* buffer */,
+ string16 /* result */)
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_ClipboardReadAsciiText,
+ Clipboard::Buffer /* buffer */,
+ std::string /* result */)
+ IPC_SYNC_MESSAGE_CONTROL1_2(ViewHostMsg_ClipboardReadHTML,
+ Clipboard::Buffer /* buffer */,
+ string16 /* markup */,
+ GURL /* url */)
+
+ IPC_SYNC_MESSAGE_CONTROL1_3(ViewHostMsg_ClipboardReadAvailableTypes,
+ Clipboard::Buffer /* buffer */,
+ bool /* result */,
+ std::vector<string16> /* types */,
+ bool /* contains filenames */)
+ IPC_SYNC_MESSAGE_CONTROL2_3(ViewHostMsg_ClipboardReadData,
+ Clipboard::Buffer /* buffer */,
+ string16 /* type */,
+ bool /* succeeded */,
+ string16 /* data */,
+ string16 /* metadata */)
+ IPC_SYNC_MESSAGE_CONTROL1_2(ViewHostMsg_ClipboardReadFilenames,
+ Clipboard::Buffer /* buffer */,
+ bool /* result */,
+ std::vector<string16> /* filenames */)
+
+#if defined(OS_MACOSX)
+ IPC_MESSAGE_CONTROL1(ViewHostMsg_ClipboardFindPboardWriteStringAsync,
+ string16 /* text */)
+
+ // Request that the browser load a font into shared memory for us.
+ IPC_SYNC_MESSAGE_CONTROL1_2(ViewHostMsg_LoadFont,
+ FontDescriptor /* font to load */,
+ uint32 /* buffer size */,
+ base::SharedMemoryHandle /* font data */)
+#endif
+
+#if defined(OS_WIN)
+ // Request that the given font be loaded by the browser so it's cached by the
+ // OS. Please see ChildProcessHost::PreCacheFont for details.
+ IPC_SYNC_MESSAGE_CONTROL1_0(ViewHostMsg_PreCacheFont,
+ LOGFONT /* font data */)
+#endif // defined(OS_WIN)
+
+ // Returns WebScreenInfo corresponding to the view.
+ // TODO(shess): Provide a mapping from reply_msg->routing_id() to
+ // HWND so that we can eliminate the NativeViewId parameter.
+ IPC_SYNC_MESSAGE_ROUTED1_1(ViewHostMsg_GetScreenInfo,
+ gfx::NativeViewId /* view */,
+ WebKit::WebScreenInfo /* results */)
+
+ // Send the tooltip text for the current mouse position to the browser.
+ IPC_MESSAGE_ROUTED2(ViewHostMsg_SetTooltipText,
+ std::wstring /* tooltip text string */,
+ WebKit::WebTextDirection /* text direction hint */)
+
+ // Notification that the text selection has changed.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_SelectionChanged,
+ std::string /* currently selected text */)
+
+ // Asks the browser to display the file chooser. The result is returned in a
+ // ViewHost_RunFileChooserResponse message.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_RunFileChooser,
+ ViewHostMsg_RunFileChooser_Params)
+
+ // Notification that forms have been seen that are candidates for
+ // filling/submitting by the AutoFillManager.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_FormsSeen,
+ std::vector<webkit_glue::FormData> /* forms */)
+
+ // Notification that password forms have been seen that are candidates for
+ // filling/submitting by the password manager.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_PasswordFormsFound,
+ std::vector<webkit_glue::PasswordForm> /* forms */)
+
+ // Notification that initial layout has occurred and the following password
+ // forms are visible on the page (e.g. not set to display:none.)
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_PasswordFormsVisible,
+ std::vector<webkit_glue::PasswordForm> /* forms */)
+
+ // Notification that a form has been submitted. The user hit the button.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_FormSubmitted,
+ webkit_glue::FormData /* form */)
+
+ // Used to tell the parent the user started dragging in the content area. The
+ // WebDropData struct contains contextual information about the pieces of the
+ // page the user dragged. The parent uses this notification to initiate a
+ // drag session at the OS level.
+ IPC_MESSAGE_ROUTED4(ViewHostMsg_StartDragging,
+ WebDropData /* drop_data */,
+ WebKit::WebDragOperationsMask /* ops_allowed */,
+ SkBitmap /* image */,
+ gfx::Point /* image_offset */)
+
+ // The page wants to update the mouse cursor during a drag & drop operation.
+ // |is_drop_target| is true if the mouse is over a valid drop target.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_UpdateDragCursor,
+ WebKit::WebDragOperation /* drag_operation */)
+
+ // Tells the browser to move the focus to the next (previous if reverse is
+ // true) focusable element.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_TakeFocus, bool /* reverse */)
+
+ // Notification that the page has an OpenSearch description document
+ // associated with it.
+ IPC_MESSAGE_ROUTED3(ViewHostMsg_PageHasOSDD,
+ int32 /* page_id */,
+ GURL /* url of OS description document */,
+ bool /* autodetected */)
+
+ // Find out if the given url's security origin is installed as a search
+ // provider.
+ IPC_SYNC_MESSAGE_ROUTED1_1(
+ ViewHostMsg_GetSearchProviderInstallState,
+ GURL,
+ ViewHostMsg_GetSearchProviderInstallState_Params /* install */)
+
+ // Required for updating text input state.
+ IPC_MESSAGE_ROUTED2(ViewHostMsg_ImeUpdateTextInputState,
+ WebKit::WebTextInputType, /* text_input_type */
+ gfx::Rect /* caret_rect */)
+
+ // Required for cancelling an ongoing input method composition.
+ IPC_MESSAGE_ROUTED0(ViewHostMsg_ImeCancelComposition)
+
+ // Tells the browser that the renderer is done calculating the number of
+ // rendered pages according to the specified settings.
+ IPC_MESSAGE_ROUTED2(ViewHostMsg_DidGetPrintedPagesCount,
+ int /* rendered document cookie */,
+ int /* number of rendered pages */)
+
+ // Sends back to the browser the rendered "printed page" that was requested by
+ // a ViewMsg_PrintPage message or from scripted printing. The memory handle in
+ // this message is already valid in the browser process.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_DidPrintPage,
+ ViewHostMsg_DidPrintPage_Params /* page content */)
+
+ // The renderer wants to know the default print settings.
+ IPC_SYNC_MESSAGE_ROUTED0_1(ViewHostMsg_GetDefaultPrintSettings,
+ ViewMsg_Print_Params /* default_settings */)
+
+#if defined(OS_WIN) || defined(OS_MACOSX)
+ // It's the renderer that controls the printing process when it is generated
+ // by javascript. This step is about showing UI to the user to select the
+ // final print settings. The output parameter is the same as
+ // ViewMsg_PrintPages which is executed implicitly.
+ IPC_SYNC_MESSAGE_ROUTED1_1(ViewHostMsg_ScriptedPrint,
+ ViewHostMsg_ScriptedPrint_Params,
+ ViewMsg_PrintPages_Params
+ /* settings chosen by the user*/)
+#endif // defined(OS_WIN) || defined(OS_MACOSX)
+
+ // WebKit and JavaScript error messages to log to the console
+ // or debugger UI.
+ IPC_MESSAGE_ROUTED3(ViewHostMsg_AddMessageToConsole,
+ std::wstring, /* msg */
+ int32, /* line number */
+ std::wstring /* source id */)
+
+ // Stores new inspector setting in the profile.
+ IPC_MESSAGE_ROUTED2(ViewHostMsg_UpdateInspectorSetting,
+ std::string, /* key */
+ std::string /* value */)
+
+ // Wraps an IPC message that's destined to the DevToolsClient on
+ // DevToolsAgent->browser hop.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_ForwardToDevToolsClient,
+ IPC::Message /* one of DevToolsClientMsg_XXX types */)
+
+ // Wraps an IPC message that's destined to the DevToolsAgent on
+ // DevToolsClient->browser hop.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_ForwardToDevToolsAgent,
+ IPC::Message /* one of DevToolsAgentMsg_XXX types */)
+
+ // Activates (brings to the front) corresponding dev tools window.
+ IPC_MESSAGE_ROUTED0(ViewHostMsg_ActivateDevToolsWindow)
+
+ // Closes dev tools window that is inspecting current render_view_host.
+ IPC_MESSAGE_ROUTED0(ViewHostMsg_CloseDevToolsWindow)
+
+ // Attaches dev tools window that is inspecting current render_view_host.
+ IPC_MESSAGE_ROUTED0(ViewHostMsg_RequestDockDevToolsWindow)
+
+ // Detaches dev tools window that is inspecting current render_view_host.
+ IPC_MESSAGE_ROUTED0(ViewHostMsg_RequestUndockDevToolsWindow)
+
+ // Updates runtime features store in devtools manager in order to support
+ // cross-navigation instrumentation.
+ IPC_MESSAGE_ROUTED2(ViewHostMsg_DevToolsRuntimeFeatureStateChanged,
+ std::string /* feature */,
+ bool /* enabled */)
+
+ // Send back a string to be recorded by UserMetrics.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_UserMetricsRecordAction,
+ std::string /* action */)
+
+ // Send back histograms as vector of pickled-histogram strings.
+ IPC_MESSAGE_CONTROL2(ViewHostMsg_RendererHistograms,
+ int, /* sequence number of Renderer Histograms. */
+ std::vector<std::string>)
+
+#if defined USE_TCMALLOC
+ // Send back tcmalloc stats output.
+ IPC_MESSAGE_CONTROL2(ViewHostMsg_RendererTcmalloc,
+ int /* pid */,
+ std::string /* tcmalloc debug output */)
+#endif
+
+ // Sends back stats about the V8 heap.
+ IPC_MESSAGE_CONTROL2(ViewHostMsg_V8HeapStats,
+ int /* size of heap (allocated from the OS) */,
+ int /* bytes in use */)
+
+ // Request for a DNS prefetch of the names in the array.
+ // NameList is typedef'ed std::vector<std::string>
+ IPC_MESSAGE_CONTROL1(ViewHostMsg_DnsPrefetch,
+ std::vector<std::string> /* hostnames */)
+
+ // Notifies when default plugin updates status of the missing plugin.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_MissingPluginStatus,
+ int /* status */)
+
+ // Sent by the renderer process to indicate that a plugin instance has
+ // crashed.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_CrashedPlugin,
+ FilePath /* plugin_path */)
+
+ // Displays a JavaScript out-of-memory message in the infobar.
+ IPC_MESSAGE_ROUTED0(ViewHostMsg_JSOutOfMemory)
+
+ // Displays a box to confirm that the user wants to navigate away from the
+ // page. Replies true if yes, false otherwise, the reply string is ignored,
+ // but is included so that we can use OnJavaScriptMessageBoxClosed.
+ IPC_SYNC_MESSAGE_ROUTED2_2(ViewHostMsg_RunBeforeUnloadConfirm,
+ GURL, /* in - originating frame URL */
+ std::wstring /* in - alert message */,
+ bool /* out - success */,
+ std::wstring /* out - This is ignored.*/)
+
+ IPC_MESSAGE_ROUTED3(ViewHostMsg_SendCurrentPageAllSavableResourceLinks,
+ std::vector<GURL> /* all savable resource links */,
+ std::vector<GURL> /* all referrers of resource links */,
+ std::vector<GURL> /* all frame links */)
+
+ IPC_MESSAGE_ROUTED3(ViewHostMsg_SendSerializedHtmlData,
+ GURL /* frame's url */,
+ std::string /* data buffer */,
+ int32 /* complete status */)
+
+ IPC_SYNC_MESSAGE_ROUTED4_1(ViewHostMsg_ShowModalHTMLDialog,
+ GURL /* url */,
+ int /* width */,
+ int /* height */,
+ std::string /* json_arguments */,
+ std::string /* json_retval */)
+
+ IPC_MESSAGE_ROUTED2(ViewHostMsg_DidGetApplicationInfo,
+ int32 /* page_id */,
+ webkit_glue::WebApplicationInfo)
+
+ // Provides the result from running OnMsgShouldClose. |proceed| matches the
+ // return value of the the frame's shouldClose method (which includes the
+ // onbeforeunload handler): true if the user decided to proceed with leaving
+ // the page.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_ShouldClose_ACK,
+ bool /* proceed */)
+
+ // Indicates that the current page has been closed, after a ClosePage
+ // message. The parameters are just echoed from the ClosePage request.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_ClosePage_ACK,
+ ViewMsg_ClosePage_Params)
+
+ IPC_MESSAGE_ROUTED4(ViewHostMsg_DidDownloadFavIcon,
+ int /* Identifier of the request */,
+ GURL /* URL of the image */,
+ bool /* true if there was a network error */,
+ SkBitmap /* image_data */)
+
+ // Sent to query MIME information.
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_GetMimeTypeFromExtension,
+ FilePath::StringType /* extension */,
+ std::string /* mime_type */)
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_GetMimeTypeFromFile,
+ FilePath /* file_path */,
+ std::string /* mime_type */)
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_GetPreferredExtensionForMimeType,
+ std::string /* mime_type */,
+ FilePath::StringType /* extension */)
+
+ // Get the CPBrowsingContext associated with the renderer sending this
+ // message.
+ IPC_SYNC_MESSAGE_CONTROL0_1(ViewHostMsg_GetCPBrowsingContext,
+ uint32 /* context */)
+
+ // Sent when the renderer process is done processing a DataReceived
+ // message.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_DataReceived_ACK,
+ int /* request_id */)
+
+ // Sent when a provisional load on the main frame redirects.
+ IPC_MESSAGE_ROUTED3(ViewHostMsg_DidRedirectProvisionalLoad,
+ int /* page_id */,
+ GURL /* last url */,
+ GURL /* url redirected to */)
+
+ // Sent by the renderer process to acknowledge receipt of a
+ // DownloadProgress message.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_DownloadProgress_ACK,
+ int /* request_id */)
+
+ // Sent by the renderer process to acknowledge receipt of a
+ // UploadProgress message.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_UploadProgress_ACK,
+ int /* request_id */)
+
+ // Sent when the renderer changes the zoom level for a particular url, so the
+ // browser can update its records.
+ IPC_MESSAGE_CONTROL2(ViewHostMsg_DidZoomURL,
+ GURL /* url */,
+ int /* zoom_level */)
+
+#if defined(OS_WIN)
+ // Duplicates a shared memory handle from the renderer to the browser. Then
+ // the renderer can flush the handle.
+ IPC_SYNC_MESSAGE_ROUTED1_1(ViewHostMsg_DuplicateSection,
+ base::SharedMemoryHandle /* renderer handle */,
+ base::SharedMemoryHandle /* browser handle */)
+#endif
+
+#if defined(USE_X11)
+ // Asks the browser to create a temporary file for the renderer to fill
+ // in resulting NativeMetafile in printing.
+ IPC_SYNC_MESSAGE_CONTROL0_2(ViewHostMsg_AllocateTempFileForPrinting,
+ base::FileDescriptor /* temp file fd */,
+ int /* fd in browser*/)
+ IPC_MESSAGE_CONTROL1(ViewHostMsg_TempFileForPrintingWritten,
+ int /* fd in browser */)
+#endif
+
+#if defined(OS_MACOSX)
+ // Asks the browser to create a block of shared memory for the renderer to
+ // pass NativeMetafile data to the browser.
+ IPC_SYNC_MESSAGE_ROUTED1_1(ViewHostMsg_AllocatePDFTransport,
+ uint32 /* buffer size */,
+ base::SharedMemoryHandle /* browser handle */)
+#endif
+
+#if defined(OS_POSIX)
+ // Asks the browser to create a block of shared memory for the renderer to
+ // fill in and pass back to the browser.
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_AllocateSharedMemoryBuffer,
+ uint32 /* buffer size */,
+ base::SharedMemoryHandle /* browser handle */)
+#endif
+
+ // Provide the browser process with information about the WebCore resource
+ // cache.
+ IPC_MESSAGE_CONTROL1(ViewHostMsg_ResourceTypeStats,
+ WebKit::WebCache::ResourceTypeStats)
+
+ // Notify the browser that this render process can or can't be suddenly
+ // terminated.
+ IPC_MESSAGE_CONTROL1(ViewHostMsg_SuddenTerminationChanged,
+ bool /* enabled */)
+
+ // Returns the window location of the window this widget is embeded.
+ // TODO(shess): Provide a mapping from reply_msg->routing_id() to
+ // HWND so that we can eliminate the NativeViewId parameter.
+ IPC_SYNC_MESSAGE_ROUTED1_1(ViewHostMsg_GetRootWindowRect,
+ gfx::NativeViewId /* window */,
+ gfx::Rect /* Out: Window location */)
+
+ // Informs the browser of a new appcache host.
+ IPC_MESSAGE_CONTROL1(AppCacheMsg_RegisterHost,
+ int /* host_id */)
+
+ // Informs the browser of an appcache host being destroyed.
+ IPC_MESSAGE_CONTROL1(AppCacheMsg_UnregisterHost,
+ int /* host_id */)
+
+ // Initiates the cache selection algorithm for the given host.
+ // This is sent prior to any subresource loads. An AppCacheMsg_CacheSelected
+ // message will be sent in response.
+ // 'host_id' indentifies a specific document or worker
+ // 'document_url' the url of the main resource
+ // 'appcache_document_was_loaded_from' the id of the appcache the main
+ // resource was loaded from or kNoCacheId
+ // 'opt_manifest_url' the manifest url specified in the <html> tag if any
+ IPC_MESSAGE_CONTROL4(AppCacheMsg_SelectCache,
+ int /* host_id */,
+ GURL /* document_url */,
+ int64 /* appcache_document_was_loaded_from */,
+ GURL /* opt_manifest_url */)
+
+ // Initiates worker specific cache selection algorithm for the given host.
+ IPC_MESSAGE_CONTROL3(AppCacheMsg_SelectCacheForWorker,
+ int /* host_id */,
+ int /* parent_process_id */,
+ int /* parent_host_id */)
+ IPC_MESSAGE_CONTROL2(AppCacheMsg_SelectCacheForSharedWorker,
+ int /* host_id */,
+ int64 /* appcache_id */)
+
+ // Informs the browser of a 'foreign' entry in an appcache.
+ IPC_MESSAGE_CONTROL3(AppCacheMsg_MarkAsForeignEntry,
+ int /* host_id */,
+ GURL /* document_url */,
+ int64 /* appcache_document_was_loaded_from */)
+
+ // Returns the status of the appcache associated with host_id.
+ IPC_SYNC_MESSAGE_CONTROL1_1(AppCacheMsg_GetStatus,
+ int /* host_id */,
+ appcache::Status)
+
+ // Initiates an update of the appcache associated with host_id.
+ IPC_SYNC_MESSAGE_CONTROL1_1(AppCacheMsg_StartUpdate,
+ int /* host_id */,
+ bool /* success */)
+
+ // Swaps a new pending appcache, if there is one, into use for host_id.
+ IPC_SYNC_MESSAGE_CONTROL1_1(AppCacheMsg_SwapCache,
+ int /* host_id */,
+ bool /* success */)
+
+ // Returns the resizer box location in the window this widget is embedded.
+ // Important for Mac OS X, but not Win or Linux.
+ IPC_SYNC_MESSAGE_ROUTED1_1(ViewHostMsg_GetRootWindowResizerRect,
+ gfx::NativeViewId /* window */,
+ gfx::Rect /* Out: Window location */)
+
+ // Queries the browser for AutoFill suggestions for a form input field.
+ IPC_MESSAGE_ROUTED3(ViewHostMsg_QueryFormFieldAutoFill,
+ int /* id of this message */,
+ bool /* form_autofilled */,
+ webkit_glue::FormField /* the form field */)
+
+ // Instructs the browser to fill in the values for a form using AutoFill
+ // profile data.
+ IPC_MESSAGE_ROUTED5(ViewHostMsg_FillAutoFillFormData,
+ int /* id of this message */,
+ webkit_glue::FormData /* the form */,
+ string16 /* profile name */,
+ string16 /* profile label */,
+ int /* profile unique ID */)
+
+ // Instructs the browser to remove the specified Autocomplete entry from the
+ // database.
+ IPC_MESSAGE_ROUTED2(ViewHostMsg_RemoveAutocompleteEntry,
+ string16 /* field name */,
+ string16 /* value */)
+
+ // Instructs the browser to show the AutoFill dialog.
+ IPC_MESSAGE_ROUTED0(ViewHostMsg_ShowAutoFillDialog)
+
+ // Get the list of proxies to use for |url|, as a semicolon delimited list
+ // of "<TYPE> <HOST>:<PORT>" | "DIRECT". See also
+ // PluginProcessHostMsg_ResolveProxy which does the same thing.
+ IPC_SYNC_MESSAGE_CONTROL1_2(ViewHostMsg_ResolveProxy,
+ GURL /* url */,
+ int /* network error */,
+ std::string /* proxy list */)
+
+ // Request that got sent to browser for creating an audio output stream
+ IPC_MESSAGE_ROUTED3(ViewHostMsg_CreateAudioStream,
+ int /* stream_id */,
+ ViewHostMsg_Audio_CreateStream_Params,
+ bool /* low-latency */)
+
+ // Tell the browser the audio buffer prepared for stream
+ // (render_view_id, stream_id) is filled and is ready to be consumed.
+ IPC_MESSAGE_ROUTED2(ViewHostMsg_NotifyAudioPacketReady,
+ int /* stream_id */,
+ uint32 /* packet size */)
+
+ // Start buffering and play the audio stream specified by
+ // (render_view_id, stream_id).
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_PlayAudioStream,
+ int /* stream_id */)
+
+ // Pause the audio stream specified by (render_view_id, stream_id).
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_PauseAudioStream,
+ int /* stream_id */)
+
+ // Discard all buffered audio data for the specified audio stream.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_FlushAudioStream,
+ int /* stream_id */)
+
+ // Close an audio stream specified by (render_view_id, stream_id).
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_CloseAudioStream,
+ int /* stream_id */)
+
+ // Get audio volume of the stream specified by (render_view_id, stream_id).
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_GetAudioVolume,
+ int /* stream_id */)
+
+ // Set audio volume of the stream specified by (render_view_id, stream_id).
+ // TODO(hclam): change this to vector if we have channel numbers other than 2.
+ IPC_MESSAGE_ROUTED2(ViewHostMsg_SetAudioVolume,
+ int /* stream_id */,
+ double /* volume */)
+
+ // A renderer sends this message when an extension process starts an API
+ // request. The browser will always respond with a ViewMsg_ExtensionResponse.
+ IPC_MESSAGE_ROUTED5(ViewHostMsg_ExtensionRequest,
+ std::string /* name */,
+ ListValue /* arguments */,
+ GURL /* source_url */,
+ int /* callback id */,
+ bool /* has_callback */)
+
+ // Notify the browser that this renderer added a listener to an event.
+ IPC_MESSAGE_CONTROL1(ViewHostMsg_ExtensionAddListener,
+ std::string /* name */)
+
+ // Notify the browser that this renderer removed a listener from an event.
+ IPC_MESSAGE_CONTROL1(ViewHostMsg_ExtensionRemoveListener,
+ std::string /* name */)
+
+#if defined(OS_MACOSX)
+ // On OSX, we cannot allocated shared memory from within the sandbox, so
+ // this call exists for the renderer to ask the browser to allocate memory
+ // on its behalf. We return a file descriptor to the POSIX shared memory.
+ // If the |cache_in_browser| flag is |true|, then a copy of the shmem is kept
+ // by the browser, and it is the caller's repsonsibility to send a
+ // ViewHostMsg_FreeTransportDIB message in order to release the cached shmem.
+ // In all cases, the caller is responsible for deleting the resulting
+ // TransportDIB.
+ IPC_SYNC_MESSAGE_CONTROL2_1(ViewHostMsg_AllocTransportDIB,
+ size_t, /* bytes requested */
+ bool, /* cache in the browser */
+ TransportDIB::Handle /* DIB */)
+
+ // Since the browser keeps handles to the allocated transport DIBs, this
+ // message is sent to tell the browser that it may release them when the
+ // renderer is finished with them.
+ IPC_MESSAGE_CONTROL1(ViewHostMsg_FreeTransportDIB,
+ TransportDIB::Id /* DIB id */)
+
+ //---------------------------------------------------------------------------
+ // Messages related to the GPU plugin on Mac OS X 10.6 and later
+
+ // This is sent from the renderer to the browser to allocate a fake
+ // PluginWindowHandle on the browser side which is used to identify
+ // the plugin to the browser later when backing store is allocated
+ // or reallocated. |opaque| indicates whether the plugin's output is
+ // considered to be opaque, as opposed to translucent.
+ IPC_SYNC_MESSAGE_ROUTED1_1(ViewHostMsg_AllocateFakePluginWindowHandle,
+ bool /* opaque */,
+ gfx::PluginWindowHandle /* id */)
+
+ // Destroys a fake window handle previously allocated using
+ // AllocateFakePluginWindowHandle.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_DestroyFakePluginWindowHandle,
+ gfx::PluginWindowHandle /* id */)
+
+ // This message, used on Mac OS X 10.5 and earlier (no IOSurface support),
+ // is sent from the renderer to the browser on behalf of the plug-in
+ // to indicate that a new backing store was allocated for that plug-in
+ // instance.
+ IPC_MESSAGE_ROUTED4(ViewHostMsg_AcceleratedSurfaceSetTransportDIB,
+ gfx::PluginWindowHandle /* window */,
+ int32 /* width */,
+ int32 /* height */,
+ TransportDIB::Handle /* handle for the DIB */)
+
+ // This message, used on Mac OS X 10.6 and later (where IOSurface is
+ // supported), is sent from the renderer to the browser on behalf of the
+ // plug-in to indicate that a new backing store was allocated for that
+ // plug-in instance.
+ //
+ // NOTE: the original intent was to pass a mach port as the IOSurface
+ // identifier but it looks like that will be a lot of work. For now we pass an
+ // ID from IOSurfaceGetID.
+ IPC_MESSAGE_ROUTED4(ViewHostMsg_AcceleratedSurfaceSetIOSurface,
+ gfx::PluginWindowHandle /* window */,
+ int32 /* width */,
+ int32 /* height */,
+ uint64 /* identifier for IOSurface */)
+
+ // This message notifies the browser process that the plug-in
+ // swapped the buffers associated with the given "window", which
+ // should cause the browser to redraw the various plug-ins'
+ // contents.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_AcceleratedSurfaceBuffersSwapped,
+ gfx::PluginWindowHandle /* window */)
+#endif
+
+ // A renderer sends this to the browser process when it wants to create a
+ // worker. The browser will create the worker process if necessary, and
+ // will return the route id on success. On error returns MSG_ROUTING_NONE.
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_CreateWorker,
+ ViewHostMsg_CreateWorker_Params,
+ int /* route_id */)
+
+ // This message is sent to the browser to see if an instance of this shared
+ // worker already exists. If so, it returns exists == true. If a
+ // non-empty name is passed, also validates that the url matches the url of
+ // the existing worker. If a matching worker is found, the passed-in
+ // document_id is associated with that worker, to ensure that the worker
+ // stays alive until the document is detached.
+ // The route_id returned can be used to forward messages to the worker via
+ // ForwardToWorker if it exists, otherwise it should be passed in to any
+ // future call to CreateWorker to avoid creating duplicate workers.
+ IPC_SYNC_MESSAGE_CONTROL1_3(ViewHostMsg_LookupSharedWorker,
+ ViewHostMsg_CreateWorker_Params,
+ bool /* exists */,
+ int /* route_id */,
+ bool /* url_mismatch */)
+
+ // A renderer sends this to the browser process when a document has been
+ // detached. The browser will use this to constrain the lifecycle of worker
+ // processes (SharedWorkers are shut down when their last associated document
+ // is detached).
+ IPC_MESSAGE_CONTROL1(ViewHostMsg_DocumentDetached,
+ unsigned long long /* document_id */)
+
+ // A message sent to the browser on behalf of a renderer which wants to show
+ // a desktop notification.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_ShowDesktopNotification,
+ ViewHostMsg_ShowNotification_Params)
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_CancelDesktopNotification,
+ int /* notification_id */ )
+ IPC_MESSAGE_ROUTED2(ViewHostMsg_RequestNotificationPermission,
+ GURL /* origin */,
+ int /* callback_context */)
+ IPC_SYNC_MESSAGE_ROUTED1_1(ViewHostMsg_CheckNotificationPermission,
+ GURL /* source page */,
+ int /* permission_result */)
+
+ // Sent if the worker object has sent a ViewHostMsg_CreateDedicatedWorker
+ // message and not received a ViewMsg_WorkerCreated reply, but in the
+ // mean time it's destroyed. This tells the browser to not create the queued
+ // worker.
+ IPC_MESSAGE_CONTROL1(ViewHostMsg_CancelCreateDedicatedWorker,
+ int /* route_id */)
+
+ // Wraps an IPC message that's destined to the worker on the renderer->browser
+ // hop.
+ IPC_MESSAGE_CONTROL1(ViewHostMsg_ForwardToWorker,
+ IPC::Message /* message */)
+
+ // Open a channel to all listening contexts owned by the extension with
+ // the given ID. This always returns a valid port ID which can be used for
+ // sending messages. If an error occurred, the opener will be notified
+ // asynchronously.
+ IPC_SYNC_MESSAGE_CONTROL4_1(ViewHostMsg_OpenChannelToExtension,
+ int /* routing_id */,
+ std::string /* source_extension_id */,
+ std::string /* target_extension_id */,
+ std::string /* channel_name */,
+ int /* port_id */)
+
+ // Get a port handle to the given tab. The handle can be used for sending
+ // messages to the extension.
+ IPC_SYNC_MESSAGE_CONTROL4_1(ViewHostMsg_OpenChannelToTab,
+ int /* routing_id */,
+ int /* tab_id */,
+ std::string /* extension_id */,
+ std::string /* channel_name */,
+ int /* port_id */)
+
+ // Send a message to an extension process. The handle is the value returned
+ // by ViewHostMsg_OpenChannelTo*.
+ IPC_MESSAGE_ROUTED2(ViewHostMsg_ExtensionPostMessage,
+ int /* port_id */,
+ std::string /* message */)
+
+ // Send a message to an extension process. The handle is the value returned
+ // by ViewHostMsg_OpenChannelTo*.
+ IPC_MESSAGE_CONTROL1(ViewHostMsg_ExtensionCloseChannel,
+ int /* port_id */)
+
+ // Sent as a result of a focus change in the renderer (if accessibility is
+ // enabled), to notify the browser side that its accessibility focus needs to
+ // change as well. Takes the id of the accessibility object that now has
+ // focus.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_AccessibilityFocusChange,
+ int /* accessibility object id */)
+
+ // Send as a result of a state change in the renderer (if accessibility is
+ // enabled), to notify the browser side. Takes the id of the accessibility
+ // object that had a state change
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_AccessibilityObjectStateChange,
+ int /* accessibility object id */)
+
+ // Message sent from the renderer to the browser to request that the browser
+ // close all sockets. Used for debugging/testing.
+ IPC_MESSAGE_CONTROL0(ViewHostMsg_CloseCurrentConnections)
+
+ // Message sent from the renderer to the browser to request that the browser
+ // enable or disable the cache. Used for debugging/testing.
+ IPC_MESSAGE_CONTROL1(ViewHostMsg_SetCacheMode,
+ bool /* enabled */)
+
+ // Message sent from the renderer to the browser to request that the browser
+ // clear the cache. Used for debugging/testing.
+ IPC_SYNC_MESSAGE_CONTROL0_1(ViewHostMsg_ClearCache,
+ int /* result */)
+
+ // Message sent from the renderer to the browser to request that the browser
+ // cache |data| associated with |url|.
+ IPC_MESSAGE_CONTROL3(ViewHostMsg_DidGenerateCacheableMetadata,
+ GURL /* url */,
+ double /* expected_response_time */,
+ std::vector<char> /* data */)
+
+ // Get the storage area id for a particular origin within a namespace.
+ IPC_SYNC_MESSAGE_CONTROL2_1(ViewHostMsg_DOMStorageStorageAreaId,
+ int64 /* namespace_id */,
+ string16 /* origin */,
+ int64 /* storage_area_id */)
+
+ // Get the length of a storage area.
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_DOMStorageLength,
+ int64 /* storage_area_id */,
+ unsigned /* length */)
+
+ // Get a the ith key within a storage area.
+ IPC_SYNC_MESSAGE_CONTROL2_1(ViewHostMsg_DOMStorageKey,
+ int64 /* storage_area_id */,
+ unsigned /* index */,
+ NullableString16 /* key */)
+
+ // Get a value based on a key from a storage area.
+ IPC_SYNC_MESSAGE_CONTROL2_1(ViewHostMsg_DOMStorageGetItem,
+ int64 /* storage_area_id */,
+ string16 /* key */,
+ NullableString16 /* value */)
+
+ // Set a value that's associated with a key in a storage area.
+ IPC_SYNC_MESSAGE_ROUTED4_2(ViewHostMsg_DOMStorageSetItem,
+ int64 /* storage_area_id */,
+ string16 /* key */,
+ string16 /* value */,
+ GURL /* url */,
+ WebKit::WebStorageArea::Result /* result */,
+ NullableString16 /* old_value */)
+
+ // Remove the value associated with a key in a storage area.
+ IPC_SYNC_MESSAGE_CONTROL3_1(ViewHostMsg_DOMStorageRemoveItem,
+ int64 /* storage_area_id */,
+ string16 /* key */,
+ GURL /* url */,
+ NullableString16 /* old_value */)
+
+ // Clear the storage area.
+ IPC_SYNC_MESSAGE_CONTROL2_1(ViewHostMsg_DOMStorageClear,
+ int64 /* storage_area_id */,
+ GURL /* url */,
+ bool /* something_cleared */)
+
+ // WebIndexedDatabase::open() message.
+ IPC_MESSAGE_CONTROL1(ViewHostMsg_IndexedDatabaseOpen,
+ ViewHostMsg_IndexedDatabaseOpen_Params)
+
+ // WebIDBDatabase::name() message.
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_IDBDatabaseName,
+ int32, /* idb_database_id */
+ string16 /* name */)
+
+ // WebIDBDatabase::description() message.
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_IDBDatabaseDescription,
+ int32, /* idb_database_id */
+ string16 /* description */)
+
+ // WebIDBDatabase::version() message.
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_IDBDatabaseVersion,
+ int32, /* idb_database_id */
+ string16 /* vesion */)
+
+ // WebIDBDatabase::objectStores() message.
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_IDBDatabaseObjectStores,
+ int32, /* idb_database_id */
+ std::vector<string16> /* objectStores */)
+
+ // WebIDBDatabase::createObjectStore() message.
+ IPC_MESSAGE_CONTROL1(ViewHostMsg_IDBDatabaseCreateObjectStore,
+ ViewHostMsg_IDBDatabaseCreateObjectStore_Params)
+
+ // WebIDBDatabase::objectStore() message.
+ IPC_SYNC_MESSAGE_CONTROL3_2(ViewHostMsg_IDBDatabaseObjectStore,
+ int32, /* idb_database_id */
+ string16, /* name */
+ int32, /* mode */
+ bool, /* success */
+ int32 /* idb_object_store_id */)
+
+ // WebIDBDatabase::removeObjectStore() message.
+ IPC_MESSAGE_CONTROL3(ViewHostMsg_IDBDatabaseRemoveObjectStore,
+ int32, /* idb_database_id */
+ int32, /* response_id */
+ string16 /* name */)
+
+ // WebIDBDatabase::~WebIDBDatabase() message.
+ IPC_MESSAGE_CONTROL1(ViewHostMsg_IDBDatabaseDestroyed,
+ int32 /* idb_database_id */)
+
+ // WebIDBIndex::name() message.
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_IDBIndexName,
+ int32, /* idb_index_id */
+ string16 /* name */)
+
+ // WebIDBIndex::keyPath() message.
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_IDBIndexKeyPath,
+ int32, /* idb_index_id */
+ NullableString16 /* key_path */)
+
+ // WebIDBIndex::unique() message.
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_IDBIndexUnique,
+ int32, /* idb_unique_id */
+ bool /* unique */)
+
+ // WebIDBIndex::~WebIDBIndex() message.
+ IPC_MESSAGE_CONTROL1(ViewHostMsg_IDBIndexDestroyed,
+ int32 /* idb_index_id */)
+
+ // WebIDBObjectStore::name() message.
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_IDBObjectStoreName,
+ int32, /* idb_object_store_id */
+ string16 /* name */)
+
+ // WebIDBObjectStore::keyPath() message.
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_IDBObjectStoreKeyPath,
+ int32, /* idb_object_store_id */
+ NullableString16 /* keyPath */)
+
+ // WebIDBObjectStore::indexNames() message.
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_IDBObjectStoreIndexNames,
+ int32, /* idb_object_store_id */
+ std::vector<string16> /* index_names */)
+
+ // WebIDBObjectStore::get() message.
+ IPC_MESSAGE_CONTROL3(ViewHostMsg_IDBObjectStoreGet,
+ int32, /* idb_object_store_id */
+ int32, /* response_id */
+ IndexedDBKey /* key */)
+
+ // WebIDBObjectStore::put() message.
+ IPC_MESSAGE_CONTROL5(ViewHostMsg_IDBObjectStorePut,
+ int32, /* idb_object_store_id */
+ int32, /* response_id */
+ SerializedScriptValue, /* serialized_value */
+ IndexedDBKey, /* key */
+ bool /* add_only */)
+
+ // WebIDBObjectStore::remove() message.
+ IPC_MESSAGE_CONTROL3(ViewHostMsg_IDBObjectStoreRemove,
+ int32, /* idb_object_store_id */
+ int32, /* response_id */
+ IndexedDBKey /* key */)
+
+ // WebIDBObjectStore::createIndex() message.
+ IPC_MESSAGE_CONTROL1(ViewHostMsg_IDBObjectStoreCreateIndex,
+ ViewHostMsg_IDBObjectStoreCreateIndex_Params)
+
+ // WebIDBObjectStore::index() message.
+ IPC_SYNC_MESSAGE_CONTROL2_2(ViewHostMsg_IDBObjectStoreIndex,
+ int32, /* idb_object_store_id */
+ string16, /* name */
+ bool, /* success */
+ int32 /* idb_index_id */)
+
+ // WebIDBObjectStore::removeIndex() message.
+ IPC_MESSAGE_CONTROL3(ViewHostMsg_IDBObjectStoreRemoveIndex,
+ int32, /* idb_object_store_id */
+ int32, /* response_id */
+ string16 /* name */)
+
+ // WebIDBObjectStore::~WebIDBObjectStore() message.
+ IPC_MESSAGE_CONTROL1(ViewHostMsg_IDBObjectStoreDestroyed,
+ int32 /* idb_object_store_id */)
+
+ // Get file size in bytes. Set result to -1 if failed to get the file size.
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_GetFileSize,
+ FilePath /* path */,
+ int64 /* result */)
+
+ // Get file modification time in seconds. Set result to 0 if failed to get the
+ // file modification time.
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_GetFileModificationTime,
+ FilePath /* path */,
+ base::Time /* result */)
+
+ // Open the file.
+ IPC_SYNC_MESSAGE_CONTROL2_1(ViewHostMsg_OpenFile,
+ FilePath /* path */,
+ int /* mode */,
+ IPC::PlatformFileForTransit /* result */)
+
+ // Sent by the renderer process to acknowledge receipt of a
+ // ViewMsg_CSSInsertRequest message and css has been inserted into the frame.
+ IPC_MESSAGE_ROUTED0(ViewHostMsg_OnCSSInserted)
+
+ // Sent by the renderer process to check whether access to web databases is
+ // granted by content settings. This may block and trigger a cookie prompt.
+ IPC_SYNC_MESSAGE_ROUTED4_1(ViewHostMsg_AllowDatabase,
+ std::string /* origin_url */,
+ string16 /* database name */,
+ string16 /* database display name */,
+ unsigned long /* estimated size */,
+ bool /* result */)
+
+ // Asks the browser process to open a DB file with the given name.
+ IPC_SYNC_MESSAGE_CONTROL2_1(ViewHostMsg_DatabaseOpenFile,
+ string16 /* vfs file name */,
+ int /* desired flags */,
+ IPC::PlatformFileForTransit /* file_handle */)
+
+ // Asks the browser process to delete a DB file
+ IPC_SYNC_MESSAGE_CONTROL2_1(ViewHostMsg_DatabaseDeleteFile,
+ string16 /* vfs file name */,
+ bool /* whether or not to sync the directory */,
+ int /* SQLite error code */)
+
+ // Asks the browser process to return the attributes of a DB file
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_DatabaseGetFileAttributes,
+ string16 /* vfs file name */,
+ int32 /* the attributes for the given DB file */)
+
+ // Asks the browser process to return the size of a DB file
+ IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_DatabaseGetFileSize,
+ string16 /* vfs file name */,
+ int64 /* the size of the given DB file */)
+
+ // Notifies the browser process that a new database has been opened
+ IPC_MESSAGE_CONTROL4(ViewHostMsg_DatabaseOpened,
+ string16 /* origin identifier */,
+ string16 /* database name */,
+ string16 /* database description */,
+ int64 /* estimated size */)
+
+ // Notifies the browser process that a database might have been modified
+ IPC_MESSAGE_CONTROL2(ViewHostMsg_DatabaseModified,
+ string16 /* origin identifier */,
+ string16 /* database name */)
+
+ // Notifies the browser process that a database is about to close
+ IPC_MESSAGE_CONTROL2(ViewHostMsg_DatabaseClosed,
+ string16 /* origin identifier */,
+ string16 /* database name */)
+
+ // Notifies the browser of the language (ISO 639_1 code language, such as fr,
+ // en, zh...) of the current page.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_PageLanguageDetermined,
+ std::string /* the language */)
+
+ // Notifies the browser that a page has been translated.
+ IPC_MESSAGE_ROUTED4(ViewHostMsg_PageTranslated,
+ int, /* page id */
+ std::string /* the original language */,
+ std::string /* the translated language */,
+ TranslateErrors::Type /* the error type if available */)
+
+ //---------------------------------------------------------------------------
+ // Socket Stream messages:
+ // These are messages from the SocketStreamHandle 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
+ // ViewMsg_SocketStream_Connected back.
+ IPC_MESSAGE_CONTROL2(ViewHostMsg_SocketStream_Connect,
+ 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(ViewHostMsg_SocketStream_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(ViewHostMsg_SocketStream_Close,
+ int /* socket_id */)
+
+ //---------------------------------------------------------------------------
+ // Request for cryptographic operation messages:
+ // These are messages from the renderer to the browser to perform a
+ // cryptographic operation.
+
+ // Asks the browser process to generate a keypair for grabbing a client
+ // certificate from a CA (<keygen> tag), and returns the signed public
+ // key and challenge string.
+ IPC_SYNC_MESSAGE_CONTROL3_1(ViewHostMsg_Keygen,
+ uint32 /* key size index */,
+ std::string /* challenge string */,
+ GURL /* URL of requestor */,
+ std::string /* signed public key and challenge */)
+
+ // The renderer has tried to spell check a word, but couldn't because no
+ // dictionary was available to load. Request that the browser find an
+ // appropriate dictionary and return it.
+ IPC_MESSAGE_CONTROL0(ViewHostMsg_SpellChecker_RequestDictionary)
+
+ IPC_SYNC_MESSAGE_CONTROL2_1(ViewHostMsg_SpellChecker_PlatformCheckSpelling,
+ string16 /* word */,
+ int /* document tag */,
+ bool /* correct */)
+
+ IPC_SYNC_MESSAGE_CONTROL1_1(
+ ViewHostMsg_SpellChecker_PlatformFillSuggestionList,
+ string16 /* word */,
+ std::vector<string16> /* suggestions */)
+
+ //---------------------------------------------------------------------------
+ // Geolocation services messages
+
+ // A GeolocationServiceBridgeImpl in the renderer process has been created.
+ // This is used to lazily initialize the host dispatchers and related
+ // Geolocation infrastructure in the browser process.
+ IPC_MESSAGE_CONTROL1(ViewHostMsg_Geolocation_RegisterDispatcher,
+ int /* render_view_id */)
+
+ // A GeolocationServiceBridgeImpl has been destroyed.
+ // This is used to let the Geolocation infrastructure do its cleanup.
+ IPC_MESSAGE_CONTROL1(ViewHostMsg_Geolocation_UnregisterDispatcher,
+ int /* render_view_id */)
+
+ // The |render_view_id| and |bridge_id| representing |host| is requesting
+ // permission to access geolocation position.
+ // This will be replied by ViewMsg_Geolocation_PermissionSet.
+ IPC_MESSAGE_CONTROL3(ViewHostMsg_Geolocation_RequestPermission,
+ int /* render_view_id */,
+ int /* bridge_id */,
+ GURL /* GURL of the frame requesting geolocation */)
+
+ // The |render_view_id| and |bridge_id| representing |GURL| is cancelling its
+ // previous permission request to access geolocation position.
+ IPC_MESSAGE_CONTROL3(ViewHostMsg_Geolocation_CancelPermissionRequest,
+ int /* render_view_id */,
+ int /* bridge_id */,
+ GURL /* GURL of the frame */)
+
+ // The |render_view_id| and |bridge_id| requests Geolocation service to start
+ // updating.
+ // This is an asynchronous call, and the browser process may eventually reply
+ // with the updated geoposition, or an error (access denied, location
+ // unavailable, etc.)
+ IPC_MESSAGE_CONTROL4(ViewHostMsg_Geolocation_StartUpdating,
+ int /* render_view_id */,
+ int /* bridge_id */,
+ GURL /* GURL of the frame requesting geolocation */,
+ bool /* enable_high_accuracy */)
+
+ // The |render_view_id| and |bridge_id| requests Geolocation service to stop
+ // updating.
+ // Note that the geolocation service may continue to fetch geolocation data
+ // for other origins.
+ IPC_MESSAGE_CONTROL2(ViewHostMsg_Geolocation_StopUpdating,
+ int /* render_view_id */,
+ int /* bridge_id */)
+
+ // The |render_view_id| and |bridge_id| requests Geolocation service to
+ // suspend.
+ // Note that the geolocation service may continue to fetch geolocation data
+ // for other origins.
+ IPC_MESSAGE_CONTROL2(ViewHostMsg_Geolocation_Suspend,
+ int /* render_view_id */,
+ int /* bridge_id */)
+
+ // The |render_view_id| and |bridge_id| requests Geolocation service to
+ // resume.
+ IPC_MESSAGE_CONTROL2(ViewHostMsg_Geolocation_Resume,
+ int /* render_view_id */,
+ int /* bridge_id */)
+
+ // Send the tree of accessibility data to the browser, where it's cached
+ // in order to respond to OS accessibility queries immediately.
+ IPC_MESSAGE_ROUTED1(ViewHostMsg_AccessibilityTree,
+ webkit_glue::WebAccessibility)
+
+IPC_END_MESSAGES(ViewHost)