Upstream version 9.37.197.0
[platform/framework/web/crosswalk.git] / src / android_webview / common / render_view_messages.h
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
17 namespace 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
25 IPC_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)
31 IPC_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.
40 IPC_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.
45 IPC_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).
51 IPC_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.
57 IPC_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.
63 IPC_MESSAGE_ROUTED0(AwViewMsg_ResetScrollAndScaleState)
64
65 // Sets the initial page scale. This overrides initial scale set by
66 // the meta viewport tag.
67 IPC_MESSAGE_ROUTED1(AwViewMsg_SetInitialPageScale,
68                     double /* page_scale_factor */)
69
70 // Sets the base background color for this view.
71 IPC_MESSAGE_ROUTED1(AwViewMsg_SetBackgroundColor,
72                     SkColor)
73
74 IPC_MESSAGE_CONTROL1(AwViewMsg_SetJsOnlineProperty,
75                      bool /* network_up */)
76
77 // Sent prior to making a navigation via loadUrl to make sure that
78 // render thread isn't stuck in a loop induced by JavaScript code.
79 IPC_MESSAGE_CONTROL0(AwViewMsg_CheckRenderThreadResponsiveness)
80
81 //-----------------------------------------------------------------------------
82 // RenderView messages
83 // These are messages sent from the renderer to the browser process.
84
85 // Response to AwViewMsg_DocumentHasImages request.
86 IPC_MESSAGE_ROUTED2(AwViewHostMsg_DocumentHasImagesResponse,
87                     int, /* id */
88                     bool /* has_images */)
89
90 // Response to AwViewMsg_DoHitTest.
91 IPC_MESSAGE_ROUTED1(AwViewHostMsg_UpdateHitTestData,
92                     android_webview::AwHitTestData)
93
94 // Sent whenever the page scale factor (as seen by RenderView) is changed.
95 IPC_MESSAGE_ROUTED1(AwViewHostMsg_PageScaleFactorChanged,
96                     float /* page_scale_factor */)
97
98 // Sent whenever the contents size (as seen by RenderView) is changed.
99 IPC_MESSAGE_ROUTED1(AwViewHostMsg_OnContentsSizeChanged,
100                     gfx::Size /* contents_size */)
101
102 // Sent immediately before a top level navigation is initiated within Blink.
103 // There are some exlusions, the most important ones are it is not sent
104 // when creating a popup window, and not sent for application initiated
105 // navigations. See AwContentRendererClient::HandleNavigation for all
106 // cornercases. This is sent before updating the NavigationController state
107 // or creating a URLRequest for the main frame resource.
108 IPC_SYNC_MESSAGE_CONTROL2_1(AwViewHostMsg_ShouldOverrideUrlLoading,
109                             int /* render_frame_id id */,
110                             base::string16 /* in - url */,
111                             bool /* out - result */)
112
113 // Sent when a subframe is created.
114 IPC_MESSAGE_CONTROL2(AwViewHostMsg_SubFrameCreated,
115                      int /* parent_render_frame_id */,
116                      int /* child_render_frame_id */)