// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Singly or Multiply-included shared traits file depending on circumstances. // This allows the use of IPC serialization macros in more than one IPC message // file. #ifndef CONTENT_PUBLIC_COMMON_COMMON_PARAM_TRAITS_MACROS_H_ #define CONTENT_PUBLIC_COMMON_COMMON_PARAM_TRAITS_MACROS_H_ #include "content/public/common/console_message_level.h" #include "content/public/common/page_transition_types.h" #include "content/public/common/password_form.h" #include "content/public/common/security_style.h" #include "content/public/common/ssl_status.h" #include "ipc/ipc_message_macros.h" #include "net/base/request_priority.h" #include "third_party/WebKit/public/platform/WebPoint.h" #include "third_party/WebKit/public/platform/WebRect.h" #include "third_party/WebKit/public/platform/WebReferrerPolicy.h" #include "third_party/WebKit/public/platform/WebURLRequest.h" #include "ui/base/window_open_disposition.h" #include "webkit/common/webpreferences.h" #include "webkit/plugins/webplugininfo.h" #undef IPC_MESSAGE_EXPORT #define IPC_MESSAGE_EXPORT CONTENT_EXPORT IPC_ENUM_TRAITS(content::ConsoleMessageLevel) IPC_ENUM_TRAITS(content::PageTransition) IPC_ENUM_TRAITS(content::SecurityStyle) IPC_ENUM_TRAITS(WebKit::WebReferrerPolicy) IPC_ENUM_TRAITS(WindowOpenDisposition) IPC_ENUM_TRAITS(webkit_glue::EditingBehavior) IPC_ENUM_TRAITS(content::PasswordForm::Type) IPC_ENUM_TRAITS(net::RequestPriority) IPC_STRUCT_TRAITS_BEGIN(WebKit::WebPoint) IPC_STRUCT_TRAITS_MEMBER(x) IPC_STRUCT_TRAITS_MEMBER(y) IPC_STRUCT_TRAITS_END() IPC_STRUCT_TRAITS_BEGIN(WebKit::WebRect) IPC_STRUCT_TRAITS_MEMBER(x) IPC_STRUCT_TRAITS_MEMBER(y) IPC_STRUCT_TRAITS_MEMBER(width) IPC_STRUCT_TRAITS_MEMBER(height) IPC_STRUCT_TRAITS_END() IPC_STRUCT_TRAITS_BEGIN(content::PasswordForm) IPC_STRUCT_TRAITS_MEMBER(signon_realm) IPC_STRUCT_TRAITS_MEMBER(origin) IPC_STRUCT_TRAITS_MEMBER(action) IPC_STRUCT_TRAITS_MEMBER(submit_element) IPC_STRUCT_TRAITS_MEMBER(username_element) IPC_STRUCT_TRAITS_MEMBER(username_value) IPC_STRUCT_TRAITS_MEMBER(other_possible_usernames) IPC_STRUCT_TRAITS_MEMBER(password_element) IPC_STRUCT_TRAITS_MEMBER(password_value) IPC_STRUCT_TRAITS_MEMBER(password_autocomplete_set) IPC_STRUCT_TRAITS_MEMBER(old_password_element) IPC_STRUCT_TRAITS_MEMBER(old_password_value) IPC_STRUCT_TRAITS_MEMBER(ssl_valid) IPC_STRUCT_TRAITS_MEMBER(preferred) IPC_STRUCT_TRAITS_MEMBER(blacklisted_by_user) IPC_STRUCT_TRAITS_MEMBER(type) IPC_STRUCT_TRAITS_MEMBER(times_used) IPC_STRUCT_TRAITS_END() IPC_STRUCT_TRAITS_BEGIN(content::SSLStatus) IPC_STRUCT_TRAITS_MEMBER(security_style) IPC_STRUCT_TRAITS_MEMBER(cert_id) IPC_STRUCT_TRAITS_MEMBER(cert_status) IPC_STRUCT_TRAITS_MEMBER(security_bits) IPC_STRUCT_TRAITS_MEMBER(connection_status) IPC_STRUCT_TRAITS_MEMBER(content_status) IPC_STRUCT_TRAITS_END() IPC_STRUCT_TRAITS_BEGIN(webkit::WebPluginMimeType) IPC_STRUCT_TRAITS_MEMBER(mime_type) IPC_STRUCT_TRAITS_MEMBER(file_extensions) IPC_STRUCT_TRAITS_MEMBER(description) IPC_STRUCT_TRAITS_MEMBER(additional_param_names) IPC_STRUCT_TRAITS_MEMBER(additional_param_values) IPC_STRUCT_TRAITS_END() IPC_STRUCT_TRAITS_BEGIN(webkit::WebPluginInfo) IPC_STRUCT_TRAITS_MEMBER(name) IPC_STRUCT_TRAITS_MEMBER(path) IPC_STRUCT_TRAITS_MEMBER(version) IPC_STRUCT_TRAITS_MEMBER(desc) IPC_STRUCT_TRAITS_MEMBER(mime_types) IPC_STRUCT_TRAITS_MEMBER(type) IPC_STRUCT_TRAITS_MEMBER(pepper_permissions) IPC_STRUCT_TRAITS_END() IPC_STRUCT_TRAITS_BEGIN(WebPreferences) IPC_STRUCT_TRAITS_MEMBER(standard_font_family_map) IPC_STRUCT_TRAITS_MEMBER(fixed_font_family_map) IPC_STRUCT_TRAITS_MEMBER(serif_font_family_map) IPC_STRUCT_TRAITS_MEMBER(sans_serif_font_family_map) IPC_STRUCT_TRAITS_MEMBER(cursive_font_family_map) IPC_STRUCT_TRAITS_MEMBER(fantasy_font_family_map) IPC_STRUCT_TRAITS_MEMBER(default_font_size) IPC_STRUCT_TRAITS_MEMBER(default_fixed_font_size) IPC_STRUCT_TRAITS_MEMBER(minimum_font_size) IPC_STRUCT_TRAITS_MEMBER(minimum_logical_font_size) IPC_STRUCT_TRAITS_MEMBER(default_encoding) IPC_STRUCT_TRAITS_MEMBER(javascript_enabled) IPC_STRUCT_TRAITS_MEMBER(web_security_enabled) IPC_STRUCT_TRAITS_MEMBER(javascript_can_open_windows_automatically) IPC_STRUCT_TRAITS_MEMBER(loads_images_automatically) IPC_STRUCT_TRAITS_MEMBER(images_enabled) IPC_STRUCT_TRAITS_MEMBER(plugins_enabled) IPC_STRUCT_TRAITS_MEMBER(dom_paste_enabled) IPC_STRUCT_TRAITS_MEMBER(inspector_settings) IPC_STRUCT_TRAITS_MEMBER(site_specific_quirks_enabled) IPC_STRUCT_TRAITS_MEMBER(shrinks_standalone_images_to_fit) IPC_STRUCT_TRAITS_MEMBER(uses_universal_detector) IPC_STRUCT_TRAITS_MEMBER(text_areas_are_resizable) IPC_STRUCT_TRAITS_MEMBER(java_enabled) IPC_STRUCT_TRAITS_MEMBER(allow_scripts_to_close_windows) IPC_STRUCT_TRAITS_MEMBER(remote_fonts_enabled) IPC_STRUCT_TRAITS_MEMBER(javascript_can_access_clipboard) IPC_STRUCT_TRAITS_MEMBER(xss_auditor_enabled) IPC_STRUCT_TRAITS_MEMBER(dns_prefetching_enabled) IPC_STRUCT_TRAITS_MEMBER(local_storage_enabled) IPC_STRUCT_TRAITS_MEMBER(databases_enabled) IPC_STRUCT_TRAITS_MEMBER(application_cache_enabled) IPC_STRUCT_TRAITS_MEMBER(tabs_to_links) IPC_STRUCT_TRAITS_MEMBER(hyperlink_auditing_enabled) IPC_STRUCT_TRAITS_MEMBER(is_online) IPC_STRUCT_TRAITS_MEMBER(user_style_sheet_enabled) IPC_STRUCT_TRAITS_MEMBER(user_style_sheet_location) IPC_STRUCT_TRAITS_MEMBER(author_and_user_styles_enabled) IPC_STRUCT_TRAITS_MEMBER(allow_universal_access_from_file_urls) IPC_STRUCT_TRAITS_MEMBER(allow_file_access_from_file_urls) IPC_STRUCT_TRAITS_MEMBER(webaudio_enabled) IPC_STRUCT_TRAITS_MEMBER(experimental_webgl_enabled) IPC_STRUCT_TRAITS_MEMBER(experimental_websocket_enabled) IPC_STRUCT_TRAITS_MEMBER(pinch_virtual_viewport_enabled) IPC_STRUCT_TRAITS_MEMBER(flash_3d_enabled) IPC_STRUCT_TRAITS_MEMBER(flash_stage3d_enabled) IPC_STRUCT_TRAITS_MEMBER(flash_stage3d_baseline_enabled) IPC_STRUCT_TRAITS_MEMBER(gl_multisampling_enabled) IPC_STRUCT_TRAITS_MEMBER(privileged_webgl_extensions_enabled) IPC_STRUCT_TRAITS_MEMBER(webgl_errors_to_console_enabled) IPC_STRUCT_TRAITS_MEMBER(accelerated_compositing_for_overflow_scroll_enabled) IPC_STRUCT_TRAITS_MEMBER( accelerated_compositing_for_scrollable_frames_enabled) IPC_STRUCT_TRAITS_MEMBER(composited_scrolling_for_frames_enabled) IPC_STRUCT_TRAITS_MEMBER(mock_scrollbars_enabled) IPC_STRUCT_TRAITS_MEMBER(threaded_html_parser) IPC_STRUCT_TRAITS_MEMBER(show_paint_rects) IPC_STRUCT_TRAITS_MEMBER(asynchronous_spell_checking_enabled) IPC_STRUCT_TRAITS_MEMBER(unified_textchecker_enabled) IPC_STRUCT_TRAITS_MEMBER(accelerated_compositing_enabled) IPC_STRUCT_TRAITS_MEMBER(force_compositing_mode) IPC_STRUCT_TRAITS_MEMBER(accelerated_2d_canvas_enabled) IPC_STRUCT_TRAITS_MEMBER(minimum_accelerated_2d_canvas_size) IPC_STRUCT_TRAITS_MEMBER(antialiased_2d_canvas_disabled) IPC_STRUCT_TRAITS_MEMBER(accelerated_filters_enabled) IPC_STRUCT_TRAITS_MEMBER(gesture_tap_highlight_enabled) IPC_STRUCT_TRAITS_MEMBER(accelerated_compositing_for_plugins_enabled) IPC_STRUCT_TRAITS_MEMBER(accelerated_compositing_for_3d_transforms_enabled) IPC_STRUCT_TRAITS_MEMBER(accelerated_compositing_for_animation_enabled) IPC_STRUCT_TRAITS_MEMBER(accelerated_compositing_for_video_enabled) IPC_STRUCT_TRAITS_MEMBER(memory_info_enabled) IPC_STRUCT_TRAITS_MEMBER(fullscreen_enabled) IPC_STRUCT_TRAITS_MEMBER(allow_displaying_insecure_content) IPC_STRUCT_TRAITS_MEMBER(allow_running_insecure_content) IPC_STRUCT_TRAITS_MEMBER(enable_scroll_animator) IPC_STRUCT_TRAITS_MEMBER(visual_word_movement_enabled) IPC_STRUCT_TRAITS_MEMBER(password_echo_enabled) IPC_STRUCT_TRAITS_MEMBER(css_sticky_position_enabled) IPC_STRUCT_TRAITS_MEMBER(css_shaders_enabled) IPC_STRUCT_TRAITS_MEMBER(css_grid_layout_enabled) IPC_STRUCT_TRAITS_MEMBER(lazy_layout_enabled) IPC_STRUCT_TRAITS_MEMBER(region_based_columns_enabled) IPC_STRUCT_TRAITS_MEMBER(touch_enabled) IPC_STRUCT_TRAITS_MEMBER(device_supports_touch) IPC_STRUCT_TRAITS_MEMBER(device_supports_mouse) IPC_STRUCT_TRAITS_MEMBER(touch_adjustment_enabled) IPC_STRUCT_TRAITS_MEMBER(fixed_position_creates_stacking_context) IPC_STRUCT_TRAITS_MEMBER(sync_xhr_in_documents_enabled) IPC_STRUCT_TRAITS_MEMBER(deferred_image_decoding_enabled) IPC_STRUCT_TRAITS_MEMBER(should_respect_image_orientation) IPC_STRUCT_TRAITS_MEMBER(number_of_cpu_cores) IPC_STRUCT_TRAITS_MEMBER(editing_behavior) IPC_STRUCT_TRAITS_MEMBER(supports_multiple_windows) IPC_STRUCT_TRAITS_MEMBER(viewport_enabled) IPC_STRUCT_TRAITS_MEMBER(initialize_at_minimum_page_scale) IPC_STRUCT_TRAITS_MEMBER(smart_insert_delete_enabled) IPC_STRUCT_TRAITS_MEMBER(cookie_enabled) IPC_STRUCT_TRAITS_MEMBER(spatial_navigation_enabled) #if defined(OS_ANDROID) IPC_STRUCT_TRAITS_MEMBER(text_autosizing_enabled) IPC_STRUCT_TRAITS_MEMBER(font_scale_factor) IPC_STRUCT_TRAITS_MEMBER(force_enable_zoom) IPC_STRUCT_TRAITS_MEMBER(double_tap_to_zoom_enabled) IPC_STRUCT_TRAITS_MEMBER(user_gesture_required_for_media_playback) IPC_STRUCT_TRAITS_MEMBER(default_video_poster_url) IPC_STRUCT_TRAITS_MEMBER(support_deprecated_target_density_dpi) IPC_STRUCT_TRAITS_MEMBER(use_wide_viewport) #endif IPC_STRUCT_TRAITS_END() #endif // CONTENT_PUBLIC_COMMON_COMMON_PARAM_TRAITS_MACROS_H_