- add sources.
[platform/framework/web/crosswalk.git] / src / content / public / common / common_param_traits_macros.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 // Singly or Multiply-included shared traits file depending on circumstances.
6 // This allows the use of IPC serialization macros in more than one IPC message
7 // file.
8 #ifndef CONTENT_PUBLIC_COMMON_COMMON_PARAM_TRAITS_MACROS_H_
9 #define CONTENT_PUBLIC_COMMON_COMMON_PARAM_TRAITS_MACROS_H_
10
11 #include "content/public/common/console_message_level.h"
12 #include "content/public/common/page_transition_types.h"
13 #include "content/public/common/security_style.h"
14 #include "content/public/common/ssl_status.h"
15 #include "content/public/common/webplugininfo.h"
16 #include "ipc/ipc_message_macros.h"
17 #include "net/base/request_priority.h"
18 #include "third_party/WebKit/public/platform/WebPoint.h"
19 #include "third_party/WebKit/public/platform/WebRect.h"
20 #include "third_party/WebKit/public/platform/WebReferrerPolicy.h"
21 #include "third_party/WebKit/public/platform/WebURLRequest.h"
22 #include "third_party/WebKit/public/web/WebWindowFeatures.h"
23 #include "ui/base/window_open_disposition.h"
24 #include "webkit/common/webpreferences.h"
25
26 #undef IPC_MESSAGE_EXPORT
27 #define IPC_MESSAGE_EXPORT CONTENT_EXPORT
28
29 IPC_ENUM_TRAITS(content::ConsoleMessageLevel)
30 IPC_ENUM_TRAITS(content::PageTransition)
31 IPC_ENUM_TRAITS(content::SecurityStyle)
32 IPC_ENUM_TRAITS(WebKit::WebReferrerPolicy)
33 IPC_ENUM_TRAITS(WindowOpenDisposition)
34 IPC_ENUM_TRAITS(webkit_glue::EditingBehavior)
35 IPC_ENUM_TRAITS(net::RequestPriority)
36
37 IPC_STRUCT_TRAITS_BEGIN(WebKit::WebPoint)
38   IPC_STRUCT_TRAITS_MEMBER(x)
39   IPC_STRUCT_TRAITS_MEMBER(y)
40 IPC_STRUCT_TRAITS_END()
41
42 IPC_STRUCT_TRAITS_BEGIN(WebKit::WebRect)
43   IPC_STRUCT_TRAITS_MEMBER(x)
44   IPC_STRUCT_TRAITS_MEMBER(y)
45   IPC_STRUCT_TRAITS_MEMBER(width)
46   IPC_STRUCT_TRAITS_MEMBER(height)
47 IPC_STRUCT_TRAITS_END()
48
49 IPC_STRUCT_TRAITS_BEGIN(content::SSLStatus)
50   IPC_STRUCT_TRAITS_MEMBER(security_style)
51   IPC_STRUCT_TRAITS_MEMBER(cert_id)
52   IPC_STRUCT_TRAITS_MEMBER(cert_status)
53   IPC_STRUCT_TRAITS_MEMBER(security_bits)
54   IPC_STRUCT_TRAITS_MEMBER(connection_status)
55   IPC_STRUCT_TRAITS_MEMBER(content_status)
56 IPC_STRUCT_TRAITS_END()
57
58 IPC_STRUCT_TRAITS_BEGIN(content::WebPluginMimeType)
59   IPC_STRUCT_TRAITS_MEMBER(mime_type)
60   IPC_STRUCT_TRAITS_MEMBER(file_extensions)
61   IPC_STRUCT_TRAITS_MEMBER(description)
62   IPC_STRUCT_TRAITS_MEMBER(additional_param_names)
63   IPC_STRUCT_TRAITS_MEMBER(additional_param_values)
64 IPC_STRUCT_TRAITS_END()
65
66 IPC_STRUCT_TRAITS_BEGIN(content::WebPluginInfo)
67   IPC_STRUCT_TRAITS_MEMBER(name)
68   IPC_STRUCT_TRAITS_MEMBER(path)
69   IPC_STRUCT_TRAITS_MEMBER(version)
70   IPC_STRUCT_TRAITS_MEMBER(desc)
71   IPC_STRUCT_TRAITS_MEMBER(mime_types)
72   IPC_STRUCT_TRAITS_MEMBER(type)
73   IPC_STRUCT_TRAITS_MEMBER(pepper_permissions)
74 IPC_STRUCT_TRAITS_END()
75
76 IPC_STRUCT_TRAITS_BEGIN(WebPreferences)
77   IPC_STRUCT_TRAITS_MEMBER(standard_font_family_map)
78   IPC_STRUCT_TRAITS_MEMBER(fixed_font_family_map)
79   IPC_STRUCT_TRAITS_MEMBER(serif_font_family_map)
80   IPC_STRUCT_TRAITS_MEMBER(sans_serif_font_family_map)
81   IPC_STRUCT_TRAITS_MEMBER(cursive_font_family_map)
82   IPC_STRUCT_TRAITS_MEMBER(fantasy_font_family_map)
83   IPC_STRUCT_TRAITS_MEMBER(default_font_size)
84   IPC_STRUCT_TRAITS_MEMBER(default_fixed_font_size)
85   IPC_STRUCT_TRAITS_MEMBER(minimum_font_size)
86   IPC_STRUCT_TRAITS_MEMBER(minimum_logical_font_size)
87   IPC_STRUCT_TRAITS_MEMBER(default_encoding)
88   IPC_STRUCT_TRAITS_MEMBER(javascript_enabled)
89   IPC_STRUCT_TRAITS_MEMBER(web_security_enabled)
90   IPC_STRUCT_TRAITS_MEMBER(javascript_can_open_windows_automatically)
91   IPC_STRUCT_TRAITS_MEMBER(loads_images_automatically)
92   IPC_STRUCT_TRAITS_MEMBER(images_enabled)
93   IPC_STRUCT_TRAITS_MEMBER(plugins_enabled)
94   IPC_STRUCT_TRAITS_MEMBER(dom_paste_enabled)
95   IPC_STRUCT_TRAITS_MEMBER(inspector_settings)
96   IPC_STRUCT_TRAITS_MEMBER(site_specific_quirks_enabled)
97   IPC_STRUCT_TRAITS_MEMBER(shrinks_standalone_images_to_fit)
98   IPC_STRUCT_TRAITS_MEMBER(uses_universal_detector)
99   IPC_STRUCT_TRAITS_MEMBER(text_areas_are_resizable)
100   IPC_STRUCT_TRAITS_MEMBER(java_enabled)
101   IPC_STRUCT_TRAITS_MEMBER(allow_scripts_to_close_windows)
102   IPC_STRUCT_TRAITS_MEMBER(remote_fonts_enabled)
103   IPC_STRUCT_TRAITS_MEMBER(javascript_can_access_clipboard)
104   IPC_STRUCT_TRAITS_MEMBER(xslt_enabled)
105   IPC_STRUCT_TRAITS_MEMBER(xss_auditor_enabled)
106   IPC_STRUCT_TRAITS_MEMBER(dns_prefetching_enabled)
107   IPC_STRUCT_TRAITS_MEMBER(local_storage_enabled)
108   IPC_STRUCT_TRAITS_MEMBER(databases_enabled)
109   IPC_STRUCT_TRAITS_MEMBER(application_cache_enabled)
110   IPC_STRUCT_TRAITS_MEMBER(tabs_to_links)
111   IPC_STRUCT_TRAITS_MEMBER(hyperlink_auditing_enabled)
112   IPC_STRUCT_TRAITS_MEMBER(is_online)
113   IPC_STRUCT_TRAITS_MEMBER(user_style_sheet_enabled)
114   IPC_STRUCT_TRAITS_MEMBER(user_style_sheet_location)
115   IPC_STRUCT_TRAITS_MEMBER(author_and_user_styles_enabled)
116   IPC_STRUCT_TRAITS_MEMBER(allow_universal_access_from_file_urls)
117   IPC_STRUCT_TRAITS_MEMBER(allow_file_access_from_file_urls)
118   IPC_STRUCT_TRAITS_MEMBER(webaudio_enabled)
119   IPC_STRUCT_TRAITS_MEMBER(experimental_webgl_enabled)
120   IPC_STRUCT_TRAITS_MEMBER(experimental_websocket_enabled)
121   IPC_STRUCT_TRAITS_MEMBER(pinch_virtual_viewport_enabled)
122   IPC_STRUCT_TRAITS_MEMBER(use_solid_color_scrollbars)
123   IPC_STRUCT_TRAITS_MEMBER(flash_3d_enabled)
124   IPC_STRUCT_TRAITS_MEMBER(flash_stage3d_enabled)
125   IPC_STRUCT_TRAITS_MEMBER(flash_stage3d_baseline_enabled)
126   IPC_STRUCT_TRAITS_MEMBER(gl_multisampling_enabled)
127   IPC_STRUCT_TRAITS_MEMBER(privileged_webgl_extensions_enabled)
128   IPC_STRUCT_TRAITS_MEMBER(webgl_errors_to_console_enabled)
129   IPC_STRUCT_TRAITS_MEMBER(accelerated_compositing_for_overflow_scroll_enabled)
130   IPC_STRUCT_TRAITS_MEMBER(
131       accelerated_compositing_for_scrollable_frames_enabled)
132   IPC_STRUCT_TRAITS_MEMBER(composited_scrolling_for_frames_enabled)
133   IPC_STRUCT_TRAITS_MEMBER(mock_scrollbars_enabled)
134   IPC_STRUCT_TRAITS_MEMBER(threaded_html_parser)
135   IPC_STRUCT_TRAITS_MEMBER(show_paint_rects)
136   IPC_STRUCT_TRAITS_MEMBER(asynchronous_spell_checking_enabled)
137   IPC_STRUCT_TRAITS_MEMBER(unified_textchecker_enabled)
138   IPC_STRUCT_TRAITS_MEMBER(accelerated_compositing_enabled)
139   IPC_STRUCT_TRAITS_MEMBER(force_compositing_mode)
140   IPC_STRUCT_TRAITS_MEMBER(accelerated_2d_canvas_enabled)
141   IPC_STRUCT_TRAITS_MEMBER(minimum_accelerated_2d_canvas_size)
142   IPC_STRUCT_TRAITS_MEMBER(antialiased_2d_canvas_disabled)
143   IPC_STRUCT_TRAITS_MEMBER(accelerated_2d_canvas_msaa_sample_count)
144   IPC_STRUCT_TRAITS_MEMBER(accelerated_filters_enabled)
145   IPC_STRUCT_TRAITS_MEMBER(gesture_tap_highlight_enabled)
146   IPC_STRUCT_TRAITS_MEMBER(accelerated_compositing_for_plugins_enabled)
147   IPC_STRUCT_TRAITS_MEMBER(accelerated_compositing_for_3d_transforms_enabled)
148   IPC_STRUCT_TRAITS_MEMBER(accelerated_compositing_for_animation_enabled)
149   IPC_STRUCT_TRAITS_MEMBER(accelerated_compositing_for_video_enabled)
150   IPC_STRUCT_TRAITS_MEMBER(memory_info_enabled)
151   IPC_STRUCT_TRAITS_MEMBER(fullscreen_enabled)
152   IPC_STRUCT_TRAITS_MEMBER(allow_displaying_insecure_content)
153   IPC_STRUCT_TRAITS_MEMBER(allow_running_insecure_content)
154   IPC_STRUCT_TRAITS_MEMBER(enable_scroll_animator)
155   IPC_STRUCT_TRAITS_MEMBER(visual_word_movement_enabled)
156   IPC_STRUCT_TRAITS_MEMBER(password_echo_enabled)
157   IPC_STRUCT_TRAITS_MEMBER(lazy_layout_enabled)
158   IPC_STRUCT_TRAITS_MEMBER(region_based_columns_enabled)
159   IPC_STRUCT_TRAITS_MEMBER(touch_enabled)
160   IPC_STRUCT_TRAITS_MEMBER(device_supports_touch)
161   IPC_STRUCT_TRAITS_MEMBER(device_supports_mouse)
162   IPC_STRUCT_TRAITS_MEMBER(touch_adjustment_enabled)
163   IPC_STRUCT_TRAITS_MEMBER(pointer_events_max_touch_points)
164   IPC_STRUCT_TRAITS_MEMBER(fixed_position_creates_stacking_context)
165   IPC_STRUCT_TRAITS_MEMBER(sync_xhr_in_documents_enabled)
166   IPC_STRUCT_TRAITS_MEMBER(deferred_image_decoding_enabled)
167   IPC_STRUCT_TRAITS_MEMBER(should_respect_image_orientation)
168   IPC_STRUCT_TRAITS_MEMBER(number_of_cpu_cores)
169   IPC_STRUCT_TRAITS_MEMBER(editing_behavior)
170   IPC_STRUCT_TRAITS_MEMBER(supports_multiple_windows)
171   IPC_STRUCT_TRAITS_MEMBER(viewport_enabled)
172   IPC_STRUCT_TRAITS_MEMBER(initialize_at_minimum_page_scale)
173   IPC_STRUCT_TRAITS_MEMBER(smart_insert_delete_enabled)
174   IPC_STRUCT_TRAITS_MEMBER(compositor_touch_hit_testing)
175   IPC_STRUCT_TRAITS_MEMBER(cookie_enabled)
176   IPC_STRUCT_TRAITS_MEMBER(spatial_navigation_enabled)
177 #if defined(OS_ANDROID)
178   IPC_STRUCT_TRAITS_MEMBER(text_autosizing_enabled)
179   IPC_STRUCT_TRAITS_MEMBER(font_scale_factor)
180   IPC_STRUCT_TRAITS_MEMBER(device_scale_adjustment)
181   IPC_STRUCT_TRAITS_MEMBER(force_enable_zoom)
182   IPC_STRUCT_TRAITS_MEMBER(double_tap_to_zoom_enabled)
183   IPC_STRUCT_TRAITS_MEMBER(user_gesture_required_for_media_playback)
184   IPC_STRUCT_TRAITS_MEMBER(user_gesture_required_for_media_fullscreen)
185   IPC_STRUCT_TRAITS_MEMBER(default_video_poster_url)
186   IPC_STRUCT_TRAITS_MEMBER(support_deprecated_target_density_dpi)
187   IPC_STRUCT_TRAITS_MEMBER(use_legacy_background_size_shorthand_behavior)
188   IPC_STRUCT_TRAITS_MEMBER(wide_viewport_quirk)
189   IPC_STRUCT_TRAITS_MEMBER(use_wide_viewport)
190   IPC_STRUCT_TRAITS_MEMBER(viewport_meta_layout_size_quirk)
191   IPC_STRUCT_TRAITS_MEMBER(viewport_meta_merge_content_quirk)
192   IPC_STRUCT_TRAITS_MEMBER(viewport_meta_zero_values_quirk)
193   IPC_STRUCT_TRAITS_MEMBER(ignore_main_frame_overflow_hidden_quirk)
194   IPC_STRUCT_TRAITS_MEMBER(report_screen_size_in_physical_pixels_quirk)
195 #endif
196 IPC_STRUCT_TRAITS_END()
197
198 IPC_STRUCT_TRAITS_BEGIN(WebKit::WebWindowFeatures)
199   IPC_STRUCT_TRAITS_MEMBER(x)
200   IPC_STRUCT_TRAITS_MEMBER(xSet)
201   IPC_STRUCT_TRAITS_MEMBER(y)
202   IPC_STRUCT_TRAITS_MEMBER(ySet)
203   IPC_STRUCT_TRAITS_MEMBER(width)
204   IPC_STRUCT_TRAITS_MEMBER(widthSet)
205   IPC_STRUCT_TRAITS_MEMBER(height)
206   IPC_STRUCT_TRAITS_MEMBER(heightSet)
207   IPC_STRUCT_TRAITS_MEMBER(menuBarVisible)
208   IPC_STRUCT_TRAITS_MEMBER(statusBarVisible)
209   IPC_STRUCT_TRAITS_MEMBER(toolBarVisible)
210   IPC_STRUCT_TRAITS_MEMBER(locationBarVisible)
211   IPC_STRUCT_TRAITS_MEMBER(scrollbarsVisible)
212   IPC_STRUCT_TRAITS_MEMBER(resizable)
213   IPC_STRUCT_TRAITS_MEMBER(fullscreen)
214   IPC_STRUCT_TRAITS_MEMBER(dialog)
215 IPC_STRUCT_TRAITS_END()
216
217 #endif  // CONTENT_PUBLIC_COMMON_COMMON_PARAM_TRAITS_MACROS_H_