| // Copyright 2018 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. |
| |
| module blink.mojom; |
| |
| import "mojo/public/mojom/base/string16.mojom"; |
| import "mojo/public/mojom/base/time.mojom"; |
| import "ui/gfx/mojom/font_render_params.mojom"; |
| import "third_party/blink/public/mojom/user_agent/user_agent_metadata.mojom"; |
| |
| const int64 kDefaultCaretBlinkIntervalInMilliseconds = 500; |
| |
| // User preferences needed to be passed to the renderer process. |
| struct RendererPreferences { |
| // Whether the renderer's current browser context accept drops from the OS |
| // that result in navigations away from the current page. |
| bool can_accept_load_drops = true; |
| |
| // Whether text should be antialiased. |
| // Currently only used by Linux. |
| bool should_antialias_text = true; |
| |
| // The level of hinting to use when rendering text. |
| // Currently only used by Linux. |
| gfx.mojom.Hinting hinting = gfx.mojom.Hinting.kMedium; |
| |
| // Whether auto hinter should be used. Currently only used by Linux. |
| bool use_autohinter = false; |
| |
| // Whether embedded bitmap strikes in fonts should be used. |
| // Current only used by Linux. |
| bool use_bitmaps = false; |
| |
| // The type of subpixel rendering to use for text. |
| // Currently only used by Linux and Windows. |
| gfx.mojom.SubpixelRendering subpixel_rendering = |
| gfx.mojom.SubpixelRendering.kNone; |
| |
| // Whether subpixel positioning should be used, permitting fractional X |
| // positions for glyphs. Currently only used by Linux. |
| bool use_subpixel_positioning = false; |
| |
| // The color of the focus ring. |
| uint32 focus_ring_color = 0xFFE59700; |
| |
| // The colors used in selection text. Currently only used on Linux and Ash. |
| uint32 active_selection_bg_color = 0xFF1E90FF; |
| uint32 active_selection_fg_color = 0xFFFFFFFF; |
| uint32 inactive_selection_bg_color = 0xFFC8C8C8; |
| uint32 inactive_selection_fg_color = 0xFF323232; |
| |
| // Browser wants a look at all top-level navigation requests. |
| bool browser_handles_all_top_level_requests = false; |
| |
| // Cursor blink rate. |
| // Currently only changed from default on Linux. Uses |gtk-cursor-blink| |
| // from GtkSettings. |
| // Note: Null |caret_blink_interval| should be interpreted as the default |
| // value kDefaultCaretBlinkIntervalInMilliseconds. |
| mojo_base.mojom.TimeDelta? caret_blink_interval; |
| |
| // Whether or not to set custom colors at all. |
| bool use_custom_colors = true; |
| |
| // Set to false to not send referrers. |
| bool enable_referrers = true; |
| |
| // Set to true to allow third-party sub-content to pop-up HTTP basic auth |
| // dialog boxes. |
| bool allow_cross_origin_auth_prompt = false; |
| |
| // Set to true to indicate that the preference to set DNT to 1 is enabled. |
| bool enable_do_not_track = false; |
| |
| // Whether to allow the use of Encrypted Media Extensions (EME), except for |
| // the use of Clear Key key system which is always allowed as required by the |
| // spec. |
| bool enable_encrypted_media = true; |
| |
| // This is the IP handling policy override for WebRTC. The value must be one |
| // of the strings defined in privacy.json. The allowed values are specified |
| // in webrtc_ip_handling_policy.h. |
| string webrtc_ip_handling_policy; |
| |
| // This is the range of UDP ports allowed to be used by WebRTC. A value of |
| // zero in both fields means all ports are allowed. |
| uint16 webrtc_udp_min_port = 0; |
| uint16 webrtc_udp_max_port = 0; |
| |
| array<string> webrtc_local_ips_allowed_urls; |
| |
| // Whether WebRTC peer connections are allowed to use legacy versions of the |
| // TLS/DTLS protocols. |
| bool webrtc_allow_legacy_tls_protocols = false; |
| |
| // The user agent given to WebKit when it requests one and the user agent is |
| // being overridden for the current navigation. |
| UserAgentOverride user_agent_override; |
| |
| // The accept-languages of the browser, comma-separated. |
| string accept_languages; |
| |
| // Determines whether plugins are allowed to enter fullscreen mode. |
| bool plugin_fullscreen_allowed = true; |
| |
| // Whether or not caret browsing is enabled. |
| bool caret_browsing_enabled = false; |
| |
| [EnableIf=renderer_pref_system_font_family_name] |
| string system_font_family_name; |
| |
| // The default system font settings for caption, small caption, menu and |
| // status messages. Used only by Windows. |
| // TODO(https://crbug.com/869748): Consolidate all fields below into a new |
| // Win-only mojom struct to avoid using a [EnableIf=is_win] for each of them. |
| [EnableIf=is_win] |
| mojo_base.mojom.String16 caption_font_family_name; |
| [EnableIf=is_win] |
| int32 caption_font_height = 0; |
| |
| [EnableIf=is_win] |
| mojo_base.mojom.String16 small_caption_font_family_name; |
| [EnableIf=is_win] |
| int32 small_caption_font_height = 0; |
| |
| [EnableIf=is_win] |
| mojo_base.mojom.String16 menu_font_family_name; |
| [EnableIf=is_win] |
| int32 menu_font_height = 0; |
| |
| [EnableIf=is_win] |
| mojo_base.mojom.String16 status_font_family_name; |
| [EnableIf=is_win] |
| int32 status_font_height = 0; |
| |
| [EnableIf=is_win] |
| mojo_base.mojom.String16 message_font_family_name; |
| [EnableIf=is_win] |
| int32 message_font_height = 0; |
| |
| // The width of a vertical scroll bar in dips. |
| [EnableIf=is_win] |
| int32 vertical_scroll_bar_width_in_dips = 0; |
| |
| // The height of a horizontal scroll bar in dips. |
| [EnableIf=is_win] |
| int32 horizontal_scroll_bar_height_in_dips = 0; |
| |
| // The height of the arrow bitmap on a vertical scroll bar in dips. |
| [EnableIf=is_win] |
| int32 arrow_bitmap_height_vertical_scroll_bar_in_dips = 0; |
| |
| // The width of the arrow bitmap on a horizontal scroll bar in dips. |
| [EnableIf=is_win] |
| int32 arrow_bitmap_width_horizontal_scroll_bar_in_dips = 0; |
| |
| // Whether the selection clipboard buffer is available. Linux environments |
| // may support this. |
| [EnableIf=is_selection_clipboard_buffer_possible] |
| bool selection_clipboard_buffer_available = false; |
| }; |