render_view_messages.h revision a648f0a2a2db1c831cd3760bba309908e69697e7
1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// Multiply-included file, no traditional include guard.
6#include "android_webview/common/aw_hit_test_data.h"
7#include "content/public/common/common_param_traits.h"
8#include "ipc/ipc_channel_handle.h"
9#include "ipc/ipc_message_macros.h"
10#include "ipc/ipc_platform_file.h"
11#include "third_party/skia/include/core/SkColor.h"
12
13// Singly-included section for enums and custom IPC traits.
14#ifndef ANDROID_WEBVIEW_COMMON_RENDER_VIEW_MESSAGES_H_
15#define ANDROID_WEBVIEW_COMMON_RENDER_VIEW_MESSAGES_H_
16
17namespace IPC {
18
19// TODO - add enums and custom IPC traits here when needed.
20
21}  // namespace IPC
22
23#endif  // ANDROID_WEBVIEW_COMMON_RENDER_VIEW_MESSAGES_H_
24
25IPC_STRUCT_TRAITS_BEGIN(android_webview::AwHitTestData)
26  IPC_STRUCT_TRAITS_MEMBER(type)
27  IPC_STRUCT_TRAITS_MEMBER(extra_data_for_type)
28  IPC_STRUCT_TRAITS_MEMBER(href)
29  IPC_STRUCT_TRAITS_MEMBER(anchor_text)
30  IPC_STRUCT_TRAITS_MEMBER(img_src)
31IPC_STRUCT_TRAITS_END()
32
33#define IPC_MESSAGE_START AndroidWebViewMsgStart
34
35//-----------------------------------------------------------------------------
36// RenderView messages
37// These are messages sent from the browser to the renderer process.
38
39// Tells the renderer to drop all WebCore memory cache.
40IPC_MESSAGE_CONTROL0(AwViewMsg_ClearCache)
41
42// Request for the renderer to determine if the document contains any image
43// elements.  The id should be passed in the response message so the response
44// can be associated with the request.
45IPC_MESSAGE_ROUTED1(AwViewMsg_DocumentHasImages,
46                    int /* id */)
47
48// Do hit test at the given webview coordinate. "Webview" coordinates are
49// physical pixel values with the 0,0 at the top left of the current displayed
50// view (ie 0,0 is not the top left of the page if the page is scrolled).
51IPC_MESSAGE_ROUTED2(AwViewMsg_DoHitTest,
52                    int /* view_x */,
53                    int /* view_y */)
54
55// Sets the zoom factor for text only. Used in layout modes other than
56// Text Autosizing.
57IPC_MESSAGE_ROUTED1(AwViewMsg_SetTextZoomFactor,
58                    float /* zoom_factor */)
59
60// Resets WebKit WebView scrolling and scale state. We need to send this
61// message whenever we want to guarantee that page's scale will be
62// recalculated by WebKit.
63IPC_MESSAGE_ROUTED0(AwViewMsg_ResetScrollAndScaleState)
64
65// Sets the initial page scale. This overrides initial scale set by
66// the meta viewport tag.
67IPC_MESSAGE_ROUTED1(AwViewMsg_SetInitialPageScale,
68                    double /* page_scale_factor */)
69
70// Sets the base background color for this view.
71IPC_MESSAGE_ROUTED1(AwViewMsg_SetBackgroundColor,
72                    SkColor)
73
74IPC_MESSAGE_CONTROL1(AwViewMsg_SetJsOnlineProperty,
75                     bool /* network_up */)
76
77//-----------------------------------------------------------------------------
78// RenderView messages
79// These are messages sent from the renderer to the browser process.
80
81// Response to AwViewMsg_DocumentHasImages request.
82IPC_MESSAGE_ROUTED2(AwViewHostMsg_DocumentHasImagesResponse,
83                    int, /* id */
84                    bool /* has_images */)
85
86// Response to AwViewMsg_DoHitTest.
87IPC_MESSAGE_ROUTED1(AwViewHostMsg_UpdateHitTestData,
88                    android_webview::AwHitTestData)
89
90// Sent whenever the page scale factor (as seen by RenderView) is changed.
91IPC_MESSAGE_ROUTED1(AwViewHostMsg_PageScaleFactorChanged,
92                    float /* page_scale_factor */)
93
94// Sent whenever the contents size (as seen by RenderView) is changed.
95IPC_MESSAGE_ROUTED1(AwViewHostMsg_OnContentsSizeChanged,
96                    gfx::Size /* contents_size */)
97
98// Sent immediately before a top level navigation is initiated within Blink.
99// There are some exlusions, the most important ones are it is not sent
100// when creating a popup window, and not sent for application initiated
101// navigations. See AwContentRendererClient::HandleNavigation for all
102// cornercases. This is sent before updating the NavigationController state
103// or creating a URLRequest for the main frame resource.
104IPC_SYNC_MESSAGE_CONTROL2_1(AwViewHostMsg_ShouldOverrideUrlLoading,
105                            int /* render_frame_id id */,
106                            base::string16 /* in - url */,
107                            bool /* out - result */)
108
109// Sent when a subframe is created.
110IPC_MESSAGE_CONTROL2(AwViewHostMsg_SubFrameCreated,
111                     int /* parent_render_frame_id */,
112                     int /* child_render_frame_id */)
113