From eb7b1b98e6ce08aff03d79bf3f4e8f3a5bfc66ba Mon Sep 17 00:00:00 2001 From: Joseph P Medley Date: Wed, 20 Mar 2024 20:03:47 -0700 Subject: [PATCH] Update resources. --- .update | 1 + .../aria_notification_options.idl | 8 + idl/core/animation/animatable.idl | 42 + idl/core/animation/animation.idl | 66 + idl/core/animation/animation_effect.idl | 38 + idl/core/animation/animation_timeline.idl | 14 + idl/core/animation/base_keyframe.idl | 14 + .../base_property_indexed_keyframe.idl | 11 + idl/core/animation/computed_effect_timing.idl | 13 + idl/core/animation/css/css_animation.idl | 10 + idl/core/animation/css/css_transition.idl | 10 + idl/core/animation/document_animation.idl | 11 + idl/core/animation/document_timeline.idl | 11 + .../animation/document_timeline_options.idl | 9 + idl/core/animation/effect_timing.idl | 19 + idl/core/animation/get_animations_options.idl | 9 + .../animation/keyframe_animation_options.idl | 29 + idl/core/animation/keyframe_effect.idl | 45 + .../animation/keyframe_effect_options.idl | 11 + idl/core/animation/optional_effect_timing.idl | 19 + idl/core/animation/scroll_timeline.idl | 15 + .../animation/scroll_timeline_options.idl | 10 + idl/core/animation/view_timeline.idl | 16 + idl/core/animation/view_timeline_options.idl | 13 + idl/core/aom/accessible_node.idl | 72 + idl/core/aom/accessible_node_list.idl | 18 + idl/core/aom/computed_accessible_node.idl | 54 + idl/core/clipboard/data_transfer.idl | 48 + idl/core/clipboard/data_transfer_item.idl | 40 + .../clipboard/data_transfer_item_list.idl | 42 + .../css/computed_style_field_aliases.json5 | 20 + idl/core/css/css.idl | 39 + idl/core/css/css_condition_rule.idl | 12 + idl/core/css/css_container_rule.idl | 11 + idl/core/css/css_counter_style_rule.idl | 19 + idl/core/css/css_font_face_rule.idl | 27 + idl/core/css/css_font_feature_values_rule.idl | 22 + idl/core/css/css_font_palette_values_rule.idl | 13 + idl/core/css/css_group_config.json5 | 25 + idl/core/css/css_grouping_rule.idl | 13 + idl/core/css/css_import_rule.idl | 33 + idl/core/css/css_keyframe_rule.idl | 36 + idl/core/css/css_keyframes_rule.idl | 42 + idl/core/css/css_layer_block_rule.idl | 10 + idl/core/css/css_layer_statement_rule.idl | 10 + idl/core/css/css_media_rule.idl | 27 + idl/core/css/css_namespace_rule.idl | 13 + idl/core/css/css_page_rule.idl | 33 + idl/core/css/css_position_try_rule.idl | 11 + idl/core/css/css_primitive_value_units.json5 | 262 + idl/core/css/css_properties.json5 | 8863 +++++++++++++++++ idl/core/css/css_properties_ranking.json5 | 742 ++ idl/core/css/css_property_rule.idl | 12 + idl/core/css/css_rule.idl | 56 + idl/core/css/css_rule_list.idl | 33 + idl/core/css/css_scope_rule.idl | 11 + idl/core/css/css_starting_style_rule.idl | 8 + idl/core/css/css_style_declaration.idl | 46 + idl/core/css/css_style_rule.idl | 34 + idl/core/css/css_style_sheet.idl | 39 + idl/core/css/css_style_sheet_init.idl | 10 + idl/core/css/css_supports_rule.idl | 34 + idl/core/css/css_value_keywords.json5 | 1870 ++++ idl/core/css/css_view_transition_rule.idl | 11 + idl/core/css/cssom/caret_position.idl | 13 + idl/core/css/cssom/css_color_value.idl | 17 + idl/core/css/cssom/css_hsl.idl | 16 + idl/core/css/cssom/css_hwb.idl | 18 + idl/core/css/cssom/css_image_value.idl | 12 + idl/core/css/cssom/css_keyword_value.idl | 15 + idl/core/css/cssom/css_math_clamp.idl | 14 + idl/core/css/cssom/css_math_invert.idl | 12 + idl/core/css/cssom/css_math_max.idl | 12 + idl/core/css/cssom/css_math_min.idl | 12 + idl/core/css/cssom/css_math_negate.idl | 12 + idl/core/css/cssom/css_math_product.idl | 12 + idl/core/css/cssom/css_math_sum.idl | 12 + idl/core/css/cssom/css_math_value.idl | 20 + idl/core/css/cssom/css_matrix_component.idl | 14 + .../cssom/css_matrix_component_options.idl | 10 + idl/core/css/cssom/css_numeric_array.idl | 13 + idl/core/css/cssom/css_numeric_type.idl | 26 + idl/core/css/cssom/css_numeric_value.idl | 28 + idl/core/css/cssom/css_perspective.idl | 15 + idl/core/css/cssom/css_position_value.idl | 14 + idl/core/css/cssom/css_rgb.idl | 16 + idl/core/css/cssom/css_rotate.idl | 17 + idl/core/css/cssom/css_scale.idl | 15 + idl/core/css/cssom/css_skew.idl | 14 + idl/core/css/cssom/css_skew_x.idl | 13 + idl/core/css/cssom/css_skew_y.idl | 13 + idl/core/css/cssom/css_style_value.idl | 16 + .../css/cssom/css_transform_component.idl | 15 + idl/core/css/cssom/css_transform_value.idl | 16 + idl/core/css/cssom/css_translate.idl | 16 + idl/core/css/cssom/css_unit_value.idl | 14 + idl/core/css/cssom/css_unit_values.idl | 91 + idl/core/css/cssom/css_unparsed_value.idl | 19 + .../cssom/css_variable_reference_value.idl | 14 + .../css/cssom/element_computed_style_map.idl | 11 + idl/core/css/cssom/style_property_map.idl | 15 + .../cssom/style_property_map_read_only.idl | 17 + idl/core/css/cssom_string.idl | 9 + idl/core/css/font_face.idl | 64 + idl/core/css/font_face_descriptors.idl | 19 + idl/core/css/font_face_set.idl | 61 + idl/core/css/font_face_set_load_event.idl | 39 + .../css/font_face_set_load_event_init.idl | 9 + idl/core/css/font_face_source.idl | 8 + idl/core/css/media_feature_names.json5 | 81 + idl/core/css/media_list.idl | 36 + idl/core/css/media_query_list.idl | 35 + idl/core/css/media_query_list_event.idl | 13 + idl/core/css/media_query_list_event_init.idl | 10 + idl/core/css/media_type_names.json5 | 20 + idl/core/css/parser/at_rule_names.json5 | 106 + .../css/properties/css_property_methods.json5 | 48 + idl/core/css/property_definition.idl | 10 + idl/core/css/property_registration.idl | 11 + idl/core/css/style_media.idl | 39 + idl/core/css/style_sheet.idl | 34 + idl/core/css/style_sheet_list.idl | 31 + ...ent_visibility_auto_state_change_event.idl | 10 + ...isibility_auto_state_change_event_init.idl | 8 + idl/core/dom/abort_controller.idl | 14 + idl/core/dom/abort_signal.idl | 31 + idl/core/dom/abstract_range.idl | 15 + idl/core/dom/accessibility_role.idl | 12 + idl/core/dom/aria_attributes.idl | 54 + idl/core/dom/aria_relationship_attributes.idl | 21 + idl/core/dom/attr.idl | 34 + idl/core/dom/attribute_part.idl | 14 + idl/core/dom/cdata_section.idl | 25 + idl/core/dom/character_data.idl | 34 + idl/core/dom/child_node.idl | 29 + idl/core/dom/child_node_part.idl | 15 + idl/core/dom/comment.idl | 26 + idl/core/dom/common_definitions.idl | 18 + idl/core/dom/document.idl | 239 + .../document_and_element_event_handlers.idl | 10 + idl/core/dom/document_fragment.idl | 32 + idl/core/dom/document_or_shadow_root.idl | 29 + idl/core/dom/document_part_root.idl | 10 + idl/core/dom/document_type.idl | 30 + idl/core/dom/dom_exception.idl | 80 + idl/core/dom/dom_implementation.idl | 33 + idl/core/dom/dom_string_list.idl | 33 + idl/core/dom/dom_string_map.idl | 35 + idl/core/dom/dom_token_list.idl | 42 + idl/core/dom/element.idl | 174 + idl/core/dom/element_creation_options.idl | 9 + idl/core/dom/element_css_inline_style.idl | 12 + idl/core/dom/element_definition_options.idl | 7 + idl/core/dom/element_registration_options.idl | 10 + .../dom/events/add_event_listener_options.idl | 11 + idl/core/dom/events/custom_event.idl | 35 + idl/core/dom/events/custom_event_init.idl | 9 + idl/core/dom/events/event.idl | 57 + idl/core/dom/events/event_init.idl | 11 + idl/core/dom/events/event_listener.idl | 25 + .../dom/events/event_listener_options.idl | 9 + idl/core/dom/events/event_modifier_init.idl | 19 + idl/core/dom/events/event_target.idl | 36 + idl/core/dom/frame_request_callback.idl | 34 + idl/core/dom/function_string_callback.idl | 33 + idl/core/dom/get_html_options.idl | 8 + idl/core/dom/get_inner_html_options.idl | 12 + idl/core/dom/get_root_node_options.idl | 9 + idl/core/dom/global_event_handlers.idl | 153 + idl/core/dom/idle_deadline.idl | 12 + idl/core/dom/idle_request_callback.idl | 7 + idl/core/dom/idle_request_options.idl | 9 + idl/core/dom/interest_invoker_element.idl | 9 + idl/core/dom/invoker_element.idl | 9 + idl/core/dom/mutation_observer.idl | 46 + idl/core/dom/mutation_observer_init.idl | 15 + idl/core/dom/mutation_record.idl | 45 + idl/core/dom/named_node_map.idl | 35 + idl/core/dom/node.idl | 81 + idl/core/dom/node_filter.idl | 47 + idl/core/dom/node_iterator.idl | 36 + idl/core/dom/node_list.idl | 29 + idl/core/dom/node_part.idl | 12 + idl/core/dom/non_document_type_child_node.idl | 9 + idl/core/dom/non_element_parent_node.idl | 8 + idl/core/dom/observable.idl | 54 + idl/core/dom/parent_node.idl | 44 + idl/core/dom/part.idl | 19 + idl/core/dom/part_root.idl | 35 + idl/core/dom/pointer_lock_options.idl | 4 + idl/core/dom/popover_invoker_element.idl | 11 + idl/core/dom/processing_instruction.idl | 31 + idl/core/dom/range.idl | 71 + idl/core/dom/shadow_root.idl | 88 + idl/core/dom/shadow_root_init.idl | 19 + idl/core/dom/static_range.idl | 10 + idl/core/dom/static_range_init.idl | 12 + idl/core/dom/subscriber.idl | 17 + .../dom/testing/internals_storage_access.idl | 9 + idl/core/dom/text.idl | 32 + idl/core/dom/tree_walker.idl | 38 + idl/core/dom/void_function.idl | 7 + idl/core/dom/xml_document.idl | 31 + .../ime/character_bounds_update_event.idl | 18 + .../character_bounds_update_event_init.idl | 13 + idl/core/editing/ime/edit_context.idl | 36 + idl/core/editing/ime/edit_context_init.idl | 14 + idl/core/editing/ime/text_format.idl | 22 + idl/core/editing/ime/text_format_init.idl | 15 + .../editing/ime/text_format_update_event.idl | 18 + .../ime/text_format_update_event_init.idl | 12 + idl/core/editing/ime/text_update_event.idl | 23 + .../editing/ime/text_update_event_init.idl | 16 + idl/core/editing/selection.idl | 73 + idl/core/events/animation_event.idl | 35 + idl/core/events/animation_event_init.idl | 11 + idl/core/events/animation_playback_event.idl | 13 + .../events/animation_playback_event_init.idl | 10 + .../events/before_create_policy_event.idl | 10 + idl/core/events/before_unload_event.idl | 36 + idl/core/events/clipboard_event.idl | 12 + idl/core/events/clipboard_event_init.idl | 9 + idl/core/events/composition_event.idl | 40 + idl/core/events/composition_event_init.idl | 9 + idl/core/events/drag_event.idl | 12 + idl/core/events/drag_event_init.idl | 9 + idl/core/events/error_event.idl | 42 + idl/core/events/error_event_init.idl | 13 + idl/core/events/event_interface_aliases.json5 | 36 + idl/core/events/event_target_names.json5 | 59 + idl/core/events/event_type_names.json5 | 379 + idl/core/events/focus_event.idl | 33 + idl/core/events/focus_event_init.idl | 9 + idl/core/events/hash_change_event.idl | 29 + idl/core/events/hash_change_event_init.idl | 10 + idl/core/events/input_event.idl | 20 + idl/core/events/input_event_init.idl | 17 + idl/core/events/invoke_event.idl | 17 + idl/core/events/keyboard_event.idl | 58 + idl/core/events/keyboard_event_init.idl | 17 + idl/core/events/message_event.idl | 52 + idl/core/events/message_event_init.idl | 15 + idl/core/events/mouse_event.idl | 73 + idl/core/events/mouse_event_init.idl | 24 + idl/core/events/mutation_event.idl | 45 + idl/core/events/navigator_events.idl | 37 + idl/core/events/overscroll_event.idl | 14 + idl/core/events/overscroll_event_init.idl | 10 + idl/core/events/page_transition_event.idl | 34 + .../events/page_transition_event_init.idl | 9 + idl/core/events/pointer_event.idl | 28 + idl/core/events/pointer_event_init.idl | 25 + idl/core/events/pointer_type_names.json5 | 13 + idl/core/events/pop_state_event.idl | 36 + idl/core/events/pop_state_event_init.idl | 10 + idl/core/events/progress_event.idl | 35 + idl/core/events/progress_event_init.idl | 11 + idl/core/events/promise_rejection_event.idl | 13 + .../events/promise_rejection_event_init.idl | 10 + idl/core/events/resource_progress_event.idl | 37 + .../security_policy_violation_event.idl | 51 + .../security_policy_violation_event_init.idl | 27 + ...itypolicyviolation_disposition_names.json5 | 11 + idl/core/events/text_event.idl | 46 + idl/core/events/toggle_event.idl | 11 + idl/core/events/toggle_event_init.idl | 8 + idl/core/events/touch_event.idl | 39 + idl/core/events/touch_event_init.idl | 11 + idl/core/events/transition_event.idl | 36 + idl/core/events/transition_event_init.idl | 11 + idl/core/events/ui_event.idl | 38 + idl/core/events/ui_event_init.idl | 11 + idl/core/events/wheel_event.idl | 41 + idl/core/events/wheel_event_init.idl | 16 + idl/core/fetch/attribution_reporting.idl | 8 + idl/core/fetch/body.idl | 20 + idl/core/fetch/deferred_request_init.idl | 9 + idl/core/fetch/fetch_later.idl | 32 + idl/core/fetch/headers.idl | 22 + idl/core/fetch/private_token.idl | 31 + idl/core/fetch/request.idl | 71 + idl/core/fetch/request_init.idl | 38 + idl/core/fetch/response.idl | 31 + idl/core/fetch/response_init.idl | 11 + idl/core/fetch/testing/internals_fetch.idl | 9 + .../fetch/testing/worker_internals_fetch.idl | 12 + idl/core/fetch/window_fetch.idl | 11 + idl/core/fetch/worker_fetch.idl | 11 + idl/core/fileapi/blob.idl | 47 + idl/core/fileapi/blob_property_bag.idl | 12 + idl/core/fileapi/file.idl | 39 + idl/core/fileapi/file_list.idl | 34 + idl/core/fileapi/file_property_bag.idl | 9 + idl/core/fileapi/file_reader.idl | 66 + idl/core/fileapi/file_reader_sync.idl | 41 + idl/core/fileapi/url_file_api.idl | 11 + .../fragment_directive/fragment_directive.idl | 12 + .../fragment_directive/text_directive.idl | 16 + .../text_directive_options.idl | 12 + idl/core/frame/bar_prop.idl | 35 + .../coop_access_violation_report_body.idl | 19 + .../frame/csp/csp_violation_report_body.idl | 22 + idl/core/frame/deprecation/deprecation.json5 | 669 ++ .../deprecation/deprecation_report_body.idl | 17 + idl/core/frame/directive.idl | 14 + .../document_policy_violation_report_body.idl | 17 + idl/core/frame/external.idl | 9 + idl/core/frame/history.idl | 41 + idl/core/frame/intervention_report_body.idl | 16 + idl/core/frame/is_input_pending_options.idl | 8 + idl/core/frame/location.idl | 60 + idl/core/frame/navigator.idl | 44 + .../navigator_automation_information.idl | 9 + .../frame/navigator_concurrent_hardware.idl | 9 + idl/core/frame/navigator_cookies.idl | 10 + idl/core/frame/navigator_device_memory.idl | 10 + idl/core/frame/navigator_id.idl | 42 + idl/core/frame/navigator_language.idl | 10 + idl/core/frame/navigator_on_line.idl | 35 + idl/core/frame/navigator_scheduling.idl | 10 + idl/core/frame/navigator_ua.idl | 9 + idl/core/frame/navigator_ua_brand_version.idl | 10 + idl/core/frame/navigator_ua_data.idl | 13 + idl/core/frame/navigator_user_activation.idl | 11 + idl/core/frame/pending_beacon.idl | 53 + ...rmissions_policy_violation_report_body.idl | 17 + idl/core/frame/report.idl | 14 + idl/core/frame/report_body.idl | 11 + idl/core/frame/reporting_observer.idl | 19 + idl/core/frame/reporting_observer_options.idl | 10 + idl/core/frame/scheduling.idl | 10 + idl/core/frame/screen.idl | 53 + idl/core/frame/scroll_into_view_options.idl | 6 + idl/core/frame/scroll_options.idl | 11 + idl/core/frame/scroll_to_options.idl | 10 + idl/core/frame/selector_directive.idl | 11 + idl/core/frame/settings.json5 | 1235 +++ idl/core/frame/test_report_body.idl | 12 + idl/core/frame/ua_data_values.idl | 19 + idl/core/frame/user_activation.idl | 11 + idl/core/frame/visual_viewport.idl | 54 + idl/core/frame/window.idl | 227 + idl/core/frame/window_event_handlers.idl | 51 + .../frame/window_or_worker_global_scope.idl | 42 + .../frame/window_post_message_options.idl | 10 + idl/core/frame/window_properties.idl | 13 + idl/core/fullscreen/document_fullscreen.idl | 47 + idl/core/fullscreen/element_fullscreen.idl | 23 + idl/core/fullscreen/fullscreen_options.idl | 19 + idl/core/geometry/dom_matrix.idl | 72 + idl/core/geometry/dom_matrix_2d_init.idl | 20 + idl/core/geometry/dom_matrix_init.idl | 19 + idl/core/geometry/dom_matrix_read_only.idl | 81 + idl/core/geometry/dom_point.idl | 18 + idl/core/geometry/dom_point_init.idl | 12 + idl/core/geometry/dom_point_read_only.idl | 23 + idl/core/geometry/dom_quad.idl | 22 + idl/core/geometry/dom_quad_init.idl | 12 + idl/core/geometry/dom_rect.idl | 21 + idl/core/geometry/dom_rect_init.idl | 12 + idl/core/geometry/dom_rect_list.idl | 16 + idl/core/geometry/dom_rect_read_only.idl | 25 + idl/core/highlight/css_highlight_registry.idl | 10 + idl/core/highlight/highlight.idl | 22 + .../highlight/highlight_pointer_event.idl | 14 + idl/core/highlight/highlight_registry.idl | 9 + idl/core/html/aria_properties.json5 | 698 ++ idl/core/html/assigned_nodes_options.idl | 9 + idl/core/html/canvas/baselines.idl | 9 + .../canvas/high_dynamic_range_options.idl | 28 + idl/core/html/canvas/html_canvas_element.idl | 47 + idl/core/html/canvas/image_data.idl | 48 + idl/core/html/canvas/image_data_settings.idl | 23 + idl/core/html/canvas/image_encode_options.idl | 21 + idl/core/html/canvas/text_metrics.idl | 46 + idl/core/html/closewatcher/close_watcher.idl | 18 + .../closewatcher/close_watcher_options.idl | 3 + .../html/custom/custom_element_registry.idl | 25 + idl/core/html/custom/custom_state_set.idl | 12 + idl/core/html/custom/element_internals.idl | 36 + idl/core/html/custom/validity_state_flags.idl | 18 + idl/core/html/event_handler.idl | 22 + idl/core/html/fenced_frame/fence.idl | 16 + idl/core/html/fenced_frame/fence_event.idl | 38 + .../html/fenced_frame/fenced_frame_config.idl | 20 + .../html_fenced_frame_element.idl | 17 + idl/core/html/focus_options.idl | 3 + idl/core/html/forms/form_data.idl | 48 + idl/core/html/forms/form_data_event.idl | 12 + idl/core/html/forms/form_data_event_init.idl | 9 + idl/core/html/forms/html_button_element.idl | 50 + .../html/forms/html_data_list_element.idl | 37 + .../html/forms/html_field_set_element.idl | 39 + .../forms/html_form_controls_collection.idl | 30 + idl/core/html/forms/html_form_element.idl | 51 + idl/core/html/forms/html_input_element.idl | 117 + idl/core/html/forms/html_label_element.idl | 29 + idl/core/html/forms/html_legend_element.idl | 31 + .../html/forms/html_opt_group_element.idl | 27 + idl/core/html/forms/html_option_element.idl | 43 + .../html/forms/html_options_collection.idl | 37 + idl/core/html/forms/html_output_element.idl | 47 + idl/core/html/forms/html_select_element.idl | 63 + .../html/forms/html_select_list_element.idl | 29 + .../html/forms/html_text_area_element.idl | 68 + idl/core/html/forms/input_type_names.json5 | 32 + idl/core/html/forms/radio_node_list.idl | 37 + idl/core/html/forms/submit_event.idl | 12 + idl/core/html/forms/submit_event_init.idl | 9 + idl/core/html/forms/validity_state.idl | 38 + idl/core/html/html_all_collection.idl | 37 + idl/core/html/html_anchor_element.idl | 49 + idl/core/html/html_area_element.idl | 41 + idl/core/html/html_attribute_names.json5 | 366 + .../html_attributionsrc_element_utils.idl | 8 + idl/core/html/html_base_element.idl | 27 + idl/core/html/html_body_element.idl | 50 + idl/core/html/html_br_element.idl | 28 + idl/core/html/html_collection.idl | 31 + idl/core/html/html_data_element.idl | 12 + idl/core/html/html_details_element.idl | 27 + idl/core/html/html_dialog_element.idl | 36 + idl/core/html/html_directory_element.idl | 26 + idl/core/html/html_div_element.idl | 28 + idl/core/html/html_dlist_element.idl | 28 + idl/core/html/html_document.idl | 27 + idl/core/html/html_element.idl | 87 + idl/core/html/html_embed_element.idl | 44 + idl/core/html/html_font_element.idl | 28 + idl/core/html/html_frame_element.idl | 38 + idl/core/html/html_frame_set_element.idl | 46 + idl/core/html/html_head_element.idl | 25 + idl/core/html/html_heading_element.idl | 28 + idl/core/html/html_hr_element.idl | 32 + idl/core/html/html_html_element.idl | 28 + .../html/html_hyperlink_element_utils.idl | 21 + idl/core/html/html_iframe_element.idl | 81 + idl/core/html/html_image_element.idl | 69 + idl/core/html/html_li_element.idl | 30 + idl/core/html/html_link_element.idl | 60 + idl/core/html/html_map_element.idl | 28 + idl/core/html/html_marquee_element.idl | 45 + idl/core/html/html_menu_element.idl | 28 + idl/core/html/html_meta_element.idl | 33 + idl/core/html/html_meter_element.idl | 32 + idl/core/html/html_mod_element.idl | 28 + idl/core/html/html_object_element.idl | 66 + idl/core/html/html_olist_element.idl | 32 + idl/core/html/html_or_foreign_element.idl | 20 + idl/core/html/html_paragraph_element.idl | 28 + idl/core/html/html_param_element.idl | 32 + idl/core/html/html_permission_element.idl | 12 + idl/core/html/html_picture_element.idl | 10 + idl/core/html/html_pre_element.idl | 29 + idl/core/html/html_progress_element.idl | 29 + idl/core/html/html_quote_element.idl | 27 + idl/core/html/html_script_element.idl | 55 + ..._shared_storage_writable_element_utils.idl | 9 + idl/core/html/html_slot_element.idl | 36 + idl/core/html/html_source_element.idl | 40 + idl/core/html/html_span_element.idl | 31 + idl/core/html/html_style_element.idl | 36 + idl/core/html/html_table_caption_element.idl | 29 + idl/core/html/html_table_cell_element.idl | 53 + idl/core/html/html_table_col_element.idl | 36 + idl/core/html/html_table_element.idl | 55 + idl/core/html/html_table_row_element.idl | 40 + idl/core/html/html_table_section_element.idl | 38 + idl/core/html/html_tag_names.json5 | 569 ++ idl/core/html/html_template_element.idl | 60 + idl/core/html/html_time_element.idl | 12 + idl/core/html/html_title_element.idl | 26 + idl/core/html/html_ulist_element.idl | 29 + idl/core/html/html_unknown_element.idl | 35 + idl/core/html/keywords.json5 | 187 + idl/core/html/media/html_audio_element.idl | 34 + idl/core/html/media/html_media_element.idl | 99 + idl/core/html/media/html_video_element.idl | 59 + idl/core/html/media/media_error.idl | 36 + .../html/parser/html_tokenizer_names.json5 | 19 + .../html/shadow/shadow_element_names.json5 | 162 + idl/core/html/time_ranges.idl | 33 + idl/core/html/track/audio_track.idl | 16 + idl/core/html/track/audio_track_list.idl | 18 + idl/core/html/track/html_track_element.idl | 45 + idl/core/html/track/text_track.idl | 49 + idl/core/html/track/text_track_cue.idl | 39 + idl/core/html/track/text_track_cue_list.idl | 33 + idl/core/html/track/text_track_list.idl | 37 + idl/core/html/track/track_event.idl | 33 + idl/core/html/track/track_event_init.idl | 9 + idl/core/html/track/video_track.idl | 16 + idl/core/html/track/video_track_list.idl | 19 + idl/core/html/track/vtt/vtt_cue.idl | 53 + idl/core/html/track/vtt/vtt_region.idl | 43 + idl/core/html/void_callback.idl | 32 + idl/core/imagebitmap/image_bitmap.idl | 15 + idl/core/imagebitmap/image_bitmap_options.idl | 18 + idl/core/input/input_device_capabilities.idl | 23 + .../input/input_device_capabilities_init.idl | 9 + idl/core/input/touch.idl | 44 + idl/core/input/touch_init.idl | 24 + idl/core/input/touch_list.idl | 33 + idl/core/inspector/dev_tools_host.idl | 51 + idl/core/inspector/inspector_overlay_host.idl | 35 + .../intersection_observer.idl | 26 + .../intersection_observer_entry.idl | 19 + .../intersection_observer_init.idl | 14 + idl/core/layout/custom/css_layout_worklet.idl | 14 + .../custom_layout_constraints_options.idl | 21 + .../layout/custom/fragment_result_options.idl | 12 + idl/core/layout/custom/intrinsic_sizes.idl | 15 + .../custom/intrinsic_sizes_result_options.idl | 10 + idl/core/layout/custom/layout_child.idl | 18 + idl/core/layout/custom/layout_constraints.idl | 23 + idl/core/layout/custom/layout_edges.idl | 21 + idl/core/layout/custom/layout_fragment.idl | 22 + .../custom/layout_worklet_global_scope.idl | 21 + idl/core/mathml/mathml_attribute_names.json5 | 38 + idl/core/mathml/mathml_element.idl | 12 + idl/core/mathml/mathml_tag_names.json5 | 143 + idl/core/messaging/message_channel.idl | 35 + idl/core/messaging/message_port.idl | 44 + idl/core/messaging/post_message_options.idl | 15 + .../structured_serialize_options.idl | 7 + idl/core/mojo/mojo.idl | 53 + .../mojo/mojo_create_data_pipe_options.idl | 8 + .../mojo/mojo_create_data_pipe_result.idl | 9 + .../mojo/mojo_create_message_pipe_result.idl | 10 + .../mojo/mojo_create_shared_buffer_result.idl | 8 + idl/core/mojo/mojo_discard_data_options.idl | 7 + .../mojo_duplicate_buffer_handle_options.idl | 7 + idl/core/mojo/mojo_handle.idl | 31 + idl/core/mojo/mojo_handle_signals.idl | 9 + idl/core/mojo/mojo_map_buffer_result.idl | 13 + idl/core/mojo/mojo_read_data_options.idl | 8 + idl/core/mojo/mojo_read_data_result.idl | 8 + idl/core/mojo/mojo_read_message_flags.idl | 7 + idl/core/mojo/mojo_read_message_result.idl | 14 + idl/core/mojo/mojo_watcher.idl | 12 + idl/core/mojo/mojo_write_data_options.idl | 7 + idl/core/mojo/mojo_write_data_result.idl | 8 + .../mojo/test/mojo_interface_interceptor.idl | 31 + .../test/mojo_interface_request_event.idl | 11 + .../mojo_interface_request_event_init.idl | 7 + idl/core/navigation_api/navigate_event.idl | 27 + .../navigation_api/navigate_event_init.idl | 26 + idl/core/navigation_api/navigation.idl | 30 + .../navigation_api/navigation_activation.idl | 13 + .../navigation_current_entry_change_event.idl | 12 + ...gation_current_entry_change_event_init.idl | 9 + .../navigation_api/navigation_destination.idl | 15 + .../navigation_history_entry.idl | 21 + .../navigation_intercept_options.idl | 28 + .../navigation_navigate_options.idl | 15 + .../navigation_api/navigation_options.idl | 8 + .../navigation_reload_options.idl | 8 + idl/core/navigation_api/navigation_result.idl | 9 + .../navigation_api/navigation_transition.idl | 8 + ...avigation_update_current_entry_options.idl | 8 + idl/core/offscreencanvas/offscreen_canvas.idl | 20 + idl/core/page/color_page_popup_controller.idl | 14 + idl/core/page/page_popup_controller.idl | 50 + .../document_policy_features.json5 | 153 + .../permissions_policy/feature_policy.idl | 14 + .../permissions_policy_features.json5 | 459 + .../preferences/navigator_preferences.idl | 12 + idl/core/preferences/preference_manager.idl | 17 + idl/core/preferences/preference_names.json5 | 14 + idl/core/preferences/preference_object.idl | 20 + idl/core/preferences/preference_values.json5 | 16 + idl/core/probe/core_probes.json5 | 313 + idl/core/probe/test_probes.json5 | 16 + idl/core/resize_observer/resize_observer.idl | 20 + .../resize_observer/resize_observer_entry.idl | 14 + .../resize_observer_options.idl | 15 + .../resize_observer/resize_observer_size.idl | 12 + idl/core/script/script_type_names.json5 | 14 + idl/core/scroll/snap_event.idl | 11 + .../shadow_realm_global_scope.idl | 9 + .../streams/byte_length_queuing_strategy.idl | 15 + idl/core/streams/count_queuing_strategy.idl | 15 + idl/core/streams/queuing_strategy_init.idl | 9 + .../readable_byte_stream_controller.idl | 15 + idl/core/streams/readable_stream.idl | 28 + .../readable_stream_byob_read_result.idl | 10 + .../streams/readable_stream_byob_reader.idl | 15 + .../streams/readable_stream_byob_request.idl | 13 + .../readable_stream_default_controller.idl | 15 + .../readable_stream_default_reader.idl | 15 + .../readable_stream_generic_reader.idl | 11 + .../readable_stream_get_reader_options.idl | 9 + .../readable_stream_iterator_options.idl | 9 + .../streams/readable_stream_read_result.idl | 10 + idl/core/streams/readable_writable_pair.idl | 10 + idl/core/streams/stream_pipe_options.idl | 12 + idl/core/streams/transform_stream.idl | 14 + .../transform_stream_default_controller.idl | 14 + idl/core/streams/underlying_sink_base.idl | 20 + idl/core/streams/underlying_source.idl | 13 + .../underlying_source_cancel_callback.idl | 7 + .../underlying_source_pull_callback.idl | 7 + .../underlying_source_start_callback.idl | 7 + idl/core/streams/writable_stream.idl | 15 + .../writable_stream_default_controller.idl | 12 + .../writable_stream_default_writer.idl | 25 + .../style/computed_style_diff_functions.json5 | 490 + .../style/computed_style_extra_fields.json5 | 1210 +++ idl/core/svg/svg_a_element.idl | 33 + idl/core/svg/svg_angle.idl | 43 + idl/core/svg/svg_animate_element.idl | 31 + idl/core/svg/svg_animate_motion_element.idl | 31 + .../svg/svg_animate_transform_element.idl | 31 + idl/core/svg/svg_animated_angle.idl | 32 + idl/core/svg/svg_animated_boolean.idl | 32 + idl/core/svg/svg_animated_enumeration.idl | 34 + idl/core/svg/svg_animated_integer.idl | 32 + idl/core/svg/svg_animated_length.idl | 32 + idl/core/svg/svg_animated_length_list.idl | 32 + idl/core/svg/svg_animated_number.idl | 33 + idl/core/svg/svg_animated_number_list.idl | 32 + .../svg_animated_preserve_aspect_ratio.idl | 32 + idl/core/svg/svg_animated_rect.idl | 33 + idl/core/svg/svg_animated_string.idl | 32 + idl/core/svg/svg_animated_transform_list.idl | 32 + idl/core/svg/svg_animation_element.idl | 48 + idl/core/svg/svg_attribute_names.json5 | 216 + idl/core/svg/svg_circle_element.idl | 34 + idl/core/svg/svg_clip_path_element.idl | 34 + ...vg_component_transfer_function_element.idl | 46 + idl/core/svg/svg_defs_element.idl | 30 + idl/core/svg/svg_desc_element.idl | 30 + idl/core/svg/svg_document.idl | 28 + idl/core/svg/svg_element.idl | 36 + idl/core/svg/svg_ellipse_element.idl | 34 + idl/core/svg/svg_fe_blend_element.idl | 56 + idl/core/svg/svg_fe_color_matrix_element.idl | 43 + .../svg/svg_fe_component_transfer_element.idl | 34 + idl/core/svg/svg_fe_composite_element.idl | 49 + .../svg/svg_fe_convolve_matrix_element.idl | 51 + .../svg/svg_fe_diffuse_lighting_element.idl | 38 + .../svg/svg_fe_displacement_map_element.idl | 45 + idl/core/svg/svg_fe_distant_light_element.idl | 33 + idl/core/svg/svg_fe_drop_shadow_element.idl | 34 + idl/core/svg/svg_fe_flood_element.idl | 33 + idl/core/svg/svg_fe_func_a_element.idl | 31 + idl/core/svg/svg_fe_func_b_element.idl | 31 + idl/core/svg/svg_fe_func_g_element.idl | 31 + idl/core/svg/svg_fe_func_r_element.idl | 31 + idl/core/svg/svg_fe_gaussian_blur_element.idl | 38 + idl/core/svg/svg_fe_image_element.idl | 35 + idl/core/svg/svg_fe_merge_element.idl | 33 + idl/core/svg/svg_fe_merge_node_element.idl | 32 + idl/core/svg/svg_fe_morphology_element.idl | 42 + idl/core/svg/svg_fe_offset_element.idl | 36 + idl/core/svg/svg_fe_point_light_element.idl | 34 + .../svg/svg_fe_specular_lighting_element.idl | 39 + idl/core/svg/svg_fe_spot_light_element.idl | 39 + idl/core/svg/svg_fe_tile_element.idl | 34 + idl/core/svg/svg_fe_turbulence_element.idl | 49 + idl/core/svg/svg_filter_element.idl | 41 + ...g_filter_primitive_standard_attributes.idl | 35 + idl/core/svg/svg_fit_to_view_box.idl | 32 + idl/core/svg/svg_foreign_object_element.idl | 34 + idl/core/svg/svg_g_element.idl | 30 + idl/core/svg/svg_geometry_element.idl | 42 + idl/core/svg/svg_gradient_element.idl | 43 + idl/core/svg/svg_graphics_element.idl | 48 + idl/core/svg/svg_image_element.idl | 44 + idl/core/svg/svg_length.idl | 49 + idl/core/svg/svg_length_list.idl | 44 + idl/core/svg/svg_line_element.idl | 34 + idl/core/svg/svg_linear_gradient_element.idl | 34 + idl/core/svg/svg_marker_element.idl | 54 + idl/core/svg/svg_mask_element.idl | 42 + idl/core/svg/svg_matrix.idl | 51 + idl/core/svg/svg_metadata_element.idl | 26 + idl/core/svg/svg_mpath_element.idl | 33 + idl/core/svg/svg_number.idl | 30 + idl/core/svg/svg_number_list.idl | 44 + idl/core/svg/svg_path_element.idl | 31 + idl/core/svg/svg_pattern_element.idl | 45 + idl/core/svg/svg_point.idl | 35 + idl/core/svg/svg_point_list.idl | 44 + idl/core/svg/svg_polygon_element.idl | 35 + idl/core/svg/svg_polyline_element.idl | 35 + idl/core/svg/svg_preserve_aspect_ratio.idl | 52 + idl/core/svg/svg_radial_gradient_element.idl | 36 + idl/core/svg/svg_rect.idl | 35 + idl/core/svg/svg_rect_element.idl | 37 + idl/core/svg/svg_script_element.idl | 33 + idl/core/svg/svg_set_element.idl | 31 + idl/core/svg/svg_stop_element.idl | 31 + idl/core/svg/svg_string_list.idl | 43 + idl/core/svg/svg_style_element.idl | 43 + idl/core/svg/svg_svg_element.idl | 71 + idl/core/svg/svg_switch_element.idl | 30 + idl/core/svg/svg_symbol_element.idl | 32 + idl/core/svg/svg_tag_names.json5 | 99 + idl/core/svg/svg_tests.idl | 32 + idl/core/svg/svg_text_content_element.idl | 48 + idl/core/svg/svg_text_element.idl | 30 + idl/core/svg/svg_text_path_element.idl | 46 + idl/core/svg/svg_text_positioning_element.idl | 35 + idl/core/svg/svg_title_element.idl | 30 + idl/core/svg/svg_transform.idl | 49 + idl/core/svg/svg_transform_list.idl | 47 + idl/core/svg/svg_tspan_element.idl | 30 + idl/core/svg/svg_unit_types.idl | 34 + idl/core/svg/svg_uri_reference.idl | 31 + idl/core/svg/svg_use_element.idl | 36 + idl/core/svg/svg_view_element.idl | 33 + idl/core/svg/svg_zoom_and_pan.idl | 37 + idl/core/svg/xlink_attribute_names.json5 | 17 + idl/core/testing/callback_function_test.idl | 18 + .../testing/death_aware_script_wrappable.idl | 6 + idl/core/testing/dictionary_test.idl | 14 + .../garbage_collected_script_wrappable.idl | 7 + idl/core/testing/gc_observation.idl | 36 + idl/core/testing/hit_test_layer_rect.idl | 37 + idl/core/testing/hit_test_layer_rect_list.idl | 34 + idl/core/testing/internal_dictionary.idl | 37 + .../testing/internal_dictionary_derived.idl | 9 + .../internal_dictionary_derived_derived.idl | 7 + idl/core/testing/internal_settings.idl | 54 + idl/core/testing/internals.idl | 461 + idl/core/testing/internals_cookie.idl | 17 + .../testing/internals_delete_all_cookies.idl | 9 + .../testing/internals_get_all_cookies.idl | 11 + .../testing/internals_get_named_cookie.idl | 11 + idl/core/testing/internals_ukm_recorder.idl | 11 + idl/core/testing/origin_trials_test.idl | 64 + .../testing/origin_trials_test_dictionary.idl | 8 + .../testing/origin_trials_test_partial.idl | 19 + .../testing/origin_trials_test_window.idl | 10 + idl/core/testing/record_test.idl | 29 + idl/core/testing/sequence_test.idl | 24 + idl/core/testing/static_selection.idl | 11 + idl/core/testing/type_conversions.idl | 58 + idl/core/testing/union_types_test.idl | 22 + idl/core/testing/worker_internals.idl | 14 + .../timing/back_forward_cache_restoration.idl | 11 + idl/core/timing/dom_high_res_time_stamp.idl | 7 + idl/core/timing/epoch_time_stamp.idl | 7 + idl/core/timing/event_counts.idl | 10 + idl/core/timing/internals_profiler.idl | 11 + idl/core/timing/largest_contentful_paint.idl | 17 + idl/core/timing/layout_shift.idl | 14 + idl/core/timing/layout_shift_attribution.idl | 13 + .../measure_memory/memory_attribution.idl | 12 + .../memory_attribution_container.idl | 11 + .../measure_memory/memory_breakdown_entry.idl | 12 + .../measure_memory/memory_measurement.idl | 11 + idl/core/timing/memory_info.idl | 40 + idl/core/timing/not_restored_reasons.idl | 25 + idl/core/timing/performance.idl | 82 + .../timing/performance_element_timing.idl | 19 + idl/core/timing/performance_entry.idl | 42 + .../performance_entry_filter_options.idl | 9 + idl/core/timing/performance_entry_list.idl | 7 + idl/core/timing/performance_entry_names.json5 | 28 + idl/core/timing/performance_event_timing.idl | 15 + ...erformance_long_animation_frame_timing.idl | 15 + .../timing/performance_long_task_timing.idl | 11 + idl/core/timing/performance_mark.idl | 33 + idl/core/timing/performance_mark_options.idl | 9 + idl/core/timing/performance_measure.idl | 31 + .../timing/performance_measure_options.idl | 11 + idl/core/timing/performance_navigation.idl | 45 + .../timing/performance_navigation_timing.idl | 37 + ...nce_navigation_timing_activation_start.idl | 10 + idl/core/timing/performance_observer.idl | 18 + .../performance_observer_callback_options.idl | 9 + .../performance_observer_entry_list.idl | 14 + idl/core/timing/performance_observer_init.idl | 13 + idl/core/timing/performance_paint_timing.idl | 9 + .../timing/performance_resource_timing.idl | 75 + idl/core/timing/performance_script_timing.idl | 33 + idl/core/timing/performance_server_timing.idl | 14 + idl/core/timing/performance_timing.idl | 60 + idl/core/timing/profiler.idl | 13 + idl/core/timing/profiler_frame.idl | 12 + idl/core/timing/profiler_init_options.idl | 9 + idl/core/timing/profiler_sample.idl | 13 + idl/core/timing/profiler_stack.idl | 10 + idl/core/timing/profiler_trace.idl | 12 + idl/core/timing/soft_navigation_entry.idl | 8 + idl/core/timing/task_attribution_timing.idl | 14 + idl/core/timing/visibility_state_entry.idl | 7 + idl/core/timing/window_performance.idl | 13 + .../worker_global_scope_performance.idl | 39 + idl/core/trustedtypes/trusted_html.idl | 17 + idl/core/trustedtypes/trusted_script.idl | 17 + idl/core/trustedtypes/trusted_script_url.idl | 15 + idl/core/trustedtypes/trusted_type_policy.idl | 16 + .../trusted_type_policy_factory.idl | 31 + .../trusted_type_policy_options.idl | 15 + idl/core/url/url.idl | 52 + idl/core/url/url_search_params.idl | 23 + idl/core/url_pattern/url_pattern.idl | 41 + .../url_pattern_component_result.idl | 12 + idl/core/url_pattern/url_pattern_init.idl | 16 + idl/core/url_pattern/url_pattern_options.idl | 8 + idl/core/url_pattern/url_pattern_result.idl | 17 + .../view_transition/page_reveal_event.idl | 12 + idl/core/view_transition/page_swap_event.idl | 11 + idl/core/view_transition/view_transition.idl | 31 + .../view_transition_callback.idl | 9 + .../view_transition_options.idl | 7 + .../view_transition_supplement.idl | 11 + idl/core/workers/abstract_worker.idl | 38 + .../workers/dedicated_worker_global_scope.idl | 51 + idl/core/workers/shared_worker.idl | 52 + .../workers/shared_worker_global_scope.idl | 42 + idl/core/workers/worker.idl | 43 + idl/core/workers/worker_global_scope.idl | 73 + idl/core/workers/worker_location.idl | 44 + idl/core/workers/worker_navigator.idl | 41 + idl/core/workers/worker_options.idl | 12 + idl/core/workers/worklet.idl | 12 + idl/core/workers/worklet_global_scope.idl | 11 + idl/core/workers/worklet_options.idl | 8 + idl/core/xml/document_xpath_evaluator.idl | 30 + idl/core/xml/dom_parser.idl | 38 + idl/core/xml/parse_from_string_options.idl | 10 + idl/core/xml/xml_attribute_names.json5 | 11 + idl/core/xml/xml_serializer.idl | 28 + idl/core/xml/xmlns_attribute_names.json5 | 10 + idl/core/xml/xpath_evaluator.idl | 33 + idl/core/xml/xpath_expression.idl | 27 + idl/core/xml/xpath_ns_resolver.idl | 25 + idl/core/xml/xpath_result.idl | 51 + idl/core/xml/xslt_processor.idl | 51 + idl/core/xmlhttprequest/xml_http_request.idl | 83 + .../xml_http_request_event_target.idl | 40 + .../xml_http_request_upload.idl | 34 + .../testing/internals_accessibility.idl | 17 + .../ad_auction/ad_auction_data_config.idl | 17 + idl/modules/ad_auction/ad_request_config.idl | 34 + idl/modules/ad_auction/ads.idl | 8 + idl/modules/ad_auction/auction_ad.idl | 19 + idl/modules/ad_auction/auction_ad_config.idl | 101 + .../ad_auction/auction_ad_interest_group.idl | 79 + idl/modules/ad_auction/navigator_auction.idl | 62 + idl/modules/ad_auction/protected_audience.idl | 11 + .../animation_worklet_global_scope.idl | 21 + .../css_animation_worklet.idl | 11 + .../animationworklet/worklet_animation.idl | 29 + .../worklet_animation_effect.idl | 14 + .../animationworklet/worklet_group_effect.idl | 9 + .../app_banner/app_banner_prompt_result.idl | 10 + .../before_install_prompt_event.idl | 13 + .../before_install_prompt_event_init.idl | 7 + .../app_banner/window_installation.idl | 12 + ...html_media_element_audio_output_device.idl | 13 + .../awc/additional_windowing_controls.idl | 29 + .../background_fetch_event.idl | 13 + .../background_fetch_event_init.idl | 9 + .../background_fetch_manager.idl | 18 + .../background_fetch_options.idl | 9 + .../background_fetch_record.idl | 13 + .../background_fetch_registration.idl | 44 + .../background_fetch_ui_options.idl | 10 + .../background_fetch_update_ui_event.idl | 13 + ...e_worker_global_scope_background_fetch.idl | 15 + ...e_worker_registration_background_fetch.idl | 13 + .../background_sync_options.idl | 10 + .../background_sync/periodic_sync_event.idl | 13 + .../periodic_sync_event_init.idl | 9 + .../background_sync/periodic_sync_manager.idl | 15 + .../service_worker_global_scope_sync.idl | 10 + .../service_worker_registration_sync.idl | 11 + idl/modules/background_sync/sync_event.idl | 13 + .../background_sync/sync_event_init.idl | 10 + idl/modules/background_sync/sync_manager.idl | 12 + idl/modules/badging/navigator_badge.idl | 15 + .../badging/worker_navigator_badge.idl | 15 + idl/modules/battery/battery_manager.idl | 20 + idl/modules/battery/navigator_battery.idl | 9 + idl/modules/beacon/navigator_beacon.idl | 13 + idl/modules/bluetooth/bluetooth.idl | 21 + .../bluetooth/bluetooth_advertising_event.idl | 21 + .../bluetooth_advertising_event_init.idl | 16 + .../bluetooth_characteristic_properties.idl | 21 + .../bluetooth/bluetooth_data_filter_init.idl | 10 + idl/modules/bluetooth/bluetooth_device.idl | 36 + idl/modules/bluetooth/bluetooth_le_scan.idl | 17 + .../bluetooth_le_scan_filter_init.idl | 13 + .../bluetooth/bluetooth_le_scan_options.idl | 11 + ...luetooth_manufacturer_data_filter_init.idl | 9 + .../bluetooth_manufacturer_data_map.idl | 13 + .../bluetooth_remote_gatt_characteristic.idl | 29 + .../bluetooth_remote_gatt_descriptor.idl | 19 + .../bluetooth_remote_gatt_server.idl | 21 + .../bluetooth_remote_gatt_service.idl | 17 + .../bluetooth/bluetooth_service_data_map.idl | 13 + idl/modules/bluetooth/bluetooth_uuid.idl | 24 + idl/modules/bluetooth/navigator_bluetooth.idl | 13 + .../bluetooth/request_device_options.idl | 13 + .../watch_advertisements_options.idl | 9 + .../media_stream_track_generator.idl | 18 + .../media_stream_track_generator_init.idl | 11 + .../media_stream_track_processor.idl | 18 + .../media_stream_track_processor_init.idl | 10 + .../breakout_box/video_track_generator.idl | 25 + .../broadcastchannel/broadcast_channel.idl | 20 + .../browsing_topics/browsing_topic.idl | 13 + .../browsing_topics_document_supplement.idl | 19 + .../browsing_topics_options.idl | 3 + .../buckets/navigator_storage_buckets.idl | 13 + idl/modules/buckets/storage_bucket.idl | 31 + .../buckets/storage_bucket_manager.idl | 16 + .../buckets/storage_bucket_options.idl | 17 + .../worker_navigator_storage_buckets.idl | 13 + idl/modules/cache_storage/cache.idl | 38 + .../cache_storage/cache_query_options.idl | 10 + idl/modules/cache_storage/cache_storage.idl | 25 + .../multi_cache_query_options.idl | 8 + .../cache_storage/window_cache_storage.idl | 10 + .../cache_storage/worker_cache_storage.idl | 10 + idl/modules/canvas/canvas2d/canvas_filter.idl | 12 + .../canvas2d/canvas_filter_dictionary.idl | 11 + .../canvas/canvas2d/canvas_gradient.idl | 35 + idl/modules/canvas/canvas2d/canvas_path.idl | 21 + .../canvas/canvas2d/canvas_pattern.idl | 34 + .../canvas2d/canvas_rendering_context_2d.idl | 189 + .../canvas_rendering_context_2d_settings.idl | 13 + .../canvas/canvas2d/canvas_web_gpu_access.idl | 14 + .../canvas2d/canvas_web_gpu_access_option.idl | 12 + .../canvas/canvas2d/mesh_2d_index_buffer.idl | 8 + .../canvas/canvas2d/mesh_2d_uv_buffer.idl | 8 + .../canvas/canvas2d/mesh_2d_vertex_buffer.idl | 8 + idl/modules/canvas/canvas2d/path_2d.idl | 38 + ...vas_context_creation_attributes_module.idl | 65 + .../htmlcanvas/html_canvas_element_module.idl | 21 + .../image_bitmap_rendering_context.idl | 15 + .../window_create_image_bitmap.idl | 24 + .../worker_create_image_bitmap.idl | 13 + .../offscreen_canvas_module.idl | 18 + .../offscreen_canvas_rendering_context_2d.idl | 128 + idl/modules/clipboard/clipboard.idl | 40 + idl/modules/clipboard/clipboard_item.idl | 20 + idl/modules/clipboard/navigator_clipboard.idl | 11 + .../compression/compression_stream.idl | 7 + .../compression/decompression_stream.idl | 7 + .../compute_pressure/pressure_observer.idl | 42 + .../pressure_observer_options.idl | 8 + .../compute_pressure/pressure_record.idl | 23 + .../pressure_update_callback.idl | 9 + .../contacts_picker/contact_address.idl | 11 + idl/modules/contacts_picker/contact_info.idl | 13 + .../contacts_picker/contacts_manager.idl | 14 + .../contacts_select_options.idl | 11 + .../contacts_picker/navigator_contacts.idl | 12 + .../content_index/content_description.idl | 22 + .../content_index/content_icon_definition.idl | 12 + idl/modules/content_index/content_index.idl | 14 + .../content_index/content_index_event.idl | 13 + .../content_index_event_init.idl | 9 + ...vice_worker_global_scope_content_index.idl | 12 + ...vice_worker_registration_content_index.idl | 13 + .../cookie_deprecation_label.idl | 11 + .../navigator_cookie_deprecation_label.idl | 10 + .../cookie_store/cookie_change_event.idl | 22 + .../cookie_store/cookie_change_event_init.idl | 10 + idl/modules/cookie_store/cookie_init.idl | 21 + idl/modules/cookie_store/cookie_list_item.idl | 18 + idl/modules/cookie_store/cookie_store.idl | 33 + .../cookie_store_delete_options.idl | 12 + .../cookie_store/cookie_store_get_options.idl | 10 + .../cookie_store/cookie_store_manager.idl | 19 + .../extendable_cookie_change_event.idl | 20 + .../extendable_cookie_change_event_init.idl | 10 + ...rvice_worker_global_scope_cookie_store.idl | 12 + .../service_worker_registration_cookies.idl | 10 + .../cookie_store/window_cookie_store.idl | 12 + ...uthentication_extensions_client_inputs.idl | 52 + ...thentication_extensions_client_outputs.idl | 33 + ...ication_extensions_client_outputs_json.idl | 28 + ...ntication_extensions_large_blob_inputs.idl | 10 + ...tication_extensions_large_blob_outputs.idl | 10 + ...thentication_extensions_payment_inputs.idl | 10 + .../authentication_extensions_prf_inputs.idl | 15 + .../authentication_extensions_prf_outputs.idl | 10 + ...xtensions_supplemental_pub_keys_inputs.idl | 10 + ...tensions_supplemental_pub_keys_outputs.idl | 8 + .../authentication_response_json.idl | 14 + .../authenticator_assertion_response.idl | 15 + .../authenticator_assertion_response_json.idl | 12 + .../authenticator_attestation_response.idl | 18 + ...uthenticator_attestation_response_json.idl | 11 + .../authenticator_response.idl | 13 + .../authenticator_selection_criteria.idl | 14 + .../cable_authentication_data.idl | 10 + .../collected_client_data.idl | 13 + .../credentialmanagement/credential.idl | 11 + .../credential_creation_options.idl | 16 + .../credentialmanagement/credential_data.idl | 9 + .../credential_properties_output.idl | 8 + .../credential_request_options.idl | 28 + .../credential_user_data.idl | 10 + .../credentials_container.idl | 13 + .../digital_credential.idl | 17 + .../digital_credential_request_options.idl | 8 + .../federated_credential.idl | 17 + .../federated_credential_init.idl | 12 + .../federated_credential_request_options.idl | 9 + .../identity_claim_requirement.idl | 21 + .../identity_credential.idl | 26 + .../identity_credential_error.idl | 24 + ...dentity_credential_logout_r_ps_request.idl | 10 + .../identity_credential_request_options.idl | 26 + .../identity_provider.idl | 38 + .../identity_provider_config.idl | 71 + .../identity_standard_claims.idl | 37 + .../navigator_credentials.idl | 9 + .../navigator_identity.idl | 11 + .../credentialmanagement/navigator_login.idl | 28 + .../credentialmanagement/otp_credential.idl | 12 + .../otp_credential_request_options.idl | 13 + .../password_credential.idl | 14 + .../password_credential_data.idl | 11 + .../payment_credential_instrument.idl | 11 + .../public_key_credential.idl | 20 + ...public_key_credential_creation_options.idl | 18 + ...c_key_credential_creation_options_json.idl | 64 + .../public_key_credential_descriptor.idl | 11 + .../public_key_credential_entity.idl | 8 + .../public_key_credential_json.idl | 8 + .../public_key_credential_parameters.idl | 20 + .../public_key_credential_request_options.idl | 16 + .../public_key_credential_rp_entity.idl | 9 + .../public_key_credential_user_entity.idl | 10 + .../registration_response_json.idl | 14 + .../remote_desktop_client_override.idl | 12 + .../testing/internals_fed_cm.idl | 20 + idl/modules/crypto/crypto.idl | 39 + idl/modules/crypto/crypto_key.idl | 41 + idl/modules/crypto/json_web_key.idl | 28 + idl/modules/crypto/rsa_other_primes_info.idl | 11 + idl/modules/crypto/subtle_crypto.idl | 56 + idl/modules/crypto/window_crypto.idl | 37 + .../crypto/worker_global_scope_crypto.idl | 37 + idl/modules/csspaint/css_paint_worklet.idl | 12 + .../csspaint/paint_rendering_context_2d.idl | 96 + .../paint_rendering_context_2d_settings.idl | 7 + idl/modules/csspaint/paint_size.idl | 12 + .../csspaint/paint_worklet_global_scope.idl | 17 + .../delegated_ink_trail_presenter.idl | 14 + idl/modules/delegated_ink/ink.idl | 11 + .../delegated_ink/ink_presenter_param.idl | 9 + idl/modules/delegated_ink/ink_trail_style.idl | 10 + idl/modules/delegated_ink/navigator_ink.idl | 12 + .../device_motion_event.idl | 38 + .../device_motion_event_acceleration.idl | 33 + .../device_motion_event_acceleration_init.idl | 11 + .../device_motion_event_init.idl | 12 + .../device_motion_event_rotation_rate.idl | 33 + ...device_motion_event_rotation_rate_init.idl | 11 + .../device_orientation_event.idl | 43 + .../device_orientation_event_init.idl | 12 + .../window_device_motion.idl | 9 + .../window_device_orientation.idl | 10 + idl/modules/device_posture/device_posture.idl | 14 + .../navigator_device_posture.idl | 13 + .../direct_sockets/socket_connection.idl | 21 + idl/modules/direct_sockets/socket_options.idl | 41 + .../direct_sockets/tcp_server_socket.idl | 21 + idl/modules/direct_sockets/tcp_socket.idl | 24 + idl/modules/direct_sockets/udp_message.idl | 12 + idl/modules/direct_sockets/udp_socket.idl | 24 + .../document_picture_in_picture.idl | 16 + .../document_picture_in_picture_event.idl | 14 + ...document_picture_in_picture_event_init.idl | 9 + .../document_picture_in_picture_options.idl | 11 + .../window_document_picture_in_picture.idl | 15 + .../donottrack/navigator_do_not_track.idl | 35 + idl/modules/encoding/text_decode_options.idl | 9 + idl/modules/encoding/text_decoder.idl | 41 + idl/modules/encoding/text_decoder_options.idl | 10 + idl/modules/encoding/text_decoder_stream.idl | 15 + idl/modules/encoding/text_encoder.idl | 38 + .../text_encoder_encode_into_result.idl | 10 + idl/modules/encoding/text_encoder_stream.idl | 13 + .../html_media_element_encrypted_media.idl | 13 + .../encryptedmedia/media_encrypted_event.idl | 34 + .../media_encrypted_event_init.idl | 10 + .../media_key_message_event.idl | 42 + .../media_key_message_event_init.idl | 10 + .../encryptedmedia/media_key_session.idl | 57 + .../encryptedmedia/media_key_status_map.idl | 25 + .../media_key_system_access.idl | 14 + .../media_key_system_configuration.idl | 21 + .../media_key_system_media_capability.idl | 11 + idl/modules/encryptedmedia/media_keys.idl | 41 + .../media_keys_get_status_for_policy.idl | 12 + .../encryptedmedia/media_keys_policy.idl | 9 + ...igator_request_media_key_system_access.idl | 11 + idl/modules/event_target_modules_names.json5 | 97 + idl/modules/eventsource/event_source.idl | 53 + idl/modules/eventsource/event_source_init.idl | 9 + .../eyedropper/color_selection_options.idl | 9 + .../eyedropper/color_selection_result.idl | 9 + idl/modules/eyedropper/eye_dropper.idl | 16 + .../data_transfer_item_file_system_access.idl | 15 + .../directory_picker_options.idl | 10 + .../file_picker_accept_type.idl | 9 + .../file_picker_options.idl | 20 + .../file_system_change_record.idl | 37 + .../file_system_cloud_identifier.idl | 14 + ...stem_create_sync_access_handle_options.idl | 17 + .../file_system_create_writable_options.idl | 17 + .../file_system_directory_handle.idl | 37 + .../file_system_file_handle.idl | 59 + .../file_system_get_directory_options.idl | 8 + .../file_system_get_file_options.idl | 8 + .../file_system_access/file_system_handle.idl | 77 + ...le_system_handle_permission_descriptor.idl | 14 + .../file_system_observer.idl | 25 + .../file_system_observer_callback.idl | 10 + .../file_system_observer_observe_options.idl | 9 + .../file_system_read_write_options.idl | 8 + .../file_system_remove_options.idl | 8 + .../file_system_sync_access_handle.idl | 30 + .../file_system_writable_file_stream.idl | 27 + .../open_file_picker_options.idl | 8 + .../save_file_picker_options.idl | 8 + .../storage_manager_file_system_access.idl | 13 + .../window_file_system_access.idl | 20 + .../file_system_access/write_params.idl | 18 + .../data_transfer_item_file_system.idl | 37 + ...icated_worker_global_scope_file_system.idl | 40 + .../filesystem/dev_tools_host_file_system.idl | 11 + idl/modules/filesystem/directory_entry.idl | 55 + .../filesystem/directory_entry_sync.idl | 39 + idl/modules/filesystem/directory_reader.idl | 39 + .../filesystem/directory_reader_sync.idl | 36 + idl/modules/filesystem/dom_file_system.idl | 39 + .../filesystem/dom_file_system_sync.idl | 37 + idl/modules/filesystem/entries_callback.idl | 34 + idl/modules/filesystem/entry.idl | 55 + idl/modules/filesystem/entry_callback.idl | 34 + idl/modules/filesystem/entry_sync.idl | 47 + idl/modules/filesystem/error_callback.idl | 34 + idl/modules/filesystem/file_callback.idl | 8 + idl/modules/filesystem/file_entry.idl | 43 + idl/modules/filesystem/file_entry_sync.idl | 37 + .../filesystem/file_system_callback.idl | 34 + idl/modules/filesystem/file_system_flags.idl | 14 + idl/modules/filesystem/file_writer.idl | 64 + .../filesystem/file_writer_callback.idl | 34 + idl/modules/filesystem/file_writer_sync.idl | 42 + .../html_input_element_file_system.idl | 38 + idl/modules/filesystem/metadata.idl | 37 + idl/modules/filesystem/metadata_callback.idl | 34 + ...shared_worker_global_scope_file_system.idl | 40 + idl/modules/filesystem/window_file_system.idl | 40 + idl/modules/font_access/font_data.idl | 18 + idl/modules/font_access/query_options.idl | 8 + .../font_access/window_font_access.idl | 14 + idl/modules/formatted_text/formatted_text.idl | 20 + idl/modules/fuzzing/internals_fuzzing.idl | 13 + idl/modules/gamepad/gamepad.idl | 55 + idl/modules/gamepad/gamepad_axis_event.idl | 15 + .../gamepad/gamepad_axis_event_init.idl | 11 + idl/modules/gamepad/gamepad_button.idl | 11 + idl/modules/gamepad/gamepad_button_event.idl | 15 + .../gamepad/gamepad_button_event_init.idl | 11 + .../gamepad/gamepad_effect_parameters.idl | 16 + idl/modules/gamepad/gamepad_event.idl | 12 + idl/modules/gamepad/gamepad_event_init.idl | 12 + .../gamepad/gamepad_haptic_actuator.idl | 34 + idl/modules/gamepad/gamepad_touch.idl | 13 + idl/modules/gamepad/navigator_gamepad.idl | 26 + idl/modules/geolocation/geolocation.idl | 55 + .../geolocation/geolocation_coordinates.idl | 36 + .../geolocation/geolocation_position.idl | 34 + .../geolocation_position_error.idl | 35 + .../geolocation/navigator_geolocation.idl | 24 + idl/modules/geolocation/position_options.idl | 9 + .../handwriting/handwriting_drawing.idl | 18 + .../handwriting_drawing_segment.idl | 12 + idl/modules/handwriting/handwriting_hints.idl | 12 + .../handwriting_model_constraint.idl | 9 + idl/modules/handwriting/handwriting_point.idl | 12 + .../handwriting/handwriting_prediction.idl | 10 + .../handwriting/handwriting_recognizer.idl | 16 + .../handwriting_recognizer_query_result.idl | 26 + .../handwriting/handwriting_segment.idl | 12 + .../handwriting/handwriting_stroke.idl | 22 + ...igator_handwriting_recognition_service.idl | 19 + idl/modules/hid/hid.idl | 32 + idl/modules/hid/hid_collection_info.idl | 28 + idl/modules/hid/hid_connection_event.idl | 16 + idl/modules/hid/hid_connection_event_init.idl | 11 + idl/modules/hid/hid_device.idl | 77 + idl/modules/hid/hid_device_filter.idl | 13 + .../hid/hid_device_request_options.idl | 11 + idl/modules/hid/hid_input_report_event.idl | 16 + idl/modules/hid/hid_report_info.idl | 17 + idl/modules/hid/hid_report_item.idl | 127 + idl/modules/hid/navigator_hid.idl | 15 + idl/modules/hid/worker_navigator_hid.idl | 14 + idl/modules/idle/idle_detector.idl | 28 + idl/modules/idle/idle_options.idl | 10 + .../constrain_point_2d_parameters.idl | 10 + idl/modules/imagecapture/image_capture.idl | 16 + .../imagecapture/media_settings_range.idl | 11 + .../imagecapture/photo_capabilities.idl | 31 + idl/modules/imagecapture/photo_settings.idl | 12 + idl/modules/imagecapture/point_2d.idl | 10 + idl/modules/indexeddb/idb_cursor.idl | 65 + .../indexeddb/idb_cursor_with_value.idl | 32 + idl/modules/indexeddb/idb_database.idl | 53 + idl/modules/indexeddb/idb_database_info.idl | 10 + idl/modules/indexeddb/idb_factory.idl | 51 + idl/modules/indexeddb/idb_index.idl | 49 + .../indexeddb/idb_index_parameters.idl | 10 + idl/modules/indexeddb/idb_key_range.idl | 45 + idl/modules/indexeddb/idb_object_store.idl | 88 + .../indexeddb/idb_object_store_parameters.idl | 10 + idl/modules/indexeddb/idb_open_db_request.idl | 33 + idl/modules/indexeddb/idb_request.idl | 52 + idl/modules/indexeddb/idb_transaction.idl | 58 + .../indexeddb/idb_transaction_options.idl | 13 + .../indexeddb/idb_version_change_event.idl | 41 + .../idb_version_change_event_init.idl | 11 + idl/modules/indexeddb/indexed_db_names.json5 | 36 + .../indexeddb/window_indexed_database.idl | 31 + .../worker_global_scope_indexed_database.idl | 31 + .../installedapp/navigator_installed_app.idl | 13 + .../installedapp/related_application.idl | 13 + idl/modules/keyboard/keyboard.idl | 25 + idl/modules/keyboard/keyboard_layout_map.idl | 12 + idl/modules/keyboard/navigator_keyboard.idl | 9 + .../launch/dom_window_launch_queue.idl | 13 + idl/modules/launch/launch_params.idl | 14 + idl/modules/launch/launch_queue.idl | 15 + .../lock_screen/dom_window_lock_screen.idl | 13 + idl/modules/lock_screen/lock_screen_data.idl | 23 + idl/modules/locked_mode/locked_mode.idl | 13 + .../locked_mode/navigator_locked_mode.idl | 15 + idl/modules/locks/lock.idl | 12 + idl/modules/locks/lock_info.idl | 10 + idl/modules/locks/lock_manager.idl | 22 + idl/modules/locks/lock_manager_snapshot.idl | 9 + idl/modules/locks/lock_options.idl | 14 + idl/modules/locks/navigator_locks.idl | 12 + idl/modules/locks/worker_navigator_locks.idl | 12 + .../managed_device/navigator_managed.idl | 11 + .../managed_device/navigator_managed_data.idl | 27 + idl/modules/manifest/image_resource.idl | 14 + .../audio_configuration.idl | 14 + .../key_system_track_configuration.idl | 9 + .../media_capabilities/media_capabilities.idl | 13 + .../media_capabilities_decoding_info.idl | 9 + .../media_capabilities_info.idl | 11 + ..._capabilities_key_system_configuration.idl | 15 + .../media_capabilities_names.json5 | 9 + .../media_configuration.idl | 10 + .../media_decoding_configuration.idl | 18 + .../media_encoding_configuration.idl | 14 + .../navigator_media_capabilities.idl | 12 + .../video_configuration.idl | 22 + .../worker_navigator_media_capabilities.idl | 12 + .../canvas_capture_media_stream_track.idl | 11 + .../html_canvas_element_capture.idl | 10 + .../html_media_element_capture.idl | 11 + idl/modules/mediarecorder/blob_event.idl | 13 + idl/modules/mediarecorder/blob_event_init.idl | 10 + idl/modules/mediarecorder/media_recorder.idl | 35 + .../mediarecorder/media_recorder_options.idl | 19 + .../mediasession/chapter_information.idl | 14 + .../mediasession/chapter_information_init.idl | 11 + idl/modules/mediasession/media_image.idl | 11 + idl/modules/mediasession/media_metadata.idl | 17 + .../mediasession/media_metadata_init.idl | 13 + .../mediasession/media_position_state.idl | 11 + idl/modules/mediasession/media_session.idl | 53 + .../media_session_action_details.idl | 9 + .../media_session_seek_to_action_details.idl | 10 + .../mediasession/navigator_media_session.idl | 13 + .../mediasource/audio_track_source_buffer.idl | 11 + .../html_video_element_media_source.idl | 36 + idl/modules/mediasource/media_source.idl | 95 + .../mediasource/media_source_handle.idl | 16 + idl/modules/mediasource/source_buffer.idl | 106 + .../mediasource/source_buffer_config.idl | 18 + .../mediasource/source_buffer_list.idl | 38 + idl/modules/mediasource/track_default.idl | 25 + .../mediasource/track_default_list.idl | 15 + idl/modules/mediasource/url_media_source.idl | 37 + .../mediasource/video_playback_quality.idl | 38 + .../mediasource/video_track_source_buffer.idl | 11 + .../browser_capture_media_stream_track.idl | 19 + .../mediastream/capture_controller.idl | 66 + idl/modules/mediastream/capture_handle.idl | 9 + .../mediastream/capture_handle_config.idl | 10 + .../mediastream/captured_mouse_event.idl | 15 + .../mediastream/captured_mouse_event_init.idl | 10 + .../mediastream/captured_wheel_action.idl | 12 + .../constrain_boolean_parameters.idl | 10 + .../constrain_dom_string_parameters.idl | 10 + .../mediastream/constrain_double_range.idl | 10 + .../mediastream/constrain_long_range.idl | 10 + idl/modules/mediastream/crop_target.idl | 16 + idl/modules/mediastream/double_range.idl | 10 + idl/modules/mediastream/input_device_info.idl | 10 + idl/modules/mediastream/long_range.idl | 10 + idl/modules/mediastream/media_device_info.idl | 43 + idl/modules/mediastream/media_devices.idl | 45 + idl/modules/mediastream/media_stream.idl | 53 + .../mediastream/media_stream_constraints.idl | 60 + .../mediastream/media_stream_event.idl | 34 + .../mediastream/media_stream_event_init.idl | 10 + .../mediastream/media_stream_track.idl | 63 + .../media_stream_track_content_hint.idl | 10 + .../mediastream/media_stream_track_event.idl | 33 + .../media_stream_track_event_init.idl | 9 + .../media_stream_track_video_stats.idl | 12 + .../mediastream/media_track_capabilities.idl | 49 + .../media_track_constraint_set.idl | 66 + .../mediastream/media_track_constraints.idl | 9 + .../mediastream/media_track_settings.idl | 58 + .../media_track_supported_constraints.idl | 59 + .../mediastream/navigator_media_stream.idl | 53 + .../mediastream/navigator_user_media.idl | 11 + .../mediastream/overconstrained_error.idl | 11 + .../mediastream/restriction_target.idl | 16 + .../screen_capture_media_stream_track.idl | 15 + .../testing/internals_media_stream.idl | 14 + idl/modules/ml/ml.idl | 17 + idl/modules/ml/ml_context.idl | 39 + idl/modules/ml/ml_context_options.idl | 59 + idl/modules/ml/ml_model.idl | 24 + idl/modules/ml/ml_model_loader.idl | 15 + idl/modules/ml/ml_tensor.idl | 10 + idl/modules/ml/ml_tensor_info.idl | 27 + idl/modules/ml/navigator_ml.idl | 18 + idl/modules/ml/webnn/ml_activation.idl | 10 + idl/modules/ml/webnn/ml_buffer.idl | 16 + idl/modules/ml/webnn/ml_buffer_descriptor.idl | 11 + idl/modules/ml/webnn/ml_graph.idl | 11 + idl/modules/ml/webnn/ml_graph_builder.idl | 342 + idl/modules/ml/webnn/ml_operand.idl | 13 + .../ml/webnn/ml_operand_descriptor.idl | 21 + idl/modules/ml/worker_navigator_ml.idl | 12 + .../model_execution/model_generic_session.idl | 12 + .../model_generic_session_options.idl | 8 + idl/modules/model_execution/model_manager.idl | 16 + idl/modules/model_execution/window_model.idl | 11 + idl/modules/mojo/mojo_file_system_access.idl | 14 + .../navigator_content_utils.idl | 28 + .../netinfo/navigator_network_information.idl | 9 + idl/modules/netinfo/network_information.idl | 40 + .../netinfo/testing/internals_net_info.idl | 12 + .../worker_navigator_network_information.idl | 10 + .../nfc/ndef_make_read_only_options.idl | 8 + idl/modules/nfc/ndef_message.idl | 14 + idl/modules/nfc/ndef_message_init.idl | 9 + idl/modules/nfc/ndef_reader.idl | 29 + idl/modules/nfc/ndef_reading_event.idl | 16 + idl/modules/nfc/ndef_reading_event_init.idl | 11 + idl/modules/nfc/ndef_record.idl | 20 + idl/modules/nfc/ndef_record_init.idl | 15 + idl/modules/nfc/ndef_scan_options.idl | 8 + idl/modules/nfc/ndef_write_options.idl | 10 + .../get_notification_options.idl | 10 + idl/modules/notifications/notification.idl | 82 + .../notifications/notification_action.idl | 18 + .../notifications/notification_event.idl | 15 + .../notifications/notification_event_init.idl | 11 + .../notifications/notification_options.idl | 36 + ...vice_worker_global_scope_notifications.idl | 13 + ...vice_worker_registration_notifications.idl | 14 + .../notifications/timestamp_trigger.idl | 13 + idl/modules/payments/abort_payment_event.idl | 13 + idl/modules/payments/address_errors.idl | 18 + idl/modules/payments/address_init.idl | 18 + .../payments/android_pay_method_data.idl | 12 + .../payments/can_make_payment_event.idl | 18 + .../payments/can_make_payment_event_init.idl | 12 + .../payments/goods/digital_goods_service.idl | 21 + .../goods/dom_window_digital_goods.idl | 13 + idl/modules/payments/goods/item_details.idl | 28 + .../payments/goods/purchase_details.idl | 9 + .../google_play_billing_method_data.idl | 7 + .../payments/html_iframe_element_payments.idl | 12 + idl/modules/payments/image_object.idl | 13 + .../payments/merchant_validation_event.idl | 16 + .../merchant_validation_event_init.idl | 10 + idl/modules/payments/payer_errors.idl | 11 + idl/modules/payments/payment_address.idl | 23 + ...ayment_app_service_worker_global_scope.idl | 14 + ...ayment_app_service_worker_registration.idl | 12 + .../payments/payment_currency_amount.idl | 10 + idl/modules/payments/payment_details_base.idl | 11 + idl/modules/payments/payment_details_init.idl | 10 + .../payments/payment_details_modifier.idl | 12 + .../payments/payment_details_update.idl | 12 + .../payments/payment_handler_response.idl | 15 + idl/modules/payments/payment_instrument.idl | 12 + idl/modules/payments/payment_instruments.idl | 17 + idl/modules/payments/payment_item.idl | 11 + idl/modules/payments/payment_manager.idl | 22 + .../payments/payment_method_change_event.idl | 15 + .../payment_method_change_event_init.idl | 10 + idl/modules/payments/payment_method_data.idl | 10 + idl/modules/payments/payment_options.idl | 19 + idl/modules/payments/payment_request.idl | 28 + .../payment_request_details_update.idl | 14 + .../payments/payment_request_event.idl | 27 + .../payments/payment_request_event_init.idl | 17 + .../payments/payment_request_update_event.idl | 14 + .../payment_request_update_event_init.idl | 8 + idl/modules/payments/payment_response.idl | 36 + .../payments/payment_shipping_option.idl | 12 + .../payments/payment_validation_errors.idl | 11 + .../secure_payment_confirmation_request.idl | 20 + .../peerconnection/rtc_answer_options.idl | 8 + .../peerconnection/rtc_certificate.idl | 37 + .../peerconnection/rtc_codec_specifics.idl | 17 + .../peerconnection/rtc_configuration.idl | 46 + .../peerconnection/rtc_data_channel.idl | 66 + .../peerconnection/rtc_data_channel_event.idl | 33 + .../rtc_data_channel_event_init.idl | 9 + .../peerconnection/rtc_data_channel_init.idl | 14 + .../peerconnection/rtc_dtls_fingerprint.idl | 9 + .../peerconnection/rtc_dtls_transport.idl | 23 + .../peerconnection/rtc_dtmf_sender.idl | 34 + .../rtc_dtmf_tone_change_event.idl | 33 + .../rtc_dtmf_tone_change_event_init.idl | 9 + .../rtc_encoded_audio_frame.idl | 21 + .../rtc_encoded_audio_frame_metadata.idl | 16 + .../rtc_encoded_video_frame.idl | 28 + .../rtc_encoded_video_frame_metadata.idl | 40 + .../peerconnection/rtc_encoding_options.idl | 9 + idl/modules/peerconnection/rtc_error.idl | 35 + .../peerconnection/rtc_error_event.idl | 11 + .../peerconnection/rtc_error_event_init.idl | 8 + idl/modules/peerconnection/rtc_error_init.idl | 13 + .../peerconnection/rtc_ice_candidate.idl | 81 + .../peerconnection/rtc_ice_candidate_init.idl | 12 + .../peerconnection/rtc_ice_candidate_pair.idl | 9 + .../peerconnection/rtc_ice_parameters.idl | 9 + idl/modules/peerconnection/rtc_ice_server.idl | 15 + .../peerconnection/rtc_ice_transport.idl | 47 + .../peerconnection/rtc_insertable_streams.idl | 10 + .../rtc_offer_answer_options.idl | 9 + .../peerconnection/rtc_offer_options.idl | 14 + .../peerconnection/rtc_peer_connection.idl | 155 + .../rtc_peer_connection_ice_error_event.idl | 17 + ...c_peer_connection_ice_error_event_init.idl | 14 + .../rtc_peer_connection_ice_event.idl | 33 + .../rtc_peer_connection_ice_event_init.idl | 11 + .../peerconnection/rtc_rtcp_parameters.idl | 9 + .../peerconnection/rtc_rtp_capabilities.idl | 9 + idl/modules/peerconnection/rtc_rtp_codec.idl | 11 + .../rtc_rtp_codec_capability.idl | 7 + .../rtc_rtp_codec_parameters.idl | 8 + .../rtc_rtp_coding_parameters.idl | 8 + .../rtc_rtp_contributing_source.idl | 15 + .../rtc_rtp_decoding_parameters.idl | 7 + .../rtc_rtp_encoding_parameters.idl | 30 + .../rtc_rtp_header_extension_capability.idl | 10 + .../rtc_rtp_header_extension_parameters.idl | 10 + .../peerconnection/rtc_rtp_parameters.idl | 10 + .../rtc_rtp_receive_parameters.idl | 8 + .../peerconnection/rtc_rtp_receiver.idl | 23 + .../rtc_rtp_send_parameters.idl | 17 + idl/modules/peerconnection/rtc_rtp_sender.idl | 22 + .../rtc_rtp_synchronization_source.idl | 8 + .../peerconnection/rtc_rtp_transceiver.idl | 30 + .../rtc_rtp_transceiver_init.idl | 11 + .../peerconnection/rtc_sctp_transport.idl | 22 + .../rtc_session_description.idl | 49 + .../rtc_session_description_init.idl | 11 + .../rtc_set_parameter_options.idl | 8 + .../peerconnection/rtc_stats_report.idl | 364 + .../peerconnection/rtc_track_event.idl | 15 + .../peerconnection/rtc_track_event_init.idl | 11 + .../testing/internals_rtc_certificate.idl | 9 + .../testing/internals_rtc_peer_connection.idl | 12 + .../camera_device_permission_descriptor.idl | 9 + .../clipboard_permission_descriptor.idl | 10 + .../midi_permission_descriptor.idl | 7 + .../permissions/navigator_permissions.idl | 14 + .../permissions/permission_descriptor.idl | 52 + idl/modules/permissions/permission_status.idl | 22 + idl/modules/permissions/permissions.idl | 18 + .../push_permission_descriptor.idl | 8 + .../testing/internals_permission.idl | 9 + ...l_storage_access_permission_descriptor.idl | 8 + .../worker_navigator_permissions.idl | 14 + .../document_picture_in_picture.idl | 14 + .../html_video_element_picture_in_picture.idl | 16 + .../picture_in_picture_event.idl | 12 + .../picture_in_picture_event_init.idl | 8 + .../picture_in_picture_window.idl | 15 + idl/modules/plugins/mime_type.idl | 31 + idl/modules/plugins/mime_type_array.idl | 31 + idl/modules/plugins/navigator_plugins.idl | 13 + idl/modules/plugins/plugin.idl | 34 + idl/modules/plugins/plugin_array.idl | 32 + .../presentation/navigator_presentation.idl | 12 + idl/modules/presentation/presentation.idl | 16 + .../presentation_availability.idl | 15 + .../presentation/presentation_connection.idl | 34 + ...resentation_connection_available_event.idl | 14 + ...tation_connection_available_event_init.idl | 9 + .../presentation_connection_close_event.idl | 17 + ...esentation_connection_close_event_init.idl | 8 + .../presentation_connection_list.idl | 14 + .../presentation/presentation_receiver.idl | 13 + .../presentation/presentation_request.idl | 20 + .../presentation/presentation_source.idl | 46 + idl/modules/printing/navigator_printing.idl | 14 + idl/modules/printing/web_print_job.idl | 39 + idl/modules/printing/web_printer.idl | 23 + .../printing/web_printer_attributes.idl | 86 + idl/modules/printing/web_printing_enums.idl | 86 + idl/modules/printing/web_printing_manager.idl | 14 + .../private_attribution.idl | 57 + .../window_private_attribution.idl | 14 + idl/modules/push_messaging/push_event.idl | 13 + .../push_messaging/push_event_init.idl | 12 + idl/modules/push_messaging/push_manager.idl | 17 + .../push_messaging/push_message_data.idl | 14 + .../push_messaging/push_subscription.idl | 25 + .../push_subscription_change_event.idl | 14 + .../push_subscription_change_event_init.idl | 10 + .../push_subscription_options.idl | 13 + .../push_subscription_options_init.idl | 10 + .../service_worker_global_scope_push.idl | 11 + .../service_worker_registration_push.idl | 13 + .../quota/deprecated_storage_callbacks.idl | 12 + .../quota/deprecated_storage_quota.idl | 34 + idl/modules/quota/dom_error.idl | 38 + idl/modules/quota/navigator_storage_quota.idl | 33 + idl/modules/quota/storage_estimate.idl | 11 + idl/modules/quota/storage_manager.idl | 16 + idl/modules/quota/storage_usage_details.idl | 12 + .../quota/worker_navigator_storage_quota.idl | 25 + .../html_media_element_remote_playback.idl | 12 + .../remoteplayback/remote_playback.idl | 28 + .../sanitizer_api/element_sanitizer.idl | 19 + idl/modules/sanitizer_api/sanitizer.idl | 23 + .../sanitizer_api/sanitizer_config.idl | 16 + idl/modules/scheduler/scheduler.idl | 24 + .../scheduler_post_task_callback.idl | 6 + .../scheduler/scheduler_post_task_options.idl | 17 + .../scheduler/scheduler_yield_options.idl | 20 + .../scheduler/script_wrappable_task_state.idl | 8 + idl/modules/scheduler/task_controller.idl | 13 + .../scheduler/task_controller_init.idl | 8 + .../scheduler/task_priority_change_event.idl | 12 + .../task_priority_change_event_init.idl | 8 + idl/modules/scheduler/task_signal.idl | 17 + .../scheduler/task_signal_any_init.idl | 7 + idl/modules/scheduler/window_idle_tasks.idl | 12 + .../window_or_worker_global_scope_timers.idl | 41 + .../scheduler/window_or_worker_scheduler.idl | 11 + .../screen_details/screen_detailed.idl | 51 + idl/modules/screen_details/screen_details.idl | 24 + .../screen_details/window_screen_details.idl | 12 + .../screen_orientation/screen_orientation.idl | 34 + .../screen_screen_orientation.idl | 9 + .../sensor/absolute_orientation_sensor.idl | 12 + idl/modules/sensor/accelerometer.idl | 15 + idl/modules/sensor/ambient_light_sensor.idl | 14 + idl/modules/sensor/gravity_sensor.idl | 12 + idl/modules/sensor/gyroscope.idl | 16 + .../sensor/linear_acceleration_sensor.idl | 12 + idl/modules/sensor/magnetometer.idl | 16 + idl/modules/sensor/orientation_sensor.idl | 16 + .../sensor/relative_orientation_sensor.idl | 12 + idl/modules/sensor/sensor.idl | 23 + idl/modules/sensor/sensor_error_event.idl | 14 + .../sensor/sensor_error_event_init.idl | 10 + idl/modules/sensor/sensor_options.idl | 10 + idl/modules/sensor/spatial_sensor_options.idl | 12 + .../testing/create_virtual_sensor_options.idl | 11 + .../sensor/testing/internals_sensor.idl | 26 + .../testing/virtual_sensor_information.idl | 9 + .../sensor/testing/virtual_sensor_reading.idl | 21 + idl/modules/serial/navigator_serial.idl | 13 + idl/modules/serial/serial.idl | 19 + idl/modules/serial/serial_input_signals.idl | 16 + idl/modules/serial/serial_options.idl | 25 + idl/modules/serial/serial_output_signals.idl | 14 + idl/modules/serial/serial_port.idl | 32 + idl/modules/serial/serial_port_filter.idl | 11 + idl/modules/serial/serial_port_info.idl | 11 + .../serial/serial_port_request_options.idl | 10 + .../serial/worker_navigator_serial.idl | 14 + idl/modules/service_worker/client.idl | 26 + .../service_worker/client_query_options.idl | 24 + idl/modules/service_worker/clients.idl | 14 + .../service_worker/extendable_event.idl | 37 + .../service_worker/extendable_event_init.idl | 9 + .../extendable_message_event.idl | 16 + .../extendable_message_event_init.idl | 13 + idl/modules/service_worker/fetch_event.idl | 19 + .../service_worker/fetch_event_init.idl | 12 + idl/modules/service_worker/install_event.idl | 13 + .../navigation_preload_manager.idl | 14 + .../navigation_preload_state.idl | 9 + .../navigator_service_worker.idl | 10 + .../service_worker/registration_options.idl | 10 + .../service_worker/router_condition.idl | 26 + idl/modules/service_worker/router_rule.idl | 15 + idl/modules/service_worker/router_source.idl | 10 + idl/modules/service_worker/service_worker.idl | 59 + .../service_worker_container.idl | 48 + .../service_worker_global_scope.idl | 49 + .../service_worker_registration.idl | 30 + .../testing/internals_service_worker.idl | 9 + idl/modules/service_worker/window_client.idl | 22 + .../shapedetection/barcode_detector.idl | 15 + .../barcode_detector_options.idl | 26 + .../shapedetection/detected_barcode.idl | 14 + idl/modules/shapedetection/detected_face.idl | 11 + idl/modules/shapedetection/detected_text.idl | 13 + idl/modules/shapedetection/face_detector.idl | 14 + .../shapedetection/face_detector_options.idl | 10 + idl/modules/shapedetection/landmark.idl | 12 + idl/modules/shapedetection/text_detector.idl | 14 + .../shared_storage/private_aggregation.idl | 18 + ...private_aggregation_debug_mode_options.idl | 7 + ...ate_aggregation_histogram_contribution.idl | 8 + idl/modules/shared_storage/shared_storage.idl | 87 + ...red_storage_private_aggregation_config.idl | 4 + ...d_storage_run_operation_method_options.idl | 6 + .../shared_storage_set_method_options.idl | 3 + .../shared_storage_url_with_metadata.idl | 4 + .../shared_storage/shared_storage_worklet.idl | 34 + .../shared_storage_worklet_global_scope.idl | 40 + .../shared_storage/window_shared_storage.idl | 10 + .../smart_card/navigator_smart_card.idl | 15 + .../smart_card/smart_card_connection.idl | 54 + .../smart_card_connection_status.idl | 22 + idl/modules/smart_card/smart_card_context.idl | 94 + idl/modules/smart_card/smart_card_error.idl | 39 + .../smart_card_resource_manager.idl | 16 + idl/modules/speech/speech_grammar.idl | 37 + idl/modules/speech/speech_grammar_list.idl | 39 + idl/modules/speech/speech_recognition.idl | 60 + .../speech/speech_recognition_alternative.idl | 33 + .../speech/speech_recognition_error_event.idl | 37 + .../speech_recognition_error_event_init.idl | 10 + .../speech/speech_recognition_event.idl | 37 + .../speech/speech_recognition_event_init.idl | 10 + .../speech/speech_recognition_result.idl | 34 + .../speech/speech_recognition_result_list.idl | 33 + idl/modules/speech/speech_synthesis.idl | 43 + .../speech/speech_synthesis_error_event.idl | 28 + .../speech_synthesis_error_event_init.idl | 8 + idl/modules/speech/speech_synthesis_event.idl | 37 + .../speech/speech_synthesis_event_init.idl | 12 + .../speech/speech_synthesis_utterance.idl | 47 + idl/modules/speech/speech_synthesis_voice.idl | 37 + .../testing/internals_speech_synthesis.idl | 35 + .../speech/window_speech_synthesis.idl | 31 + .../html_media_element_src_object.idl | 18 + idl/modules/storage/storage.idl | 38 + idl/modules/storage/storage_event.idl | 46 + idl/modules/storage/storage_event_init.idl | 13 + idl/modules/storage/window_storage.idl | 12 + .../document_storage_access.idl | 19 + .../storage_access/storage_access_handle.idl | 18 + .../storage_access/storage_access_types.idl | 19 + idl/modules/subapps/navigator_sub_apps.idl | 12 + idl/modules/subapps/sub_apps.idl | 22 + idl/modules/subapps/sub_apps_add_params.idl | 7 + idl/modules/subapps/sub_apps_list_result.idl | 7 + idl/modules/vibration/navigator_vibration.idl | 30 + .../vibration/testing/internals_vibration.idl | 36 + ...o_element_request_video_frame_callback.idl | 11 + .../video_rvfc/video_frame_metadata.idl | 52 + .../video_frame_request_callback.idl | 7 + .../navigator_virtual_keyboard.idl | 13 + .../virtualkeyboard/virtual_keyboard.idl | 22 + ...virtual_keyboard_geometry_change_event.idl | 14 + idl/modules/wake_lock/navigator_wake_lock.idl | 12 + idl/modules/wake_lock/wake_lock.idl | 17 + idl/modules/wake_lock/wake_lock_sentinel.idl | 18 + .../wake_lock/worker_navigator_wake_lock.idl | 16 + idl/modules/webaudio/analyser_node.idl | 49 + idl/modules/webaudio/analyser_options.idl | 11 + idl/modules/webaudio/audio_buffer.idl | 50 + idl/modules/webaudio/audio_buffer_options.idl | 10 + .../webaudio/audio_buffer_source_node.idl | 44 + .../webaudio/audio_buffer_source_options.idl | 13 + idl/modules/webaudio/audio_context.idl | 62 + .../webaudio/audio_context_options.idl | 13 + .../webaudio/audio_destination_node.idl | 30 + idl/modules/webaudio/audio_listener.idl | 49 + idl/modules/webaudio/audio_node.idl | 56 + idl/modules/webaudio/audio_node_options.idl | 10 + idl/modules/webaudio/audio_param.idl | 63 + .../webaudio/audio_param_descriptor.idl | 12 + idl/modules/webaudio/audio_param_map.idl | 10 + .../webaudio/audio_processing_event.idl | 34 + .../webaudio/audio_processing_event_init.idl | 10 + .../webaudio/audio_scheduled_source_node.idl | 14 + idl/modules/webaudio/audio_sink_info.idl | 11 + idl/modules/webaudio/audio_timestamp.idl | 9 + idl/modules/webaudio/audio_worklet.idl | 11 + .../webaudio/audio_worklet_global_scope.idl | 25 + idl/modules/webaudio/audio_worklet_node.idl | 15 + .../webaudio/audio_worklet_node_options.idl | 12 + .../webaudio/audio_worklet_processor.idl | 12 + idl/modules/webaudio/base_audio_context.idl | 68 + idl/modules/webaudio/biquad_filter_node.idl | 52 + .../webaudio/biquad_filter_options.idl | 12 + idl/modules/webaudio/channel_merger_node.idl | 34 + .../webaudio/channel_merger_options.idl | 8 + .../webaudio/channel_splitter_node.idl | 31 + .../webaudio/channel_splitter_options.idl | 8 + idl/modules/webaudio/constant_source_node.idl | 12 + .../webaudio/constant_source_options.idl | 8 + idl/modules/webaudio/convolver_node.idl | 34 + idl/modules/webaudio/convolver_options.idl | 9 + idl/modules/webaudio/delay_node.idl | 32 + idl/modules/webaudio/delay_options.idl | 9 + .../webaudio/dynamics_compressor_node.idl | 37 + .../webaudio/dynamics_compressor_options.idl | 12 + idl/modules/webaudio/gain_node.idl | 33 + idl/modules/webaudio/gain_options.idl | 8 + idl/modules/webaudio/iir_filter_node.idl | 13 + idl/modules/webaudio/iir_filter_options.idl | 9 + .../media_element_audio_source_node.idl | 33 + .../media_element_audio_source_options.idl | 8 + .../media_stream_audio_destination_node.idl | 32 + .../media_stream_audio_source_node.idl | 33 + .../media_stream_audio_source_options.idl | 8 + .../offline_audio_completion_event.idl | 32 + .../offline_audio_completion_event_init.idl | 8 + .../webaudio/offline_audio_context.idl | 38 + .../offline_audio_context_options.idl | 10 + idl/modules/webaudio/oscillator_node.idl | 49 + idl/modules/webaudio/oscillator_options.idl | 11 + idl/modules/webaudio/panner_node.idl | 69 + idl/modules/webaudio/panner_options.idl | 23 + idl/modules/webaudio/periodic_wave.idl | 32 + .../webaudio/periodic_wave_constraints.idl | 8 + .../webaudio/periodic_wave_options.idl | 9 + .../webaudio/script_processor_node.idl | 36 + idl/modules/webaudio/stereo_panner_node.idl | 13 + .../webaudio/stereo_panner_options.idl | 8 + .../webaudio/testing/internals_web_audio.idl | 10 + idl/modules/webaudio/wave_shaper_node.idl | 39 + idl/modules/webaudio/wave_shaper_options.idl | 9 + idl/modules/webcodecs/aac_encoder_config.idl | 16 + idl/modules/webcodecs/audio_data.idl | 28 + .../webcodecs/audio_data_copy_to_options.idl | 12 + idl/modules/webcodecs/audio_data_init.idl | 16 + .../webcodecs/audio_data_output_callback.idl | 7 + idl/modules/webcodecs/audio_decoder.idl | 64 + .../webcodecs/audio_decoder_config.idl | 24 + idl/modules/webcodecs/audio_decoder_init.idl | 10 + .../webcodecs/audio_decoder_support.idl | 10 + idl/modules/webcodecs/audio_encoder.idl | 56 + .../webcodecs/audio_encoder_config.idl | 25 + idl/modules/webcodecs/audio_encoder_init.idl | 10 + .../webcodecs/audio_encoder_support.idl | 10 + idl/modules/webcodecs/audio_sample_format.idl | 16 + idl/modules/webcodecs/avc_encoder_config.idl | 14 + idl/modules/webcodecs/codec_state.idl | 11 + idl/modules/webcodecs/decrypt_config.idl | 11 + idl/modules/webcodecs/encoded_audio_chunk.idl | 21 + .../webcodecs/encoded_audio_chunk_init.idl | 16 + .../encoded_audio_chunk_metadata.idl | 9 + .../encoded_audio_chunk_output_callback.idl | 8 + idl/modules/webcodecs/encoded_video_chunk.idl | 23 + .../webcodecs/encoded_video_chunk_init.idl | 16 + .../encoded_video_chunk_metadata.idl | 10 + .../encoded_video_chunk_output_callback.idl | 9 + idl/modules/webcodecs/encryption_pattern.idl | 8 + idl/modules/webcodecs/hardware_preference.idl | 11 + idl/modules/webcodecs/hevc_encoder_config.idl | 14 + .../webcodecs/image_decode_options.idl | 15 + idl/modules/webcodecs/image_decode_result.idl | 13 + idl/modules/webcodecs/image_decoder.idl | 52 + idl/modules/webcodecs/image_decoder_init.idl | 30 + idl/modules/webcodecs/image_track.idl | 30 + idl/modules/webcodecs/image_track_list.idl | 22 + idl/modules/webcodecs/latency_mode.idl | 10 + idl/modules/webcodecs/opus_encoder_config.idl | 21 + idl/modules/webcodecs/plane_layout.idl | 14 + idl/modules/webcodecs/subsample_entry.idl | 8 + idl/modules/webcodecs/svc_output_metadata.idl | 9 + .../webcodecs/video_color_primaries.idl | 13 + idl/modules/webcodecs/video_color_space.idl | 19 + .../webcodecs/video_color_space_init.idl | 12 + idl/modules/webcodecs/video_decoder.idl | 82 + .../webcodecs/video_decoder_config.idl | 37 + idl/modules/webcodecs/video_decoder_init.idl | 10 + .../webcodecs/video_decoder_support.idl | 10 + idl/modules/webcodecs/video_encoder.idl | 59 + .../webcodecs/video_encoder_config.idl | 39 + .../video_encoder_encode_options.idl | 12 + .../video_encoder_encode_options_for_av1.idl | 9 + .../video_encoder_encode_options_for_avc.idl | 9 + .../video_encoder_encode_options_for_vp9.idl | 9 + idl/modules/webcodecs/video_encoder_init.idl | 13 + .../webcodecs/video_encoder_support.idl | 10 + idl/modules/webcodecs/video_frame.idl | 60 + .../webcodecs/video_frame_buffer_init.idl | 27 + .../webcodecs/video_frame_copy_to_options.idl | 24 + idl/modules/webcodecs/video_frame_init.idl | 15 + .../webcodecs/video_frame_output_callback.idl | 7 + .../webcodecs/video_matrix_coefficients.idl | 13 + idl/modules/webcodecs/video_pixel_format.idl | 34 + .../video_transfer_characteristics.idl | 14 + .../webcodecs/webcodecs_error_callback.idl | 7 + idl/modules/webdatabase/database.idl | 43 + idl/modules/webdatabase/sql_error.idl | 45 + idl/modules/webdatabase/sql_result_set.idl | 37 + .../webdatabase/sql_result_set_row_list.idl | 35 + .../webdatabase/sql_statement_callback.idl | 32 + .../sql_statement_error_callback.idl | 32 + idl/modules/webdatabase/sql_transaction.idl | 44 + .../webdatabase/sql_transaction_callback.idl | 32 + .../sql_transaction_error_callback.idl | 32 + .../webdatabase/window_web_database.idl | 37 + idl/modules/webgl/angle_instanced_arrays.idl | 41 + idl/modules/webgl/ext_blend_min_max.idl | 12 + idl/modules/webgl/ext_clip_control.idl | 20 + idl/modules/webgl/ext_color_buffer_float.idl | 10 + .../webgl/ext_color_buffer_half_float.idl | 35 + idl/modules/webgl/ext_conservative_depth.idl | 10 + idl/modules/webgl/ext_depth_clamp.idl | 11 + .../webgl/ext_disjoint_timer_query.idl | 28 + .../webgl/ext_disjoint_timer_query_webgl2.idl | 15 + idl/modules/webgl/ext_float_blend.idl | 10 + idl/modules/webgl/ext_frag_depth.idl | 31 + .../webgl/ext_polygon_offset_clamp.idl | 13 + idl/modules/webgl/ext_render_snorm.idl | 10 + idl/modules/webgl/ext_shader_texture_lod.idl | 10 + idl/modules/webgl/ext_srgb.idl | 14 + .../webgl/ext_texture_compression_bptc.idl | 14 + .../webgl/ext_texture_compression_rgtc.idl | 14 + .../webgl/ext_texture_filter_anisotropic.idl | 33 + .../ext_texture_mirror_clamp_to_edge.idl | 11 + idl/modules/webgl/ext_texture_norm_16.idl | 18 + .../webgl/khr_parallel_shader_compile.idl | 32 + .../nv_shader_noperspective_interpolation.idl | 10 + .../webgl/oes_draw_buffers_indexed.idl | 28 + idl/modules/webgl/oes_element_index_uint.idl | 31 + idl/modules/webgl/oes_fbo_render_mipmap.idl | 10 + idl/modules/webgl/oes_sample_variables.idl | 10 + .../oes_shader_multisample_interpolation.idl | 13 + .../webgl/oes_standard_derivatives.idl | 32 + idl/modules/webgl/oes_texture_float.idl | 31 + .../webgl/oes_texture_float_linear.idl | 31 + idl/modules/webgl/oes_texture_half_float.idl | 32 + .../webgl/oes_texture_half_float_linear.idl | 31 + idl/modules/webgl/oes_vertex_array_object.idl | 37 + idl/modules/webgl/ovr_multiview_2.idl | 20 + .../webgl/webgl2_rendering_context.idl | 12 + .../webgl/webgl2_rendering_context_base.idl | 590 ++ idl/modules/webgl/webgl_active_info.idl | 34 + .../webgl/webgl_blend_func_extended.idl | 16 + idl/modules/webgl/webgl_buffer.idl | 31 + .../webgl/webgl_clip_cull_distance.idl | 21 + .../webgl/webgl_color_buffer_float.idl | 34 + .../webgl/webgl_compressed_texture_astc.idl | 41 + .../webgl/webgl_compressed_texture_etc.idl | 21 + .../webgl/webgl_compressed_texture_etc1.idl | 12 + .../webgl/webgl_compressed_texture_pvrtc.idl | 36 + .../webgl/webgl_compressed_texture_s3tc.idl | 36 + .../webgl_compressed_texture_s3tc_srgb.idl | 15 + .../webgl/webgl_context_attributes.idl | 46 + idl/modules/webgl/webgl_context_event.idl | 33 + .../webgl/webgl_context_event_init.idl | 9 + .../webgl/webgl_debug_renderer_info.idl | 33 + idl/modules/webgl/webgl_debug_shaders.idl | 32 + idl/modules/webgl/webgl_depth_texture.idl | 32 + idl/modules/webgl/webgl_draw_buffers.idl | 69 + ...aw_instanced_base_vertex_base_instance.idl | 24 + idl/modules/webgl/webgl_framebuffer.idl | 31 + idl/modules/webgl/webgl_lose_context.idl | 33 + idl/modules/webgl/webgl_multi_draw.idl | 42 + ...aw_instanced_base_vertex_base_instance.idl | 35 + idl/modules/webgl/webgl_polygon_mode.idl | 18 + idl/modules/webgl/webgl_program.idl | 31 + idl/modules/webgl/webgl_provoking_vertex.idl | 15 + idl/modules/webgl/webgl_query.idl | 10 + .../webgl/webgl_render_shared_exponent.idl | 10 + idl/modules/webgl/webgl_renderbuffer.idl | 31 + idl/modules/webgl/webgl_rendering_context.idl | 36 + .../webgl/webgl_rendering_context_base.idl | 740 ++ idl/modules/webgl/webgl_sampler.idl | 10 + idl/modules/webgl/webgl_shader.idl | 31 + .../webgl_shader_pixel_local_storage.idl | 60 + .../webgl/webgl_shader_precision_format.idl | 35 + idl/modules/webgl/webgl_stencil_texturing.idl | 12 + idl/modules/webgl/webgl_sync.idl | 10 + idl/modules/webgl/webgl_texture.idl | 35 + idl/modules/webgl/webgl_timer_query_ext.idl | 10 + .../webgl/webgl_transform_feedback.idl | 10 + idl/modules/webgl/webgl_uniform_location.idl | 32 + .../webgl/webgl_vertex_array_object.idl | 10 + .../webgl/webgl_vertex_array_object_oes.idl | 31 + idl/modules/webgpu/gpu.idl | 34 + idl/modules/webgpu/gpu_adapter.idl | 18 + idl/modules/webgpu/gpu_adapter_info.idl | 21 + idl/modules/webgpu/gpu_bind_group.idl | 12 + .../webgpu/gpu_bind_group_descriptor.idl | 10 + idl/modules/webgpu/gpu_bind_group_entry.idl | 12 + idl/modules/webgpu/gpu_bind_group_layout.idl | 12 + .../gpu_bind_group_layout_descriptor.idl | 9 + .../webgpu/gpu_bind_group_layout_entry.idl | 23 + idl/modules/webgpu/gpu_blend_component.idl | 37 + idl/modules/webgpu/gpu_blend_state.idl | 10 + idl/modules/webgpu/gpu_buffer.idl | 33 + idl/modules/webgpu/gpu_buffer_binding.idl | 12 + .../webgpu/gpu_buffer_binding_layout.idl | 17 + idl/modules/webgpu/gpu_buffer_descriptor.idl | 11 + idl/modules/webgpu/gpu_buffer_usage.idl | 22 + .../webgpu/gpu_canvas_configuration.idl | 20 + idl/modules/webgpu/gpu_canvas_context.idl | 17 + idl/modules/webgpu/gpu_color_dict.idl | 12 + .../webgpu/gpu_color_state_descriptor.idl | 12 + idl/modules/webgpu/gpu_color_target_state.idl | 11 + idl/modules/webgpu/gpu_color_write.idl | 17 + idl/modules/webgpu/gpu_command_buffer.idl | 12 + .../webgpu/gpu_command_buffer_descriptor.idl | 8 + idl/modules/webgpu/gpu_command_encoder.idl | 57 + .../webgpu/gpu_command_encoder_descriptor.idl | 8 + idl/modules/webgpu/gpu_compilation_info.idl | 12 + .../webgpu/gpu_compilation_message.idl | 23 + .../webgpu/gpu_compute_pass_descriptor.idl | 9 + .../webgpu/gpu_compute_pass_encoder.idl | 22 + .../gpu_compute_pass_timestamp_writes.idl | 11 + idl/modules/webgpu/gpu_compute_pipeline.idl | 13 + .../gpu_compute_pipeline_descriptor.idl | 10 + .../webgpu/gpu_depth_stencil_state.idl | 22 + idl/modules/webgpu/gpu_device.idl | 54 + idl/modules/webgpu/gpu_device_descriptor.idl | 14 + idl/modules/webgpu/gpu_device_lost_info.idl | 19 + idl/modules/webgpu/gpu_error.idl | 12 + idl/modules/webgpu/gpu_extent_3d_dict.idl | 15 + idl/modules/webgpu/gpu_external_texture.idl | 13 + .../gpu_external_texture_binding_layout.idl | 8 + .../gpu_external_texture_descriptor.idl | 10 + idl/modules/webgpu/gpu_fence_descriptor.idl | 9 + idl/modules/webgpu/gpu_fragment_state.idl | 9 + idl/modules/webgpu/gpu_heap_property.idl | 16 + idl/modules/webgpu/gpu_image_copy_buffer.idl | 9 + .../webgpu/gpu_image_copy_external_image.idl | 20 + .../webgpu/gpu_image_copy_image_bitmap.idl | 12 + idl/modules/webgpu/gpu_image_copy_texture.idl | 12 + .../webgpu/gpu_image_copy_texture_tagged.idl | 10 + idl/modules/webgpu/gpu_image_data_layout.idl | 11 + idl/modules/webgpu/gpu_internal_error.idl | 12 + idl/modules/webgpu/gpu_map_mode.idl | 14 + idl/modules/webgpu/gpu_memory_heap_info.idl | 12 + idl/modules/webgpu/gpu_multisample_state.idl | 11 + idl/modules/webgpu/gpu_object_base.idl | 9 + .../webgpu/gpu_object_descriptor_base.idl | 9 + idl/modules/webgpu/gpu_origin_2d_dict.idl | 11 + idl/modules/webgpu/gpu_origin_3d_dict.idl | 11 + .../webgpu/gpu_out_of_memory_error.idl | 12 + idl/modules/webgpu/gpu_pipeline_base.idl | 9 + .../webgpu/gpu_pipeline_descriptor_base.idl | 13 + idl/modules/webgpu/gpu_pipeline_error.idl | 24 + idl/modules/webgpu/gpu_pipeline_layout.idl | 12 + .../webgpu/gpu_pipeline_layout_descriptor.idl | 9 + idl/modules/webgpu/gpu_primitive_state.idl | 18 + .../webgpu/gpu_programmable_pass_encoder.idl | 20 + idl/modules/webgpu/gpu_programmable_stage.idl | 16 + idl/modules/webgpu/gpu_query_set.idl | 16 + .../webgpu/gpu_query_set_descriptor.idl | 15 + idl/modules/webgpu/gpu_queue.idl | 47 + idl/modules/webgpu/gpu_queue_descriptor.idl | 8 + .../gpu_rasterization_state_descriptor.idl | 25 + idl/modules/webgpu/gpu_render_bundle.idl | 12 + .../webgpu/gpu_render_bundle_descriptor.idl | 8 + .../webgpu/gpu_render_bundle_encoder.idl | 15 + .../gpu_render_bundle_encoder_descriptor.idl | 10 + .../webgpu/gpu_render_encoder_base.idl | 34 + .../gpu_render_pass_color_attachment.idl | 15 + ...u_render_pass_depth_stencil_attachment.idl | 19 + .../webgpu/gpu_render_pass_descriptor.idl | 23 + .../webgpu/gpu_render_pass_encoder.idl | 32 + idl/modules/webgpu/gpu_render_pass_layout.idl | 11 + .../gpu_render_pass_timestamp_writes.idl | 11 + idl/modules/webgpu/gpu_render_pipeline.idl | 13 + .../webgpu/gpu_render_pipeline_descriptor.idl | 21 + .../webgpu/gpu_request_adapter_options.idl | 16 + idl/modules/webgpu/gpu_sampler.idl | 12 + .../webgpu/gpu_sampler_binding_layout.idl | 15 + idl/modules/webgpu/gpu_sampler_descriptor.idl | 45 + idl/modules/webgpu/gpu_shader_module.idl | 13 + .../gpu_shader_module_compilation_hint.idl | 9 + .../webgpu/gpu_shader_module_descriptor.idl | 11 + idl/modules/webgpu/gpu_shader_stage.idl | 15 + idl/modules/webgpu/gpu_stencil_face_state.idl | 24 + .../gpu_storage_texture_binding_layout.idl | 17 + idl/modules/webgpu/gpu_supported_features.idl | 31 + idl/modules/webgpu/gpu_supported_limits.idl | 45 + idl/modules/webgpu/gpu_texture.idl | 23 + .../webgpu/gpu_texture_binding_layout.idl | 19 + idl/modules/webgpu/gpu_texture_descriptor.idl | 130 + idl/modules/webgpu/gpu_texture_usage.idl | 17 + idl/modules/webgpu/gpu_texture_view.idl | 12 + .../webgpu/gpu_texture_view_descriptor.idl | 30 + .../webgpu/gpu_uncaptured_error_event.idl | 13 + .../gpu_uncaptured_error_event_init.idl | 9 + idl/modules/webgpu/gpu_validation_error.idl | 12 + idl/modules/webgpu/gpu_vertex_attribute.idl | 45 + .../webgpu/gpu_vertex_buffer_layout.idl | 16 + idl/modules/webgpu/gpu_vertex_state.idl | 9 + idl/modules/webgpu/navigator_gpu.idl | 12 + idl/modules/webgpu/wgsl_language_features.idl | 26 + idl/modules/webgpu/worker_navigator_gpu.idl | 12 + idl/modules/webmidi/midi_access.idl | 44 + idl/modules/webmidi/midi_connection_event.idl | 39 + .../webmidi/midi_connection_event_init.idl | 12 + idl/modules/webmidi/midi_input.idl | 38 + idl/modules/webmidi/midi_input_map.idl | 12 + idl/modules/webmidi/midi_message_event.idl | 39 + .../webmidi/midi_message_event_init.idl | 12 + idl/modules/webmidi/midi_options.idl | 10 + idl/modules/webmidi/midi_output.idl | 40 + idl/modules/webmidi/midi_output_map.idl | 12 + idl/modules/webmidi/midi_port.idl | 72 + idl/modules/webmidi/navigator_web_midi.idl | 38 + idl/modules/webshare/navigator_share.idl | 16 + idl/modules/webshare/share_data.idl | 12 + idl/modules/websockets/close_event.idl | 40 + idl/modules/websockets/close_event_init.idl | 11 + idl/modules/websockets/websocket.idl | 67 + .../websockets/websocket_close_info.idl | 10 + idl/modules/websockets/websocket_error.idl | 15 + .../websockets/websocket_open_info.idl | 13 + idl/modules/websockets/websocket_stream.idl | 18 + .../websockets/websocket_stream_options.idl | 10 + idl/modules/webtransport/web_transport.idl | 28 + .../web_transport_bidirectional_stream.idl | 13 + .../webtransport/web_transport_close_info.idl | 10 + .../web_transport_connection_stats.idl | 12 + .../web_transport_datagram_duplex_stream.idl | 19 + .../web_transport_datagram_stats.idl | 10 + .../webtransport/web_transport_error.idl | 22 + .../webtransport/web_transport_error_init.idl | 10 + .../webtransport/web_transport_hash.idl | 9 + .../webtransport/web_transport_options.idl | 9 + idl/modules/webusb/navigator_usb.idl | 13 + idl/modules/webusb/usb.idl | 17 + .../webusb/usb_alternate_interface.idl | 20 + idl/modules/webusb/usb_configuration.idl | 17 + idl/modules/webusb/usb_connection_event.idl | 15 + .../webusb/usb_connection_event_init.idl | 9 + .../usb_control_transfer_parameters.idl | 24 + idl/modules/webusb/usb_device.idl | 54 + idl/modules/webusb/usb_device_filter.idl | 14 + .../webusb/usb_device_request_options.idl | 10 + idl/modules/webusb/usb_endpoint.idl | 29 + idl/modules/webusb/usb_in_transfer_result.idl | 16 + idl/modules/webusb/usb_interface.idl | 18 + .../usb_isochronous_in_transfer_packet.idl | 16 + .../usb_isochronous_in_transfer_result.idl | 16 + .../usb_isochronous_out_transfer_packet.idl | 16 + .../usb_isochronous_out_transfer_result.idl | 15 + .../webusb/usb_out_transfer_result.idl | 14 + idl/modules/webusb/worker_navigator_usb.idl | 14 + .../navigator_window_controls_overlay.idl | 11 + .../window_controls_overlay.idl | 13 + ...controls_overlay_geometry_change_event.idl | 14 + ...ols_overlay_geometry_change_event_init.idl | 8 + idl/modules/xr/document_xr.idl | 12 + idl/modules/xr/html_element_xr.idl | 12 + idl/modules/xr/mathml_element_xr.idl | 12 + idl/modules/xr/navigator_xr.idl | 11 + idl/modules/xr/svg_element_xr.idl | 12 + idl/modules/xr/window_xr.idl | 12 + idl/modules/xr/xr_anchor.idl | 16 + idl/modules/xr/xr_anchor_set.idl | 12 + idl/modules/xr/xr_bounded_reference_space.idl | 13 + idl/modules/xr/xr_camera.idl | 12 + idl/modules/xr/xr_composition_layer.idl | 31 + idl/modules/xr/xr_cpu_depth_information.idl | 19 + idl/modules/xr/xr_depth_information.idl | 16 + idl/modules/xr/xr_depth_state_init.idl | 18 + idl/modules/xr/xr_dom_overlay_init.idl | 8 + idl/modules/xr/xr_dom_overlay_state.idl | 17 + idl/modules/xr/xr_frame.idl | 46 + idl/modules/xr/xr_frame_request_callback.idl | 6 + idl/modules/xr/xr_hand.idl | 44 + idl/modules/xr/xr_hit_test_options_init.idl | 14 + idl/modules/xr/xr_hit_test_result.idl | 12 + idl/modules/xr/xr_hit_test_source.idl | 9 + idl/modules/xr/xr_image_tracking_result.idl | 25 + idl/modules/xr/xr_input_source.idl | 29 + idl/modules/xr/xr_input_source_array.idl | 13 + idl/modules/xr/xr_input_source_event.idl | 13 + idl/modules/xr/xr_input_source_event_init.idl | 8 + .../xr/xr_input_sources_change_event.idl | 14 + .../xr/xr_input_sources_change_event_init.idl | 9 + idl/modules/xr/xr_joint_pose.idl | 11 + idl/modules/xr/xr_joint_space.idl | 10 + idl/modules/xr/xr_layer.idl | 7 + idl/modules/xr/xr_light_estimate.idl | 13 + idl/modules/xr/xr_light_probe.idl | 12 + idl/modules/xr/xr_light_probe_init.idl | 8 + idl/modules/xr/xr_plane.idl | 23 + idl/modules/xr/xr_plane_set.idl | 14 + idl/modules/xr/xr_pose.idl | 15 + idl/modules/xr/xr_projection_layer.idl | 18 + idl/modules/xr/xr_ray.idl | 16 + idl/modules/xr/xr_ray_direction_init.idl | 10 + idl/modules/xr/xr_reference_space.idl | 22 + idl/modules/xr/xr_reference_space_event.idl | 14 + .../xr/xr_reference_space_event_init.idl | 9 + idl/modules/xr/xr_render_state.idl | 16 + idl/modules/xr/xr_render_state_init.idl | 12 + idl/modules/xr/xr_rigid_transform.idl | 17 + idl/modules/xr/xr_session.idl | 94 + idl/modules/xr/xr_session_event.idl | 13 + idl/modules/xr/xr_session_event_init.idl | 8 + idl/modules/xr/xr_session_init.idl | 12 + idl/modules/xr/xr_space.idl | 10 + idl/modules/xr/xr_sub_image.idl | 12 + idl/modules/xr/xr_system.idl | 18 + idl/modules/xr/xr_tracked_image_init.idl | 13 + ..._transient_input_hit_test_options_init.idl | 9 + .../xr/xr_transient_input_hit_test_result.idl | 9 + .../xr/xr_transient_input_hit_test_source.idl | 9 + idl/modules/xr/xr_view.idl | 30 + idl/modules/xr/xr_viewer_pose.idl | 12 + idl/modules/xr/xr_viewport.idl | 15 + idl/modules/xr/xr_webgl_binding.idl | 45 + idl/modules/xr/xr_webgl_context.idl | 6 + idl/modules/xr/xr_webgl_depth_information.idl | 12 + idl/modules/xr/xr_webgl_layer.idl | 22 + idl/modules/xr/xr_webgl_layer_init.idl | 14 + idl/modules/xr/xr_webgl_sub_image.idl | 22 + idl/platform/runtime_enabled_features.json5 | 4511 +++++++++ package-lock.json | 2960 +----- package.json | 2 +- test/files/compat-data.schema.json | 289 +- 2144 files changed, 75668 insertions(+), 3075 deletions(-) create mode 100644 .update create mode 100644 idl/core/accessibility/aria_notification_options.idl create mode 100644 idl/core/animation/animatable.idl create mode 100644 idl/core/animation/animation.idl create mode 100644 idl/core/animation/animation_effect.idl create mode 100644 idl/core/animation/animation_timeline.idl create mode 100644 idl/core/animation/base_keyframe.idl create mode 100644 idl/core/animation/base_property_indexed_keyframe.idl create mode 100644 idl/core/animation/computed_effect_timing.idl create mode 100644 idl/core/animation/css/css_animation.idl create mode 100644 idl/core/animation/css/css_transition.idl create mode 100644 idl/core/animation/document_animation.idl create mode 100644 idl/core/animation/document_timeline.idl create mode 100644 idl/core/animation/document_timeline_options.idl create mode 100644 idl/core/animation/effect_timing.idl create mode 100644 idl/core/animation/get_animations_options.idl create mode 100644 idl/core/animation/keyframe_animation_options.idl create mode 100644 idl/core/animation/keyframe_effect.idl create mode 100644 idl/core/animation/keyframe_effect_options.idl create mode 100644 idl/core/animation/optional_effect_timing.idl create mode 100644 idl/core/animation/scroll_timeline.idl create mode 100644 idl/core/animation/scroll_timeline_options.idl create mode 100644 idl/core/animation/view_timeline.idl create mode 100644 idl/core/animation/view_timeline_options.idl create mode 100644 idl/core/aom/accessible_node.idl create mode 100644 idl/core/aom/accessible_node_list.idl create mode 100644 idl/core/aom/computed_accessible_node.idl create mode 100644 idl/core/clipboard/data_transfer.idl create mode 100644 idl/core/clipboard/data_transfer_item.idl create mode 100644 idl/core/clipboard/data_transfer_item_list.idl create mode 100644 idl/core/css/computed_style_field_aliases.json5 create mode 100644 idl/core/css/css.idl create mode 100644 idl/core/css/css_condition_rule.idl create mode 100644 idl/core/css/css_container_rule.idl create mode 100644 idl/core/css/css_counter_style_rule.idl create mode 100644 idl/core/css/css_font_face_rule.idl create mode 100644 idl/core/css/css_font_feature_values_rule.idl create mode 100644 idl/core/css/css_font_palette_values_rule.idl create mode 100644 idl/core/css/css_group_config.json5 create mode 100644 idl/core/css/css_grouping_rule.idl create mode 100644 idl/core/css/css_import_rule.idl create mode 100644 idl/core/css/css_keyframe_rule.idl create mode 100644 idl/core/css/css_keyframes_rule.idl create mode 100644 idl/core/css/css_layer_block_rule.idl create mode 100644 idl/core/css/css_layer_statement_rule.idl create mode 100644 idl/core/css/css_media_rule.idl create mode 100644 idl/core/css/css_namespace_rule.idl create mode 100644 idl/core/css/css_page_rule.idl create mode 100644 idl/core/css/css_position_try_rule.idl create mode 100644 idl/core/css/css_primitive_value_units.json5 create mode 100644 idl/core/css/css_properties.json5 create mode 100644 idl/core/css/css_properties_ranking.json5 create mode 100644 idl/core/css/css_property_rule.idl create mode 100644 idl/core/css/css_rule.idl create mode 100644 idl/core/css/css_rule_list.idl create mode 100644 idl/core/css/css_scope_rule.idl create mode 100644 idl/core/css/css_starting_style_rule.idl create mode 100644 idl/core/css/css_style_declaration.idl create mode 100644 idl/core/css/css_style_rule.idl create mode 100644 idl/core/css/css_style_sheet.idl create mode 100644 idl/core/css/css_style_sheet_init.idl create mode 100644 idl/core/css/css_supports_rule.idl create mode 100644 idl/core/css/css_value_keywords.json5 create mode 100644 idl/core/css/css_view_transition_rule.idl create mode 100644 idl/core/css/cssom/caret_position.idl create mode 100644 idl/core/css/cssom/css_color_value.idl create mode 100644 idl/core/css/cssom/css_hsl.idl create mode 100644 idl/core/css/cssom/css_hwb.idl create mode 100644 idl/core/css/cssom/css_image_value.idl create mode 100644 idl/core/css/cssom/css_keyword_value.idl create mode 100644 idl/core/css/cssom/css_math_clamp.idl create mode 100644 idl/core/css/cssom/css_math_invert.idl create mode 100644 idl/core/css/cssom/css_math_max.idl create mode 100644 idl/core/css/cssom/css_math_min.idl create mode 100644 idl/core/css/cssom/css_math_negate.idl create mode 100644 idl/core/css/cssom/css_math_product.idl create mode 100644 idl/core/css/cssom/css_math_sum.idl create mode 100644 idl/core/css/cssom/css_math_value.idl create mode 100644 idl/core/css/cssom/css_matrix_component.idl create mode 100644 idl/core/css/cssom/css_matrix_component_options.idl create mode 100644 idl/core/css/cssom/css_numeric_array.idl create mode 100644 idl/core/css/cssom/css_numeric_type.idl create mode 100644 idl/core/css/cssom/css_numeric_value.idl create mode 100644 idl/core/css/cssom/css_perspective.idl create mode 100644 idl/core/css/cssom/css_position_value.idl create mode 100644 idl/core/css/cssom/css_rgb.idl create mode 100644 idl/core/css/cssom/css_rotate.idl create mode 100644 idl/core/css/cssom/css_scale.idl create mode 100644 idl/core/css/cssom/css_skew.idl create mode 100644 idl/core/css/cssom/css_skew_x.idl create mode 100644 idl/core/css/cssom/css_skew_y.idl create mode 100644 idl/core/css/cssom/css_style_value.idl create mode 100644 idl/core/css/cssom/css_transform_component.idl create mode 100644 idl/core/css/cssom/css_transform_value.idl create mode 100644 idl/core/css/cssom/css_translate.idl create mode 100644 idl/core/css/cssom/css_unit_value.idl create mode 100644 idl/core/css/cssom/css_unit_values.idl create mode 100644 idl/core/css/cssom/css_unparsed_value.idl create mode 100644 idl/core/css/cssom/css_variable_reference_value.idl create mode 100644 idl/core/css/cssom/element_computed_style_map.idl create mode 100644 idl/core/css/cssom/style_property_map.idl create mode 100644 idl/core/css/cssom/style_property_map_read_only.idl create mode 100644 idl/core/css/cssom_string.idl create mode 100644 idl/core/css/font_face.idl create mode 100644 idl/core/css/font_face_descriptors.idl create mode 100644 idl/core/css/font_face_set.idl create mode 100644 idl/core/css/font_face_set_load_event.idl create mode 100644 idl/core/css/font_face_set_load_event_init.idl create mode 100644 idl/core/css/font_face_source.idl create mode 100644 idl/core/css/media_feature_names.json5 create mode 100644 idl/core/css/media_list.idl create mode 100644 idl/core/css/media_query_list.idl create mode 100644 idl/core/css/media_query_list_event.idl create mode 100644 idl/core/css/media_query_list_event_init.idl create mode 100644 idl/core/css/media_type_names.json5 create mode 100644 idl/core/css/parser/at_rule_names.json5 create mode 100644 idl/core/css/properties/css_property_methods.json5 create mode 100644 idl/core/css/property_definition.idl create mode 100644 idl/core/css/property_registration.idl create mode 100644 idl/core/css/style_media.idl create mode 100644 idl/core/css/style_sheet.idl create mode 100644 idl/core/css/style_sheet_list.idl create mode 100644 idl/core/display_lock/content_visibility_auto_state_change_event.idl create mode 100644 idl/core/display_lock/content_visibility_auto_state_change_event_init.idl create mode 100644 idl/core/dom/abort_controller.idl create mode 100644 idl/core/dom/abort_signal.idl create mode 100644 idl/core/dom/abstract_range.idl create mode 100644 idl/core/dom/accessibility_role.idl create mode 100644 idl/core/dom/aria_attributes.idl create mode 100644 idl/core/dom/aria_relationship_attributes.idl create mode 100644 idl/core/dom/attr.idl create mode 100644 idl/core/dom/attribute_part.idl create mode 100644 idl/core/dom/cdata_section.idl create mode 100644 idl/core/dom/character_data.idl create mode 100644 idl/core/dom/child_node.idl create mode 100644 idl/core/dom/child_node_part.idl create mode 100644 idl/core/dom/comment.idl create mode 100644 idl/core/dom/common_definitions.idl create mode 100644 idl/core/dom/document.idl create mode 100644 idl/core/dom/document_and_element_event_handlers.idl create mode 100644 idl/core/dom/document_fragment.idl create mode 100644 idl/core/dom/document_or_shadow_root.idl create mode 100644 idl/core/dom/document_part_root.idl create mode 100644 idl/core/dom/document_type.idl create mode 100644 idl/core/dom/dom_exception.idl create mode 100644 idl/core/dom/dom_implementation.idl create mode 100644 idl/core/dom/dom_string_list.idl create mode 100644 idl/core/dom/dom_string_map.idl create mode 100644 idl/core/dom/dom_token_list.idl create mode 100644 idl/core/dom/element.idl create mode 100644 idl/core/dom/element_creation_options.idl create mode 100644 idl/core/dom/element_css_inline_style.idl create mode 100644 idl/core/dom/element_definition_options.idl create mode 100644 idl/core/dom/element_registration_options.idl create mode 100644 idl/core/dom/events/add_event_listener_options.idl create mode 100644 idl/core/dom/events/custom_event.idl create mode 100644 idl/core/dom/events/custom_event_init.idl create mode 100644 idl/core/dom/events/event.idl create mode 100644 idl/core/dom/events/event_init.idl create mode 100644 idl/core/dom/events/event_listener.idl create mode 100644 idl/core/dom/events/event_listener_options.idl create mode 100644 idl/core/dom/events/event_modifier_init.idl create mode 100644 idl/core/dom/events/event_target.idl create mode 100644 idl/core/dom/frame_request_callback.idl create mode 100644 idl/core/dom/function_string_callback.idl create mode 100644 idl/core/dom/get_html_options.idl create mode 100644 idl/core/dom/get_inner_html_options.idl create mode 100644 idl/core/dom/get_root_node_options.idl create mode 100644 idl/core/dom/global_event_handlers.idl create mode 100644 idl/core/dom/idle_deadline.idl create mode 100644 idl/core/dom/idle_request_callback.idl create mode 100644 idl/core/dom/idle_request_options.idl create mode 100644 idl/core/dom/interest_invoker_element.idl create mode 100644 idl/core/dom/invoker_element.idl create mode 100644 idl/core/dom/mutation_observer.idl create mode 100644 idl/core/dom/mutation_observer_init.idl create mode 100644 idl/core/dom/mutation_record.idl create mode 100644 idl/core/dom/named_node_map.idl create mode 100644 idl/core/dom/node.idl create mode 100644 idl/core/dom/node_filter.idl create mode 100644 idl/core/dom/node_iterator.idl create mode 100644 idl/core/dom/node_list.idl create mode 100644 idl/core/dom/node_part.idl create mode 100644 idl/core/dom/non_document_type_child_node.idl create mode 100644 idl/core/dom/non_element_parent_node.idl create mode 100644 idl/core/dom/observable.idl create mode 100644 idl/core/dom/parent_node.idl create mode 100644 idl/core/dom/part.idl create mode 100644 idl/core/dom/part_root.idl create mode 100644 idl/core/dom/pointer_lock_options.idl create mode 100644 idl/core/dom/popover_invoker_element.idl create mode 100644 idl/core/dom/processing_instruction.idl create mode 100644 idl/core/dom/range.idl create mode 100644 idl/core/dom/shadow_root.idl create mode 100644 idl/core/dom/shadow_root_init.idl create mode 100644 idl/core/dom/static_range.idl create mode 100644 idl/core/dom/static_range_init.idl create mode 100644 idl/core/dom/subscriber.idl create mode 100644 idl/core/dom/testing/internals_storage_access.idl create mode 100644 idl/core/dom/text.idl create mode 100644 idl/core/dom/tree_walker.idl create mode 100644 idl/core/dom/void_function.idl create mode 100644 idl/core/dom/xml_document.idl create mode 100644 idl/core/editing/ime/character_bounds_update_event.idl create mode 100644 idl/core/editing/ime/character_bounds_update_event_init.idl create mode 100644 idl/core/editing/ime/edit_context.idl create mode 100644 idl/core/editing/ime/edit_context_init.idl create mode 100644 idl/core/editing/ime/text_format.idl create mode 100644 idl/core/editing/ime/text_format_init.idl create mode 100644 idl/core/editing/ime/text_format_update_event.idl create mode 100644 idl/core/editing/ime/text_format_update_event_init.idl create mode 100644 idl/core/editing/ime/text_update_event.idl create mode 100644 idl/core/editing/ime/text_update_event_init.idl create mode 100644 idl/core/editing/selection.idl create mode 100644 idl/core/events/animation_event.idl create mode 100644 idl/core/events/animation_event_init.idl create mode 100644 idl/core/events/animation_playback_event.idl create mode 100644 idl/core/events/animation_playback_event_init.idl create mode 100644 idl/core/events/before_create_policy_event.idl create mode 100644 idl/core/events/before_unload_event.idl create mode 100644 idl/core/events/clipboard_event.idl create mode 100644 idl/core/events/clipboard_event_init.idl create mode 100644 idl/core/events/composition_event.idl create mode 100644 idl/core/events/composition_event_init.idl create mode 100644 idl/core/events/drag_event.idl create mode 100644 idl/core/events/drag_event_init.idl create mode 100644 idl/core/events/error_event.idl create mode 100644 idl/core/events/error_event_init.idl create mode 100644 idl/core/events/event_interface_aliases.json5 create mode 100644 idl/core/events/event_target_names.json5 create mode 100644 idl/core/events/event_type_names.json5 create mode 100644 idl/core/events/focus_event.idl create mode 100644 idl/core/events/focus_event_init.idl create mode 100644 idl/core/events/hash_change_event.idl create mode 100644 idl/core/events/hash_change_event_init.idl create mode 100644 idl/core/events/input_event.idl create mode 100644 idl/core/events/input_event_init.idl create mode 100644 idl/core/events/invoke_event.idl create mode 100644 idl/core/events/keyboard_event.idl create mode 100644 idl/core/events/keyboard_event_init.idl create mode 100644 idl/core/events/message_event.idl create mode 100644 idl/core/events/message_event_init.idl create mode 100644 idl/core/events/mouse_event.idl create mode 100644 idl/core/events/mouse_event_init.idl create mode 100644 idl/core/events/mutation_event.idl create mode 100644 idl/core/events/navigator_events.idl create mode 100644 idl/core/events/overscroll_event.idl create mode 100644 idl/core/events/overscroll_event_init.idl create mode 100644 idl/core/events/page_transition_event.idl create mode 100644 idl/core/events/page_transition_event_init.idl create mode 100644 idl/core/events/pointer_event.idl create mode 100644 idl/core/events/pointer_event_init.idl create mode 100644 idl/core/events/pointer_type_names.json5 create mode 100644 idl/core/events/pop_state_event.idl create mode 100644 idl/core/events/pop_state_event_init.idl create mode 100644 idl/core/events/progress_event.idl create mode 100644 idl/core/events/progress_event_init.idl create mode 100644 idl/core/events/promise_rejection_event.idl create mode 100644 idl/core/events/promise_rejection_event_init.idl create mode 100644 idl/core/events/resource_progress_event.idl create mode 100644 idl/core/events/security_policy_violation_event.idl create mode 100644 idl/core/events/security_policy_violation_event_init.idl create mode 100644 idl/core/events/securitypolicyviolation_disposition_names.json5 create mode 100644 idl/core/events/text_event.idl create mode 100644 idl/core/events/toggle_event.idl create mode 100644 idl/core/events/toggle_event_init.idl create mode 100644 idl/core/events/touch_event.idl create mode 100644 idl/core/events/touch_event_init.idl create mode 100644 idl/core/events/transition_event.idl create mode 100644 idl/core/events/transition_event_init.idl create mode 100644 idl/core/events/ui_event.idl create mode 100644 idl/core/events/ui_event_init.idl create mode 100644 idl/core/events/wheel_event.idl create mode 100644 idl/core/events/wheel_event_init.idl create mode 100644 idl/core/fetch/attribution_reporting.idl create mode 100644 idl/core/fetch/body.idl create mode 100644 idl/core/fetch/deferred_request_init.idl create mode 100644 idl/core/fetch/fetch_later.idl create mode 100644 idl/core/fetch/headers.idl create mode 100644 idl/core/fetch/private_token.idl create mode 100644 idl/core/fetch/request.idl create mode 100644 idl/core/fetch/request_init.idl create mode 100644 idl/core/fetch/response.idl create mode 100644 idl/core/fetch/response_init.idl create mode 100644 idl/core/fetch/testing/internals_fetch.idl create mode 100644 idl/core/fetch/testing/worker_internals_fetch.idl create mode 100644 idl/core/fetch/window_fetch.idl create mode 100644 idl/core/fetch/worker_fetch.idl create mode 100644 idl/core/fileapi/blob.idl create mode 100644 idl/core/fileapi/blob_property_bag.idl create mode 100644 idl/core/fileapi/file.idl create mode 100644 idl/core/fileapi/file_list.idl create mode 100644 idl/core/fileapi/file_property_bag.idl create mode 100644 idl/core/fileapi/file_reader.idl create mode 100644 idl/core/fileapi/file_reader_sync.idl create mode 100644 idl/core/fileapi/url_file_api.idl create mode 100644 idl/core/fragment_directive/fragment_directive.idl create mode 100644 idl/core/fragment_directive/text_directive.idl create mode 100644 idl/core/fragment_directive/text_directive_options.idl create mode 100644 idl/core/frame/bar_prop.idl create mode 100644 idl/core/frame/coop_access_violation_report_body.idl create mode 100644 idl/core/frame/csp/csp_violation_report_body.idl create mode 100644 idl/core/frame/deprecation/deprecation.json5 create mode 100644 idl/core/frame/deprecation/deprecation_report_body.idl create mode 100644 idl/core/frame/directive.idl create mode 100644 idl/core/frame/document_policy_violation_report_body.idl create mode 100644 idl/core/frame/external.idl create mode 100644 idl/core/frame/history.idl create mode 100644 idl/core/frame/intervention_report_body.idl create mode 100644 idl/core/frame/is_input_pending_options.idl create mode 100644 idl/core/frame/location.idl create mode 100644 idl/core/frame/navigator.idl create mode 100644 idl/core/frame/navigator_automation_information.idl create mode 100644 idl/core/frame/navigator_concurrent_hardware.idl create mode 100644 idl/core/frame/navigator_cookies.idl create mode 100644 idl/core/frame/navigator_device_memory.idl create mode 100644 idl/core/frame/navigator_id.idl create mode 100644 idl/core/frame/navigator_language.idl create mode 100644 idl/core/frame/navigator_on_line.idl create mode 100644 idl/core/frame/navigator_scheduling.idl create mode 100644 idl/core/frame/navigator_ua.idl create mode 100644 idl/core/frame/navigator_ua_brand_version.idl create mode 100644 idl/core/frame/navigator_ua_data.idl create mode 100644 idl/core/frame/navigator_user_activation.idl create mode 100644 idl/core/frame/pending_beacon.idl create mode 100644 idl/core/frame/permissions_policy_violation_report_body.idl create mode 100644 idl/core/frame/report.idl create mode 100644 idl/core/frame/report_body.idl create mode 100644 idl/core/frame/reporting_observer.idl create mode 100644 idl/core/frame/reporting_observer_options.idl create mode 100644 idl/core/frame/scheduling.idl create mode 100644 idl/core/frame/screen.idl create mode 100644 idl/core/frame/scroll_into_view_options.idl create mode 100644 idl/core/frame/scroll_options.idl create mode 100644 idl/core/frame/scroll_to_options.idl create mode 100644 idl/core/frame/selector_directive.idl create mode 100644 idl/core/frame/settings.json5 create mode 100644 idl/core/frame/test_report_body.idl create mode 100644 idl/core/frame/ua_data_values.idl create mode 100644 idl/core/frame/user_activation.idl create mode 100644 idl/core/frame/visual_viewport.idl create mode 100644 idl/core/frame/window.idl create mode 100644 idl/core/frame/window_event_handlers.idl create mode 100644 idl/core/frame/window_or_worker_global_scope.idl create mode 100644 idl/core/frame/window_post_message_options.idl create mode 100644 idl/core/frame/window_properties.idl create mode 100644 idl/core/fullscreen/document_fullscreen.idl create mode 100644 idl/core/fullscreen/element_fullscreen.idl create mode 100644 idl/core/fullscreen/fullscreen_options.idl create mode 100644 idl/core/geometry/dom_matrix.idl create mode 100644 idl/core/geometry/dom_matrix_2d_init.idl create mode 100644 idl/core/geometry/dom_matrix_init.idl create mode 100644 idl/core/geometry/dom_matrix_read_only.idl create mode 100644 idl/core/geometry/dom_point.idl create mode 100644 idl/core/geometry/dom_point_init.idl create mode 100644 idl/core/geometry/dom_point_read_only.idl create mode 100644 idl/core/geometry/dom_quad.idl create mode 100644 idl/core/geometry/dom_quad_init.idl create mode 100644 idl/core/geometry/dom_rect.idl create mode 100644 idl/core/geometry/dom_rect_init.idl create mode 100644 idl/core/geometry/dom_rect_list.idl create mode 100644 idl/core/geometry/dom_rect_read_only.idl create mode 100644 idl/core/highlight/css_highlight_registry.idl create mode 100644 idl/core/highlight/highlight.idl create mode 100644 idl/core/highlight/highlight_pointer_event.idl create mode 100644 idl/core/highlight/highlight_registry.idl create mode 100644 idl/core/html/aria_properties.json5 create mode 100644 idl/core/html/assigned_nodes_options.idl create mode 100644 idl/core/html/canvas/baselines.idl create mode 100644 idl/core/html/canvas/high_dynamic_range_options.idl create mode 100644 idl/core/html/canvas/html_canvas_element.idl create mode 100644 idl/core/html/canvas/image_data.idl create mode 100644 idl/core/html/canvas/image_data_settings.idl create mode 100644 idl/core/html/canvas/image_encode_options.idl create mode 100644 idl/core/html/canvas/text_metrics.idl create mode 100644 idl/core/html/closewatcher/close_watcher.idl create mode 100644 idl/core/html/closewatcher/close_watcher_options.idl create mode 100644 idl/core/html/custom/custom_element_registry.idl create mode 100644 idl/core/html/custom/custom_state_set.idl create mode 100644 idl/core/html/custom/element_internals.idl create mode 100644 idl/core/html/custom/validity_state_flags.idl create mode 100644 idl/core/html/event_handler.idl create mode 100644 idl/core/html/fenced_frame/fence.idl create mode 100644 idl/core/html/fenced_frame/fence_event.idl create mode 100644 idl/core/html/fenced_frame/fenced_frame_config.idl create mode 100644 idl/core/html/fenced_frame/html_fenced_frame_element.idl create mode 100644 idl/core/html/focus_options.idl create mode 100644 idl/core/html/forms/form_data.idl create mode 100644 idl/core/html/forms/form_data_event.idl create mode 100644 idl/core/html/forms/form_data_event_init.idl create mode 100644 idl/core/html/forms/html_button_element.idl create mode 100644 idl/core/html/forms/html_data_list_element.idl create mode 100644 idl/core/html/forms/html_field_set_element.idl create mode 100644 idl/core/html/forms/html_form_controls_collection.idl create mode 100644 idl/core/html/forms/html_form_element.idl create mode 100644 idl/core/html/forms/html_input_element.idl create mode 100644 idl/core/html/forms/html_label_element.idl create mode 100644 idl/core/html/forms/html_legend_element.idl create mode 100644 idl/core/html/forms/html_opt_group_element.idl create mode 100644 idl/core/html/forms/html_option_element.idl create mode 100644 idl/core/html/forms/html_options_collection.idl create mode 100644 idl/core/html/forms/html_output_element.idl create mode 100644 idl/core/html/forms/html_select_element.idl create mode 100644 idl/core/html/forms/html_select_list_element.idl create mode 100644 idl/core/html/forms/html_text_area_element.idl create mode 100644 idl/core/html/forms/input_type_names.json5 create mode 100644 idl/core/html/forms/radio_node_list.idl create mode 100644 idl/core/html/forms/submit_event.idl create mode 100644 idl/core/html/forms/submit_event_init.idl create mode 100644 idl/core/html/forms/validity_state.idl create mode 100644 idl/core/html/html_all_collection.idl create mode 100644 idl/core/html/html_anchor_element.idl create mode 100644 idl/core/html/html_area_element.idl create mode 100644 idl/core/html/html_attribute_names.json5 create mode 100644 idl/core/html/html_attributionsrc_element_utils.idl create mode 100644 idl/core/html/html_base_element.idl create mode 100644 idl/core/html/html_body_element.idl create mode 100644 idl/core/html/html_br_element.idl create mode 100644 idl/core/html/html_collection.idl create mode 100644 idl/core/html/html_data_element.idl create mode 100644 idl/core/html/html_details_element.idl create mode 100644 idl/core/html/html_dialog_element.idl create mode 100644 idl/core/html/html_directory_element.idl create mode 100644 idl/core/html/html_div_element.idl create mode 100644 idl/core/html/html_dlist_element.idl create mode 100644 idl/core/html/html_document.idl create mode 100644 idl/core/html/html_element.idl create mode 100644 idl/core/html/html_embed_element.idl create mode 100644 idl/core/html/html_font_element.idl create mode 100644 idl/core/html/html_frame_element.idl create mode 100644 idl/core/html/html_frame_set_element.idl create mode 100644 idl/core/html/html_head_element.idl create mode 100644 idl/core/html/html_heading_element.idl create mode 100644 idl/core/html/html_hr_element.idl create mode 100644 idl/core/html/html_html_element.idl create mode 100644 idl/core/html/html_hyperlink_element_utils.idl create mode 100644 idl/core/html/html_iframe_element.idl create mode 100644 idl/core/html/html_image_element.idl create mode 100644 idl/core/html/html_li_element.idl create mode 100644 idl/core/html/html_link_element.idl create mode 100644 idl/core/html/html_map_element.idl create mode 100644 idl/core/html/html_marquee_element.idl create mode 100644 idl/core/html/html_menu_element.idl create mode 100644 idl/core/html/html_meta_element.idl create mode 100644 idl/core/html/html_meter_element.idl create mode 100644 idl/core/html/html_mod_element.idl create mode 100644 idl/core/html/html_object_element.idl create mode 100644 idl/core/html/html_olist_element.idl create mode 100644 idl/core/html/html_or_foreign_element.idl create mode 100644 idl/core/html/html_paragraph_element.idl create mode 100644 idl/core/html/html_param_element.idl create mode 100644 idl/core/html/html_permission_element.idl create mode 100644 idl/core/html/html_picture_element.idl create mode 100644 idl/core/html/html_pre_element.idl create mode 100644 idl/core/html/html_progress_element.idl create mode 100644 idl/core/html/html_quote_element.idl create mode 100644 idl/core/html/html_script_element.idl create mode 100644 idl/core/html/html_shared_storage_writable_element_utils.idl create mode 100644 idl/core/html/html_slot_element.idl create mode 100644 idl/core/html/html_source_element.idl create mode 100644 idl/core/html/html_span_element.idl create mode 100644 idl/core/html/html_style_element.idl create mode 100644 idl/core/html/html_table_caption_element.idl create mode 100644 idl/core/html/html_table_cell_element.idl create mode 100644 idl/core/html/html_table_col_element.idl create mode 100644 idl/core/html/html_table_element.idl create mode 100644 idl/core/html/html_table_row_element.idl create mode 100644 idl/core/html/html_table_section_element.idl create mode 100644 idl/core/html/html_tag_names.json5 create mode 100644 idl/core/html/html_template_element.idl create mode 100644 idl/core/html/html_time_element.idl create mode 100644 idl/core/html/html_title_element.idl create mode 100644 idl/core/html/html_ulist_element.idl create mode 100644 idl/core/html/html_unknown_element.idl create mode 100644 idl/core/html/keywords.json5 create mode 100644 idl/core/html/media/html_audio_element.idl create mode 100644 idl/core/html/media/html_media_element.idl create mode 100644 idl/core/html/media/html_video_element.idl create mode 100644 idl/core/html/media/media_error.idl create mode 100644 idl/core/html/parser/html_tokenizer_names.json5 create mode 100644 idl/core/html/shadow/shadow_element_names.json5 create mode 100644 idl/core/html/time_ranges.idl create mode 100644 idl/core/html/track/audio_track.idl create mode 100644 idl/core/html/track/audio_track_list.idl create mode 100644 idl/core/html/track/html_track_element.idl create mode 100644 idl/core/html/track/text_track.idl create mode 100644 idl/core/html/track/text_track_cue.idl create mode 100644 idl/core/html/track/text_track_cue_list.idl create mode 100644 idl/core/html/track/text_track_list.idl create mode 100644 idl/core/html/track/track_event.idl create mode 100644 idl/core/html/track/track_event_init.idl create mode 100644 idl/core/html/track/video_track.idl create mode 100644 idl/core/html/track/video_track_list.idl create mode 100644 idl/core/html/track/vtt/vtt_cue.idl create mode 100644 idl/core/html/track/vtt/vtt_region.idl create mode 100644 idl/core/html/void_callback.idl create mode 100644 idl/core/imagebitmap/image_bitmap.idl create mode 100644 idl/core/imagebitmap/image_bitmap_options.idl create mode 100644 idl/core/input/input_device_capabilities.idl create mode 100644 idl/core/input/input_device_capabilities_init.idl create mode 100644 idl/core/input/touch.idl create mode 100644 idl/core/input/touch_init.idl create mode 100644 idl/core/input/touch_list.idl create mode 100644 idl/core/inspector/dev_tools_host.idl create mode 100644 idl/core/inspector/inspector_overlay_host.idl create mode 100644 idl/core/intersection_observer/intersection_observer.idl create mode 100644 idl/core/intersection_observer/intersection_observer_entry.idl create mode 100644 idl/core/intersection_observer/intersection_observer_init.idl create mode 100644 idl/core/layout/custom/css_layout_worklet.idl create mode 100644 idl/core/layout/custom/custom_layout_constraints_options.idl create mode 100644 idl/core/layout/custom/fragment_result_options.idl create mode 100644 idl/core/layout/custom/intrinsic_sizes.idl create mode 100644 idl/core/layout/custom/intrinsic_sizes_result_options.idl create mode 100644 idl/core/layout/custom/layout_child.idl create mode 100644 idl/core/layout/custom/layout_constraints.idl create mode 100644 idl/core/layout/custom/layout_edges.idl create mode 100644 idl/core/layout/custom/layout_fragment.idl create mode 100644 idl/core/layout/custom/layout_worklet_global_scope.idl create mode 100644 idl/core/mathml/mathml_attribute_names.json5 create mode 100644 idl/core/mathml/mathml_element.idl create mode 100644 idl/core/mathml/mathml_tag_names.json5 create mode 100644 idl/core/messaging/message_channel.idl create mode 100644 idl/core/messaging/message_port.idl create mode 100644 idl/core/messaging/post_message_options.idl create mode 100644 idl/core/messaging/structured_serialize_options.idl create mode 100644 idl/core/mojo/mojo.idl create mode 100644 idl/core/mojo/mojo_create_data_pipe_options.idl create mode 100644 idl/core/mojo/mojo_create_data_pipe_result.idl create mode 100644 idl/core/mojo/mojo_create_message_pipe_result.idl create mode 100644 idl/core/mojo/mojo_create_shared_buffer_result.idl create mode 100644 idl/core/mojo/mojo_discard_data_options.idl create mode 100644 idl/core/mojo/mojo_duplicate_buffer_handle_options.idl create mode 100644 idl/core/mojo/mojo_handle.idl create mode 100644 idl/core/mojo/mojo_handle_signals.idl create mode 100644 idl/core/mojo/mojo_map_buffer_result.idl create mode 100644 idl/core/mojo/mojo_read_data_options.idl create mode 100644 idl/core/mojo/mojo_read_data_result.idl create mode 100644 idl/core/mojo/mojo_read_message_flags.idl create mode 100644 idl/core/mojo/mojo_read_message_result.idl create mode 100644 idl/core/mojo/mojo_watcher.idl create mode 100644 idl/core/mojo/mojo_write_data_options.idl create mode 100644 idl/core/mojo/mojo_write_data_result.idl create mode 100644 idl/core/mojo/test/mojo_interface_interceptor.idl create mode 100644 idl/core/mojo/test/mojo_interface_request_event.idl create mode 100644 idl/core/mojo/test/mojo_interface_request_event_init.idl create mode 100644 idl/core/navigation_api/navigate_event.idl create mode 100644 idl/core/navigation_api/navigate_event_init.idl create mode 100644 idl/core/navigation_api/navigation.idl create mode 100644 idl/core/navigation_api/navigation_activation.idl create mode 100644 idl/core/navigation_api/navigation_current_entry_change_event.idl create mode 100644 idl/core/navigation_api/navigation_current_entry_change_event_init.idl create mode 100644 idl/core/navigation_api/navigation_destination.idl create mode 100644 idl/core/navigation_api/navigation_history_entry.idl create mode 100644 idl/core/navigation_api/navigation_intercept_options.idl create mode 100644 idl/core/navigation_api/navigation_navigate_options.idl create mode 100644 idl/core/navigation_api/navigation_options.idl create mode 100644 idl/core/navigation_api/navigation_reload_options.idl create mode 100644 idl/core/navigation_api/navigation_result.idl create mode 100644 idl/core/navigation_api/navigation_transition.idl create mode 100644 idl/core/navigation_api/navigation_update_current_entry_options.idl create mode 100644 idl/core/offscreencanvas/offscreen_canvas.idl create mode 100644 idl/core/page/color_page_popup_controller.idl create mode 100644 idl/core/page/page_popup_controller.idl create mode 100644 idl/core/permissions_policy/document_policy_features.json5 create mode 100644 idl/core/permissions_policy/feature_policy.idl create mode 100644 idl/core/permissions_policy/permissions_policy_features.json5 create mode 100644 idl/core/preferences/navigator_preferences.idl create mode 100644 idl/core/preferences/preference_manager.idl create mode 100644 idl/core/preferences/preference_names.json5 create mode 100644 idl/core/preferences/preference_object.idl create mode 100644 idl/core/preferences/preference_values.json5 create mode 100644 idl/core/probe/core_probes.json5 create mode 100644 idl/core/probe/test_probes.json5 create mode 100644 idl/core/resize_observer/resize_observer.idl create mode 100644 idl/core/resize_observer/resize_observer_entry.idl create mode 100644 idl/core/resize_observer/resize_observer_options.idl create mode 100644 idl/core/resize_observer/resize_observer_size.idl create mode 100644 idl/core/script/script_type_names.json5 create mode 100644 idl/core/scroll/snap_event.idl create mode 100644 idl/core/shadow_realm/shadow_realm_global_scope.idl create mode 100644 idl/core/streams/byte_length_queuing_strategy.idl create mode 100644 idl/core/streams/count_queuing_strategy.idl create mode 100644 idl/core/streams/queuing_strategy_init.idl create mode 100644 idl/core/streams/readable_byte_stream_controller.idl create mode 100644 idl/core/streams/readable_stream.idl create mode 100644 idl/core/streams/readable_stream_byob_read_result.idl create mode 100644 idl/core/streams/readable_stream_byob_reader.idl create mode 100644 idl/core/streams/readable_stream_byob_request.idl create mode 100644 idl/core/streams/readable_stream_default_controller.idl create mode 100644 idl/core/streams/readable_stream_default_reader.idl create mode 100644 idl/core/streams/readable_stream_generic_reader.idl create mode 100644 idl/core/streams/readable_stream_get_reader_options.idl create mode 100644 idl/core/streams/readable_stream_iterator_options.idl create mode 100644 idl/core/streams/readable_stream_read_result.idl create mode 100644 idl/core/streams/readable_writable_pair.idl create mode 100644 idl/core/streams/stream_pipe_options.idl create mode 100644 idl/core/streams/transform_stream.idl create mode 100644 idl/core/streams/transform_stream_default_controller.idl create mode 100644 idl/core/streams/underlying_sink_base.idl create mode 100644 idl/core/streams/underlying_source.idl create mode 100644 idl/core/streams/underlying_source_cancel_callback.idl create mode 100644 idl/core/streams/underlying_source_pull_callback.idl create mode 100644 idl/core/streams/underlying_source_start_callback.idl create mode 100644 idl/core/streams/writable_stream.idl create mode 100644 idl/core/streams/writable_stream_default_controller.idl create mode 100644 idl/core/streams/writable_stream_default_writer.idl create mode 100644 idl/core/style/computed_style_diff_functions.json5 create mode 100644 idl/core/style/computed_style_extra_fields.json5 create mode 100644 idl/core/svg/svg_a_element.idl create mode 100644 idl/core/svg/svg_angle.idl create mode 100644 idl/core/svg/svg_animate_element.idl create mode 100644 idl/core/svg/svg_animate_motion_element.idl create mode 100644 idl/core/svg/svg_animate_transform_element.idl create mode 100644 idl/core/svg/svg_animated_angle.idl create mode 100644 idl/core/svg/svg_animated_boolean.idl create mode 100644 idl/core/svg/svg_animated_enumeration.idl create mode 100644 idl/core/svg/svg_animated_integer.idl create mode 100644 idl/core/svg/svg_animated_length.idl create mode 100644 idl/core/svg/svg_animated_length_list.idl create mode 100644 idl/core/svg/svg_animated_number.idl create mode 100644 idl/core/svg/svg_animated_number_list.idl create mode 100644 idl/core/svg/svg_animated_preserve_aspect_ratio.idl create mode 100644 idl/core/svg/svg_animated_rect.idl create mode 100644 idl/core/svg/svg_animated_string.idl create mode 100644 idl/core/svg/svg_animated_transform_list.idl create mode 100644 idl/core/svg/svg_animation_element.idl create mode 100644 idl/core/svg/svg_attribute_names.json5 create mode 100644 idl/core/svg/svg_circle_element.idl create mode 100644 idl/core/svg/svg_clip_path_element.idl create mode 100644 idl/core/svg/svg_component_transfer_function_element.idl create mode 100644 idl/core/svg/svg_defs_element.idl create mode 100644 idl/core/svg/svg_desc_element.idl create mode 100644 idl/core/svg/svg_document.idl create mode 100644 idl/core/svg/svg_element.idl create mode 100644 idl/core/svg/svg_ellipse_element.idl create mode 100644 idl/core/svg/svg_fe_blend_element.idl create mode 100644 idl/core/svg/svg_fe_color_matrix_element.idl create mode 100644 idl/core/svg/svg_fe_component_transfer_element.idl create mode 100644 idl/core/svg/svg_fe_composite_element.idl create mode 100644 idl/core/svg/svg_fe_convolve_matrix_element.idl create mode 100644 idl/core/svg/svg_fe_diffuse_lighting_element.idl create mode 100644 idl/core/svg/svg_fe_displacement_map_element.idl create mode 100644 idl/core/svg/svg_fe_distant_light_element.idl create mode 100644 idl/core/svg/svg_fe_drop_shadow_element.idl create mode 100644 idl/core/svg/svg_fe_flood_element.idl create mode 100644 idl/core/svg/svg_fe_func_a_element.idl create mode 100644 idl/core/svg/svg_fe_func_b_element.idl create mode 100644 idl/core/svg/svg_fe_func_g_element.idl create mode 100644 idl/core/svg/svg_fe_func_r_element.idl create mode 100644 idl/core/svg/svg_fe_gaussian_blur_element.idl create mode 100644 idl/core/svg/svg_fe_image_element.idl create mode 100644 idl/core/svg/svg_fe_merge_element.idl create mode 100644 idl/core/svg/svg_fe_merge_node_element.idl create mode 100644 idl/core/svg/svg_fe_morphology_element.idl create mode 100644 idl/core/svg/svg_fe_offset_element.idl create mode 100644 idl/core/svg/svg_fe_point_light_element.idl create mode 100644 idl/core/svg/svg_fe_specular_lighting_element.idl create mode 100644 idl/core/svg/svg_fe_spot_light_element.idl create mode 100644 idl/core/svg/svg_fe_tile_element.idl create mode 100644 idl/core/svg/svg_fe_turbulence_element.idl create mode 100644 idl/core/svg/svg_filter_element.idl create mode 100644 idl/core/svg/svg_filter_primitive_standard_attributes.idl create mode 100644 idl/core/svg/svg_fit_to_view_box.idl create mode 100644 idl/core/svg/svg_foreign_object_element.idl create mode 100644 idl/core/svg/svg_g_element.idl create mode 100644 idl/core/svg/svg_geometry_element.idl create mode 100644 idl/core/svg/svg_gradient_element.idl create mode 100644 idl/core/svg/svg_graphics_element.idl create mode 100644 idl/core/svg/svg_image_element.idl create mode 100644 idl/core/svg/svg_length.idl create mode 100644 idl/core/svg/svg_length_list.idl create mode 100644 idl/core/svg/svg_line_element.idl create mode 100644 idl/core/svg/svg_linear_gradient_element.idl create mode 100644 idl/core/svg/svg_marker_element.idl create mode 100644 idl/core/svg/svg_mask_element.idl create mode 100644 idl/core/svg/svg_matrix.idl create mode 100644 idl/core/svg/svg_metadata_element.idl create mode 100644 idl/core/svg/svg_mpath_element.idl create mode 100644 idl/core/svg/svg_number.idl create mode 100644 idl/core/svg/svg_number_list.idl create mode 100644 idl/core/svg/svg_path_element.idl create mode 100644 idl/core/svg/svg_pattern_element.idl create mode 100644 idl/core/svg/svg_point.idl create mode 100644 idl/core/svg/svg_point_list.idl create mode 100644 idl/core/svg/svg_polygon_element.idl create mode 100644 idl/core/svg/svg_polyline_element.idl create mode 100644 idl/core/svg/svg_preserve_aspect_ratio.idl create mode 100644 idl/core/svg/svg_radial_gradient_element.idl create mode 100644 idl/core/svg/svg_rect.idl create mode 100644 idl/core/svg/svg_rect_element.idl create mode 100644 idl/core/svg/svg_script_element.idl create mode 100644 idl/core/svg/svg_set_element.idl create mode 100644 idl/core/svg/svg_stop_element.idl create mode 100644 idl/core/svg/svg_string_list.idl create mode 100644 idl/core/svg/svg_style_element.idl create mode 100644 idl/core/svg/svg_svg_element.idl create mode 100644 idl/core/svg/svg_switch_element.idl create mode 100644 idl/core/svg/svg_symbol_element.idl create mode 100644 idl/core/svg/svg_tag_names.json5 create mode 100644 idl/core/svg/svg_tests.idl create mode 100644 idl/core/svg/svg_text_content_element.idl create mode 100644 idl/core/svg/svg_text_element.idl create mode 100644 idl/core/svg/svg_text_path_element.idl create mode 100644 idl/core/svg/svg_text_positioning_element.idl create mode 100644 idl/core/svg/svg_title_element.idl create mode 100644 idl/core/svg/svg_transform.idl create mode 100644 idl/core/svg/svg_transform_list.idl create mode 100644 idl/core/svg/svg_tspan_element.idl create mode 100644 idl/core/svg/svg_unit_types.idl create mode 100644 idl/core/svg/svg_uri_reference.idl create mode 100644 idl/core/svg/svg_use_element.idl create mode 100644 idl/core/svg/svg_view_element.idl create mode 100644 idl/core/svg/svg_zoom_and_pan.idl create mode 100644 idl/core/svg/xlink_attribute_names.json5 create mode 100644 idl/core/testing/callback_function_test.idl create mode 100644 idl/core/testing/death_aware_script_wrappable.idl create mode 100644 idl/core/testing/dictionary_test.idl create mode 100644 idl/core/testing/garbage_collected_script_wrappable.idl create mode 100644 idl/core/testing/gc_observation.idl create mode 100644 idl/core/testing/hit_test_layer_rect.idl create mode 100644 idl/core/testing/hit_test_layer_rect_list.idl create mode 100644 idl/core/testing/internal_dictionary.idl create mode 100644 idl/core/testing/internal_dictionary_derived.idl create mode 100644 idl/core/testing/internal_dictionary_derived_derived.idl create mode 100644 idl/core/testing/internal_settings.idl create mode 100644 idl/core/testing/internals.idl create mode 100644 idl/core/testing/internals_cookie.idl create mode 100644 idl/core/testing/internals_delete_all_cookies.idl create mode 100644 idl/core/testing/internals_get_all_cookies.idl create mode 100644 idl/core/testing/internals_get_named_cookie.idl create mode 100644 idl/core/testing/internals_ukm_recorder.idl create mode 100644 idl/core/testing/origin_trials_test.idl create mode 100644 idl/core/testing/origin_trials_test_dictionary.idl create mode 100644 idl/core/testing/origin_trials_test_partial.idl create mode 100644 idl/core/testing/origin_trials_test_window.idl create mode 100644 idl/core/testing/record_test.idl create mode 100644 idl/core/testing/sequence_test.idl create mode 100644 idl/core/testing/static_selection.idl create mode 100644 idl/core/testing/type_conversions.idl create mode 100644 idl/core/testing/union_types_test.idl create mode 100644 idl/core/testing/worker_internals.idl create mode 100644 idl/core/timing/back_forward_cache_restoration.idl create mode 100644 idl/core/timing/dom_high_res_time_stamp.idl create mode 100644 idl/core/timing/epoch_time_stamp.idl create mode 100644 idl/core/timing/event_counts.idl create mode 100644 idl/core/timing/internals_profiler.idl create mode 100644 idl/core/timing/largest_contentful_paint.idl create mode 100644 idl/core/timing/layout_shift.idl create mode 100644 idl/core/timing/layout_shift_attribution.idl create mode 100644 idl/core/timing/measure_memory/memory_attribution.idl create mode 100644 idl/core/timing/measure_memory/memory_attribution_container.idl create mode 100644 idl/core/timing/measure_memory/memory_breakdown_entry.idl create mode 100644 idl/core/timing/measure_memory/memory_measurement.idl create mode 100644 idl/core/timing/memory_info.idl create mode 100644 idl/core/timing/not_restored_reasons.idl create mode 100644 idl/core/timing/performance.idl create mode 100644 idl/core/timing/performance_element_timing.idl create mode 100644 idl/core/timing/performance_entry.idl create mode 100644 idl/core/timing/performance_entry_filter_options.idl create mode 100644 idl/core/timing/performance_entry_list.idl create mode 100644 idl/core/timing/performance_entry_names.json5 create mode 100644 idl/core/timing/performance_event_timing.idl create mode 100644 idl/core/timing/performance_long_animation_frame_timing.idl create mode 100644 idl/core/timing/performance_long_task_timing.idl create mode 100644 idl/core/timing/performance_mark.idl create mode 100644 idl/core/timing/performance_mark_options.idl create mode 100644 idl/core/timing/performance_measure.idl create mode 100644 idl/core/timing/performance_measure_options.idl create mode 100644 idl/core/timing/performance_navigation.idl create mode 100644 idl/core/timing/performance_navigation_timing.idl create mode 100644 idl/core/timing/performance_navigation_timing_activation_start.idl create mode 100644 idl/core/timing/performance_observer.idl create mode 100644 idl/core/timing/performance_observer_callback_options.idl create mode 100644 idl/core/timing/performance_observer_entry_list.idl create mode 100644 idl/core/timing/performance_observer_init.idl create mode 100644 idl/core/timing/performance_paint_timing.idl create mode 100644 idl/core/timing/performance_resource_timing.idl create mode 100644 idl/core/timing/performance_script_timing.idl create mode 100644 idl/core/timing/performance_server_timing.idl create mode 100644 idl/core/timing/performance_timing.idl create mode 100644 idl/core/timing/profiler.idl create mode 100644 idl/core/timing/profiler_frame.idl create mode 100644 idl/core/timing/profiler_init_options.idl create mode 100644 idl/core/timing/profiler_sample.idl create mode 100644 idl/core/timing/profiler_stack.idl create mode 100644 idl/core/timing/profiler_trace.idl create mode 100644 idl/core/timing/soft_navigation_entry.idl create mode 100644 idl/core/timing/task_attribution_timing.idl create mode 100644 idl/core/timing/visibility_state_entry.idl create mode 100644 idl/core/timing/window_performance.idl create mode 100644 idl/core/timing/worker_global_scope_performance.idl create mode 100644 idl/core/trustedtypes/trusted_html.idl create mode 100644 idl/core/trustedtypes/trusted_script.idl create mode 100644 idl/core/trustedtypes/trusted_script_url.idl create mode 100644 idl/core/trustedtypes/trusted_type_policy.idl create mode 100644 idl/core/trustedtypes/trusted_type_policy_factory.idl create mode 100644 idl/core/trustedtypes/trusted_type_policy_options.idl create mode 100644 idl/core/url/url.idl create mode 100644 idl/core/url/url_search_params.idl create mode 100644 idl/core/url_pattern/url_pattern.idl create mode 100644 idl/core/url_pattern/url_pattern_component_result.idl create mode 100644 idl/core/url_pattern/url_pattern_init.idl create mode 100644 idl/core/url_pattern/url_pattern_options.idl create mode 100644 idl/core/url_pattern/url_pattern_result.idl create mode 100644 idl/core/view_transition/page_reveal_event.idl create mode 100644 idl/core/view_transition/page_swap_event.idl create mode 100644 idl/core/view_transition/view_transition.idl create mode 100644 idl/core/view_transition/view_transition_callback.idl create mode 100644 idl/core/view_transition/view_transition_options.idl create mode 100644 idl/core/view_transition/view_transition_supplement.idl create mode 100644 idl/core/workers/abstract_worker.idl create mode 100644 idl/core/workers/dedicated_worker_global_scope.idl create mode 100644 idl/core/workers/shared_worker.idl create mode 100644 idl/core/workers/shared_worker_global_scope.idl create mode 100644 idl/core/workers/worker.idl create mode 100644 idl/core/workers/worker_global_scope.idl create mode 100644 idl/core/workers/worker_location.idl create mode 100644 idl/core/workers/worker_navigator.idl create mode 100644 idl/core/workers/worker_options.idl create mode 100644 idl/core/workers/worklet.idl create mode 100644 idl/core/workers/worklet_global_scope.idl create mode 100644 idl/core/workers/worklet_options.idl create mode 100644 idl/core/xml/document_xpath_evaluator.idl create mode 100644 idl/core/xml/dom_parser.idl create mode 100644 idl/core/xml/parse_from_string_options.idl create mode 100644 idl/core/xml/xml_attribute_names.json5 create mode 100644 idl/core/xml/xml_serializer.idl create mode 100644 idl/core/xml/xmlns_attribute_names.json5 create mode 100644 idl/core/xml/xpath_evaluator.idl create mode 100644 idl/core/xml/xpath_expression.idl create mode 100644 idl/core/xml/xpath_ns_resolver.idl create mode 100644 idl/core/xml/xpath_result.idl create mode 100644 idl/core/xml/xslt_processor.idl create mode 100644 idl/core/xmlhttprequest/xml_http_request.idl create mode 100644 idl/core/xmlhttprequest/xml_http_request_event_target.idl create mode 100644 idl/core/xmlhttprequest/xml_http_request_upload.idl create mode 100644 idl/modules/accessibility/testing/internals_accessibility.idl create mode 100644 idl/modules/ad_auction/ad_auction_data_config.idl create mode 100644 idl/modules/ad_auction/ad_request_config.idl create mode 100644 idl/modules/ad_auction/ads.idl create mode 100644 idl/modules/ad_auction/auction_ad.idl create mode 100644 idl/modules/ad_auction/auction_ad_config.idl create mode 100644 idl/modules/ad_auction/auction_ad_interest_group.idl create mode 100644 idl/modules/ad_auction/navigator_auction.idl create mode 100644 idl/modules/ad_auction/protected_audience.idl create mode 100644 idl/modules/animationworklet/animation_worklet_global_scope.idl create mode 100644 idl/modules/animationworklet/css_animation_worklet.idl create mode 100644 idl/modules/animationworklet/worklet_animation.idl create mode 100644 idl/modules/animationworklet/worklet_animation_effect.idl create mode 100644 idl/modules/animationworklet/worklet_group_effect.idl create mode 100644 idl/modules/app_banner/app_banner_prompt_result.idl create mode 100644 idl/modules/app_banner/before_install_prompt_event.idl create mode 100644 idl/modules/app_banner/before_install_prompt_event_init.idl create mode 100644 idl/modules/app_banner/window_installation.idl create mode 100644 idl/modules/audio_output_devices/html_media_element_audio_output_device.idl create mode 100644 idl/modules/awc/additional_windowing_controls.idl create mode 100644 idl/modules/background_fetch/background_fetch_event.idl create mode 100644 idl/modules/background_fetch/background_fetch_event_init.idl create mode 100644 idl/modules/background_fetch/background_fetch_manager.idl create mode 100644 idl/modules/background_fetch/background_fetch_options.idl create mode 100644 idl/modules/background_fetch/background_fetch_record.idl create mode 100644 idl/modules/background_fetch/background_fetch_registration.idl create mode 100644 idl/modules/background_fetch/background_fetch_ui_options.idl create mode 100644 idl/modules/background_fetch/background_fetch_update_ui_event.idl create mode 100644 idl/modules/background_fetch/service_worker_global_scope_background_fetch.idl create mode 100644 idl/modules/background_fetch/service_worker_registration_background_fetch.idl create mode 100644 idl/modules/background_sync/background_sync_options.idl create mode 100644 idl/modules/background_sync/periodic_sync_event.idl create mode 100644 idl/modules/background_sync/periodic_sync_event_init.idl create mode 100644 idl/modules/background_sync/periodic_sync_manager.idl create mode 100644 idl/modules/background_sync/service_worker_global_scope_sync.idl create mode 100644 idl/modules/background_sync/service_worker_registration_sync.idl create mode 100644 idl/modules/background_sync/sync_event.idl create mode 100644 idl/modules/background_sync/sync_event_init.idl create mode 100644 idl/modules/background_sync/sync_manager.idl create mode 100644 idl/modules/badging/navigator_badge.idl create mode 100644 idl/modules/badging/worker_navigator_badge.idl create mode 100644 idl/modules/battery/battery_manager.idl create mode 100644 idl/modules/battery/navigator_battery.idl create mode 100644 idl/modules/beacon/navigator_beacon.idl create mode 100644 idl/modules/bluetooth/bluetooth.idl create mode 100644 idl/modules/bluetooth/bluetooth_advertising_event.idl create mode 100644 idl/modules/bluetooth/bluetooth_advertising_event_init.idl create mode 100644 idl/modules/bluetooth/bluetooth_characteristic_properties.idl create mode 100644 idl/modules/bluetooth/bluetooth_data_filter_init.idl create mode 100644 idl/modules/bluetooth/bluetooth_device.idl create mode 100644 idl/modules/bluetooth/bluetooth_le_scan.idl create mode 100644 idl/modules/bluetooth/bluetooth_le_scan_filter_init.idl create mode 100644 idl/modules/bluetooth/bluetooth_le_scan_options.idl create mode 100644 idl/modules/bluetooth/bluetooth_manufacturer_data_filter_init.idl create mode 100644 idl/modules/bluetooth/bluetooth_manufacturer_data_map.idl create mode 100644 idl/modules/bluetooth/bluetooth_remote_gatt_characteristic.idl create mode 100644 idl/modules/bluetooth/bluetooth_remote_gatt_descriptor.idl create mode 100644 idl/modules/bluetooth/bluetooth_remote_gatt_server.idl create mode 100644 idl/modules/bluetooth/bluetooth_remote_gatt_service.idl create mode 100644 idl/modules/bluetooth/bluetooth_service_data_map.idl create mode 100644 idl/modules/bluetooth/bluetooth_uuid.idl create mode 100644 idl/modules/bluetooth/navigator_bluetooth.idl create mode 100644 idl/modules/bluetooth/request_device_options.idl create mode 100644 idl/modules/bluetooth/watch_advertisements_options.idl create mode 100644 idl/modules/breakout_box/media_stream_track_generator.idl create mode 100644 idl/modules/breakout_box/media_stream_track_generator_init.idl create mode 100644 idl/modules/breakout_box/media_stream_track_processor.idl create mode 100644 idl/modules/breakout_box/media_stream_track_processor_init.idl create mode 100644 idl/modules/breakout_box/video_track_generator.idl create mode 100644 idl/modules/broadcastchannel/broadcast_channel.idl create mode 100644 idl/modules/browsing_topics/browsing_topic.idl create mode 100644 idl/modules/browsing_topics/browsing_topics_document_supplement.idl create mode 100644 idl/modules/browsing_topics/browsing_topics_options.idl create mode 100644 idl/modules/buckets/navigator_storage_buckets.idl create mode 100644 idl/modules/buckets/storage_bucket.idl create mode 100644 idl/modules/buckets/storage_bucket_manager.idl create mode 100644 idl/modules/buckets/storage_bucket_options.idl create mode 100644 idl/modules/buckets/worker_navigator_storage_buckets.idl create mode 100644 idl/modules/cache_storage/cache.idl create mode 100644 idl/modules/cache_storage/cache_query_options.idl create mode 100644 idl/modules/cache_storage/cache_storage.idl create mode 100644 idl/modules/cache_storage/multi_cache_query_options.idl create mode 100644 idl/modules/cache_storage/window_cache_storage.idl create mode 100644 idl/modules/cache_storage/worker_cache_storage.idl create mode 100644 idl/modules/canvas/canvas2d/canvas_filter.idl create mode 100644 idl/modules/canvas/canvas2d/canvas_filter_dictionary.idl create mode 100644 idl/modules/canvas/canvas2d/canvas_gradient.idl create mode 100644 idl/modules/canvas/canvas2d/canvas_path.idl create mode 100644 idl/modules/canvas/canvas2d/canvas_pattern.idl create mode 100644 idl/modules/canvas/canvas2d/canvas_rendering_context_2d.idl create mode 100644 idl/modules/canvas/canvas2d/canvas_rendering_context_2d_settings.idl create mode 100644 idl/modules/canvas/canvas2d/canvas_web_gpu_access.idl create mode 100644 idl/modules/canvas/canvas2d/canvas_web_gpu_access_option.idl create mode 100644 idl/modules/canvas/canvas2d/mesh_2d_index_buffer.idl create mode 100644 idl/modules/canvas/canvas2d/mesh_2d_uv_buffer.idl create mode 100644 idl/modules/canvas/canvas2d/mesh_2d_vertex_buffer.idl create mode 100644 idl/modules/canvas/canvas2d/path_2d.idl create mode 100644 idl/modules/canvas/htmlcanvas/canvas_context_creation_attributes_module.idl create mode 100644 idl/modules/canvas/htmlcanvas/html_canvas_element_module.idl create mode 100644 idl/modules/canvas/imagebitmap/image_bitmap_rendering_context.idl create mode 100644 idl/modules/canvas/imagebitmap/window_create_image_bitmap.idl create mode 100644 idl/modules/canvas/imagebitmap/worker_create_image_bitmap.idl create mode 100644 idl/modules/canvas/offscreencanvas/offscreen_canvas_module.idl create mode 100644 idl/modules/canvas/offscreencanvas2d/offscreen_canvas_rendering_context_2d.idl create mode 100644 idl/modules/clipboard/clipboard.idl create mode 100644 idl/modules/clipboard/clipboard_item.idl create mode 100644 idl/modules/clipboard/navigator_clipboard.idl create mode 100644 idl/modules/compression/compression_stream.idl create mode 100644 idl/modules/compression/decompression_stream.idl create mode 100644 idl/modules/compute_pressure/pressure_observer.idl create mode 100644 idl/modules/compute_pressure/pressure_observer_options.idl create mode 100644 idl/modules/compute_pressure/pressure_record.idl create mode 100644 idl/modules/compute_pressure/pressure_update_callback.idl create mode 100644 idl/modules/contacts_picker/contact_address.idl create mode 100644 idl/modules/contacts_picker/contact_info.idl create mode 100644 idl/modules/contacts_picker/contacts_manager.idl create mode 100644 idl/modules/contacts_picker/contacts_select_options.idl create mode 100644 idl/modules/contacts_picker/navigator_contacts.idl create mode 100644 idl/modules/content_index/content_description.idl create mode 100644 idl/modules/content_index/content_icon_definition.idl create mode 100644 idl/modules/content_index/content_index.idl create mode 100644 idl/modules/content_index/content_index_event.idl create mode 100644 idl/modules/content_index/content_index_event_init.idl create mode 100644 idl/modules/content_index/service_worker_global_scope_content_index.idl create mode 100644 idl/modules/content_index/service_worker_registration_content_index.idl create mode 100644 idl/modules/cookie_deprecation_label/cookie_deprecation_label.idl create mode 100644 idl/modules/cookie_deprecation_label/navigator_cookie_deprecation_label.idl create mode 100644 idl/modules/cookie_store/cookie_change_event.idl create mode 100644 idl/modules/cookie_store/cookie_change_event_init.idl create mode 100644 idl/modules/cookie_store/cookie_init.idl create mode 100644 idl/modules/cookie_store/cookie_list_item.idl create mode 100644 idl/modules/cookie_store/cookie_store.idl create mode 100644 idl/modules/cookie_store/cookie_store_delete_options.idl create mode 100644 idl/modules/cookie_store/cookie_store_get_options.idl create mode 100644 idl/modules/cookie_store/cookie_store_manager.idl create mode 100644 idl/modules/cookie_store/extendable_cookie_change_event.idl create mode 100644 idl/modules/cookie_store/extendable_cookie_change_event_init.idl create mode 100644 idl/modules/cookie_store/service_worker_global_scope_cookie_store.idl create mode 100644 idl/modules/cookie_store/service_worker_registration_cookies.idl create mode 100644 idl/modules/cookie_store/window_cookie_store.idl create mode 100644 idl/modules/credentialmanagement/authentication_extensions_client_inputs.idl create mode 100644 idl/modules/credentialmanagement/authentication_extensions_client_outputs.idl create mode 100644 idl/modules/credentialmanagement/authentication_extensions_client_outputs_json.idl create mode 100644 idl/modules/credentialmanagement/authentication_extensions_large_blob_inputs.idl create mode 100644 idl/modules/credentialmanagement/authentication_extensions_large_blob_outputs.idl create mode 100644 idl/modules/credentialmanagement/authentication_extensions_payment_inputs.idl create mode 100644 idl/modules/credentialmanagement/authentication_extensions_prf_inputs.idl create mode 100644 idl/modules/credentialmanagement/authentication_extensions_prf_outputs.idl create mode 100644 idl/modules/credentialmanagement/authentication_extensions_supplemental_pub_keys_inputs.idl create mode 100644 idl/modules/credentialmanagement/authentication_extensions_supplemental_pub_keys_outputs.idl create mode 100644 idl/modules/credentialmanagement/authentication_response_json.idl create mode 100644 idl/modules/credentialmanagement/authenticator_assertion_response.idl create mode 100644 idl/modules/credentialmanagement/authenticator_assertion_response_json.idl create mode 100644 idl/modules/credentialmanagement/authenticator_attestation_response.idl create mode 100644 idl/modules/credentialmanagement/authenticator_attestation_response_json.idl create mode 100644 idl/modules/credentialmanagement/authenticator_response.idl create mode 100644 idl/modules/credentialmanagement/authenticator_selection_criteria.idl create mode 100644 idl/modules/credentialmanagement/cable_authentication_data.idl create mode 100644 idl/modules/credentialmanagement/collected_client_data.idl create mode 100644 idl/modules/credentialmanagement/credential.idl create mode 100644 idl/modules/credentialmanagement/credential_creation_options.idl create mode 100644 idl/modules/credentialmanagement/credential_data.idl create mode 100644 idl/modules/credentialmanagement/credential_properties_output.idl create mode 100644 idl/modules/credentialmanagement/credential_request_options.idl create mode 100644 idl/modules/credentialmanagement/credential_user_data.idl create mode 100644 idl/modules/credentialmanagement/credentials_container.idl create mode 100644 idl/modules/credentialmanagement/digital_credential.idl create mode 100644 idl/modules/credentialmanagement/digital_credential_request_options.idl create mode 100644 idl/modules/credentialmanagement/federated_credential.idl create mode 100644 idl/modules/credentialmanagement/federated_credential_init.idl create mode 100644 idl/modules/credentialmanagement/federated_credential_request_options.idl create mode 100644 idl/modules/credentialmanagement/identity_claim_requirement.idl create mode 100644 idl/modules/credentialmanagement/identity_credential.idl create mode 100644 idl/modules/credentialmanagement/identity_credential_error.idl create mode 100644 idl/modules/credentialmanagement/identity_credential_logout_r_ps_request.idl create mode 100644 idl/modules/credentialmanagement/identity_credential_request_options.idl create mode 100644 idl/modules/credentialmanagement/identity_provider.idl create mode 100644 idl/modules/credentialmanagement/identity_provider_config.idl create mode 100644 idl/modules/credentialmanagement/identity_standard_claims.idl create mode 100644 idl/modules/credentialmanagement/navigator_credentials.idl create mode 100644 idl/modules/credentialmanagement/navigator_identity.idl create mode 100644 idl/modules/credentialmanagement/navigator_login.idl create mode 100644 idl/modules/credentialmanagement/otp_credential.idl create mode 100644 idl/modules/credentialmanagement/otp_credential_request_options.idl create mode 100644 idl/modules/credentialmanagement/password_credential.idl create mode 100644 idl/modules/credentialmanagement/password_credential_data.idl create mode 100644 idl/modules/credentialmanagement/payment_credential_instrument.idl create mode 100644 idl/modules/credentialmanagement/public_key_credential.idl create mode 100644 idl/modules/credentialmanagement/public_key_credential_creation_options.idl create mode 100644 idl/modules/credentialmanagement/public_key_credential_creation_options_json.idl create mode 100644 idl/modules/credentialmanagement/public_key_credential_descriptor.idl create mode 100644 idl/modules/credentialmanagement/public_key_credential_entity.idl create mode 100644 idl/modules/credentialmanagement/public_key_credential_json.idl create mode 100644 idl/modules/credentialmanagement/public_key_credential_parameters.idl create mode 100644 idl/modules/credentialmanagement/public_key_credential_request_options.idl create mode 100644 idl/modules/credentialmanagement/public_key_credential_rp_entity.idl create mode 100644 idl/modules/credentialmanagement/public_key_credential_user_entity.idl create mode 100644 idl/modules/credentialmanagement/registration_response_json.idl create mode 100644 idl/modules/credentialmanagement/remote_desktop_client_override.idl create mode 100644 idl/modules/credentialmanagement/testing/internals_fed_cm.idl create mode 100644 idl/modules/crypto/crypto.idl create mode 100644 idl/modules/crypto/crypto_key.idl create mode 100644 idl/modules/crypto/json_web_key.idl create mode 100644 idl/modules/crypto/rsa_other_primes_info.idl create mode 100644 idl/modules/crypto/subtle_crypto.idl create mode 100644 idl/modules/crypto/window_crypto.idl create mode 100644 idl/modules/crypto/worker_global_scope_crypto.idl create mode 100644 idl/modules/csspaint/css_paint_worklet.idl create mode 100644 idl/modules/csspaint/paint_rendering_context_2d.idl create mode 100644 idl/modules/csspaint/paint_rendering_context_2d_settings.idl create mode 100644 idl/modules/csspaint/paint_size.idl create mode 100644 idl/modules/csspaint/paint_worklet_global_scope.idl create mode 100644 idl/modules/delegated_ink/delegated_ink_trail_presenter.idl create mode 100644 idl/modules/delegated_ink/ink.idl create mode 100644 idl/modules/delegated_ink/ink_presenter_param.idl create mode 100644 idl/modules/delegated_ink/ink_trail_style.idl create mode 100644 idl/modules/delegated_ink/navigator_ink.idl create mode 100644 idl/modules/device_orientation/device_motion_event.idl create mode 100644 idl/modules/device_orientation/device_motion_event_acceleration.idl create mode 100644 idl/modules/device_orientation/device_motion_event_acceleration_init.idl create mode 100644 idl/modules/device_orientation/device_motion_event_init.idl create mode 100644 idl/modules/device_orientation/device_motion_event_rotation_rate.idl create mode 100644 idl/modules/device_orientation/device_motion_event_rotation_rate_init.idl create mode 100644 idl/modules/device_orientation/device_orientation_event.idl create mode 100644 idl/modules/device_orientation/device_orientation_event_init.idl create mode 100644 idl/modules/device_orientation/window_device_motion.idl create mode 100644 idl/modules/device_orientation/window_device_orientation.idl create mode 100644 idl/modules/device_posture/device_posture.idl create mode 100644 idl/modules/device_posture/navigator_device_posture.idl create mode 100644 idl/modules/direct_sockets/socket_connection.idl create mode 100644 idl/modules/direct_sockets/socket_options.idl create mode 100644 idl/modules/direct_sockets/tcp_server_socket.idl create mode 100644 idl/modules/direct_sockets/tcp_socket.idl create mode 100644 idl/modules/direct_sockets/udp_message.idl create mode 100644 idl/modules/direct_sockets/udp_socket.idl create mode 100644 idl/modules/document_picture_in_picture/document_picture_in_picture.idl create mode 100644 idl/modules/document_picture_in_picture/document_picture_in_picture_event.idl create mode 100644 idl/modules/document_picture_in_picture/document_picture_in_picture_event_init.idl create mode 100644 idl/modules/document_picture_in_picture/document_picture_in_picture_options.idl create mode 100644 idl/modules/document_picture_in_picture/window_document_picture_in_picture.idl create mode 100644 idl/modules/donottrack/navigator_do_not_track.idl create mode 100644 idl/modules/encoding/text_decode_options.idl create mode 100644 idl/modules/encoding/text_decoder.idl create mode 100644 idl/modules/encoding/text_decoder_options.idl create mode 100644 idl/modules/encoding/text_decoder_stream.idl create mode 100644 idl/modules/encoding/text_encoder.idl create mode 100644 idl/modules/encoding/text_encoder_encode_into_result.idl create mode 100644 idl/modules/encoding/text_encoder_stream.idl create mode 100644 idl/modules/encryptedmedia/html_media_element_encrypted_media.idl create mode 100644 idl/modules/encryptedmedia/media_encrypted_event.idl create mode 100644 idl/modules/encryptedmedia/media_encrypted_event_init.idl create mode 100644 idl/modules/encryptedmedia/media_key_message_event.idl create mode 100644 idl/modules/encryptedmedia/media_key_message_event_init.idl create mode 100644 idl/modules/encryptedmedia/media_key_session.idl create mode 100644 idl/modules/encryptedmedia/media_key_status_map.idl create mode 100644 idl/modules/encryptedmedia/media_key_system_access.idl create mode 100644 idl/modules/encryptedmedia/media_key_system_configuration.idl create mode 100644 idl/modules/encryptedmedia/media_key_system_media_capability.idl create mode 100644 idl/modules/encryptedmedia/media_keys.idl create mode 100644 idl/modules/encryptedmedia/media_keys_get_status_for_policy.idl create mode 100644 idl/modules/encryptedmedia/media_keys_policy.idl create mode 100644 idl/modules/encryptedmedia/navigator_request_media_key_system_access.idl create mode 100644 idl/modules/event_target_modules_names.json5 create mode 100644 idl/modules/eventsource/event_source.idl create mode 100644 idl/modules/eventsource/event_source_init.idl create mode 100644 idl/modules/eyedropper/color_selection_options.idl create mode 100644 idl/modules/eyedropper/color_selection_result.idl create mode 100644 idl/modules/eyedropper/eye_dropper.idl create mode 100644 idl/modules/file_system_access/data_transfer_item_file_system_access.idl create mode 100644 idl/modules/file_system_access/directory_picker_options.idl create mode 100644 idl/modules/file_system_access/file_picker_accept_type.idl create mode 100644 idl/modules/file_system_access/file_picker_options.idl create mode 100644 idl/modules/file_system_access/file_system_change_record.idl create mode 100644 idl/modules/file_system_access/file_system_cloud_identifier.idl create mode 100644 idl/modules/file_system_access/file_system_create_sync_access_handle_options.idl create mode 100644 idl/modules/file_system_access/file_system_create_writable_options.idl create mode 100644 idl/modules/file_system_access/file_system_directory_handle.idl create mode 100644 idl/modules/file_system_access/file_system_file_handle.idl create mode 100644 idl/modules/file_system_access/file_system_get_directory_options.idl create mode 100644 idl/modules/file_system_access/file_system_get_file_options.idl create mode 100644 idl/modules/file_system_access/file_system_handle.idl create mode 100644 idl/modules/file_system_access/file_system_handle_permission_descriptor.idl create mode 100644 idl/modules/file_system_access/file_system_observer.idl create mode 100644 idl/modules/file_system_access/file_system_observer_callback.idl create mode 100644 idl/modules/file_system_access/file_system_observer_observe_options.idl create mode 100644 idl/modules/file_system_access/file_system_read_write_options.idl create mode 100644 idl/modules/file_system_access/file_system_remove_options.idl create mode 100644 idl/modules/file_system_access/file_system_sync_access_handle.idl create mode 100644 idl/modules/file_system_access/file_system_writable_file_stream.idl create mode 100644 idl/modules/file_system_access/open_file_picker_options.idl create mode 100644 idl/modules/file_system_access/save_file_picker_options.idl create mode 100644 idl/modules/file_system_access/storage_manager_file_system_access.idl create mode 100644 idl/modules/file_system_access/window_file_system_access.idl create mode 100644 idl/modules/file_system_access/write_params.idl create mode 100644 idl/modules/filesystem/data_transfer_item_file_system.idl create mode 100644 idl/modules/filesystem/dedicated_worker_global_scope_file_system.idl create mode 100644 idl/modules/filesystem/dev_tools_host_file_system.idl create mode 100644 idl/modules/filesystem/directory_entry.idl create mode 100644 idl/modules/filesystem/directory_entry_sync.idl create mode 100644 idl/modules/filesystem/directory_reader.idl create mode 100644 idl/modules/filesystem/directory_reader_sync.idl create mode 100644 idl/modules/filesystem/dom_file_system.idl create mode 100644 idl/modules/filesystem/dom_file_system_sync.idl create mode 100644 idl/modules/filesystem/entries_callback.idl create mode 100644 idl/modules/filesystem/entry.idl create mode 100644 idl/modules/filesystem/entry_callback.idl create mode 100644 idl/modules/filesystem/entry_sync.idl create mode 100644 idl/modules/filesystem/error_callback.idl create mode 100644 idl/modules/filesystem/file_callback.idl create mode 100644 idl/modules/filesystem/file_entry.idl create mode 100644 idl/modules/filesystem/file_entry_sync.idl create mode 100644 idl/modules/filesystem/file_system_callback.idl create mode 100644 idl/modules/filesystem/file_system_flags.idl create mode 100644 idl/modules/filesystem/file_writer.idl create mode 100644 idl/modules/filesystem/file_writer_callback.idl create mode 100644 idl/modules/filesystem/file_writer_sync.idl create mode 100644 idl/modules/filesystem/html_input_element_file_system.idl create mode 100644 idl/modules/filesystem/metadata.idl create mode 100644 idl/modules/filesystem/metadata_callback.idl create mode 100644 idl/modules/filesystem/shared_worker_global_scope_file_system.idl create mode 100644 idl/modules/filesystem/window_file_system.idl create mode 100644 idl/modules/font_access/font_data.idl create mode 100644 idl/modules/font_access/query_options.idl create mode 100644 idl/modules/font_access/window_font_access.idl create mode 100644 idl/modules/formatted_text/formatted_text.idl create mode 100644 idl/modules/fuzzing/internals_fuzzing.idl create mode 100644 idl/modules/gamepad/gamepad.idl create mode 100644 idl/modules/gamepad/gamepad_axis_event.idl create mode 100644 idl/modules/gamepad/gamepad_axis_event_init.idl create mode 100644 idl/modules/gamepad/gamepad_button.idl create mode 100644 idl/modules/gamepad/gamepad_button_event.idl create mode 100644 idl/modules/gamepad/gamepad_button_event_init.idl create mode 100644 idl/modules/gamepad/gamepad_effect_parameters.idl create mode 100644 idl/modules/gamepad/gamepad_event.idl create mode 100644 idl/modules/gamepad/gamepad_event_init.idl create mode 100644 idl/modules/gamepad/gamepad_haptic_actuator.idl create mode 100644 idl/modules/gamepad/gamepad_touch.idl create mode 100644 idl/modules/gamepad/navigator_gamepad.idl create mode 100644 idl/modules/geolocation/geolocation.idl create mode 100644 idl/modules/geolocation/geolocation_coordinates.idl create mode 100644 idl/modules/geolocation/geolocation_position.idl create mode 100644 idl/modules/geolocation/geolocation_position_error.idl create mode 100644 idl/modules/geolocation/navigator_geolocation.idl create mode 100644 idl/modules/geolocation/position_options.idl create mode 100644 idl/modules/handwriting/handwriting_drawing.idl create mode 100644 idl/modules/handwriting/handwriting_drawing_segment.idl create mode 100644 idl/modules/handwriting/handwriting_hints.idl create mode 100644 idl/modules/handwriting/handwriting_model_constraint.idl create mode 100644 idl/modules/handwriting/handwriting_point.idl create mode 100644 idl/modules/handwriting/handwriting_prediction.idl create mode 100644 idl/modules/handwriting/handwriting_recognizer.idl create mode 100644 idl/modules/handwriting/handwriting_recognizer_query_result.idl create mode 100644 idl/modules/handwriting/handwriting_segment.idl create mode 100644 idl/modules/handwriting/handwriting_stroke.idl create mode 100644 idl/modules/handwriting/navigator_handwriting_recognition_service.idl create mode 100644 idl/modules/hid/hid.idl create mode 100644 idl/modules/hid/hid_collection_info.idl create mode 100644 idl/modules/hid/hid_connection_event.idl create mode 100644 idl/modules/hid/hid_connection_event_init.idl create mode 100644 idl/modules/hid/hid_device.idl create mode 100644 idl/modules/hid/hid_device_filter.idl create mode 100644 idl/modules/hid/hid_device_request_options.idl create mode 100644 idl/modules/hid/hid_input_report_event.idl create mode 100644 idl/modules/hid/hid_report_info.idl create mode 100644 idl/modules/hid/hid_report_item.idl create mode 100644 idl/modules/hid/navigator_hid.idl create mode 100644 idl/modules/hid/worker_navigator_hid.idl create mode 100644 idl/modules/idle/idle_detector.idl create mode 100644 idl/modules/idle/idle_options.idl create mode 100644 idl/modules/imagecapture/constrain_point_2d_parameters.idl create mode 100644 idl/modules/imagecapture/image_capture.idl create mode 100644 idl/modules/imagecapture/media_settings_range.idl create mode 100644 idl/modules/imagecapture/photo_capabilities.idl create mode 100644 idl/modules/imagecapture/photo_settings.idl create mode 100644 idl/modules/imagecapture/point_2d.idl create mode 100644 idl/modules/indexeddb/idb_cursor.idl create mode 100644 idl/modules/indexeddb/idb_cursor_with_value.idl create mode 100644 idl/modules/indexeddb/idb_database.idl create mode 100644 idl/modules/indexeddb/idb_database_info.idl create mode 100644 idl/modules/indexeddb/idb_factory.idl create mode 100644 idl/modules/indexeddb/idb_index.idl create mode 100644 idl/modules/indexeddb/idb_index_parameters.idl create mode 100644 idl/modules/indexeddb/idb_key_range.idl create mode 100644 idl/modules/indexeddb/idb_object_store.idl create mode 100644 idl/modules/indexeddb/idb_object_store_parameters.idl create mode 100644 idl/modules/indexeddb/idb_open_db_request.idl create mode 100644 idl/modules/indexeddb/idb_request.idl create mode 100644 idl/modules/indexeddb/idb_transaction.idl create mode 100644 idl/modules/indexeddb/idb_transaction_options.idl create mode 100644 idl/modules/indexeddb/idb_version_change_event.idl create mode 100644 idl/modules/indexeddb/idb_version_change_event_init.idl create mode 100644 idl/modules/indexeddb/indexed_db_names.json5 create mode 100644 idl/modules/indexeddb/window_indexed_database.idl create mode 100644 idl/modules/indexeddb/worker_global_scope_indexed_database.idl create mode 100644 idl/modules/installedapp/navigator_installed_app.idl create mode 100644 idl/modules/installedapp/related_application.idl create mode 100644 idl/modules/keyboard/keyboard.idl create mode 100644 idl/modules/keyboard/keyboard_layout_map.idl create mode 100644 idl/modules/keyboard/navigator_keyboard.idl create mode 100644 idl/modules/launch/dom_window_launch_queue.idl create mode 100644 idl/modules/launch/launch_params.idl create mode 100644 idl/modules/launch/launch_queue.idl create mode 100644 idl/modules/lock_screen/dom_window_lock_screen.idl create mode 100644 idl/modules/lock_screen/lock_screen_data.idl create mode 100644 idl/modules/locked_mode/locked_mode.idl create mode 100644 idl/modules/locked_mode/navigator_locked_mode.idl create mode 100644 idl/modules/locks/lock.idl create mode 100644 idl/modules/locks/lock_info.idl create mode 100644 idl/modules/locks/lock_manager.idl create mode 100644 idl/modules/locks/lock_manager_snapshot.idl create mode 100644 idl/modules/locks/lock_options.idl create mode 100644 idl/modules/locks/navigator_locks.idl create mode 100644 idl/modules/locks/worker_navigator_locks.idl create mode 100644 idl/modules/managed_device/navigator_managed.idl create mode 100644 idl/modules/managed_device/navigator_managed_data.idl create mode 100644 idl/modules/manifest/image_resource.idl create mode 100644 idl/modules/media_capabilities/audio_configuration.idl create mode 100644 idl/modules/media_capabilities/key_system_track_configuration.idl create mode 100644 idl/modules/media_capabilities/media_capabilities.idl create mode 100644 idl/modules/media_capabilities/media_capabilities_decoding_info.idl create mode 100644 idl/modules/media_capabilities/media_capabilities_info.idl create mode 100644 idl/modules/media_capabilities/media_capabilities_key_system_configuration.idl create mode 100644 idl/modules/media_capabilities/media_capabilities_names.json5 create mode 100644 idl/modules/media_capabilities/media_configuration.idl create mode 100644 idl/modules/media_capabilities/media_decoding_configuration.idl create mode 100644 idl/modules/media_capabilities/media_encoding_configuration.idl create mode 100644 idl/modules/media_capabilities/navigator_media_capabilities.idl create mode 100644 idl/modules/media_capabilities/video_configuration.idl create mode 100644 idl/modules/media_capabilities/worker_navigator_media_capabilities.idl create mode 100644 idl/modules/mediacapturefromelement/canvas_capture_media_stream_track.idl create mode 100644 idl/modules/mediacapturefromelement/html_canvas_element_capture.idl create mode 100644 idl/modules/mediacapturefromelement/html_media_element_capture.idl create mode 100644 idl/modules/mediarecorder/blob_event.idl create mode 100644 idl/modules/mediarecorder/blob_event_init.idl create mode 100644 idl/modules/mediarecorder/media_recorder.idl create mode 100644 idl/modules/mediarecorder/media_recorder_options.idl create mode 100644 idl/modules/mediasession/chapter_information.idl create mode 100644 idl/modules/mediasession/chapter_information_init.idl create mode 100644 idl/modules/mediasession/media_image.idl create mode 100644 idl/modules/mediasession/media_metadata.idl create mode 100644 idl/modules/mediasession/media_metadata_init.idl create mode 100644 idl/modules/mediasession/media_position_state.idl create mode 100644 idl/modules/mediasession/media_session.idl create mode 100644 idl/modules/mediasession/media_session_action_details.idl create mode 100644 idl/modules/mediasession/media_session_seek_to_action_details.idl create mode 100644 idl/modules/mediasession/navigator_media_session.idl create mode 100644 idl/modules/mediasource/audio_track_source_buffer.idl create mode 100644 idl/modules/mediasource/html_video_element_media_source.idl create mode 100644 idl/modules/mediasource/media_source.idl create mode 100644 idl/modules/mediasource/media_source_handle.idl create mode 100644 idl/modules/mediasource/source_buffer.idl create mode 100644 idl/modules/mediasource/source_buffer_config.idl create mode 100644 idl/modules/mediasource/source_buffer_list.idl create mode 100644 idl/modules/mediasource/track_default.idl create mode 100644 idl/modules/mediasource/track_default_list.idl create mode 100644 idl/modules/mediasource/url_media_source.idl create mode 100644 idl/modules/mediasource/video_playback_quality.idl create mode 100644 idl/modules/mediasource/video_track_source_buffer.idl create mode 100644 idl/modules/mediastream/browser_capture_media_stream_track.idl create mode 100644 idl/modules/mediastream/capture_controller.idl create mode 100644 idl/modules/mediastream/capture_handle.idl create mode 100644 idl/modules/mediastream/capture_handle_config.idl create mode 100644 idl/modules/mediastream/captured_mouse_event.idl create mode 100644 idl/modules/mediastream/captured_mouse_event_init.idl create mode 100644 idl/modules/mediastream/captured_wheel_action.idl create mode 100644 idl/modules/mediastream/constrain_boolean_parameters.idl create mode 100644 idl/modules/mediastream/constrain_dom_string_parameters.idl create mode 100644 idl/modules/mediastream/constrain_double_range.idl create mode 100644 idl/modules/mediastream/constrain_long_range.idl create mode 100644 idl/modules/mediastream/crop_target.idl create mode 100644 idl/modules/mediastream/double_range.idl create mode 100644 idl/modules/mediastream/input_device_info.idl create mode 100644 idl/modules/mediastream/long_range.idl create mode 100644 idl/modules/mediastream/media_device_info.idl create mode 100644 idl/modules/mediastream/media_devices.idl create mode 100644 idl/modules/mediastream/media_stream.idl create mode 100644 idl/modules/mediastream/media_stream_constraints.idl create mode 100644 idl/modules/mediastream/media_stream_event.idl create mode 100644 idl/modules/mediastream/media_stream_event_init.idl create mode 100644 idl/modules/mediastream/media_stream_track.idl create mode 100644 idl/modules/mediastream/media_stream_track_content_hint.idl create mode 100644 idl/modules/mediastream/media_stream_track_event.idl create mode 100644 idl/modules/mediastream/media_stream_track_event_init.idl create mode 100644 idl/modules/mediastream/media_stream_track_video_stats.idl create mode 100644 idl/modules/mediastream/media_track_capabilities.idl create mode 100644 idl/modules/mediastream/media_track_constraint_set.idl create mode 100644 idl/modules/mediastream/media_track_constraints.idl create mode 100644 idl/modules/mediastream/media_track_settings.idl create mode 100644 idl/modules/mediastream/media_track_supported_constraints.idl create mode 100644 idl/modules/mediastream/navigator_media_stream.idl create mode 100644 idl/modules/mediastream/navigator_user_media.idl create mode 100644 idl/modules/mediastream/overconstrained_error.idl create mode 100644 idl/modules/mediastream/restriction_target.idl create mode 100644 idl/modules/mediastream/screen_capture_media_stream_track.idl create mode 100644 idl/modules/mediastream/testing/internals_media_stream.idl create mode 100644 idl/modules/ml/ml.idl create mode 100644 idl/modules/ml/ml_context.idl create mode 100644 idl/modules/ml/ml_context_options.idl create mode 100644 idl/modules/ml/ml_model.idl create mode 100644 idl/modules/ml/ml_model_loader.idl create mode 100644 idl/modules/ml/ml_tensor.idl create mode 100644 idl/modules/ml/ml_tensor_info.idl create mode 100644 idl/modules/ml/navigator_ml.idl create mode 100644 idl/modules/ml/webnn/ml_activation.idl create mode 100644 idl/modules/ml/webnn/ml_buffer.idl create mode 100644 idl/modules/ml/webnn/ml_buffer_descriptor.idl create mode 100644 idl/modules/ml/webnn/ml_graph.idl create mode 100644 idl/modules/ml/webnn/ml_graph_builder.idl create mode 100644 idl/modules/ml/webnn/ml_operand.idl create mode 100644 idl/modules/ml/webnn/ml_operand_descriptor.idl create mode 100644 idl/modules/ml/worker_navigator_ml.idl create mode 100644 idl/modules/model_execution/model_generic_session.idl create mode 100644 idl/modules/model_execution/model_generic_session_options.idl create mode 100644 idl/modules/model_execution/model_manager.idl create mode 100644 idl/modules/model_execution/window_model.idl create mode 100644 idl/modules/mojo/mojo_file_system_access.idl create mode 100644 idl/modules/navigatorcontentutils/navigator_content_utils.idl create mode 100644 idl/modules/netinfo/navigator_network_information.idl create mode 100644 idl/modules/netinfo/network_information.idl create mode 100644 idl/modules/netinfo/testing/internals_net_info.idl create mode 100644 idl/modules/netinfo/worker_navigator_network_information.idl create mode 100644 idl/modules/nfc/ndef_make_read_only_options.idl create mode 100644 idl/modules/nfc/ndef_message.idl create mode 100644 idl/modules/nfc/ndef_message_init.idl create mode 100644 idl/modules/nfc/ndef_reader.idl create mode 100644 idl/modules/nfc/ndef_reading_event.idl create mode 100644 idl/modules/nfc/ndef_reading_event_init.idl create mode 100644 idl/modules/nfc/ndef_record.idl create mode 100644 idl/modules/nfc/ndef_record_init.idl create mode 100644 idl/modules/nfc/ndef_scan_options.idl create mode 100644 idl/modules/nfc/ndef_write_options.idl create mode 100644 idl/modules/notifications/get_notification_options.idl create mode 100644 idl/modules/notifications/notification.idl create mode 100644 idl/modules/notifications/notification_action.idl create mode 100644 idl/modules/notifications/notification_event.idl create mode 100644 idl/modules/notifications/notification_event_init.idl create mode 100644 idl/modules/notifications/notification_options.idl create mode 100644 idl/modules/notifications/service_worker_global_scope_notifications.idl create mode 100644 idl/modules/notifications/service_worker_registration_notifications.idl create mode 100644 idl/modules/notifications/timestamp_trigger.idl create mode 100644 idl/modules/payments/abort_payment_event.idl create mode 100644 idl/modules/payments/address_errors.idl create mode 100644 idl/modules/payments/address_init.idl create mode 100644 idl/modules/payments/android_pay_method_data.idl create mode 100644 idl/modules/payments/can_make_payment_event.idl create mode 100644 idl/modules/payments/can_make_payment_event_init.idl create mode 100644 idl/modules/payments/goods/digital_goods_service.idl create mode 100644 idl/modules/payments/goods/dom_window_digital_goods.idl create mode 100644 idl/modules/payments/goods/item_details.idl create mode 100644 idl/modules/payments/goods/purchase_details.idl create mode 100644 idl/modules/payments/google_play_billing_method_data.idl create mode 100644 idl/modules/payments/html_iframe_element_payments.idl create mode 100644 idl/modules/payments/image_object.idl create mode 100644 idl/modules/payments/merchant_validation_event.idl create mode 100644 idl/modules/payments/merchant_validation_event_init.idl create mode 100644 idl/modules/payments/payer_errors.idl create mode 100644 idl/modules/payments/payment_address.idl create mode 100644 idl/modules/payments/payment_app_service_worker_global_scope.idl create mode 100644 idl/modules/payments/payment_app_service_worker_registration.idl create mode 100644 idl/modules/payments/payment_currency_amount.idl create mode 100644 idl/modules/payments/payment_details_base.idl create mode 100644 idl/modules/payments/payment_details_init.idl create mode 100644 idl/modules/payments/payment_details_modifier.idl create mode 100644 idl/modules/payments/payment_details_update.idl create mode 100644 idl/modules/payments/payment_handler_response.idl create mode 100644 idl/modules/payments/payment_instrument.idl create mode 100644 idl/modules/payments/payment_instruments.idl create mode 100644 idl/modules/payments/payment_item.idl create mode 100644 idl/modules/payments/payment_manager.idl create mode 100644 idl/modules/payments/payment_method_change_event.idl create mode 100644 idl/modules/payments/payment_method_change_event_init.idl create mode 100644 idl/modules/payments/payment_method_data.idl create mode 100644 idl/modules/payments/payment_options.idl create mode 100644 idl/modules/payments/payment_request.idl create mode 100644 idl/modules/payments/payment_request_details_update.idl create mode 100644 idl/modules/payments/payment_request_event.idl create mode 100644 idl/modules/payments/payment_request_event_init.idl create mode 100644 idl/modules/payments/payment_request_update_event.idl create mode 100644 idl/modules/payments/payment_request_update_event_init.idl create mode 100644 idl/modules/payments/payment_response.idl create mode 100644 idl/modules/payments/payment_shipping_option.idl create mode 100644 idl/modules/payments/payment_validation_errors.idl create mode 100644 idl/modules/payments/secure_payment_confirmation_request.idl create mode 100644 idl/modules/peerconnection/rtc_answer_options.idl create mode 100644 idl/modules/peerconnection/rtc_certificate.idl create mode 100644 idl/modules/peerconnection/rtc_codec_specifics.idl create mode 100644 idl/modules/peerconnection/rtc_configuration.idl create mode 100644 idl/modules/peerconnection/rtc_data_channel.idl create mode 100644 idl/modules/peerconnection/rtc_data_channel_event.idl create mode 100644 idl/modules/peerconnection/rtc_data_channel_event_init.idl create mode 100644 idl/modules/peerconnection/rtc_data_channel_init.idl create mode 100644 idl/modules/peerconnection/rtc_dtls_fingerprint.idl create mode 100644 idl/modules/peerconnection/rtc_dtls_transport.idl create mode 100644 idl/modules/peerconnection/rtc_dtmf_sender.idl create mode 100644 idl/modules/peerconnection/rtc_dtmf_tone_change_event.idl create mode 100644 idl/modules/peerconnection/rtc_dtmf_tone_change_event_init.idl create mode 100644 idl/modules/peerconnection/rtc_encoded_audio_frame.idl create mode 100644 idl/modules/peerconnection/rtc_encoded_audio_frame_metadata.idl create mode 100644 idl/modules/peerconnection/rtc_encoded_video_frame.idl create mode 100644 idl/modules/peerconnection/rtc_encoded_video_frame_metadata.idl create mode 100644 idl/modules/peerconnection/rtc_encoding_options.idl create mode 100644 idl/modules/peerconnection/rtc_error.idl create mode 100644 idl/modules/peerconnection/rtc_error_event.idl create mode 100644 idl/modules/peerconnection/rtc_error_event_init.idl create mode 100644 idl/modules/peerconnection/rtc_error_init.idl create mode 100644 idl/modules/peerconnection/rtc_ice_candidate.idl create mode 100644 idl/modules/peerconnection/rtc_ice_candidate_init.idl create mode 100644 idl/modules/peerconnection/rtc_ice_candidate_pair.idl create mode 100644 idl/modules/peerconnection/rtc_ice_parameters.idl create mode 100644 idl/modules/peerconnection/rtc_ice_server.idl create mode 100644 idl/modules/peerconnection/rtc_ice_transport.idl create mode 100644 idl/modules/peerconnection/rtc_insertable_streams.idl create mode 100644 idl/modules/peerconnection/rtc_offer_answer_options.idl create mode 100644 idl/modules/peerconnection/rtc_offer_options.idl create mode 100644 idl/modules/peerconnection/rtc_peer_connection.idl create mode 100644 idl/modules/peerconnection/rtc_peer_connection_ice_error_event.idl create mode 100644 idl/modules/peerconnection/rtc_peer_connection_ice_error_event_init.idl create mode 100644 idl/modules/peerconnection/rtc_peer_connection_ice_event.idl create mode 100644 idl/modules/peerconnection/rtc_peer_connection_ice_event_init.idl create mode 100644 idl/modules/peerconnection/rtc_rtcp_parameters.idl create mode 100644 idl/modules/peerconnection/rtc_rtp_capabilities.idl create mode 100644 idl/modules/peerconnection/rtc_rtp_codec.idl create mode 100644 idl/modules/peerconnection/rtc_rtp_codec_capability.idl create mode 100644 idl/modules/peerconnection/rtc_rtp_codec_parameters.idl create mode 100644 idl/modules/peerconnection/rtc_rtp_coding_parameters.idl create mode 100644 idl/modules/peerconnection/rtc_rtp_contributing_source.idl create mode 100644 idl/modules/peerconnection/rtc_rtp_decoding_parameters.idl create mode 100644 idl/modules/peerconnection/rtc_rtp_encoding_parameters.idl create mode 100644 idl/modules/peerconnection/rtc_rtp_header_extension_capability.idl create mode 100644 idl/modules/peerconnection/rtc_rtp_header_extension_parameters.idl create mode 100644 idl/modules/peerconnection/rtc_rtp_parameters.idl create mode 100644 idl/modules/peerconnection/rtc_rtp_receive_parameters.idl create mode 100644 idl/modules/peerconnection/rtc_rtp_receiver.idl create mode 100644 idl/modules/peerconnection/rtc_rtp_send_parameters.idl create mode 100644 idl/modules/peerconnection/rtc_rtp_sender.idl create mode 100644 idl/modules/peerconnection/rtc_rtp_synchronization_source.idl create mode 100644 idl/modules/peerconnection/rtc_rtp_transceiver.idl create mode 100644 idl/modules/peerconnection/rtc_rtp_transceiver_init.idl create mode 100644 idl/modules/peerconnection/rtc_sctp_transport.idl create mode 100644 idl/modules/peerconnection/rtc_session_description.idl create mode 100644 idl/modules/peerconnection/rtc_session_description_init.idl create mode 100644 idl/modules/peerconnection/rtc_set_parameter_options.idl create mode 100644 idl/modules/peerconnection/rtc_stats_report.idl create mode 100644 idl/modules/peerconnection/rtc_track_event.idl create mode 100644 idl/modules/peerconnection/rtc_track_event_init.idl create mode 100644 idl/modules/peerconnection/testing/internals_rtc_certificate.idl create mode 100644 idl/modules/peerconnection/testing/internals_rtc_peer_connection.idl create mode 100644 idl/modules/permissions/camera_device_permission_descriptor.idl create mode 100644 idl/modules/permissions/clipboard_permission_descriptor.idl create mode 100644 idl/modules/permissions/midi_permission_descriptor.idl create mode 100644 idl/modules/permissions/navigator_permissions.idl create mode 100644 idl/modules/permissions/permission_descriptor.idl create mode 100644 idl/modules/permissions/permission_status.idl create mode 100644 idl/modules/permissions/permissions.idl create mode 100644 idl/modules/permissions/push_permission_descriptor.idl create mode 100644 idl/modules/permissions/testing/internals_permission.idl create mode 100644 idl/modules/permissions/top_level_storage_access_permission_descriptor.idl create mode 100644 idl/modules/permissions/worker_navigator_permissions.idl create mode 100644 idl/modules/picture_in_picture/document_picture_in_picture.idl create mode 100644 idl/modules/picture_in_picture/html_video_element_picture_in_picture.idl create mode 100644 idl/modules/picture_in_picture/picture_in_picture_event.idl create mode 100644 idl/modules/picture_in_picture/picture_in_picture_event_init.idl create mode 100644 idl/modules/picture_in_picture/picture_in_picture_window.idl create mode 100644 idl/modules/plugins/mime_type.idl create mode 100644 idl/modules/plugins/mime_type_array.idl create mode 100644 idl/modules/plugins/navigator_plugins.idl create mode 100644 idl/modules/plugins/plugin.idl create mode 100644 idl/modules/plugins/plugin_array.idl create mode 100644 idl/modules/presentation/navigator_presentation.idl create mode 100644 idl/modules/presentation/presentation.idl create mode 100644 idl/modules/presentation/presentation_availability.idl create mode 100644 idl/modules/presentation/presentation_connection.idl create mode 100644 idl/modules/presentation/presentation_connection_available_event.idl create mode 100644 idl/modules/presentation/presentation_connection_available_event_init.idl create mode 100644 idl/modules/presentation/presentation_connection_close_event.idl create mode 100644 idl/modules/presentation/presentation_connection_close_event_init.idl create mode 100644 idl/modules/presentation/presentation_connection_list.idl create mode 100644 idl/modules/presentation/presentation_receiver.idl create mode 100644 idl/modules/presentation/presentation_request.idl create mode 100644 idl/modules/presentation/presentation_source.idl create mode 100644 idl/modules/printing/navigator_printing.idl create mode 100644 idl/modules/printing/web_print_job.idl create mode 100644 idl/modules/printing/web_printer.idl create mode 100644 idl/modules/printing/web_printer_attributes.idl create mode 100644 idl/modules/printing/web_printing_enums.idl create mode 100644 idl/modules/printing/web_printing_manager.idl create mode 100644 idl/modules/private_attribution/private_attribution.idl create mode 100644 idl/modules/private_attribution/window_private_attribution.idl create mode 100644 idl/modules/push_messaging/push_event.idl create mode 100644 idl/modules/push_messaging/push_event_init.idl create mode 100644 idl/modules/push_messaging/push_manager.idl create mode 100644 idl/modules/push_messaging/push_message_data.idl create mode 100644 idl/modules/push_messaging/push_subscription.idl create mode 100644 idl/modules/push_messaging/push_subscription_change_event.idl create mode 100644 idl/modules/push_messaging/push_subscription_change_event_init.idl create mode 100644 idl/modules/push_messaging/push_subscription_options.idl create mode 100644 idl/modules/push_messaging/push_subscription_options_init.idl create mode 100644 idl/modules/push_messaging/service_worker_global_scope_push.idl create mode 100644 idl/modules/push_messaging/service_worker_registration_push.idl create mode 100644 idl/modules/quota/deprecated_storage_callbacks.idl create mode 100644 idl/modules/quota/deprecated_storage_quota.idl create mode 100644 idl/modules/quota/dom_error.idl create mode 100644 idl/modules/quota/navigator_storage_quota.idl create mode 100644 idl/modules/quota/storage_estimate.idl create mode 100644 idl/modules/quota/storage_manager.idl create mode 100644 idl/modules/quota/storage_usage_details.idl create mode 100644 idl/modules/quota/worker_navigator_storage_quota.idl create mode 100644 idl/modules/remoteplayback/html_media_element_remote_playback.idl create mode 100644 idl/modules/remoteplayback/remote_playback.idl create mode 100644 idl/modules/sanitizer_api/element_sanitizer.idl create mode 100644 idl/modules/sanitizer_api/sanitizer.idl create mode 100644 idl/modules/sanitizer_api/sanitizer_config.idl create mode 100644 idl/modules/scheduler/scheduler.idl create mode 100644 idl/modules/scheduler/scheduler_post_task_callback.idl create mode 100644 idl/modules/scheduler/scheduler_post_task_options.idl create mode 100644 idl/modules/scheduler/scheduler_yield_options.idl create mode 100644 idl/modules/scheduler/script_wrappable_task_state.idl create mode 100644 idl/modules/scheduler/task_controller.idl create mode 100644 idl/modules/scheduler/task_controller_init.idl create mode 100644 idl/modules/scheduler/task_priority_change_event.idl create mode 100644 idl/modules/scheduler/task_priority_change_event_init.idl create mode 100644 idl/modules/scheduler/task_signal.idl create mode 100644 idl/modules/scheduler/task_signal_any_init.idl create mode 100644 idl/modules/scheduler/window_idle_tasks.idl create mode 100644 idl/modules/scheduler/window_or_worker_global_scope_timers.idl create mode 100644 idl/modules/scheduler/window_or_worker_scheduler.idl create mode 100644 idl/modules/screen_details/screen_detailed.idl create mode 100644 idl/modules/screen_details/screen_details.idl create mode 100644 idl/modules/screen_details/window_screen_details.idl create mode 100644 idl/modules/screen_orientation/screen_orientation.idl create mode 100644 idl/modules/screen_orientation/screen_screen_orientation.idl create mode 100644 idl/modules/sensor/absolute_orientation_sensor.idl create mode 100644 idl/modules/sensor/accelerometer.idl create mode 100644 idl/modules/sensor/ambient_light_sensor.idl create mode 100644 idl/modules/sensor/gravity_sensor.idl create mode 100644 idl/modules/sensor/gyroscope.idl create mode 100644 idl/modules/sensor/linear_acceleration_sensor.idl create mode 100644 idl/modules/sensor/magnetometer.idl create mode 100644 idl/modules/sensor/orientation_sensor.idl create mode 100644 idl/modules/sensor/relative_orientation_sensor.idl create mode 100644 idl/modules/sensor/sensor.idl create mode 100644 idl/modules/sensor/sensor_error_event.idl create mode 100644 idl/modules/sensor/sensor_error_event_init.idl create mode 100644 idl/modules/sensor/sensor_options.idl create mode 100644 idl/modules/sensor/spatial_sensor_options.idl create mode 100644 idl/modules/sensor/testing/create_virtual_sensor_options.idl create mode 100644 idl/modules/sensor/testing/internals_sensor.idl create mode 100644 idl/modules/sensor/testing/virtual_sensor_information.idl create mode 100644 idl/modules/sensor/testing/virtual_sensor_reading.idl create mode 100644 idl/modules/serial/navigator_serial.idl create mode 100644 idl/modules/serial/serial.idl create mode 100644 idl/modules/serial/serial_input_signals.idl create mode 100644 idl/modules/serial/serial_options.idl create mode 100644 idl/modules/serial/serial_output_signals.idl create mode 100644 idl/modules/serial/serial_port.idl create mode 100644 idl/modules/serial/serial_port_filter.idl create mode 100644 idl/modules/serial/serial_port_info.idl create mode 100644 idl/modules/serial/serial_port_request_options.idl create mode 100644 idl/modules/serial/worker_navigator_serial.idl create mode 100644 idl/modules/service_worker/client.idl create mode 100644 idl/modules/service_worker/client_query_options.idl create mode 100644 idl/modules/service_worker/clients.idl create mode 100644 idl/modules/service_worker/extendable_event.idl create mode 100644 idl/modules/service_worker/extendable_event_init.idl create mode 100644 idl/modules/service_worker/extendable_message_event.idl create mode 100644 idl/modules/service_worker/extendable_message_event_init.idl create mode 100644 idl/modules/service_worker/fetch_event.idl create mode 100644 idl/modules/service_worker/fetch_event_init.idl create mode 100644 idl/modules/service_worker/install_event.idl create mode 100644 idl/modules/service_worker/navigation_preload_manager.idl create mode 100644 idl/modules/service_worker/navigation_preload_state.idl create mode 100644 idl/modules/service_worker/navigator_service_worker.idl create mode 100644 idl/modules/service_worker/registration_options.idl create mode 100644 idl/modules/service_worker/router_condition.idl create mode 100644 idl/modules/service_worker/router_rule.idl create mode 100644 idl/modules/service_worker/router_source.idl create mode 100644 idl/modules/service_worker/service_worker.idl create mode 100644 idl/modules/service_worker/service_worker_container.idl create mode 100644 idl/modules/service_worker/service_worker_global_scope.idl create mode 100644 idl/modules/service_worker/service_worker_registration.idl create mode 100644 idl/modules/service_worker/testing/internals_service_worker.idl create mode 100644 idl/modules/service_worker/window_client.idl create mode 100644 idl/modules/shapedetection/barcode_detector.idl create mode 100644 idl/modules/shapedetection/barcode_detector_options.idl create mode 100644 idl/modules/shapedetection/detected_barcode.idl create mode 100644 idl/modules/shapedetection/detected_face.idl create mode 100644 idl/modules/shapedetection/detected_text.idl create mode 100644 idl/modules/shapedetection/face_detector.idl create mode 100644 idl/modules/shapedetection/face_detector_options.idl create mode 100644 idl/modules/shapedetection/landmark.idl create mode 100644 idl/modules/shapedetection/text_detector.idl create mode 100644 idl/modules/shared_storage/private_aggregation.idl create mode 100644 idl/modules/shared_storage/private_aggregation_debug_mode_options.idl create mode 100644 idl/modules/shared_storage/private_aggregation_histogram_contribution.idl create mode 100644 idl/modules/shared_storage/shared_storage.idl create mode 100644 idl/modules/shared_storage/shared_storage_private_aggregation_config.idl create mode 100644 idl/modules/shared_storage/shared_storage_run_operation_method_options.idl create mode 100644 idl/modules/shared_storage/shared_storage_set_method_options.idl create mode 100644 idl/modules/shared_storage/shared_storage_url_with_metadata.idl create mode 100644 idl/modules/shared_storage/shared_storage_worklet.idl create mode 100644 idl/modules/shared_storage/shared_storage_worklet_global_scope.idl create mode 100644 idl/modules/shared_storage/window_shared_storage.idl create mode 100644 idl/modules/smart_card/navigator_smart_card.idl create mode 100644 idl/modules/smart_card/smart_card_connection.idl create mode 100644 idl/modules/smart_card/smart_card_connection_status.idl create mode 100644 idl/modules/smart_card/smart_card_context.idl create mode 100644 idl/modules/smart_card/smart_card_error.idl create mode 100644 idl/modules/smart_card/smart_card_resource_manager.idl create mode 100644 idl/modules/speech/speech_grammar.idl create mode 100644 idl/modules/speech/speech_grammar_list.idl create mode 100644 idl/modules/speech/speech_recognition.idl create mode 100644 idl/modules/speech/speech_recognition_alternative.idl create mode 100644 idl/modules/speech/speech_recognition_error_event.idl create mode 100644 idl/modules/speech/speech_recognition_error_event_init.idl create mode 100644 idl/modules/speech/speech_recognition_event.idl create mode 100644 idl/modules/speech/speech_recognition_event_init.idl create mode 100644 idl/modules/speech/speech_recognition_result.idl create mode 100644 idl/modules/speech/speech_recognition_result_list.idl create mode 100644 idl/modules/speech/speech_synthesis.idl create mode 100644 idl/modules/speech/speech_synthesis_error_event.idl create mode 100644 idl/modules/speech/speech_synthesis_error_event_init.idl create mode 100644 idl/modules/speech/speech_synthesis_event.idl create mode 100644 idl/modules/speech/speech_synthesis_event_init.idl create mode 100644 idl/modules/speech/speech_synthesis_utterance.idl create mode 100644 idl/modules/speech/speech_synthesis_voice.idl create mode 100644 idl/modules/speech/testing/internals_speech_synthesis.idl create mode 100644 idl/modules/speech/window_speech_synthesis.idl create mode 100644 idl/modules/srcobject/html_media_element_src_object.idl create mode 100644 idl/modules/storage/storage.idl create mode 100644 idl/modules/storage/storage_event.idl create mode 100644 idl/modules/storage/storage_event_init.idl create mode 100644 idl/modules/storage/window_storage.idl create mode 100644 idl/modules/storage_access/document_storage_access.idl create mode 100644 idl/modules/storage_access/storage_access_handle.idl create mode 100644 idl/modules/storage_access/storage_access_types.idl create mode 100644 idl/modules/subapps/navigator_sub_apps.idl create mode 100644 idl/modules/subapps/sub_apps.idl create mode 100644 idl/modules/subapps/sub_apps_add_params.idl create mode 100644 idl/modules/subapps/sub_apps_list_result.idl create mode 100644 idl/modules/vibration/navigator_vibration.idl create mode 100644 idl/modules/vibration/testing/internals_vibration.idl create mode 100644 idl/modules/video_rvfc/html_video_element_request_video_frame_callback.idl create mode 100644 idl/modules/video_rvfc/video_frame_metadata.idl create mode 100644 idl/modules/video_rvfc/video_frame_request_callback.idl create mode 100644 idl/modules/virtualkeyboard/navigator_virtual_keyboard.idl create mode 100644 idl/modules/virtualkeyboard/virtual_keyboard.idl create mode 100644 idl/modules/virtualkeyboard/virtual_keyboard_geometry_change_event.idl create mode 100644 idl/modules/wake_lock/navigator_wake_lock.idl create mode 100644 idl/modules/wake_lock/wake_lock.idl create mode 100644 idl/modules/wake_lock/wake_lock_sentinel.idl create mode 100644 idl/modules/wake_lock/worker_navigator_wake_lock.idl create mode 100644 idl/modules/webaudio/analyser_node.idl create mode 100644 idl/modules/webaudio/analyser_options.idl create mode 100644 idl/modules/webaudio/audio_buffer.idl create mode 100644 idl/modules/webaudio/audio_buffer_options.idl create mode 100644 idl/modules/webaudio/audio_buffer_source_node.idl create mode 100644 idl/modules/webaudio/audio_buffer_source_options.idl create mode 100644 idl/modules/webaudio/audio_context.idl create mode 100644 idl/modules/webaudio/audio_context_options.idl create mode 100644 idl/modules/webaudio/audio_destination_node.idl create mode 100644 idl/modules/webaudio/audio_listener.idl create mode 100644 idl/modules/webaudio/audio_node.idl create mode 100644 idl/modules/webaudio/audio_node_options.idl create mode 100644 idl/modules/webaudio/audio_param.idl create mode 100644 idl/modules/webaudio/audio_param_descriptor.idl create mode 100644 idl/modules/webaudio/audio_param_map.idl create mode 100644 idl/modules/webaudio/audio_processing_event.idl create mode 100644 idl/modules/webaudio/audio_processing_event_init.idl create mode 100644 idl/modules/webaudio/audio_scheduled_source_node.idl create mode 100644 idl/modules/webaudio/audio_sink_info.idl create mode 100644 idl/modules/webaudio/audio_timestamp.idl create mode 100644 idl/modules/webaudio/audio_worklet.idl create mode 100644 idl/modules/webaudio/audio_worklet_global_scope.idl create mode 100644 idl/modules/webaudio/audio_worklet_node.idl create mode 100644 idl/modules/webaudio/audio_worklet_node_options.idl create mode 100644 idl/modules/webaudio/audio_worklet_processor.idl create mode 100644 idl/modules/webaudio/base_audio_context.idl create mode 100644 idl/modules/webaudio/biquad_filter_node.idl create mode 100644 idl/modules/webaudio/biquad_filter_options.idl create mode 100644 idl/modules/webaudio/channel_merger_node.idl create mode 100644 idl/modules/webaudio/channel_merger_options.idl create mode 100644 idl/modules/webaudio/channel_splitter_node.idl create mode 100644 idl/modules/webaudio/channel_splitter_options.idl create mode 100644 idl/modules/webaudio/constant_source_node.idl create mode 100644 idl/modules/webaudio/constant_source_options.idl create mode 100644 idl/modules/webaudio/convolver_node.idl create mode 100644 idl/modules/webaudio/convolver_options.idl create mode 100644 idl/modules/webaudio/delay_node.idl create mode 100644 idl/modules/webaudio/delay_options.idl create mode 100644 idl/modules/webaudio/dynamics_compressor_node.idl create mode 100644 idl/modules/webaudio/dynamics_compressor_options.idl create mode 100644 idl/modules/webaudio/gain_node.idl create mode 100644 idl/modules/webaudio/gain_options.idl create mode 100644 idl/modules/webaudio/iir_filter_node.idl create mode 100644 idl/modules/webaudio/iir_filter_options.idl create mode 100644 idl/modules/webaudio/media_element_audio_source_node.idl create mode 100644 idl/modules/webaudio/media_element_audio_source_options.idl create mode 100644 idl/modules/webaudio/media_stream_audio_destination_node.idl create mode 100644 idl/modules/webaudio/media_stream_audio_source_node.idl create mode 100644 idl/modules/webaudio/media_stream_audio_source_options.idl create mode 100644 idl/modules/webaudio/offline_audio_completion_event.idl create mode 100644 idl/modules/webaudio/offline_audio_completion_event_init.idl create mode 100644 idl/modules/webaudio/offline_audio_context.idl create mode 100644 idl/modules/webaudio/offline_audio_context_options.idl create mode 100644 idl/modules/webaudio/oscillator_node.idl create mode 100644 idl/modules/webaudio/oscillator_options.idl create mode 100644 idl/modules/webaudio/panner_node.idl create mode 100644 idl/modules/webaudio/panner_options.idl create mode 100644 idl/modules/webaudio/periodic_wave.idl create mode 100644 idl/modules/webaudio/periodic_wave_constraints.idl create mode 100644 idl/modules/webaudio/periodic_wave_options.idl create mode 100644 idl/modules/webaudio/script_processor_node.idl create mode 100644 idl/modules/webaudio/stereo_panner_node.idl create mode 100644 idl/modules/webaudio/stereo_panner_options.idl create mode 100644 idl/modules/webaudio/testing/internals_web_audio.idl create mode 100644 idl/modules/webaudio/wave_shaper_node.idl create mode 100644 idl/modules/webaudio/wave_shaper_options.idl create mode 100644 idl/modules/webcodecs/aac_encoder_config.idl create mode 100644 idl/modules/webcodecs/audio_data.idl create mode 100644 idl/modules/webcodecs/audio_data_copy_to_options.idl create mode 100644 idl/modules/webcodecs/audio_data_init.idl create mode 100644 idl/modules/webcodecs/audio_data_output_callback.idl create mode 100644 idl/modules/webcodecs/audio_decoder.idl create mode 100644 idl/modules/webcodecs/audio_decoder_config.idl create mode 100644 idl/modules/webcodecs/audio_decoder_init.idl create mode 100644 idl/modules/webcodecs/audio_decoder_support.idl create mode 100644 idl/modules/webcodecs/audio_encoder.idl create mode 100644 idl/modules/webcodecs/audio_encoder_config.idl create mode 100644 idl/modules/webcodecs/audio_encoder_init.idl create mode 100644 idl/modules/webcodecs/audio_encoder_support.idl create mode 100644 idl/modules/webcodecs/audio_sample_format.idl create mode 100644 idl/modules/webcodecs/avc_encoder_config.idl create mode 100644 idl/modules/webcodecs/codec_state.idl create mode 100644 idl/modules/webcodecs/decrypt_config.idl create mode 100644 idl/modules/webcodecs/encoded_audio_chunk.idl create mode 100644 idl/modules/webcodecs/encoded_audio_chunk_init.idl create mode 100644 idl/modules/webcodecs/encoded_audio_chunk_metadata.idl create mode 100644 idl/modules/webcodecs/encoded_audio_chunk_output_callback.idl create mode 100644 idl/modules/webcodecs/encoded_video_chunk.idl create mode 100644 idl/modules/webcodecs/encoded_video_chunk_init.idl create mode 100644 idl/modules/webcodecs/encoded_video_chunk_metadata.idl create mode 100644 idl/modules/webcodecs/encoded_video_chunk_output_callback.idl create mode 100644 idl/modules/webcodecs/encryption_pattern.idl create mode 100644 idl/modules/webcodecs/hardware_preference.idl create mode 100644 idl/modules/webcodecs/hevc_encoder_config.idl create mode 100644 idl/modules/webcodecs/image_decode_options.idl create mode 100644 idl/modules/webcodecs/image_decode_result.idl create mode 100644 idl/modules/webcodecs/image_decoder.idl create mode 100644 idl/modules/webcodecs/image_decoder_init.idl create mode 100644 idl/modules/webcodecs/image_track.idl create mode 100644 idl/modules/webcodecs/image_track_list.idl create mode 100644 idl/modules/webcodecs/latency_mode.idl create mode 100644 idl/modules/webcodecs/opus_encoder_config.idl create mode 100644 idl/modules/webcodecs/plane_layout.idl create mode 100644 idl/modules/webcodecs/subsample_entry.idl create mode 100644 idl/modules/webcodecs/svc_output_metadata.idl create mode 100644 idl/modules/webcodecs/video_color_primaries.idl create mode 100644 idl/modules/webcodecs/video_color_space.idl create mode 100644 idl/modules/webcodecs/video_color_space_init.idl create mode 100644 idl/modules/webcodecs/video_decoder.idl create mode 100644 idl/modules/webcodecs/video_decoder_config.idl create mode 100644 idl/modules/webcodecs/video_decoder_init.idl create mode 100644 idl/modules/webcodecs/video_decoder_support.idl create mode 100644 idl/modules/webcodecs/video_encoder.idl create mode 100644 idl/modules/webcodecs/video_encoder_config.idl create mode 100644 idl/modules/webcodecs/video_encoder_encode_options.idl create mode 100644 idl/modules/webcodecs/video_encoder_encode_options_for_av1.idl create mode 100644 idl/modules/webcodecs/video_encoder_encode_options_for_avc.idl create mode 100644 idl/modules/webcodecs/video_encoder_encode_options_for_vp9.idl create mode 100644 idl/modules/webcodecs/video_encoder_init.idl create mode 100644 idl/modules/webcodecs/video_encoder_support.idl create mode 100644 idl/modules/webcodecs/video_frame.idl create mode 100644 idl/modules/webcodecs/video_frame_buffer_init.idl create mode 100644 idl/modules/webcodecs/video_frame_copy_to_options.idl create mode 100644 idl/modules/webcodecs/video_frame_init.idl create mode 100644 idl/modules/webcodecs/video_frame_output_callback.idl create mode 100644 idl/modules/webcodecs/video_matrix_coefficients.idl create mode 100644 idl/modules/webcodecs/video_pixel_format.idl create mode 100644 idl/modules/webcodecs/video_transfer_characteristics.idl create mode 100644 idl/modules/webcodecs/webcodecs_error_callback.idl create mode 100644 idl/modules/webdatabase/database.idl create mode 100644 idl/modules/webdatabase/sql_error.idl create mode 100644 idl/modules/webdatabase/sql_result_set.idl create mode 100644 idl/modules/webdatabase/sql_result_set_row_list.idl create mode 100644 idl/modules/webdatabase/sql_statement_callback.idl create mode 100644 idl/modules/webdatabase/sql_statement_error_callback.idl create mode 100644 idl/modules/webdatabase/sql_transaction.idl create mode 100644 idl/modules/webdatabase/sql_transaction_callback.idl create mode 100644 idl/modules/webdatabase/sql_transaction_error_callback.idl create mode 100644 idl/modules/webdatabase/window_web_database.idl create mode 100644 idl/modules/webgl/angle_instanced_arrays.idl create mode 100644 idl/modules/webgl/ext_blend_min_max.idl create mode 100644 idl/modules/webgl/ext_clip_control.idl create mode 100644 idl/modules/webgl/ext_color_buffer_float.idl create mode 100644 idl/modules/webgl/ext_color_buffer_half_float.idl create mode 100644 idl/modules/webgl/ext_conservative_depth.idl create mode 100644 idl/modules/webgl/ext_depth_clamp.idl create mode 100644 idl/modules/webgl/ext_disjoint_timer_query.idl create mode 100644 idl/modules/webgl/ext_disjoint_timer_query_webgl2.idl create mode 100644 idl/modules/webgl/ext_float_blend.idl create mode 100644 idl/modules/webgl/ext_frag_depth.idl create mode 100644 idl/modules/webgl/ext_polygon_offset_clamp.idl create mode 100644 idl/modules/webgl/ext_render_snorm.idl create mode 100644 idl/modules/webgl/ext_shader_texture_lod.idl create mode 100644 idl/modules/webgl/ext_srgb.idl create mode 100644 idl/modules/webgl/ext_texture_compression_bptc.idl create mode 100644 idl/modules/webgl/ext_texture_compression_rgtc.idl create mode 100644 idl/modules/webgl/ext_texture_filter_anisotropic.idl create mode 100644 idl/modules/webgl/ext_texture_mirror_clamp_to_edge.idl create mode 100644 idl/modules/webgl/ext_texture_norm_16.idl create mode 100644 idl/modules/webgl/khr_parallel_shader_compile.idl create mode 100644 idl/modules/webgl/nv_shader_noperspective_interpolation.idl create mode 100644 idl/modules/webgl/oes_draw_buffers_indexed.idl create mode 100644 idl/modules/webgl/oes_element_index_uint.idl create mode 100644 idl/modules/webgl/oes_fbo_render_mipmap.idl create mode 100644 idl/modules/webgl/oes_sample_variables.idl create mode 100644 idl/modules/webgl/oes_shader_multisample_interpolation.idl create mode 100644 idl/modules/webgl/oes_standard_derivatives.idl create mode 100644 idl/modules/webgl/oes_texture_float.idl create mode 100644 idl/modules/webgl/oes_texture_float_linear.idl create mode 100644 idl/modules/webgl/oes_texture_half_float.idl create mode 100644 idl/modules/webgl/oes_texture_half_float_linear.idl create mode 100644 idl/modules/webgl/oes_vertex_array_object.idl create mode 100644 idl/modules/webgl/ovr_multiview_2.idl create mode 100644 idl/modules/webgl/webgl2_rendering_context.idl create mode 100644 idl/modules/webgl/webgl2_rendering_context_base.idl create mode 100644 idl/modules/webgl/webgl_active_info.idl create mode 100644 idl/modules/webgl/webgl_blend_func_extended.idl create mode 100644 idl/modules/webgl/webgl_buffer.idl create mode 100644 idl/modules/webgl/webgl_clip_cull_distance.idl create mode 100644 idl/modules/webgl/webgl_color_buffer_float.idl create mode 100644 idl/modules/webgl/webgl_compressed_texture_astc.idl create mode 100644 idl/modules/webgl/webgl_compressed_texture_etc.idl create mode 100644 idl/modules/webgl/webgl_compressed_texture_etc1.idl create mode 100644 idl/modules/webgl/webgl_compressed_texture_pvrtc.idl create mode 100644 idl/modules/webgl/webgl_compressed_texture_s3tc.idl create mode 100644 idl/modules/webgl/webgl_compressed_texture_s3tc_srgb.idl create mode 100644 idl/modules/webgl/webgl_context_attributes.idl create mode 100644 idl/modules/webgl/webgl_context_event.idl create mode 100644 idl/modules/webgl/webgl_context_event_init.idl create mode 100644 idl/modules/webgl/webgl_debug_renderer_info.idl create mode 100644 idl/modules/webgl/webgl_debug_shaders.idl create mode 100644 idl/modules/webgl/webgl_depth_texture.idl create mode 100644 idl/modules/webgl/webgl_draw_buffers.idl create mode 100644 idl/modules/webgl/webgl_draw_instanced_base_vertex_base_instance.idl create mode 100644 idl/modules/webgl/webgl_framebuffer.idl create mode 100644 idl/modules/webgl/webgl_lose_context.idl create mode 100644 idl/modules/webgl/webgl_multi_draw.idl create mode 100644 idl/modules/webgl/webgl_multi_draw_instanced_base_vertex_base_instance.idl create mode 100644 idl/modules/webgl/webgl_polygon_mode.idl create mode 100644 idl/modules/webgl/webgl_program.idl create mode 100644 idl/modules/webgl/webgl_provoking_vertex.idl create mode 100644 idl/modules/webgl/webgl_query.idl create mode 100644 idl/modules/webgl/webgl_render_shared_exponent.idl create mode 100644 idl/modules/webgl/webgl_renderbuffer.idl create mode 100644 idl/modules/webgl/webgl_rendering_context.idl create mode 100644 idl/modules/webgl/webgl_rendering_context_base.idl create mode 100644 idl/modules/webgl/webgl_sampler.idl create mode 100644 idl/modules/webgl/webgl_shader.idl create mode 100644 idl/modules/webgl/webgl_shader_pixel_local_storage.idl create mode 100644 idl/modules/webgl/webgl_shader_precision_format.idl create mode 100644 idl/modules/webgl/webgl_stencil_texturing.idl create mode 100644 idl/modules/webgl/webgl_sync.idl create mode 100644 idl/modules/webgl/webgl_texture.idl create mode 100644 idl/modules/webgl/webgl_timer_query_ext.idl create mode 100644 idl/modules/webgl/webgl_transform_feedback.idl create mode 100644 idl/modules/webgl/webgl_uniform_location.idl create mode 100644 idl/modules/webgl/webgl_vertex_array_object.idl create mode 100644 idl/modules/webgl/webgl_vertex_array_object_oes.idl create mode 100644 idl/modules/webgpu/gpu.idl create mode 100644 idl/modules/webgpu/gpu_adapter.idl create mode 100644 idl/modules/webgpu/gpu_adapter_info.idl create mode 100644 idl/modules/webgpu/gpu_bind_group.idl create mode 100644 idl/modules/webgpu/gpu_bind_group_descriptor.idl create mode 100644 idl/modules/webgpu/gpu_bind_group_entry.idl create mode 100644 idl/modules/webgpu/gpu_bind_group_layout.idl create mode 100644 idl/modules/webgpu/gpu_bind_group_layout_descriptor.idl create mode 100644 idl/modules/webgpu/gpu_bind_group_layout_entry.idl create mode 100644 idl/modules/webgpu/gpu_blend_component.idl create mode 100644 idl/modules/webgpu/gpu_blend_state.idl create mode 100644 idl/modules/webgpu/gpu_buffer.idl create mode 100644 idl/modules/webgpu/gpu_buffer_binding.idl create mode 100644 idl/modules/webgpu/gpu_buffer_binding_layout.idl create mode 100644 idl/modules/webgpu/gpu_buffer_descriptor.idl create mode 100644 idl/modules/webgpu/gpu_buffer_usage.idl create mode 100644 idl/modules/webgpu/gpu_canvas_configuration.idl create mode 100644 idl/modules/webgpu/gpu_canvas_context.idl create mode 100644 idl/modules/webgpu/gpu_color_dict.idl create mode 100644 idl/modules/webgpu/gpu_color_state_descriptor.idl create mode 100644 idl/modules/webgpu/gpu_color_target_state.idl create mode 100644 idl/modules/webgpu/gpu_color_write.idl create mode 100644 idl/modules/webgpu/gpu_command_buffer.idl create mode 100644 idl/modules/webgpu/gpu_command_buffer_descriptor.idl create mode 100644 idl/modules/webgpu/gpu_command_encoder.idl create mode 100644 idl/modules/webgpu/gpu_command_encoder_descriptor.idl create mode 100644 idl/modules/webgpu/gpu_compilation_info.idl create mode 100644 idl/modules/webgpu/gpu_compilation_message.idl create mode 100644 idl/modules/webgpu/gpu_compute_pass_descriptor.idl create mode 100644 idl/modules/webgpu/gpu_compute_pass_encoder.idl create mode 100644 idl/modules/webgpu/gpu_compute_pass_timestamp_writes.idl create mode 100644 idl/modules/webgpu/gpu_compute_pipeline.idl create mode 100644 idl/modules/webgpu/gpu_compute_pipeline_descriptor.idl create mode 100644 idl/modules/webgpu/gpu_depth_stencil_state.idl create mode 100644 idl/modules/webgpu/gpu_device.idl create mode 100644 idl/modules/webgpu/gpu_device_descriptor.idl create mode 100644 idl/modules/webgpu/gpu_device_lost_info.idl create mode 100644 idl/modules/webgpu/gpu_error.idl create mode 100644 idl/modules/webgpu/gpu_extent_3d_dict.idl create mode 100644 idl/modules/webgpu/gpu_external_texture.idl create mode 100644 idl/modules/webgpu/gpu_external_texture_binding_layout.idl create mode 100644 idl/modules/webgpu/gpu_external_texture_descriptor.idl create mode 100644 idl/modules/webgpu/gpu_fence_descriptor.idl create mode 100644 idl/modules/webgpu/gpu_fragment_state.idl create mode 100644 idl/modules/webgpu/gpu_heap_property.idl create mode 100644 idl/modules/webgpu/gpu_image_copy_buffer.idl create mode 100644 idl/modules/webgpu/gpu_image_copy_external_image.idl create mode 100644 idl/modules/webgpu/gpu_image_copy_image_bitmap.idl create mode 100644 idl/modules/webgpu/gpu_image_copy_texture.idl create mode 100644 idl/modules/webgpu/gpu_image_copy_texture_tagged.idl create mode 100644 idl/modules/webgpu/gpu_image_data_layout.idl create mode 100644 idl/modules/webgpu/gpu_internal_error.idl create mode 100644 idl/modules/webgpu/gpu_map_mode.idl create mode 100644 idl/modules/webgpu/gpu_memory_heap_info.idl create mode 100644 idl/modules/webgpu/gpu_multisample_state.idl create mode 100644 idl/modules/webgpu/gpu_object_base.idl create mode 100644 idl/modules/webgpu/gpu_object_descriptor_base.idl create mode 100644 idl/modules/webgpu/gpu_origin_2d_dict.idl create mode 100644 idl/modules/webgpu/gpu_origin_3d_dict.idl create mode 100644 idl/modules/webgpu/gpu_out_of_memory_error.idl create mode 100644 idl/modules/webgpu/gpu_pipeline_base.idl create mode 100644 idl/modules/webgpu/gpu_pipeline_descriptor_base.idl create mode 100644 idl/modules/webgpu/gpu_pipeline_error.idl create mode 100644 idl/modules/webgpu/gpu_pipeline_layout.idl create mode 100644 idl/modules/webgpu/gpu_pipeline_layout_descriptor.idl create mode 100644 idl/modules/webgpu/gpu_primitive_state.idl create mode 100644 idl/modules/webgpu/gpu_programmable_pass_encoder.idl create mode 100644 idl/modules/webgpu/gpu_programmable_stage.idl create mode 100644 idl/modules/webgpu/gpu_query_set.idl create mode 100644 idl/modules/webgpu/gpu_query_set_descriptor.idl create mode 100644 idl/modules/webgpu/gpu_queue.idl create mode 100644 idl/modules/webgpu/gpu_queue_descriptor.idl create mode 100644 idl/modules/webgpu/gpu_rasterization_state_descriptor.idl create mode 100644 idl/modules/webgpu/gpu_render_bundle.idl create mode 100644 idl/modules/webgpu/gpu_render_bundle_descriptor.idl create mode 100644 idl/modules/webgpu/gpu_render_bundle_encoder.idl create mode 100644 idl/modules/webgpu/gpu_render_bundle_encoder_descriptor.idl create mode 100644 idl/modules/webgpu/gpu_render_encoder_base.idl create mode 100644 idl/modules/webgpu/gpu_render_pass_color_attachment.idl create mode 100644 idl/modules/webgpu/gpu_render_pass_depth_stencil_attachment.idl create mode 100644 idl/modules/webgpu/gpu_render_pass_descriptor.idl create mode 100644 idl/modules/webgpu/gpu_render_pass_encoder.idl create mode 100644 idl/modules/webgpu/gpu_render_pass_layout.idl create mode 100644 idl/modules/webgpu/gpu_render_pass_timestamp_writes.idl create mode 100644 idl/modules/webgpu/gpu_render_pipeline.idl create mode 100644 idl/modules/webgpu/gpu_render_pipeline_descriptor.idl create mode 100644 idl/modules/webgpu/gpu_request_adapter_options.idl create mode 100644 idl/modules/webgpu/gpu_sampler.idl create mode 100644 idl/modules/webgpu/gpu_sampler_binding_layout.idl create mode 100644 idl/modules/webgpu/gpu_sampler_descriptor.idl create mode 100644 idl/modules/webgpu/gpu_shader_module.idl create mode 100644 idl/modules/webgpu/gpu_shader_module_compilation_hint.idl create mode 100644 idl/modules/webgpu/gpu_shader_module_descriptor.idl create mode 100644 idl/modules/webgpu/gpu_shader_stage.idl create mode 100644 idl/modules/webgpu/gpu_stencil_face_state.idl create mode 100644 idl/modules/webgpu/gpu_storage_texture_binding_layout.idl create mode 100644 idl/modules/webgpu/gpu_supported_features.idl create mode 100644 idl/modules/webgpu/gpu_supported_limits.idl create mode 100644 idl/modules/webgpu/gpu_texture.idl create mode 100644 idl/modules/webgpu/gpu_texture_binding_layout.idl create mode 100644 idl/modules/webgpu/gpu_texture_descriptor.idl create mode 100644 idl/modules/webgpu/gpu_texture_usage.idl create mode 100644 idl/modules/webgpu/gpu_texture_view.idl create mode 100644 idl/modules/webgpu/gpu_texture_view_descriptor.idl create mode 100644 idl/modules/webgpu/gpu_uncaptured_error_event.idl create mode 100644 idl/modules/webgpu/gpu_uncaptured_error_event_init.idl create mode 100644 idl/modules/webgpu/gpu_validation_error.idl create mode 100644 idl/modules/webgpu/gpu_vertex_attribute.idl create mode 100644 idl/modules/webgpu/gpu_vertex_buffer_layout.idl create mode 100644 idl/modules/webgpu/gpu_vertex_state.idl create mode 100644 idl/modules/webgpu/navigator_gpu.idl create mode 100644 idl/modules/webgpu/wgsl_language_features.idl create mode 100644 idl/modules/webgpu/worker_navigator_gpu.idl create mode 100644 idl/modules/webmidi/midi_access.idl create mode 100644 idl/modules/webmidi/midi_connection_event.idl create mode 100644 idl/modules/webmidi/midi_connection_event_init.idl create mode 100644 idl/modules/webmidi/midi_input.idl create mode 100644 idl/modules/webmidi/midi_input_map.idl create mode 100644 idl/modules/webmidi/midi_message_event.idl create mode 100644 idl/modules/webmidi/midi_message_event_init.idl create mode 100644 idl/modules/webmidi/midi_options.idl create mode 100644 idl/modules/webmidi/midi_output.idl create mode 100644 idl/modules/webmidi/midi_output_map.idl create mode 100644 idl/modules/webmidi/midi_port.idl create mode 100644 idl/modules/webmidi/navigator_web_midi.idl create mode 100644 idl/modules/webshare/navigator_share.idl create mode 100644 idl/modules/webshare/share_data.idl create mode 100644 idl/modules/websockets/close_event.idl create mode 100644 idl/modules/websockets/close_event_init.idl create mode 100644 idl/modules/websockets/websocket.idl create mode 100644 idl/modules/websockets/websocket_close_info.idl create mode 100644 idl/modules/websockets/websocket_error.idl create mode 100644 idl/modules/websockets/websocket_open_info.idl create mode 100644 idl/modules/websockets/websocket_stream.idl create mode 100644 idl/modules/websockets/websocket_stream_options.idl create mode 100644 idl/modules/webtransport/web_transport.idl create mode 100644 idl/modules/webtransport/web_transport_bidirectional_stream.idl create mode 100644 idl/modules/webtransport/web_transport_close_info.idl create mode 100644 idl/modules/webtransport/web_transport_connection_stats.idl create mode 100644 idl/modules/webtransport/web_transport_datagram_duplex_stream.idl create mode 100644 idl/modules/webtransport/web_transport_datagram_stats.idl create mode 100644 idl/modules/webtransport/web_transport_error.idl create mode 100644 idl/modules/webtransport/web_transport_error_init.idl create mode 100644 idl/modules/webtransport/web_transport_hash.idl create mode 100644 idl/modules/webtransport/web_transport_options.idl create mode 100644 idl/modules/webusb/navigator_usb.idl create mode 100644 idl/modules/webusb/usb.idl create mode 100644 idl/modules/webusb/usb_alternate_interface.idl create mode 100644 idl/modules/webusb/usb_configuration.idl create mode 100644 idl/modules/webusb/usb_connection_event.idl create mode 100644 idl/modules/webusb/usb_connection_event_init.idl create mode 100644 idl/modules/webusb/usb_control_transfer_parameters.idl create mode 100644 idl/modules/webusb/usb_device.idl create mode 100644 idl/modules/webusb/usb_device_filter.idl create mode 100644 idl/modules/webusb/usb_device_request_options.idl create mode 100644 idl/modules/webusb/usb_endpoint.idl create mode 100644 idl/modules/webusb/usb_in_transfer_result.idl create mode 100644 idl/modules/webusb/usb_interface.idl create mode 100644 idl/modules/webusb/usb_isochronous_in_transfer_packet.idl create mode 100644 idl/modules/webusb/usb_isochronous_in_transfer_result.idl create mode 100644 idl/modules/webusb/usb_isochronous_out_transfer_packet.idl create mode 100644 idl/modules/webusb/usb_isochronous_out_transfer_result.idl create mode 100644 idl/modules/webusb/usb_out_transfer_result.idl create mode 100644 idl/modules/webusb/worker_navigator_usb.idl create mode 100644 idl/modules/window_controls_overlay/navigator_window_controls_overlay.idl create mode 100644 idl/modules/window_controls_overlay/window_controls_overlay.idl create mode 100644 idl/modules/window_controls_overlay/window_controls_overlay_geometry_change_event.idl create mode 100644 idl/modules/window_controls_overlay/window_controls_overlay_geometry_change_event_init.idl create mode 100644 idl/modules/xr/document_xr.idl create mode 100644 idl/modules/xr/html_element_xr.idl create mode 100644 idl/modules/xr/mathml_element_xr.idl create mode 100644 idl/modules/xr/navigator_xr.idl create mode 100644 idl/modules/xr/svg_element_xr.idl create mode 100644 idl/modules/xr/window_xr.idl create mode 100644 idl/modules/xr/xr_anchor.idl create mode 100644 idl/modules/xr/xr_anchor_set.idl create mode 100644 idl/modules/xr/xr_bounded_reference_space.idl create mode 100644 idl/modules/xr/xr_camera.idl create mode 100644 idl/modules/xr/xr_composition_layer.idl create mode 100644 idl/modules/xr/xr_cpu_depth_information.idl create mode 100644 idl/modules/xr/xr_depth_information.idl create mode 100644 idl/modules/xr/xr_depth_state_init.idl create mode 100644 idl/modules/xr/xr_dom_overlay_init.idl create mode 100644 idl/modules/xr/xr_dom_overlay_state.idl create mode 100644 idl/modules/xr/xr_frame.idl create mode 100644 idl/modules/xr/xr_frame_request_callback.idl create mode 100644 idl/modules/xr/xr_hand.idl create mode 100644 idl/modules/xr/xr_hit_test_options_init.idl create mode 100644 idl/modules/xr/xr_hit_test_result.idl create mode 100644 idl/modules/xr/xr_hit_test_source.idl create mode 100644 idl/modules/xr/xr_image_tracking_result.idl create mode 100644 idl/modules/xr/xr_input_source.idl create mode 100644 idl/modules/xr/xr_input_source_array.idl create mode 100644 idl/modules/xr/xr_input_source_event.idl create mode 100644 idl/modules/xr/xr_input_source_event_init.idl create mode 100644 idl/modules/xr/xr_input_sources_change_event.idl create mode 100644 idl/modules/xr/xr_input_sources_change_event_init.idl create mode 100644 idl/modules/xr/xr_joint_pose.idl create mode 100644 idl/modules/xr/xr_joint_space.idl create mode 100644 idl/modules/xr/xr_layer.idl create mode 100644 idl/modules/xr/xr_light_estimate.idl create mode 100644 idl/modules/xr/xr_light_probe.idl create mode 100644 idl/modules/xr/xr_light_probe_init.idl create mode 100644 idl/modules/xr/xr_plane.idl create mode 100644 idl/modules/xr/xr_plane_set.idl create mode 100644 idl/modules/xr/xr_pose.idl create mode 100644 idl/modules/xr/xr_projection_layer.idl create mode 100644 idl/modules/xr/xr_ray.idl create mode 100644 idl/modules/xr/xr_ray_direction_init.idl create mode 100644 idl/modules/xr/xr_reference_space.idl create mode 100644 idl/modules/xr/xr_reference_space_event.idl create mode 100644 idl/modules/xr/xr_reference_space_event_init.idl create mode 100644 idl/modules/xr/xr_render_state.idl create mode 100644 idl/modules/xr/xr_render_state_init.idl create mode 100644 idl/modules/xr/xr_rigid_transform.idl create mode 100644 idl/modules/xr/xr_session.idl create mode 100644 idl/modules/xr/xr_session_event.idl create mode 100644 idl/modules/xr/xr_session_event_init.idl create mode 100644 idl/modules/xr/xr_session_init.idl create mode 100644 idl/modules/xr/xr_space.idl create mode 100644 idl/modules/xr/xr_sub_image.idl create mode 100644 idl/modules/xr/xr_system.idl create mode 100644 idl/modules/xr/xr_tracked_image_init.idl create mode 100644 idl/modules/xr/xr_transient_input_hit_test_options_init.idl create mode 100644 idl/modules/xr/xr_transient_input_hit_test_result.idl create mode 100644 idl/modules/xr/xr_transient_input_hit_test_source.idl create mode 100644 idl/modules/xr/xr_view.idl create mode 100644 idl/modules/xr/xr_viewer_pose.idl create mode 100644 idl/modules/xr/xr_viewport.idl create mode 100644 idl/modules/xr/xr_webgl_binding.idl create mode 100644 idl/modules/xr/xr_webgl_context.idl create mode 100644 idl/modules/xr/xr_webgl_depth_information.idl create mode 100644 idl/modules/xr/xr_webgl_layer.idl create mode 100644 idl/modules/xr/xr_webgl_layer_init.idl create mode 100644 idl/modules/xr/xr_webgl_sub_image.idl create mode 100644 idl/platform/runtime_enabled_features.json5 diff --git a/.update b/.update new file mode 100644 index 0000000..d8e77cf --- /dev/null +++ b/.update @@ -0,0 +1 @@ +Wed Mar 20 2024 19:58:05 GMT-0700 (Pacific Daylight Time) \ No newline at end of file diff --git a/idl/core/accessibility/aria_notification_options.idl b/idl/core/accessibility/aria_notification_options.idl new file mode 100644 index 0000000..e3a9164 --- /dev/null +++ b/idl/core/accessibility/aria_notification_options.idl @@ -0,0 +1,8 @@ +enum AriaNotifyInterrupt { "none", "all", "pending" }; +enum AriaNotifyPriority { "none", "important" }; + +dictionary AriaNotificationOptions { + AriaNotifyInterrupt interrupt = "none"; + AriaNotifyPriority priority = "none"; + DOMString notificationId = ""; +}; \ No newline at end of file diff --git a/idl/core/animation/animatable.idl b/idl/core/animation/animatable.idl new file mode 100644 index 0000000..3e816b7 --- /dev/null +++ b/idl/core/animation/animatable.idl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2013 Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +// https://w3.org/TR/web-animations-1/#the-animatable-interface-mixin +interface mixin Animatable { + [CallWith=ScriptState, Measure, RaisesException] Animation animate(object? keyframes, optional (unrestricted double or KeyframeAnimationOptions) options); + sequence getAnimations(optional GetAnimationsOptions options = {}); +}; + +// https://drafts.csswg.org/web-animations-1/#extensions-to-the-element-interface +Element includes Animatable; + +// https://drafts.csswg.org/web-animations-1/#extensions-to-the-pseudoelement-interface +// TODO(smcgruer): Uncomment once CSSPseudoElement is implemented in Chromium. +// CSSPseudoElement includes Animatable; diff --git a/idl/core/animation/animation.idl b/idl/core/animation/animation.idl new file mode 100644 index 0000000..bd549df --- /dev/null +++ b/idl/core/animation/animation.idl @@ -0,0 +1,66 @@ +/* + * Copyright (C) 2013 Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +// https://w3.org/TR/web-animations-1/#the-animation-interface + +enum AnimationPlayState { "idle", "pending", "running", "paused", "finished" }; + +enum ReplaceState { "active", "removed", "persisted" }; + +[ + Exposed=Window, + ActiveScriptWrappable +] interface Animation : EventTarget { + [CallWith=ExecutionContext, RaisesException] constructor(optional AnimationEffect? effect = null, optional AnimationTimeline? timeline); + [Measure] attribute AnimationEffect? effect; + attribute AnimationTimeline? timeline; + [Measure, RaisesException=Setter] attribute CSSNumberish? startTime; + [Measure, RaisesException=Setter] attribute CSSNumberish? currentTime; + [Measure, RaisesException=Setter] attribute double playbackRate; + [RuntimeEnabled=ScrollTimeline, Measure, RaisesException=Setter] attribute (TimelineRangeOffset or DOMString) rangeStart; + [RuntimeEnabled=ScrollTimeline, Measure, RaisesException=Setter] attribute (TimelineRangeOffset or DOMString) rangeEnd; + [Measure] readonly attribute AnimationPlayState playState; + [Measure] readonly attribute ReplaceState replaceState; + [Measure] readonly attribute boolean pending; + [Measure, RaisesException, CEReactions] void commitStyles(); + [Measure, RaisesException] void finish(); + [Measure, RaisesException] void play(); + [Measure, RaisesException] void pause(); + [Measure, RaisesException] void reverse(); + [Measure, RaisesException] void updatePlaybackRate(double playback_rate); + [Measure] void persist(); + [Measure] attribute DOMString id; + [Measure] void cancel(); + [Measure] attribute EventHandler onfinish; + [Measure] attribute EventHandler oncancel; + [Measure] attribute EventHandler onremove; + [CallWith=ScriptState] readonly attribute Promise finished; + [CallWith=ScriptState] readonly attribute Promise ready; +}; diff --git a/idl/core/animation/animation_effect.idl b/idl/core/animation/animation_effect.idl new file mode 100644 index 0000000..5a17366 --- /dev/null +++ b/idl/core/animation/animation_effect.idl @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2013 Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +// https://w3.org/TR/web-animations-1/#the-animationeffect-interface + +[Exposed=Window] +interface AnimationEffect { + EffectTiming getTiming(); + ComputedEffectTiming getComputedTiming(); + [RaisesException] void updateTiming(optional OptionalEffectTiming timing = {}); +}; diff --git a/idl/core/animation/animation_timeline.idl b/idl/core/animation/animation_timeline.idl new file mode 100644 index 0000000..c4ca4f4 --- /dev/null +++ b/idl/core/animation/animation_timeline.idl @@ -0,0 +1,14 @@ +// Copyright 2014 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://w3.org/TR/web-animations-1/#the-animationtimeline-interface + +enum TimelinePhase { "inactive", "before", "active", "after" }; +[ + Exposed=Window +] interface AnimationTimeline { + readonly attribute CSSNumberish? currentTime; + [RuntimeEnabled=ScrollTimeline] readonly attribute CSSNumberish? duration; + [RuntimeEnabled=ScrollTimelineCurrentTime] CSSNumericValue? getCurrentTime(optional DOMString rangeName = "cover"); +}; diff --git a/idl/core/animation/base_keyframe.idl b/idl/core/animation/base_keyframe.idl new file mode 100644 index 0000000..e8d6c2b --- /dev/null +++ b/idl/core/animation/base_keyframe.idl @@ -0,0 +1,14 @@ +// Copyright 2018 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://w3.org/TR/web-animations-1/#dictdef-basekeyframe + +enum CompositeOperationOrAuto {"replace", "add", "accumulate", "auto"}; + +typedef (double or TimelineRangeOffset or DOMString) KeyframeOffset; +dictionary BaseKeyframe { + KeyframeOffset? offset = null; + DOMString easing = "linear"; + CompositeOperationOrAuto composite = "auto"; +}; diff --git a/idl/core/animation/base_property_indexed_keyframe.idl b/idl/core/animation/base_property_indexed_keyframe.idl new file mode 100644 index 0000000..dd0ff76 --- /dev/null +++ b/idl/core/animation/base_property_indexed_keyframe.idl @@ -0,0 +1,11 @@ +// Copyright 2017 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://w3.org/TR/web-animations-1/#dictdef-basepropertyindexedkeyframe + +dictionary BasePropertyIndexedKeyframe { + (KeyframeOffset? or sequence) offset = []; + (DOMString or sequence) easing = []; + (CompositeOperationOrAuto or sequence) composite = []; +}; diff --git a/idl/core/animation/computed_effect_timing.idl b/idl/core/animation/computed_effect_timing.idl new file mode 100644 index 0000000..4dd6557 --- /dev/null +++ b/idl/core/animation/computed_effect_timing.idl @@ -0,0 +1,13 @@ +// Copyright 2014 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://w3.org/TR/web-animations-1/#the-computedeffecttiming-dictionary + +dictionary ComputedEffectTiming : EffectTiming { + CSSNumberish endTime; + CSSNumberish activeDuration; + CSSNumberish? localTime; + double? progress; + unrestricted double? currentIteration; +}; diff --git a/idl/core/animation/css/css_animation.idl b/idl/core/animation/css/css_animation.idl new file mode 100644 index 0000000..cfbfa6d --- /dev/null +++ b/idl/core/animation/css/css_animation.idl @@ -0,0 +1,10 @@ +// Copyright 2019 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://drafts.csswg.org/css-animations-2/#the-CSSAnimation-interface + +[Exposed=Window] +interface CSSAnimation : Animation { + readonly attribute CSSOMString animationName; +}; diff --git a/idl/core/animation/css/css_transition.idl b/idl/core/animation/css/css_transition.idl new file mode 100644 index 0000000..a5dc5ea --- /dev/null +++ b/idl/core/animation/css/css_transition.idl @@ -0,0 +1,10 @@ +// Copyright 2019 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://drafts.csswg.org/css-transitions-2/#the-CSSTransition-interface + +[Exposed=Window] +interface CSSTransition : Animation { + readonly attribute CSSOMString transitionProperty; +}; diff --git a/idl/core/animation/document_animation.idl b/idl/core/animation/document_animation.idl new file mode 100644 index 0000000..b0c5290 --- /dev/null +++ b/idl/core/animation/document_animation.idl @@ -0,0 +1,11 @@ +// Copyright 2014 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://w3.org/TR/web-animations-1/#extensions-to-the-document-interface + +[ + ImplementedAs=DocumentAnimation +] partial interface Document { + readonly attribute DocumentTimeline timeline; +}; diff --git a/idl/core/animation/document_timeline.idl b/idl/core/animation/document_timeline.idl new file mode 100644 index 0000000..0668662 --- /dev/null +++ b/idl/core/animation/document_timeline.idl @@ -0,0 +1,11 @@ +// Copyright 2016 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://w3.org/TR/web-animations-1/#the-documenttimeline-interface + +[ + Exposed=Window +] interface DocumentTimeline : AnimationTimeline { + [CallWith=ExecutionContext] constructor(optional DocumentTimelineOptions options = {}); +}; diff --git a/idl/core/animation/document_timeline_options.idl b/idl/core/animation/document_timeline_options.idl new file mode 100644 index 0000000..84ad2d9 --- /dev/null +++ b/idl/core/animation/document_timeline_options.idl @@ -0,0 +1,9 @@ +// Copyright 2017 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://w3.org/TR/web-animations-1/#dictdef-documenttimelineoptions + +dictionary DocumentTimelineOptions { + DOMHighResTimeStamp originTime = 0; +}; diff --git a/idl/core/animation/effect_timing.idl b/idl/core/animation/effect_timing.idl new file mode 100644 index 0000000..8742513 --- /dev/null +++ b/idl/core/animation/effect_timing.idl @@ -0,0 +1,19 @@ +// Copyright 2016 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://w3.org/TR/web-animations-1/#the-effecttiming-dictionaries + +enum FillMode { "none", "forwards", "backwards", "both", "auto" }; +enum PlaybackDirection { "normal", "reverse", "alternate", "alternate-reverse" }; + +dictionary EffectTiming { + (double or CSSNumericValue) delay = 0; + (double or CSSNumericValue) endDelay = 0; + FillMode fill = "auto"; + double iterationStart = 0.0; + unrestricted double iterations = 1.0; + (unrestricted double or CSSNumericValue or DOMString) duration = "auto"; + PlaybackDirection direction = "normal"; + DOMString easing = "linear"; +}; diff --git a/idl/core/animation/get_animations_options.idl b/idl/core/animation/get_animations_options.idl new file mode 100644 index 0000000..bf27144 --- /dev/null +++ b/idl/core/animation/get_animations_options.idl @@ -0,0 +1,9 @@ +// Copyright 2019 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://drafts.csswg.org/web-animations-1/#the-animatable-interface-mixin + +dictionary GetAnimationsOptions { + boolean subtree = false; +}; diff --git a/idl/core/animation/keyframe_animation_options.idl b/idl/core/animation/keyframe_animation_options.idl new file mode 100644 index 0000000..a58acd1 --- /dev/null +++ b/idl/core/animation/keyframe_animation_options.idl @@ -0,0 +1,29 @@ +// Copyright 2017 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://w3.org/TR/web-animations-1/#dictdef-keyframeanimationoptions + +// TODO(kevers): Add scroll-animations-1 link once range(Start|End) are fully +// speced. + +enum TimelineRange { + "none", + "cover", + "contain", + "entry", + "entry-crossing", + "exit", + "exit-crossing" }; + +dictionary TimelineRangeOffset { + TimelineRange rangeName; + CSSNumericValue offset; +}; + +dictionary KeyframeAnimationOptions : KeyframeEffectOptions { + DOMString id = ""; + AnimationTimeline? timeline; + (DOMString or TimelineRangeOffset) rangeStart = "normal"; + (DOMString or TimelineRangeOffset) rangeEnd = "normal"; +}; diff --git a/idl/core/animation/keyframe_effect.idl b/idl/core/animation/keyframe_effect.idl new file mode 100644 index 0000000..5077101 --- /dev/null +++ b/idl/core/animation/keyframe_effect.idl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2013 Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +// https://w3.org/TR/web-animations-1/#the-keyframeeffect-interface + +enum CompositeOperation { "replace", "add", "accumulate" }; + +[ + Exposed=Window +] interface KeyframeEffect : AnimationEffect { + [CallWith=ScriptState, RaisesException, Measure] constructor(Element? target, object? keyframes, optional (unrestricted double or KeyframeEffectOptions) options); + [CallWith=ScriptState, RaisesException, Measure] constructor(KeyframeEffect source); + attribute Element? target; + [RaisesException=Setter] attribute CSSOMString? pseudoElement; + attribute CompositeOperation composite; + [CallWith=ScriptState] sequence getKeyframes(); + [CallWith=ScriptState, RaisesException] void setKeyframes(object? keyframes); +}; diff --git a/idl/core/animation/keyframe_effect_options.idl b/idl/core/animation/keyframe_effect_options.idl new file mode 100644 index 0000000..1f4ec7d --- /dev/null +++ b/idl/core/animation/keyframe_effect_options.idl @@ -0,0 +1,11 @@ +// Copyright 2016 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://w3.org/TR/web-animations-1/#the-keyframeeffectoptions-dictionary + +dictionary KeyframeEffectOptions : EffectTiming { + // TODO(alancutter): Implement iterationComposite + CompositeOperation composite = "replace"; + CSSOMString? pseudoElement = null; +}; diff --git a/idl/core/animation/optional_effect_timing.idl b/idl/core/animation/optional_effect_timing.idl new file mode 100644 index 0000000..0164bad --- /dev/null +++ b/idl/core/animation/optional_effect_timing.idl @@ -0,0 +1,19 @@ +// Copyright 2018 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://drafts.csswg.org/web-animations-1/#the-effecttiming-dictionaries + +dictionary OptionalEffectTiming { + (double or CSSNumericValue) delay; + (double or CSSNumericValue) endDelay; + FillMode fill; + double iterationStart; + unrestricted double iterations; + // CSSNumericValue is only included here so that it continues to match + // EffectTiming which allows code that expects them to match to continue + // working. Duration cannot be set using CSSNumericValue. + (unrestricted double or CSSNumericValue or DOMString) duration; + PlaybackDirection direction; + DOMString easing; +}; diff --git a/idl/core/animation/scroll_timeline.idl b/idl/core/animation/scroll_timeline.idl new file mode 100644 index 0000000..58f7cb2 --- /dev/null +++ b/idl/core/animation/scroll_timeline.idl @@ -0,0 +1,15 @@ +// Copyright 2017 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +enum ScrollAxis { "block", "inline", "x", "y" }; + +// https://wicg.github.io/scroll-animations/#scrolltimeline-interface +[ + RuntimeEnabled=ScrollTimeline, + Exposed=Window +] interface ScrollTimeline : AnimationTimeline { + [CallWith=Document, RaisesException, MeasureAs=ScrollTimelineConstructor] constructor(optional ScrollTimelineOptions options = {}); + readonly attribute Element? source; + readonly attribute ScrollAxis axis; +}; diff --git a/idl/core/animation/scroll_timeline_options.idl b/idl/core/animation/scroll_timeline_options.idl new file mode 100644 index 0000000..b49daa9 --- /dev/null +++ b/idl/core/animation/scroll_timeline_options.idl @@ -0,0 +1,10 @@ +// Copyright 2017 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://wicg.github.io/scroll-animations/#dictdef-scrolltimelineoptions + +dictionary ScrollTimelineOptions { + Element? source; + ScrollAxis axis = "block"; +}; diff --git a/idl/core/animation/view_timeline.idl b/idl/core/animation/view_timeline.idl new file mode 100644 index 0000000..9301a84 --- /dev/null +++ b/idl/core/animation/view_timeline.idl @@ -0,0 +1,16 @@ +// Copyright 2022 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// TODO(crbug.com/1329159): Update link once rewrite replaces the draft +// version. +// https://drafts.csswg.org/scroll-animations-1/rewrite#viewtimeline-interface +[ + RuntimeEnabled=ScrollTimeline, + Exposed=Window +] interface ViewTimeline : ScrollTimeline { + [CallWith=Document, RaisesException, MeasureAs=ViewTimelineConstructor] constructor(optional ViewTimelineOptions options = {}); + readonly attribute Element? subject; + readonly attribute CSSNumericValue? startOffset; + readonly attribute CSSNumericValue? endOffset; +}; diff --git a/idl/core/animation/view_timeline_options.idl b/idl/core/animation/view_timeline_options.idl new file mode 100644 index 0000000..f81b112 --- /dev/null +++ b/idl/core/animation/view_timeline_options.idl @@ -0,0 +1,13 @@ +// Copyright 2022 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://drafts.csswg.org/scroll-animations-1/rewrite#viewtimeline-interface + +dictionary ViewTimelineOptions { + Element subject; + ScrollAxis axis = "block"; + // String in CSS format or sequence of TypedOM values. + // DOMString within sequence is for keyword "auto". + (DOMString or sequence<(DOMString or CSSNumericValue)>) inset = []; +}; diff --git a/idl/core/aom/accessible_node.idl b/idl/core/aom/accessible_node.idl new file mode 100644 index 0000000..02775b6 --- /dev/null +++ b/idl/core/aom/accessible_node.idl @@ -0,0 +1,72 @@ +// Copyright 2017 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Accessibility Object Model node +// Explainer: https://github.com/WICG/aom/blob/gh-pages/explainer.md +// Spec: https://wicg.github.io/aom/spec/ +[ + Exposed=Window, + RuntimeEnabled=AccessibilityObjectModel +] interface AccessibleNode : EventTarget { + [CallWith=Document] constructor(); + attribute AccessibleNode? activeDescendant; + attribute boolean? atomic; + attribute DOMString? autocomplete; + attribute boolean? busy; + attribute DOMString? checked; + attribute long? colCount; + attribute unsigned long? colIndex; + attribute unsigned long? colSpan; + attribute AccessibleNodeList? controls; + attribute DOMString? current; + attribute AccessibleNodeList? describedBy; + attribute AccessibleNodeList? details; + attribute boolean? disabled; + attribute AccessibleNodeList? errorMessage; + attribute boolean? expanded; + attribute AccessibleNodeList? flowTo; + attribute DOMString? hasPopup; + attribute boolean? hidden; + attribute DOMString? invalid; + attribute DOMString? keyShortcuts; + attribute DOMString? label; + attribute AccessibleNodeList? labeledBy; + attribute unsigned long? level; + attribute DOMString? live; + attribute boolean? modal; + attribute boolean? multiline; + attribute boolean? multiselectable; + attribute DOMString? orientation; + attribute AccessibleNodeList? owns; + attribute DOMString? placeholder; + attribute unsigned long? posInSet; + attribute DOMString? pressed; + attribute boolean? readOnly; + attribute DOMString? relevant; + attribute boolean? required; + attribute DOMString? role; + attribute DOMString? roleDescription; + attribute long? rowCount; + attribute unsigned long? rowIndex; + attribute unsigned long? rowSpan; + attribute boolean? selected; + attribute long? setSize; + attribute DOMString? sort; + attribute double? valueMax; + attribute double? valueMin; + attribute double? valueNow; + attribute DOMString? valueText; + + attribute EventHandler onaccessibleclick; + attribute EventHandler onaccessiblecontextmenu; + attribute EventHandler onaccessibledecrement; + attribute EventHandler onaccessiblefocus; + attribute EventHandler onaccessibleincrement; + attribute EventHandler onaccessiblescrollintoview; + + readonly attribute AccessibleNodeList childNodes; + + [RaisesException] void appendChild(AccessibleNode child); + [RaisesException] void removeChild(AccessibleNode child); +}; diff --git a/idl/core/aom/accessible_node_list.idl b/idl/core/aom/accessible_node_list.idl new file mode 100644 index 0000000..c742c8f --- /dev/null +++ b/idl/core/aom/accessible_node_list.idl @@ -0,0 +1,18 @@ +// Copyright 2017 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Accessibility Object Model node list +// Explainer: https://github.com/WICG/aom/blob/gh-pages/explainer.md +// Spec: https://wicg.github.io/aom/spec/ +[ + Exposed=Window, + RuntimeEnabled=AccessibilityObjectModel +] interface AccessibleNodeList { + constructor(optional sequence nodes = []); + attribute unsigned long length; + getter AccessibleNode? item(unsigned long index); + [RaisesException] setter void (unsigned long index, AccessibleNode node); + void add(AccessibleNode node, optional AccessibleNode? before = null); + void remove(long index); +}; diff --git a/idl/core/aom/computed_accessible_node.idl b/idl/core/aom/computed_accessible_node.idl new file mode 100644 index 0000000..5a810b3 --- /dev/null +++ b/idl/core/aom/computed_accessible_node.idl @@ -0,0 +1,54 @@ +// Copyright 2017 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Computed Accessibility node +// Explainer: https://github.com/WICG/aom/blob/gh-pages/explainer.md +// Spec: https://wicg.github.io/aom/spec/ +[ + Exposed=Window, + RuntimeEnabled=AccessibilityObjectModel +] interface ComputedAccessibleNode { + + readonly attribute boolean? atomic; + readonly attribute boolean? busy; + readonly attribute boolean? disabled; + readonly attribute boolean? expanded; + readonly attribute boolean? modal; + readonly attribute boolean? multiline; + readonly attribute boolean? multiselectable; + readonly attribute boolean? readOnly; + readonly attribute boolean? required; + readonly attribute boolean? selected; + + readonly attribute long? colCount; + readonly attribute unsigned long? colIndex; + readonly attribute unsigned long? colSpan; + readonly attribute unsigned long? level; + readonly attribute unsigned long? posInSet; + readonly attribute long? rowCount; + readonly attribute unsigned long? rowIndex; + readonly attribute unsigned long? rowSpan; + readonly attribute long? setSize; + + readonly attribute double? valueMax; + readonly attribute double? valueMin; + readonly attribute double? valueNow; + + readonly attribute DOMString? autocomplete; + readonly attribute DOMString? checked; + readonly attribute DOMString? keyShortcuts; + readonly attribute DOMString? name; + readonly attribute DOMString? placeholder; + readonly attribute DOMString? role; + readonly attribute DOMString? roleDescription; + readonly attribute DOMString? valueText; + + readonly attribute ComputedAccessibleNode? parent; + readonly attribute ComputedAccessibleNode? firstChild; + readonly attribute ComputedAccessibleNode? lastChild; + readonly attribute ComputedAccessibleNode? previousSibling; + readonly attribute ComputedAccessibleNode? nextSibling; + + [CallWith=ScriptState] Promise ensureUpToDate(); +}; diff --git a/idl/core/clipboard/data_transfer.idl b/idl/core/clipboard/data_transfer.idl new file mode 100644 index 0000000..7209dd8 --- /dev/null +++ b/idl/core/clipboard/data_transfer.idl @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2008 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +// https://html.spec.whatwg.org/C/#the-datatransfer-interface + +[ + Exposed=Window +] interface DataTransfer { + constructor(); + attribute DOMString dropEffect; + attribute DOMString effectAllowed; + + [SameObject] readonly attribute DataTransferItemList items; + + void setDragImage(Element image, long x, long y); + + /* old interface */ + [CachedAttribute=hasDataStoreItemListChanged] readonly attribute FrozenArray types; + DOMString getData(DOMString format); + void setData(DOMString format, DOMString data); + void clearData(optional DOMString format); + [SameObject] readonly attribute FileList files; +}; diff --git a/idl/core/clipboard/data_transfer_item.idl b/idl/core/clipboard/data_transfer_item.idl new file mode 100644 index 0000000..3e163a8 --- /dev/null +++ b/idl/core/clipboard/data_transfer_item.idl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2011 Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +// https://html.spec.whatwg.org/C/#the-datatransferitem-interface + +[ + Exposed=Window +] interface DataTransferItem { + readonly attribute DOMString kind; + readonly attribute DOMString type; + [CallWith=ScriptState] void getAsString(FunctionStringCallback? callback); + File? getAsFile(); +}; \ No newline at end of file diff --git a/idl/core/clipboard/data_transfer_item_list.idl b/idl/core/clipboard/data_transfer_item_list.idl new file mode 100644 index 0000000..2403585 --- /dev/null +++ b/idl/core/clipboard/data_transfer_item_list.idl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2011 Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +// https://html.spec.whatwg.org/C/#the-datatransferitemlist-interface + +[ + Exposed=Window +] interface DataTransferItemList { + readonly attribute unsigned long length; + [ImplementedAs=item] getter DataTransferItem (unsigned long index); + [RaisesException] DataTransferItem? add(DOMString data, DOMString type); + DataTransferItem? add(File file); + [RaisesException, ImplementedAs=deleteItem] void remove(unsigned long index); + void clear(); +}; diff --git a/idl/core/css/computed_style_field_aliases.json5 b/idl/core/css/computed_style_field_aliases.json5 new file mode 100644 index 0000000..f59f92f --- /dev/null +++ b/idl/core/css/computed_style_field_aliases.json5 @@ -0,0 +1,20 @@ +{ +// This file specifies all alias used in css_properties.json5, these alias +// replace frequently used combination of property. + "parameters": { + }, + "data": [ + { + "name": "", + "field_template": "external", + "type_name": "Length", + "include_paths": ["third_party/blink/renderer/platform/geometry/length.h"] + }, + { + "name": "", + "field_template": "external", + "type_name": "StyleColor", + "include_paths": ["third_party/blink/renderer/core/css/style_color.h"], + } + ] +} diff --git a/idl/core/css/css.idl b/idl/core/css/css.idl new file mode 100644 index 0000000..02f8f48 --- /dev/null +++ b/idl/core/css/css.idl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2012 Motorola Mobility Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the distribution. + * 3. Neither the name of Motorola Mobility Inc. nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +// https://drafts.csswg.org/css-conditional/#the-css-interface + +[ + Exposed=Window, + ImplementedAs=DOMWindowCSS +] namespace CSS { + [CallWith=ExecutionContext] boolean supports(DOMString property, DOMString value); + [CallWith=ExecutionContext] boolean supports(DOMString conditionText); + DOMString escape(DOMString ident); +}; diff --git a/idl/core/css/css_condition_rule.idl b/idl/core/css/css_condition_rule.idl new file mode 100644 index 0000000..c306ae7 --- /dev/null +++ b/idl/core/css/css_condition_rule.idl @@ -0,0 +1,12 @@ +// Copyright 2016 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://drafts.csswg.org/css-conditional/#the-cssconditionrule-interface + +[ + Exposed=Window +] interface CSSConditionRule : CSSGroupingRule { + // TODO(xing.xu): readonly should be removed. + readonly attribute DOMString conditionText; +}; diff --git a/idl/core/css/css_container_rule.idl b/idl/core/css/css_container_rule.idl new file mode 100644 index 0000000..5f7eff6 --- /dev/null +++ b/idl/core/css/css_container_rule.idl @@ -0,0 +1,11 @@ +// Copyright 2020 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +[ + Exposed=Window +] interface CSSContainerRule : CSSConditionRule { + // TODO(crbug.com/1145970): Spec and implement. + readonly attribute DOMString containerName; + readonly attribute DOMString containerQuery; +}; diff --git a/idl/core/css/css_counter_style_rule.idl b/idl/core/css/css_counter_style_rule.idl new file mode 100644 index 0000000..35d9b98 --- /dev/null +++ b/idl/core/css/css_counter_style_rule.idl @@ -0,0 +1,19 @@ +// Copyright 2020 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://drafts.csswg.org/css-counter-styles-3/#the-csscounterstylerule-interface +[Exposed=Window] +interface CSSCounterStyleRule : CSSRule { + [SetterCallWith=ExecutionContext] attribute CSSOMString name; + [SetterCallWith=ExecutionContext] attribute CSSOMString system; + [SetterCallWith=ExecutionContext] attribute CSSOMString symbols; + [SetterCallWith=ExecutionContext] attribute CSSOMString additiveSymbols; + [SetterCallWith=ExecutionContext] attribute CSSOMString negative; + [SetterCallWith=ExecutionContext] attribute CSSOMString prefix; + [SetterCallWith=ExecutionContext] attribute CSSOMString suffix; + [SetterCallWith=ExecutionContext] attribute CSSOMString range; + [SetterCallWith=ExecutionContext] attribute CSSOMString pad; + [SetterCallWith=ExecutionContext] attribute CSSOMString speakAs; + [SetterCallWith=ExecutionContext] attribute CSSOMString fallback; +}; diff --git a/idl/core/css/css_font_face_rule.idl b/idl/core/css/css_font_face_rule.idl new file mode 100644 index 0000000..074647a --- /dev/null +++ b/idl/core/css/css_font_face_rule.idl @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. + * Copyright (C) 2006 Samuel Weinig + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +// https://drafts.csswg.org/css-fonts/#om-fontface + +[ + Exposed=Window +] interface CSSFontFaceRule : CSSRule { + [Measure] readonly attribute CSSStyleDeclaration style; +}; diff --git a/idl/core/css/css_font_feature_values_rule.idl b/idl/core/css/css_font_feature_values_rule.idl new file mode 100644 index 0000000..0ee2386 --- /dev/null +++ b/idl/core/css/css_font_feature_values_rule.idl @@ -0,0 +1,22 @@ +// Copyright 2022 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://drafts.csswg.org/css-fonts-4/#om-fontfeaturevalues + +interface CSSFontFeatureValuesRule : CSSRule { + attribute CSSOMString fontFamily; + + readonly attribute CSSFontFeatureValuesMap annotation; + readonly attribute CSSFontFeatureValuesMap ornaments; + readonly attribute CSSFontFeatureValuesMap stylistic; + readonly attribute CSSFontFeatureValuesMap swash; + readonly attribute CSSFontFeatureValuesMap characterVariant; + readonly attribute CSSFontFeatureValuesMap styleset; +}; + +interface CSSFontFeatureValuesMap { + maplike>; + undefined set(CSSOMString featureValueName, + (unsigned long or sequence) values); +}; diff --git a/idl/core/css/css_font_palette_values_rule.idl b/idl/core/css/css_font_palette_values_rule.idl new file mode 100644 index 0000000..64a8fcf --- /dev/null +++ b/idl/core/css/css_font_palette_values_rule.idl @@ -0,0 +1,13 @@ +// Copyright 2022 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://drafts.csswg.org/css-fonts-4/#om-fontpalettevalues + +[Exposed=Window] +interface CSSFontPaletteValuesRule : CSSRule { + readonly attribute CSSOMString name; + readonly attribute CSSOMString fontFamily; + readonly attribute CSSOMString basePalette; + readonly attribute CSSOMString overrideColors; +}; diff --git a/idl/core/css/css_group_config.json5 b/idl/core/css/css_group_config.json5 new file mode 100644 index 0000000..19100eb --- /dev/null +++ b/idl/core/css/css_group_config.json5 @@ -0,0 +1,25 @@ +// DO NOT EDIT: This file is generated by manually running: +// third_party/blink/renderer/build/scripts/update_css_ranking.py +// +// The grouping parameter is a cumulative distribution over the whole set of ranked +// CSS properties. +{ + "data": [ + { + "name": "rare_non_inherited_properties_rule", + "cumulative_distribution": [ + 0.1366120218579235, + 0.2185792349726776, + 1.0 + ] + }, + { + "name": "rare_inherited_properties_rule", + "cumulative_distribution": [ + 0.6379781420765027, + 1.0 + ] + } + ], + "parameters": {} +} diff --git a/idl/core/css/css_grouping_rule.idl b/idl/core/css/css_grouping_rule.idl new file mode 100644 index 0000000..2a3db77 --- /dev/null +++ b/idl/core/css/css_grouping_rule.idl @@ -0,0 +1,13 @@ +// Copyright 2015 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://drafts.csswg.org/cssom/#the-cssgroupingrule-interface + +[ + Exposed=Window +] interface CSSGroupingRule : CSSRule { + [SameObject] readonly attribute CSSRuleList cssRules; + [RaisesException, CallWith=ExecutionContext] unsigned long insertRule(CSSOMString rule, optional unsigned long index = 0); + [RaisesException] void deleteRule(unsigned long index); +}; diff --git a/idl/core/css/css_import_rule.idl b/idl/core/css/css_import_rule.idl new file mode 100644 index 0000000..6f4d85f --- /dev/null +++ b/idl/core/css/css_import_rule.idl @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. + * Copyright (C) 2006 Samuel Weinig + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +// https://drafts.csswg.org/cssom/#the-cssimportrule-interface + +[ + Exposed=Window +] interface CSSImportRule : CSSRule { + // TODO(bhagirathi.s@samsung.com): href should be USVString. + readonly attribute DOMString href; + [SameObject, PutForwards=mediaText] readonly attribute MediaList media; + [SameObject] readonly attribute CSSStyleSheet styleSheet; + + readonly attribute CSSOMString? layerName; + readonly attribute CSSOMString? supportsText; +}; diff --git a/idl/core/css/css_keyframe_rule.idl b/idl/core/css/css_keyframe_rule.idl new file mode 100644 index 0000000..16d3d08 --- /dev/null +++ b/idl/core/css/css_keyframe_rule.idl @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2008 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +// https://drafts.csswg.org/css-animations/#interface-csskeyframerule + +[ + Exposed=Window +] interface CSSKeyframeRule : CSSRule { + [RaisesException=Setter, SetterCallWith=ExecutionContext] attribute DOMString keyText; + [SameObject, PutForwards=cssText] readonly attribute CSSStyleDeclaration style; +}; diff --git a/idl/core/css/css_keyframes_rule.idl b/idl/core/css/css_keyframes_rule.idl new file mode 100644 index 0000000..0f1ef7e --- /dev/null +++ b/idl/core/css/css_keyframes_rule.idl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2008 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +// https://drafts.csswg.org/css-animations/#interface-csskeyframesrule + +[ + Exposed=Window +] interface CSSKeyframesRule : CSSRule { + attribute DOMString name; + readonly attribute CSSRuleList cssRules; + [RuntimeEnabled=CSSKeyframesRuleLength] readonly attribute unsigned long length; + + getter CSSKeyframeRule (unsigned long index); + [CallWith=ExecutionContext] void appendRule(DOMString rule); + [CallWith=ExecutionContext] void deleteRule(DOMString select); + [CallWith=ExecutionContext] CSSKeyframeRule? findRule(DOMString select); +}; diff --git a/idl/core/css/css_layer_block_rule.idl b/idl/core/css/css_layer_block_rule.idl new file mode 100644 index 0000000..e7ed02d --- /dev/null +++ b/idl/core/css/css_layer_block_rule.idl @@ -0,0 +1,10 @@ +// Copyright 2021 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://drafts.csswg.org/css-cascade-5/#the-csslayerblockrule-interface +[ + Exposed=Window +] interface CSSLayerBlockRule : CSSGroupingRule { + readonly attribute CSSOMString name; +}; diff --git a/idl/core/css/css_layer_statement_rule.idl b/idl/core/css/css_layer_statement_rule.idl new file mode 100644 index 0000000..4b3b095 --- /dev/null +++ b/idl/core/css/css_layer_statement_rule.idl @@ -0,0 +1,10 @@ +// Copyright 2021 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://drafts.csswg.org/css-cascade-5/#the-csslayerstatementrule-interface +[ + Exposed=Window +] interface CSSLayerStatementRule : CSSRule { + readonly attribute FrozenArray nameList; +}; diff --git a/idl/core/css/css_media_rule.idl b/idl/core/css/css_media_rule.idl new file mode 100644 index 0000000..d4e4809 --- /dev/null +++ b/idl/core/css/css_media_rule.idl @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. + * Copyright (C) 2006 Samuel Weinig + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +// https://drafts.csswg.org/cssom/#the-cssmediarule-interface + +[ + Exposed=Window +] interface CSSMediaRule : CSSConditionRule { + [SameObject, PutForwards=mediaText] readonly attribute MediaList media; +}; diff --git a/idl/core/css/css_namespace_rule.idl b/idl/core/css/css_namespace_rule.idl new file mode 100644 index 0000000..d73a481 --- /dev/null +++ b/idl/core/css/css_namespace_rule.idl @@ -0,0 +1,13 @@ +// Copyright 2015 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://drafts.csswg.org/cssom/#the-cssnamespacerule-interface + +[ + Exposed=Window +] interface CSSNamespaceRule : CSSRule { + + readonly attribute DOMString namespaceURI; + readonly attribute DOMString prefix; +}; diff --git a/idl/core/css/css_page_rule.idl b/idl/core/css/css_page_rule.idl new file mode 100644 index 0000000..ae81873 --- /dev/null +++ b/idl/core/css/css_page_rule.idl @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. + * Copyright (C) 2006 Samuel Weinig + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +// https://drafts.csswg.org/cssom/#the-csspagerule-interface + +// TODO(foolip): CSSPageRule should inherit from CSSGroupingRule. +// crbug.com/496381. To internally implement this as grouping rule, +// margin at-rules should be implemented crbug.com/320370, since the +// spec https://drafts.csswg.org/css-page/#at-page-rule allows only +// margin at-rules inside @page. +[ + Exposed=Window +] interface CSSPageRule : CSSRule { + [SetterCallWith=ExecutionContext] attribute DOMString selectorText; + [SameObject, PutForwards=cssText] readonly attribute CSSStyleDeclaration style; +}; diff --git a/idl/core/css/css_position_try_rule.idl b/idl/core/css/css_position_try_rule.idl new file mode 100644 index 0000000..4b4bee2 --- /dev/null +++ b/idl/core/css/css_position_try_rule.idl @@ -0,0 +1,11 @@ +// Copyright 2024 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://drafts.csswg.org/css-anchor-position-1/#idl-index + +[Exposed=Window, RuntimeEnabled=CSSAnchorPositioning] +interface CSSPositionTryRule : CSSRule { + readonly attribute CSSOMString name; + [SameObject, PutForwards=cssText] readonly attribute CSSStyleDeclaration style; +}; diff --git a/idl/core/css/css_primitive_value_units.json5 b/idl/core/css/css_primitive_value_units.json5 new file mode 100644 index 0000000..bd6a81b --- /dev/null +++ b/idl/core/css/css_primitive_value_units.json5 @@ -0,0 +1,262 @@ +{ + // This file specifies the unit strings used in CSSPrimitiveValues. + + parameters: { + unit_type: {}, + }, + + data: [ + { + name: "em", + unit_type: "kEms", + }, + { + name: "ex", + unit_type: "kExs", + }, + { + name: "px", + unit_type: "kPixels", + }, + { + name: "cm", + unit_type: "kCentimeters", + }, + { + name: "mm", + unit_type: "kMillimeters", + }, + { + name: "q", + unit_type: "kQuarterMillimeters", + }, + { + name: "in", + unit_type: "kInches", + }, + { + name: "pt", + unit_type: "kPoints", + }, + { + name: "pc", + unit_type: "kPicas", + }, + { + name: "deg", + unit_type: "kDegrees", + }, + { + name: "rad", + unit_type: "kRadians", + }, + { + name: "grad", + unit_type: "kGradians", + }, + { + name: "ms", + unit_type: "kMilliseconds", + }, + { + name: "s", + unit_type: "kSeconds", + }, + { + name: "hz", + unit_type: "kHertz", + }, + { + name: "khz", + unit_type: "kKilohertz", + }, + { + name: "dpi", + unit_type: "kDotsPerInch", + }, + { + name: "dpcm", + unit_type: "kDotsPerCentimeter", + }, + { + name: "dppx", + unit_type: "kDotsPerPixel", + }, + { + name: "x", + unit_type: "kX", + }, + { + name: "vw", + unit_type: "kViewportWidth", + }, + { + name: "vh", + unit_type: "kViewportHeight", + }, + { + name: "vi", + unit_type: "kViewportInlineSize", + }, + { + name: "vb", + unit_type: "kViewportBlockSize", + }, + { + name: "vmin", + unit_type: "kViewportMin", + }, + { + name: "vmax", + unit_type: "kViewportMax", + }, + { + name: "svw", + unit_type: "kSmallViewportWidth", + }, + { + name: "svh", + unit_type: "kSmallViewportHeight", + }, + { + name: "svi", + unit_type: "kSmallViewportInlineSize", + }, + { + name: "svb", + unit_type: "kSmallViewportBlockSize", + }, + { + name: "svmin", + unit_type: "kSmallViewportMin", + }, + { + name: "svmax", + unit_type: "kSmallViewportMax", + }, + { + name: "lvw", + unit_type: "kLargeViewportWidth", + }, + { + name: "lvh", + unit_type: "kLargeViewportHeight", + }, + { + name: "lvi", + unit_type: "kLargeViewportInlineSize", + }, + { + name: "lvb", + unit_type: "kLargeViewportBlockSize", + }, + { + name: "lvmin", + unit_type: "kLargeViewportMin", + }, + { + name: "lvmax", + unit_type: "kLargeViewportMax", + }, + { + name: "dvw", + unit_type: "kDynamicViewportWidth", + }, + { + name: "dvh", + unit_type: "kDynamicViewportHeight", + }, + { + name: "dvi", + unit_type: "kDynamicViewportInlineSize", + }, + { + name: "dvb", + unit_type: "kDynamicViewportBlockSize", + }, + { + name: "dvmin", + unit_type: "kDynamicViewportMin", + }, + { + name: "dvmax", + unit_type: "kDynamicViewportMax", + }, + { + name: "cqw", + unit_type: "kContainerWidth", + }, + { + name: "cqh", + unit_type: "kContainerHeight", + }, + { + name: "cqi", + unit_type: "kContainerInlineSize", + }, + { + name: "cqb", + unit_type: "kContainerBlockSize", + }, + { + name: "cqmin", + unit_type: "kContainerMin", + }, + { + name: "cqmax", + unit_type: "kContainerMax", + }, + { + name: "rem", + unit_type: "kRems", + }, + { + name: "rex", + unit_type: "kRexs", + }, + { + name: "rch", + unit_type: "kRchs", + }, + { + name: "ric", + unit_type: "kRics", + }, + { + name: "fr", + unit_type: "kFlex", + }, + { + name: "turn", + unit_type: "kTurns", + }, + { + name: "ch", + unit_type: "kChs", + }, + { + name: "ic", + unit_type: "kIcs", + }, + { + name: "lh", + unit_type: "kLhs", + }, + { + name: "rlh", + unit_type: "kRlhs", + }, + { + name: "cap", + unit_type: "kCaps", + }, + { + name: "rcap", + unit_type: "kRcaps", + }, + { + name: "__qem", + unit_type: "kQuirkyEms", + }, + ], +} diff --git a/idl/core/css/css_properties.json5 b/idl/core/css/css_properties.json5 new file mode 100644 index 0000000..02a54b3 --- /dev/null +++ b/idl/core/css/css_properties.json5 @@ -0,0 +1,8863 @@ +// Copyright 2017 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +{ +// This file specifies all the CSS properties we support and the necessary +// information for our code generation. The various supported arguments +// are described below with example usage + + parameters: { + // - alias_for: "other-property" + // Properties specifying alias_for should be virtually identical to the + // properties they alias. Minor parsing differences are allowed as long as + // the CSSValues created are of the same format of the aliased property. + alias_for: { + }, + + // - alternative_of: "other-property" + // + // Makes the the property an "alternative" of another property. + // An alternative property has a separate CSSProperty class which (based on + // runtime flags) is used internally in place of the main CSSProperty class. + // This makes it possible to e.g. switch a property definition from a + // longhand to a shorthand at runtime. + // + // When parsing text (e.g. "animation") into a CSSPropertyID, the + // alternative will be chosen if it is enabled. Otherwise, the main + // property will be chosen. + // + // A main property may only have a single alternative property. It is + // however possible to have an alternative of an alternative, in which case + // the chain is followed. In other words, we choose the "innermost" + // alternative that's enabled. + // + // Note that an alternative property ignores any runtime_flag on the main + // property. + alternative_of: { + valid_type: "str", + }, + + // - longhands: ["property", "other-property"] + // The property is a shorthand for several other properties. + longhands: { + }, + + // - property_methods: ["method1", "method2"] + // List of methods that are implemented in the CSSProperty for this + // property. + property_methods: { + default: [], + valid_type: "list", + valid_values: [ + "ParseSingleValue", + "ParseShorthand", + "CSSValueFromComputedStyleInternal", + "ColorIncludingFallback", + "InitialValue" + ], + }, + + // Suppresses code generation for the specified style builder functions. + // This allows us to provide hand-written style builder functions in cases + // where it's needed. + style_builder_custom_functions: { + default: [], + valid_type: "list", + valid_values: [ + "initial", + "inherit", + "value", + ], + }, + + // Affects how the style building functions are generated. + // + // Several property groups (e.g. color properties) deviate from the default + // style builder application, yet there are enough of these properties that + // we want to generate code for them rather than having manually written + // style builder functions. + style_builder_template: { + valid_values: [ + "animation", + "auto", + "background_layer", + "border_image", + "color", + "counter", + "empty", + "grid", + // The legacy template means that regular code generation should not be + // be performed, and that the property is hard-coded in + // style_builder_functions.cc.tmpl. + "legacy", + "mask_box", + "mask_layer", + "transition", + "visited_color", + ], + }, + + // Additional arguments to 'style_builder_template' may be provided here. + style_builder_template_args: { + default: {}, + valid_type: "dict" + }, + + // - is_descriptor + // Whether it is a CSS descriptor. Descriptors define the characteristics of + // an at-rule. E.g. @font-face is an at-rule, and src is a valid descriptor + // for @font-face. Descriptors and CSS properties with the same name are + // handled together in this file. + // TODO(crbug.com/752745): Don't use CSSPropertyID for descriptors. + // - is_property + // Whether it is a CSS property. If this is false then is_descriptor must be + // true. + is_descriptor: { + default: false, + valid_type: "bool", + }, + is_property: { + default: true, + valid_type: "bool", + }, + + // - independent + // This property affects only one field on ComputedStyle, and can be set + // directly during inheritance instead of forcing a recalc. + // StyleResolver and StyleAdjuster are not invoked when these properties + // are changed on a parent. Recalcs only happen if at least one + // non-independent inherited property is changed in the parent. + independent: { + default: false, + valid_type: "bool", + }, + + // - semi_independent_variable + // This property affects to the {Inherited, NonInherited}Variable data fields so that we + // can assume that the custom properties might not depend on any other property. We can + // handle these properties so that they are excluded from the shared Inherited/NohInherited + // logic, like the Equal and inheritance functions. + semi_independent_variable: { + default: false, + valid_type: "bool", + }, + + // - affected_by_all + // The affected_by_all flag indicates whether a change to the CSS property + // "all" affects this property. + // c.f. https://drafts.csswg.org/css-cascade/#all-shorthand + // Descriptors (is_property: false) are never affected by changes to the + // all property. + affected_by_all: { + default: true, + valid_type: "bool", + }, + + // - interpolable + // The interpolable flag indicates whether a property can be animated + // smoothly. If this flag is set, the property should also be added to the + // switch statements in CSSPropertyEquality and CSSInterpolationTypesMap. + interpolable: { + default: false, + valid_type: "bool", + }, + + // - inherited + // The property will inherit by default if no value is specified, typically + // mentioned in specifications as "Inherited: yes" + inherited: { + default: false, + valid_type: "bool", + }, + + // - compositable + // The property can be animated by the compositor + compositable: { + default: false, + valid_type: "bool", + }, + + // - computable + // + // Whether or not a property appears on CSSStyleDeclaration. + // + // By default a property is computable if it's all of the following: + // + // - Not an alias + // - A property (as opposed to a descriptor) + // - A longhand + // + // Otherwise the property is (by default) _not_ computable. + // + // If an explicit true/false value is provided, this overrides the default, + // and the property unconditionally becomes computable/not-computable + // according to the value specified. + // + // Internal properties (-internal-*) are never computable, and using this + // flag on internal properties is an error. + computable: { + valid_type: "bool", + }, + + // - runtime_flag + // The name of the flag on RuntimeEnabledFeatures + // (e.g. "CSSOverscrollBehavior") that conditionally enables the + // property. + // This doesn't currently work with alias_for. + runtime_flag: { + valid_type: "str", + }, + + // - field_group + // Name of the group that this field belongs to. Fields in the same group + // are stored together as a nested class inside ComputedStyle and + // dynamically allocated on use. + // Leave this out if the field is stored directly on ComputedStyle. + // If you want to auto group this property use: field_group: "*[->subgroup]" + // If you use the auto grouping function check if your property is in + // css_properties_ranking.json5 + // - If yes, only provide: field_group: "*" + // - If no, you can specify a subgroup following the asterisk: + // field_group: "*[->subgroup]" + field_group: { + valid_type: "str", + }, + + // - field_size + // Number of bits needed to store this field. + field_size: { + valid_type: "int", + }, + + // - field_template + // Affects how the interface to this field is generated. + // TODO(sashab, meade): Remove this once TypedOM types are specified for + // every property, since this value can be inferred from that. + field_template: { + valid_values: [ + // Field is stored as an enum and has a initial/getter/setter/resetter. + // If include_paths is empty, we would also generate the corresponding + // enum definition in ComputedStyleConstants.h. + "keyword", + // Field can take on any subset of values from a list of keywords. + "multi_keyword", + // Semantically equivalent to keyword, but the type is represented as a + // bit flag field as with multi_keyword as a performance optimization + // for matching multiple values. + "bitset_keyword", + // Field stores a primitive value like int/bool. The type is specified + // by type_name. The interface has a initial/getter/setter/resetter. + "primitive", + // Field is stored as a bool, whose default value is false + // and can only be set to true. Has a initial/getter/setter. + "monotonic_flag", + // A derived flag is derived from other information on ComputedStyle. + // It has no setters, and is instead calculated on first access by + // the function specified by 'derived_from'. + // + // Derived flags must be marked as 'mutable', and can not have a + // 'field_group' (i.e. must exist on the top level of ComputedStyle). + // + // See computed_style_extra_fields.json5 for examples of derived flags. + "derived_flag", + // Field has type specified at type_name and has a getter/setter. + // Also has a setter taking an rvalue reference. Cannot be packed. + "external", + // Field is stored as a wrapper_pointer_name to a class. + "pointer", + // Preset "length" for external and Length class + // This preset represents alias templates that will be replace by + // entries in CSSFieldAlias.json5. + "<[a-z]+>" + ], + }, + + // - anchor_mode + // Determines whether or not anchor() / anchor-size() queries are allowed + // in the relevant property. + // + // If omitted, no anchor queries are allowed. + // + // See also AnchorScope::Mode. + anchor_mode: { + valid_values: [ + // anchor() + "left", + "right", + "top", + "bottom", + + // anchor-size() + "size", + ] + }, + + // Valid for field_template:derived_flag only. This specifies the function + // on ComputedStyle used to calculate the flag. + derived_from: { + valid_type: "str", + }, + + // - include_paths: ["path/to/file1.h", "path/to/file2.h"] + // List of files containing the definitions of types in 'type_name'. Each of + // these files will appear as a #include in ComputedStyleBase.h. For + // example, if the type_name is 'Vector', include_paths should be + // ["third_party/blink/renderer/platform/wtf/vector.h", + // "third_party/blink/renderer/platform/wtf/text/wtf_string.h"] + include_paths: { + default: [], + }, + + // Name of the pointer type that wraps this field (e.g. scoped_refptr). + wrapper_pointer_name: { + valid_type: "str", + valid_values: ["scoped_refptr", "Member", "std::unique_ptr"], + }, + + // - keywords: ["keyword1", "keyword2"] + // This specifies all valid keyword values for the property. + // TODO(sashab): Once all properties are represented here, delete + // CSSValueKeywords.in and use this list instead. + keywords: { + default: [], + }, + + // - default_value: "keyword-value" + // This specifies the default value for this field. + // - for keyword fields, this is the initial keyword + // - for other fields, this is a string containg the C++ expression + // that is used to initialise the field. + default_value: { + }, + + // Flags which go into CSSOMTypes: + // - typedom_types: ["Keyword", "Type", "OtherType"] + // The property can take types specified in typedom_types for CSS Typed OM. + // - separator + // The property supports a list of values, and when there is more than one, + // it is separated with this character. + typedom_types: { + default: [], + valid_type: "list", + valid_values: [ + "Angle", + "Flex", + "Frequency", + "Keyword", + "Length", + "Number", + "Percentage", + "Position", + "Resolution", + "Time", + "Transform", + "Unparsed", + "Image" + ], + }, + separator: { + valid_values: [",", " ", "/"], + }, + + // The remaining arguments are used for the StyleBuilder and allow us to + // succinctly describe how to apply properties. When default handlers are + // not sufficient, we should prefer to use converter, and failing that + // define custom property handlers in CSSProperty subclasses. We should only + // use style_builder_functions.tmpl to define handlers when there are + // multiple properties requiring the same handling, but converter doesn't + // suffice. + + // - font + // The default property handlers call into the FontBuilder instead of + // setting values directly onto the ComputedStyle + font: { + default: false, + valid_type: "bool", + }, + + // - name_for_methods: "BlendMode" + // Tweaks how we choose defaults for getter, setter, initial and type_name. + // For example, setting this to BlendMode will make us use a setter of + // setBlendMode + // - initial + // The static function to invoke on ComputedStyleInitialValues + // or FontBuilder to retrieve the initial value. + // Defaults to e.g. InitialBorderBottomLeft. + // - getter + // The ComputedStyle getter, defaults to e.g. BorderBottomLeft + // - setter + // The ComputedStyle setter, defaults to e.g. GetBorderBottomLeft + // - type_name + // The computed type for the property. Only required for the default value + // application, defaults to e.g. EDisplay + name_for_methods: { + }, + initial: { + }, + getter: { + }, + setter: { + }, + type_name: { + }, + + // - computed_style_protected_functions + // + // Any function specified in the list will be generated with protected + // visibility. This is useful if the default-generated getter function is + // typically not what clients want to use. + // + // For example, the Clear getter is protected to force clients to take + // TextDirection into account. + computed_style_protected_functions: { + default: [], + valid_type: "list", + valid_values: ["getter", "setter", "resetter"], + }, + + // - computed_style_custom_functions + // + // Any function specified in the list will be generated with protected + // visibility and an "Internal" suffix. A custom accessor (with the suffix- + // less name) must be manually provided on ComputedStyle. This is useful for + // e.g. properties that have special behavior that affects the computed + // value of the property. + // + // For example, the computed value of border-left-width magically becomes + // zero if border-left-style is none or hidden. The generated code can not + // express this, hence a custom one is specified. + // + // Any custom function automatically gets protected visiblity, and therefore + // it is not valid to specify a function as both custom and explicitly + // protected (using computed_style_protected_functions). + computed_style_custom_functions: { + default: [], + valid_type: "list", + valid_values: ["initial", "getter", "setter", "resetter"], + }, + + // - converter: "ConvertRadius" + // The StyleBuilder will call the specified function on + // StyleBuilderConverter to convert a CSSValue to an appropriate platform + // value + converter: { + }, + + // - logical_property_group: used for properties that depend on writing-mode + // and/or text-direction (e.g. css-logical), and for their physical counterparts. + // Represents the "logical property group" described by css-logical + // (https://drafts.csswg.org/css-logical/#logical-property-group). + logical_property_group: { + // A name identifying the logical property group. All logical and physical + // properties in the same group should have the same name. + // + // In terms of code generation, each value corresponds to 2 functions in + // CSSDirectionAwareResolver. E.g. a value of "foo-bar" would correspond to: + // - CSSDirectionAwareResolver::LogicalFooBarMapping(), containing the + // properties of the group with a flow-relative mapping logic. + // - CSSDirectionAwareResolver::PhysicalFooBarMapping(), containing the + // properties of the group with a physical mapping logic. + name: { + valid_type: "str", + valid_values: ["border", "border-color", "border-radius", + "border-style", "border-width", "contain-intrinsic-size", + "inset", "margin", "max-size", "min-size", "overflow", + "padding", "scroll-margin", "scroll-padding", + "scroll-start", "scroll-start-target", "size", + "visited-border-color"], + }, + // The name of the mapping function used to convert between equivalent + // logical and physical properties within the same group. Corresponds to + // a function in CSSDirectionAwareResolver. E.g. a value of "baz" + // corresponds to CSSDirectionAwareResolver::ResolveBaz(...). + // + // Also identifies the mapping logic of the group + // (https://drafts.csswg.org/css-logical-1/#mapping-logic) + resolver: { + valid_type: "str", + valid_values: [ + // Mapping logic: flow-relative (logical) + "block", "inline", + "block-start", "block-end", "inline-start", "inline-end", + "start-start", "start-end", "end-start", "end-end", + // Mapping logic: physical + "vertical", "horizontal", + "top", "bottom", "left", "right", + "top-left", "top-right", "bottom-right", "bottom-left", + ], + }, + }, + + // - surrogate_for: "other-property" + // + // A surrogate is a property which acts like another property. Unlike an + // alias (which is resolved as parse-time), a surrogate exists alongside + // the original in the parsed rule, and in the cascade. + // + // However, surrogates modify the same fields on ComputedStyle. Examples of + // surrogates are: + // + // * -webkit-writing-mode (surrogate of writing-mode) + // * inline-size (surrogate for width, or height) + // * All css-logical properties in general + // + // Note that for properties that use logical_property_group, + // 'surrogate_for' should not be set, as the mapping is determined at + // run-time (depending og e.g. 'direction'). + surrogate_for: { + valid_type: "str", + }, + + // - priority: 1 + // The priority level for computing the property. Properties with the same + // priority level are grouped and computed in alphabetical order. + // Anything above zero are designated "high priority" and done before + // certain operations, like updating fonts. (Most high-priority properties + // are 1; 2 and higher are used only in special circumstances.) This mechanism + // is primarily useful for properties that influence other properties, + // like line-height influencing lh units. Negative values are not used. + priority: { + default: 0, + valid_type: "int", + }, + + // - layout_dependent + // The resolved value used for getComputedStyle() depends on layout for this + // property, which means we may need to update layout to return the correct + // value from getComputedStyle(). Setting this to true will override + // IsLayoutDependentProperty() to return true and require a custom + // IsLayoutDependent() which typically checks for LayoutObject existence and + // type. + layout_dependent: { + default: false, + valid_type: "bool", + }, + + // - visited_property_for: "other-property" + // CSS properties that are allowed in :visited selectors each have an + // internal "companion" property with the visited value. For privacy reasons + // CSSOM APIs must return computed values as if links aren't visited, but + // for rendering purposes we need the value with the :visited rules applied. + // + // This means that the regular property (e.g. background-color) represents + // the value as seen by CSSOM, and the -internal-visited counterpart (e.g. + // -internal-visited-background-color) represents the same property as seen + // by painting. + visited_property_for: { + valid_type: "str", + }, + + // - valid_for_first_letter: true + // + // https://drafts.csswg.org/css-pseudo-4/#first-letter-styling + valid_for_first_letter: { + default: false, + valid_type: "bool", + }, + + // - valid_for_first_line: true + // + // https://drafts.csswg.org/css-pseudo-4/#first-line-styling + valid_for_first_line: { + default: false, + valid_type: "bool", + }, + + // - valid_for_cue: true + // + // https://w3c.github.io/webvtt/#the-cue-pseudo-element + valid_for_cue: { + default: false, + valid_type: "bool", + }, + + // - valid_for_marker: true + // + // https://drafts.csswg.org/css-pseudo-4/#marker-pseudo + valid_for_marker: { + default: false, + valid_type: "bool", + }, + + // - valid_for_highlight_legacy: true + // + // Theoretically matches + // https://drafts.csswg.org/css-pseudo-4/#highlight-styling, + // but includes additional properties for compatibility reasons. + // Applied to highlight pseudos that use originating inheritance + // instead of highlight inheritance. + valid_for_highlight_legacy: { + default: false, + valid_type: "bool", + }, + + // - valid_for_highlight: true + // + // https://drafts.csswg.org/css-pseudo-4/#highlight-styling + valid_for_highlight: { + default: false, + valid_type: "bool", + }, + + // Valid @page properties and descriptors when PageMarginBoxes aren't + // enabled. This is limited to the set of descriptors and properties + // that have an effect when this feature is disabled (essentially page + // size, margins and orientation). + valid_for_limited_page_context: { + default: false, + valid_type: "bool", + }, + + // Applicable @page properties and descriptors. + valid_for_page_context: { + default: false, + valid_type: "bool", + }, + + // - is_border + // The property, when used by the author, will disable any native + // appearance on UI elements. + is_border: { + default: false, + valid_type: "bool", + }, + + // - is_background + // The property, when used by the author, will disable any native + // appearance on UI elements. + is_background: { + default: false, + valid_type: "bool", + }, + + // - is_border_radius + // The property, when used by the author, will disable any native + // appearance on UI elements. + is_border_radius: { + default: false, + valid_type: "bool", + }, + + // - is_highlight_colors + // The property participates in paired cascade, such that when encountered + // in highlight styles, we make all other highlight color properties default + // to initial, rather than the UA default. + // https://drafts.csswg.org/css-pseudo-4/#highlight-cascade + is_highlight_colors: { + default: false, + valid_type: "bool", + }, + // - is_visited_highlight_colors + // Like the previous one but for visited internal properties. + is_visited_highlight_colors: { + default: false, + valid_type: "bool", + }, + + // - is_animation_property + // The property is a longhand of the 'animation' or 'transition' shorthands. + is_animation_property: { + default: false, + valid_type: "bool", + }, + + // Whether changing this property is so independent that we can apply + // a change to them incrementally on top of the old style. This happens + // only when inline style is changed. Conceptually, this could be a blocklist, + // but being conservative, we have chosen to make it an allowlist. + // The properties with known issue are explicitly marked as false, + // so changing the default from false to true _should_ have no ill effects, + // but bugs are of course possible. (There is a DCHECK verifying that we + // computed the correct style when this optimization is in effect.) + // + // Since animations can affect pretty much anything else, and we don't + // support their interactions anyway (see CanApplyInlineStyleIncrementally()), + // animation properties are also never marked as supporting incremental style. + // This is verified in validate_property(). + supports_incremental_style: { + default: false, + valid_type: "bool", + }, + + // If false, this property is known to cause problems if setting + // it on an element's inline style will cause problems with computing + // that element's style incrementally. + // + // NOTE: Setting false here is probably indicative of a bug. Long-term, + // we should fix all of these and remove the flag. + idempotent: { + default: true, + valid_type: "bool", + }, + + // If true, this property will accept a CSSNumericLiteralValue + // (created by a fast-path parser), with no restrictions on range. + // (NaN and infinities will be sent through the normal ParseSingleValue + // path.) A typical case is the properties that can accept an alpha value; + // percent values will take the slow paths, but simple numbers will be sent + // directly through. + accepts_numeric_literal: { + default: false, + valid_type: "bool", + }, + + // If true, then the ComputedStyle field for this property overlaps with + // another property. + // + // Overlapping properties are *partially* overlapping, or do otherwise not + // have compatible or interchangeable values with each other. + overlapping: { + default: false, + valid_type: "bool", + }, + + // Like 'overlapping', but set on -webkit-prefixed properties that should + // ultimately be removed. + // + // Note that properties that are legacy_overlapping are also overlapping + // (i.e. legacy_overlapping:true implies overlapping:true). + legacy_overlapping: { + default: false, + valid_type: "bool", + }, + + // - valid_for_formatted_text: true + // + // Whether the property can be used to style the top-level container + // (similar to display:block, but supporting fewer properties), in the + // experimental API to bring multiline text rendering to HTML canvas. + // https://github.com/WICG/canvas-formatted-text/ + valid_for_formatted_text: { + default: false, + valid_type: "bool", + }, + + // - valid_for_formatted_text_run: true + // + // Whether the property can be used to style individual text runs, in the + // experimental API to bring multiline text rendering to HTML canvas. + valid_for_formatted_text_run: { + default: false, + valid_type: "bool", + }, + + // - valid_for_keyframe: true + // + // Whether the property can be used in @keyframes. + // https://www.w3.org/TR/css-animations-1/#typedef-keyframe-block + valid_for_keyframe: { + default: true, + valid_type: "bool", + }, + + // Whether the property can be applied to elements. + // See https://github.com/WICG/PEPC/blob/main/explainer.md#locking-the-pepc-style + valid_for_permission_element: { + default: false, + valid_type: "bool", + }, + + // - valid_for_position_try: true + // + // Whether the property can be used in a @position-try rule + // https://drafts.csswg.org/css-anchor-1/#fallback-rule + valid_for_position_try: { + default: false, + valid_type: "bool", + }, + + // - affected_by_zoom: true + // + // Whether or not the computed value of this property is affected by + // the effective zoom factor. Generally, all computed values that contain + // a blink::Length are affected by zoom. + // + // Setting this flag to 'true' will change the inheritance behavior + // (Longhand::ApplyInherit) to effectively "rezoom" the inherited value. + // + // https://github.com/w3c/csswg-drafts/issues/9397 + affected_by_zoom: { + default: false, + valid_type: "bool", + }, + }, + + // Members in the data objects should appear in the same order as in the + // parameters object above + data: [ + // Properties with StyleBuilder handling + + // Animation Priority properties + { + name: "animation-composition", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + keywords: ["replace", "add", "accumulate"], + style_builder_template: "animation", + style_builder_template_args: { + attribute: "Composition", + }, + typedom_types: ["Keyword"], + separator: ",", + include_paths: ["third_party/blink/renderer/core/animation/effect_model.h"], + default_value: "EffectModel::kCompositeReplace", + type_name: "EffectModel::CompositeOperation", + valid_for_marker: true, + }, + { + name: "animation-delay", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + style_builder_template: "animation", + style_builder_template_args: { + attribute: "DelayStart", + }, + typedom_types: ["Time"], + separator: ",", + valid_for_marker: true, + is_animation_property: true, + // Animation properites are never incremental. + supports_incremental_style: false, + valid_for_keyframe: false, + }, + { + name: "-alternative-animation-delay", + alternative_of: "animation-delay", + longhands: [ + "animation-delay-start", "animation-delay-end" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + // Animation properites are never incremental. + supports_incremental_style: false, + valid_for_keyframe: false, + runtime_flag: "CSSAnimationDelayStartEnd", + }, + { + name: "animation-delay-start", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + style_builder_template: "animation", + style_builder_template_args: { + attribute: "DelayStart", + }, + typedom_types: ["Time"], + separator: ",", + valid_for_marker: true, + is_animation_property: true, + // Animation properites are never incremental. + supports_incremental_style: false, + valid_for_keyframe: false, + runtime_flag: "CSSAnimationDelayStartEnd", + }, + { + name: "animation-delay-end", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + style_builder_template: "animation", + style_builder_template_args: { + attribute: "DelayEnd", + }, + typedom_types: ["Time"], + separator: ",", + valid_for_marker: true, + is_animation_property: true, + // Animation properites are never incremental. + supports_incremental_style: false, + valid_for_keyframe: false, + runtime_flag: "CSSAnimationDelayStartEnd", + }, + { + name: "animation-direction", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + keywords: ["normal", "reverse", "alternate", "alternate-reverse"], + typedom_types: ["Keyword"], + separator: ",", + style_builder_template: "animation", + style_builder_template_args: { + attribute: "Direction", + }, + separator: ",", + valid_for_marker: true, + is_animation_property: true, + // Animation properites are never incremental. + supports_incremental_style: false, + valid_for_keyframe: false, + }, + { + name: "animation-duration", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + separator: ",", + style_builder_template: "animation", + style_builder_template_args: { + attribute: "Duration", + }, + typedom_types: ["Time"], + separator: ",", + valid_for_marker: true, + is_animation_property: true, + // Animation properites are never incremental. + supports_incremental_style: false, + valid_for_keyframe: false, + }, + { + name: "animation-fill-mode", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + style_builder_template: "animation", + style_builder_template_args: { + attribute: "FillMode", + }, + keywords: ["none", "forwards", "backwards", "both"], + typedom_types: ["Keyword"], + separator: ",", + valid_for_marker: true, + is_animation_property: true, + // Animation properites are never incremental. + supports_incremental_style: false, + valid_for_keyframe: false, + }, + { + name: "animation-iteration-count", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + keywords: ["infinite"], + separator: ",", + style_builder_template: "animation", + style_builder_template_args: { + attribute: "IterationCount", + }, + keywords: ["infinite"], + typedom_types: ["Keyword", "Number"], + separator: ",", + valid_for_marker: true, + is_animation_property: true, + // Animation properites are never incremental. + supports_incremental_style: false, + valid_for_keyframe: false, + }, + { + // TODO(futhark): Set the TreeScope on CSSAnimationData. + name: "animation-name", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + style_builder_template: "animation", + style_builder_template_args: { + attribute: "Name", + }, + keywords: ["none"], + typedom_types: ["Keyword"], + separator: ",", + valid_for_marker: true, + is_animation_property: true, + // Animation properites are never incremental. + supports_incremental_style: false, + valid_for_keyframe: false, + }, + { + name: "animation-play-state", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + style_builder_template: "animation", + style_builder_template_args: { + attribute: "PlayState", + }, + keywords: ["running", "paused"], + typedom_types: ["Keyword"], + separator: ",", + valid_for_marker: true, + is_animation_property: true, + // Animation properites are never incremental. + supports_incremental_style: false, + valid_for_keyframe: false, + }, + { + name: "animation-range-start", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + style_builder_template: "animation", + style_builder_template_args: { + attribute: "RangeStart", + }, + separator: ",", + valid_for_marker: true, + is_animation_property: true, + // Animation properites are never incremental. + supports_incremental_style: false, + valid_for_keyframe: false, + runtime_flag: "ScrollTimeline", + }, + { + name: "animation-range-end", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + style_builder_template: "animation", + style_builder_template_args: { + attribute: "RangeEnd", + }, + separator: ",", + valid_for_marker: true, + is_animation_property: true, + // Animation properites are never incremental. + supports_incremental_style: false, + valid_for_keyframe: false, + runtime_flag: "ScrollTimeline", + }, + { + name: "animation-timeline", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + style_builder_template: "animation", + style_builder_template_args: { + attribute: "Timeline", + }, + keywords: ["none", "auto"], + typedom_types: ["Keyword"], + separator: ",", + valid_for_marker: true, + runtime_flag: "ScrollTimeline", + is_animation_property: true, + // Animation properites are never incremental. + supports_incremental_style: false, + }, + { + name: "animation-timing-function", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + style_builder_template: "animation", + style_builder_template_args: { + attribute: "TimingFunction", + }, + keywords: [ + "linear", + "ease", + "ease-in", + "ease-out", + "ease-in-out", + "jump-both", + "jump-end", + "jump-none", + "jump-start", + "step-start", + "step-end" + ], + typedom_types: ["Keyword"], + separator: ",", + valid_for_marker: true, + is_animation_property: true, + // Animation properites are never incremental. + supports_incremental_style: false, + }, + { + name: "transition-delay", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + style_builder_template: "transition", + style_builder_template_args: { + attribute: "DelayStart", + }, + typedom_types: ["Time"], + separator: ",", + valid_for_marker: true, + is_animation_property: true, + // Animation properites are never incremental. + supports_incremental_style: false, + }, + { + name: "transition-duration", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + typedom_types: ["Keyword", "Time"], + separator: ",", + style_builder_template: "transition", + style_builder_template_args: { + attribute: "Duration", + }, + valid_for_marker: true, + is_animation_property: true, + // Animation properites are never incremental. + supports_incremental_style: false, + }, + { + name: "transition-property", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + style_builder_template: "transition", + style_builder_template_args: { + attribute: "Property", + }, + keywords: ["none"], + typedom_types: ["Keyword"], + valid_for_marker: true, + is_animation_property: true, + // Animation properites are never incremental. + supports_incremental_style: false, + }, + { + name: "transition-behavior", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + typedom_types: ["Keyword"], + separator: ",", + style_builder_template: "transition", + style_builder_template_args: { + attribute: "Behavior", + }, + valid_for_marker: true, + is_animation_property: true, + // Animation properites are never incremental. + supports_incremental_style: false, + runtime_flag: "CSSTransitionDiscrete", + }, + { + name: "transition-timing-function", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + style_builder_template: "transition", + style_builder_template_args: { + attribute: "TimingFunction", + }, + keywords: [ + "linear", + "ease", + "ease-in", + "ease-out", + "ease-in-out", + "jump-both", + "jump-end", + "jump-none", + "jump-start", + "step-start", + "step-end"], + typedom_types: ["Keyword"], + separator: ",", + valid_for_marker: true, + is_animation_property: true, + // Animation properites are never incremental. + supports_incremental_style: false, + }, + + // High Priority and all other font properties. + // Other properties can depend upon high priority properties + // (e.g. font-size / ems) + { + name: "color", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], + interpolable: true, + inherited: true, + // color isn't strictly independent of all other properties; + // it determines currentColor, which in turn can affect the used value of + // other properties (such as border colors, stops in gradients, etc.). + // However, changes to color generally also trigger paint invalidation, + // and paint invalidation resolves the color anew. (For the special case + // of gradient stops, we have logic within ComputedStyle::AdjustDiffForBackgroundVisuallyEqual + // that forces paint invalidation, recomputing the gradient and repainting + // the element.) + independent: true, + field_group: "inherited", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor(Color::kBlack)", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + style_builder_custom_functions: ["initial", "inherit", "value"], + priority: 1, + keywords: ["currentcolor"], + typedom_types: ["Keyword"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + valid_for_marker: true, + valid_for_highlight_legacy: true, + valid_for_highlight: true, + valid_for_formatted_text: true, + valid_for_formatted_text_run: true, + is_highlight_colors: true, + supports_incremental_style: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "direction", + property_methods: ["CSSValueFromComputedStyleInternal"], + affected_by_all: false, + inherited: true, + field_template: "keyword", + include_paths: ["third_party/blink/renderer/platform/text/text_direction.h"], + keywords: ["ltr", "rtl"], + typedom_types: ["Keyword"], + default_value: "ltr", + type_name: "TextDirection", + style_builder_custom_functions: ["value"], + priority: 1, + valid_for_marker: true, + valid_for_formatted_text: true, + valid_for_formatted_text_run: true, + valid_for_page_context: true, + }, + { + name: "font-family", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + is_descriptor: true, + inherited: true, + font: true, + name_for_methods: "FamilyDescription", + type_name: "FontDescription::FamilyDescription", + style_builder_custom_functions: ["initial", "inherit"], + converter: "ConvertFontFamily", + priority: 1, + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + valid_for_marker: true, + valid_for_formatted_text: true, + valid_for_formatted_text_run: true, + valid_for_page_context: true, + // See comment on font. + supports_incremental_style: false, + }, + { + name: "font-kerning", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + font: true, + name_for_methods: "Kerning", + converter: "ConvertFontKerning", + type_name: "FontDescription::Kerning", + priority: 1, + keywords: ["auto", "normal", "none"], + typedom_types: ["Keyword"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_marker: true, + valid_for_formatted_text: true, + valid_for_formatted_text_run: true, + // See comment on font. + supports_incremental_style: false, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "font-optical-sizing", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + font: true, + name_for_methods: "FontOpticalSizing", + converter: "ConvertFontOpticalSizing", + type_name: "OpticalSizing", + priority: 1, + keywords: ["auto", "none"], + typedom_types: ["Keyword"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_marker: true, + // See comment on font. + supports_incremental_style: false, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "font-palette", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal" ], + interpolable: true, + inherited: true, + font: true, + converter: "ConvertFontPalette", + type_name: "FontPalette", + priority: 1, + keywords: ["normal", "light", "dark"], + typedom_types: ["Keyword"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_marker: true, + valid_for_page_context: true, + // See comment on font. + supports_incremental_style: false, + }, + { + name: "font-size", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + inherited: true, + font: true, + name_for_methods: "Size", + getter: "GetSize", + converter: "ConvertFontSize", + priority: 1, + keywords: ["xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "xxx-large", "larger", "smaller", "-webkit-xxx-large"], + typedom_types: ["Keyword", "Length", "Percentage"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + valid_for_marker: true, + valid_for_formatted_text: true, + valid_for_formatted_text_run: true, + // See comment on font. + supports_incremental_style: false, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "font-size-adjust", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + inherited: true, + runtime_flag: "CSSFontSizeAdjust", + font: true, + name_for_methods: "SizeAdjust", + converter: "ConvertFontSizeAdjust", + priority: 1, + keywords: ["none", "ex-height", "cap-height", "ch-width", "ic-width", "from-font"], + typedom_types: ["Keyword", "Number"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_marker: true, + valid_for_page_context: true, + // See comment on font. + supports_incremental_style: false, + }, + { + name: "font-stretch", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + is_descriptor: true, + interpolable: true, + inherited: true, + font: true, + name_for_methods: "Stretch", + converter: "ConvertFontStretch", + priority: 1, + keywords: [ + "normal", "ultra-condensed", "extra-condensed", "condensed", + "semi-condensed", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded" + ], + typedom_types: ["Keyword", "Percentage"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + valid_for_marker: true, + valid_for_formatted_text: true, + valid_for_formatted_text_run: true, + // See comment on font. + supports_incremental_style: false, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "font-style", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + is_descriptor: true, + interpolable: true, + inherited: true, + font: true, + name_for_methods: "Style", + converter: "ConvertFontStyle", + priority: 1, + keywords: ["normal", "italic", "oblique"], + typedom_types: ["Keyword"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + valid_for_marker: true, + valid_for_formatted_text: true, + valid_for_formatted_text_run: true, + // See comment on font. + supports_incremental_style: false, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "font-variant-ligatures", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + inherited: true, + font: true, + name_for_methods: "VariantLigatures", + type_name: "VariantLigatures", + converter: "ConvertFontVariantLigatures", + priority: 1, + keywords: [ + "normal", "none", "common-ligatures", "no-common-ligatures", + "discretionary-ligatures", "no-discretionary-ligatures", + "historical-ligatures", "no-historical-ligatures", "contextual", + "no-contextual" + ], + typedom_types: ["Keyword"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_marker: true, + valid_for_formatted_text: true, + valid_for_formatted_text_run: true, + // See comment on font. + supports_incremental_style: false, + }, + { + name: "font-variant-caps", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + inherited: true, + font: true, + name_for_methods: "VariantCaps", + converter: "ConvertFontVariantCaps", + priority: 1, + keywords: [ + "normal", "small-caps", "all-small-caps", "petite-caps", + "all-petite-caps", "unicase", "titling-caps" + ], + typedom_types: ["Keyword"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_marker: true, + valid_for_formatted_text: true, + valid_for_formatted_text_run: true, + // See comment on font. + supports_incremental_style: false, + }, + { + name: "font-variant-east-asian", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + inherited: true, + font: true, + name_for_methods: "VariantEastAsian", + converter: "ConvertFontVariantEastAsian", + priority: 1, + keywords: [ + "normal", "jis78", "jis83", "jis90", "jis04", "simplified", + "traditional", "full-width", "proportional-width", "ruby" + ], + typedom_types: ["Keyword"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_marker: true, + valid_for_formatted_text: true, + valid_for_formatted_text_run: true, + // See comment on font. + supports_incremental_style: false, + }, + { + name: "font-variant-numeric", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + inherited: true, + font: true, + name_for_methods: "VariantNumeric", + converter: "ConvertFontVariantNumeric", + priority: 1, + keywords: [ + "normal", "lining-nums", "oldstyle-nums", "proportional-nums", + "tabular-nums", "diagonal-fractions", "stacked-fractions", "ordinal", + "slashed-zero" + ], + typedom_types: ["Keyword"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_marker: true, + valid_for_formatted_text: true, + valid_for_formatted_text_run: true, + // See comment on font. + supports_incremental_style: false, + }, + { + name: "font-variant-alternates", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + inherited: true, + font: true, + type_name: "FontVariantAlternates", + name_for_methods: "FontVariantAlternates", + converter: "ConvertFontVariantAlternates", + priority: 1, + keywords: [ + "normal", + ], + typedom_types: ["Keyword"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_marker: true, + valid_for_formatted_text: true, + valid_for_formatted_text_run: true, + // See comment on font. + supports_incremental_style: false, + }, + { + name: "font-weight", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + is_descriptor: true, + interpolable: true, + inherited: true, + font: true, + name_for_methods: "Weight", + converter: "ConvertFontWeight", + priority: 1, + keywords: ["normal", "bold", "bolder", "lighter"], + typedom_types: ["Keyword", "Number"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + valid_for_marker: true, + valid_for_formatted_text: true, + valid_for_formatted_text_run: true, + // See comment on font. + supports_incremental_style: false, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "font-synthesis-weight", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + font: true, + name_for_methods: "FontSynthesisWeight", + type_name: "FontDescription::FontSynthesisWeight", + priority: 1, + keywords: ["auto", "none"], + typedom_types: ["Keyword"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_marker: true, + // See comment on font. + supports_incremental_style: false, + valid_for_permission_element: true, + }, + { + name: "font-synthesis-style", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + font: true, + name_for_methods: "FontSynthesisStyle", + type_name: "FontDescription::FontSynthesisStyle", + priority: 1, + keywords: ["auto", "none"], + typedom_types: ["Keyword"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_marker: true, + // See comment on font. + supports_incremental_style: false, + valid_for_permission_element: true, + }, + { + name: "font-synthesis-small-caps", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + font: true, + name_for_methods: "FontSynthesisSmallCaps", + type_name: "FontDescription::FontSynthesisSmallCaps", + priority: 1, + keywords: ["auto", "none"], + typedom_types: ["Keyword"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_marker: true, + // See comment on font. + supports_incremental_style: false, + valid_for_permission_element: true, + }, + { + name: "font-feature-settings", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + is_descriptor: true, + inherited: true, + font: true, + name_for_methods: "FeatureSettings", + converter: "ConvertFontFeatureSettings", + priority: 1, + keywords: ["normal"], + typedom_types: ["Keyword"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_marker: true, + computable: false, + valid_for_formatted_text: true, + valid_for_formatted_text_run: true, + // See comment on font. + supports_incremental_style: false, + valid_for_permission_element: true, + }, + { + name: "font-variation-settings", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + inherited: true, + font: true, + name_for_methods: "VariationSettings", + converter: "ConvertFontVariationSettings", + priority: 1, + keywords: ["normal"], + typedom_types: ["Keyword"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + valid_for_marker: true, + computable: false, + valid_for_formatted_text: true, + valid_for_formatted_text_run: true, + // See comment on font. + supports_incremental_style: false, + }, + { + name: "font-variant-position", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + font: true, + name_for_methods: "VariantPosition", + type_name: "FontDescription::FontVariantPosition", + converter: "ConvertFontVariantPosition", + priority: 1, + keywords: ["normal", "sub", "super"], + typedom_types: ["Keyword"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_marker: true, + // See comment on font. + supports_incremental_style: false, + }, + { + name: "-webkit-font-smoothing", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + font: true, + type_name: "FontSmoothingMode", + priority: 1, + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_permission_element: true, + }, + { + name: "forced-color-adjust", + field_group: "*", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + runtime_flag: "ForcedColors", + field_template: "keyword", + // Affects the computed value of color when it is inherited and + // forced-color- adjust is set to preserve-parent-color. + priority: 2, + keywords: ["auto", "none", "preserve-parent-color"], + typedom_types: ["Keyword"], + default_value: "auto", + valid_for_highlight_legacy: true, + computable: false, + valid_for_permission_element: true, + }, + { + name: "field-sizing", + field_group: "visual", + field_template: "keyword", + property_methods: ["CSSValueFromComputedStyleInternal"], + keywords: ["fixed", "content"], + default_value: "fixed", + typedom_types: ["Keyword"], + runtime_flag: "CssFieldSizing", + }, + { + name: "-webkit-locale", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + inherited: true, + font: true, + style_builder_custom_functions: ["value"], + priority: 1, + }, + { + name: "math-depth", + default_value: 0, + field_group: "*", + field_template: "primitive", + inherited: true, + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + style_builder_custom_functions: ["value"], + type_name: "short", + typedom_types: ["Number"], + // Affects the computed value of 'font-size', hence needs to happen before + // high-priority properties. + priority: 2, + }, + { + name: "text-orientation", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "*", + field_template: "keyword", + keywords: ["sideways", "mixed", "upright"], + typedom_types: ["Keyword"], + default_value: "mixed", + getter: "GetTextOrientation", + style_builder_custom_functions: ["initial", "inherit", "value"], + priority: 1, + computable: false, + valid_for_formatted_text: true, + }, + { + name: "-webkit-text-orientation", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + type_name: "TextOrientation", + priority: 1, + surrogate_for: "text-orientation", + }, + { + name: "writing-mode", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + field_template: "keyword", + include_paths: ["third_party/blink/renderer/platform/text/writing_mode.h"], + keywords: ["horizontal-tb", "vertical-rl", "vertical-lr"], + typedom_types: ["Keyword"], + default_value: "horizontal-tb", + type_name: "WritingMode", + style_builder_custom_functions: ["initial", "inherit", "value"], + priority: 1, + valid_for_formatted_text: true, + // Incremental code does not call DidChangeWritingMode(), which influences + // the font. + supports_incremental_style: false, + }, + { + name: "-webkit-writing-mode", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + type_name: "WritingMode", + priority: 1, + surrogate_for: "writing-mode", + }, + { + name: "text-rendering", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + font: true, + type_name: "TextRenderingMode", + keywords: ["auto", "optimizespeed", "optimizelegibility", "geometricprecision"], + typedom_types: ["Keyword"], + priority: 1, + valid_for_permission_element: true, + }, + { + name: "zoom", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "visual", + field_template: "primitive", + default_value: "1.0", + type_name: "float", + style_builder_custom_functions: ["initial", "inherit", "value"], + priority: 1, + // Setting zoom affects the _EffectiveZoom_, which in turns affects every px value + // stored on ComputedStyle; see CSSToLengthConversionData::ZoomedComputedPixels. + supports_incremental_style: false, + valid_for_permission_element: true, + }, + { + name: "accent-color", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + inherited: true, + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_auto_color.h"], + type_name: "StyleAutoColor", + computed_style_protected_functions: ["getter"], + keywords: ["auto", "currentcolor"], + typedom_types: ["Keyword"], + converter: "ConvertStyleAutoColor", + default_value: "StyleAutoColor::AutoColor()", + computable: true, + }, + { + name: "align-content", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/style_content_alignment_data.h"], + default_value: "StyleContentAlignmentData(ContentPosition::kNormal, ContentDistributionType::kDefault, OverflowAlignment::kDefault)", + type_name: "StyleContentAlignmentData", + converter: "ConvertContentAlignmentData", + }, + { + name: "align-items", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/style_self_alignment_data.h"], + default_value: "StyleSelfAlignmentData(ItemPosition::kNormal, OverflowAlignment::kDefault)", + type_name: "StyleSelfAlignmentData", + converter: "ConvertSelfOrDefaultAlignmentData", + }, + { + name: "alignment-baseline", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "svg", + field_template: "keyword", + keywords: ["auto", "baseline", "alphabetic", "ideographic", "middle", + "central", "mathematical", "before-edge", "text-before-edge", + "after-edge", "text-after-edge", "hanging"], + typedom_types: ["Keyword"], + default_value: "auto", + }, + { + name: "align-self", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/style_self_alignment_data.h"], + default_value: "StyleSelfAlignmentData(ItemPosition::kAuto, OverflowAlignment::kDefault)", + type_name: "StyleSelfAlignmentData", + converter: "ConvertSelfOrDefaultAlignmentData", + valid_for_position_try: true, + valid_for_permission_element: true, + }, + { + name: "anchor-name", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal" ], + include_paths: ["third_party/blink/renderer/core/style/scoped_css_name.h"], + type_name: "ScopedCSSNameList", + wrapper_pointer_name: "Member", + default_value: "nullptr", + field_group: "*", + field_template: "external", + converter: "ConvertAnchorName", + keywords: ["none"], + typedom_types: ["Keyword"], + runtime_flag: "CSSAnchorPositioning", + valid_for_permission_element: true, + }, + { + name: "aspect-ratio", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "surround", + field_template: "external", + keywords: ["auto"], + default_value: "StyleAspectRatio(EAspectRatioType::kAuto, gfx::SizeF())", + type_name: "StyleAspectRatio", + converter: "ConvertAspectRatio", + include_paths: ["third_party/blink/renderer/core/style/style_aspect_ratio.h"], + computable: false, + valid_for_permission_element: true, + }, + { + name: "backdrop-filter", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + compositable: true, + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/filter_operations.h"], + default_value: "FilterOperations()", + type_name: "FilterOperations", + computed_style_custom_functions: ["initial"], + style_builder_custom_functions: ["value"], + keywords: ["none"], + typedom_types: ["Keyword"], + }, + { + name: "backface-visibility", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "keyword", + keywords: ["visible", "hidden"], + typedom_types: ["Keyword"], + default_value: "visible", + }, + { + name: "background-attachment", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + keywords: ["scroll", "fixed", "local"], + typedom_types: ["Keyword"], + separator: " ", + style_builder_template: "background_layer", + style_builder_template_args: { + fill_type: "Attachment", + }, + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + is_background: true, + supports_incremental_style: true, + valid_for_page_context: true, + }, + { + name: "background-blend-mode", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + keywords: [ + "normal", "multiply", "screen", "overlay", "darken", "lighten", + "color-dodge", "color-burn", "hard-light", "soft-light", "difference", + "exclusion", "hue", "saturation", "color", "luminosity" + ], + typedom_types: ["Keyword"], + separator: " ", + style_builder_template: "background_layer", + style_builder_template_args: { + fill_type: "BlendMode", + fill_type_getter: "GetBlendMode", + }, + valid_for_first_letter: true, + valid_for_first_line: true, + is_background: false, + valid_for_page_context: true, + }, + { + name: "background-clip", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + keywords: ["border-box", "padding-box", "content-box", "text"], + typedom_types: ["Keyword"], + separator: " ", + style_builder_template: "background_layer", + style_builder_template_args: { + fill_type: "Clip", + }, + style_builder_custom_functions: ["value"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + is_background: true, + supports_incremental_style: true, + valid_for_page_context: true, + }, + { + name: "background-color", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], + interpolable: true, + compositable: true, + field_group: "background", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor(Color::kTransparent)", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + keywords: ["currentcolor"], + typedom_types: ["Keyword"], + converter: "ConvertStyleColor", + style_builder_template: "color", + style_builder_template_args: { + initial_color: "ComputedStyleInitialValues::InitialBackgroundColor", + }, + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + valid_for_highlight_legacy: true, + valid_for_highlight: true, + is_background: true, + is_highlight_colors: true, + supports_incremental_style: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "background-image", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + keywords: ["auto", "none"], + typedom_types: ["Keyword", "Image"], + separator: " ", + style_builder_template: "background_layer", + style_builder_template_args: { + fill_type: "Image", + fill_type_getter: "GetImage", + }, + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + is_background: true, + supports_incremental_style: true, + valid_for_page_context: true, + }, + { + name: "background-origin", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + keywords: ["border-box", "padding-box", "content-box"], + typedom_types: ["Keyword"], + separator: " ", + style_builder_template: "background_layer", + style_builder_template_args: { + fill_type: "Origin", + }, + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + is_background: true, + supports_incremental_style: true, + valid_for_page_context: true, + }, + { + name: "background-position-x", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + style_builder_template: "background_layer", + style_builder_template_args: { + fill_type: "PositionX", + }, + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + is_background: true, + computable: false, + supports_incremental_style: true, + valid_for_page_context: true, + }, + { + name: "background-position-y", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + style_builder_template: "background_layer", + style_builder_template_args: { + fill_type: "PositionY", + }, + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + is_background: true, + computable: false, + supports_incremental_style: true, + valid_for_page_context: true, + }, + { + name: "background-repeat", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + style_builder_template: "background_layer", + style_builder_template_args: { + fill_type: "Repeat", + }, + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + supports_incremental_style: true, + valid_for_page_context: true, + }, + { + name: "background-size", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + keywords: ["auto", "cover", "contain"], + typedom_types: ["Keyword", "Length", "Percentage"], + separator: " ", + style_builder_template: "background_layer", + style_builder_template_args: { + fill_type: "Size", + }, + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + is_background: true, + supports_incremental_style: true, + valid_for_page_context: true, + }, + { + name: "baseline-shift", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "svg->misc", + field_template: "external", + type_name: "Length", + default_value: "Length::Fixed()", + style_builder_custom_functions: ["inherit", "value"], + keywords: ["baseline", "sub", "super"], + typedom_types: ["Keyword", "Percentage", "Length"], + }, + { + name: "baseline-source", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "box", + field_template: "keyword", + default_value: "auto", + keywords: ["auto", "first", "last"], + typedom_types: ["Keyword"], + }, + { + name: "border-bottom-color", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], + interpolable: true, + field_group: "surround", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor::CurrentColor()", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + keywords: ["currentcolor"], + typedom_types: ["Keyword"], + converter: "ConvertStyleColor", + style_builder_template: "color", + valid_for_first_letter: true, + is_border: true, + logical_property_group: { + name: "border-color", + resolver: "bottom", + }, + supports_incremental_style: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-bottom-left-radius", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "surround", + field_template: "external", + include_paths: ["third_party/blink/renderer/platform/geometry/length_size.h"], + default_value: "LengthSize(Length::Fixed(0), Length::Fixed(0))", + type_name: "LengthSize", + converter: "ConvertRadius", + typedom_types: ["Length", "Percentage"], + valid_for_first_letter: true, + is_border: true, + is_border_radius: true, + logical_property_group: { + name: "border-radius", + resolver: "bottom-left", + }, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-bottom-right-radius", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "surround", + field_template: "external", + include_paths: ["third_party/blink/renderer/platform/geometry/length_size.h"], + default_value: "LengthSize(Length::Fixed(0), Length::Fixed(0))", + type_name: "LengthSize", + converter: "ConvertRadius", + typedom_types: ["Length", "Percentage"], + valid_for_first_letter: true, + is_border: true, + is_border_radius: true, + logical_property_group: { + name: "border-radius", + resolver: "bottom-right", + }, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-bottom-style", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "box", + field_template: "keyword", + keywords: [ + "none", "hidden", "inset", "groove", "outset", "ridge", "dotted", + "dashed", "solid", "double" + ], + typedom_types: ["Keyword"], + default_value: "none", + type_name: "EBorderStyle", + valid_for_first_letter: true, + is_border: true, + logical_property_group: { + name: "border-style", + resolver: "bottom", + }, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-bottom-width", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "box", + field_template: "external", + include_paths: ["third_party/blink/renderer/platform/geometry/layout_unit.h"], + keywords: ["thin", "medium", "thick"], + default_value: "LayoutUnit(3)", + typedom_types: ["Keyword", "Length"], + type_name: "LayoutUnit", + computed_style_custom_functions: ["getter"], + converter: "ConvertBorderWidth", + valid_for_first_letter: true, + is_border: true, + logical_property_group: { + name: "border-width", + resolver: "bottom", + }, + // Overlaps with -webkit-border-image. + overlapping: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-collapse", + property_methods: ["CSSValueFromComputedStyleInternal"], + independent: true, + inherited: true, + field_template: "keyword", + keywords: ["separate", "collapse"], + typedom_types: ["Keyword"], + default_value: "separate", + }, + { + name: "border-image-outset", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + interpolable: true, + typedom_types: ["Length", "Number"], + style_builder_template: "border_image", + style_builder_template_args: { + modifier_type: "Outset", + }, + valid_for_first_letter: true, + is_border: true, + // Overlaps with -webkit-border-image. + overlapping: true, + }, + { + name: "border-image-repeat", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + keywords: ["stretch", "repeat", "round", "space"], + typedom_types: ["Keyword"], + style_builder_template: "border_image", + style_builder_template_args: { + modifier_type: "Repeat", + }, + valid_for_first_letter: true, + is_border: true, + // Overlaps with -webkit-border-image. + overlapping: true, + }, + { + name: "border-image-slice", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + interpolable: true, + typedom_types: ["Number", "Percentage"], + style_builder_template: "border_image", + style_builder_template_args: { + modifier_type: "Slice", + }, + valid_for_first_letter: true, + is_border: true, + // Overlaps with -webkit-border-image. + overlapping: true, + }, + { + name: "border-image-source", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + interpolable: true, + keywords: ["none"], + typedom_types: ["Keyword", "Image"], + style_builder_custom_functions: ["value"], + valid_for_first_letter: true, + is_border: true, + // Overlaps with -webkit-border-image. + overlapping: true, + }, + { + name: "border-image-width", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + interpolable: true, + keywords: ["auto"], + typedom_types: ["Keyword", "Length", "Percentage", "Number"], + style_builder_template: "border_image", + style_builder_template_args: { + modifier_type: "Width", + }, + valid_for_first_letter: true, + is_border: true, + // Overlaps with -webkit-border-image. + overlapping: true, + }, + { + name: "border-left-color", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], + interpolable: true, + field_group: "surround", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor::CurrentColor()", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + keywords: ["currentcolor"], + typedom_types: ["Keyword"], + converter: "ConvertStyleColor", + style_builder_template: "color", + valid_for_first_letter: true, + is_border: true, + logical_property_group: { + name: "border-color", + resolver: "left", + }, + supports_incremental_style: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-left-style", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "box", + field_template: "keyword", + keywords: [ + "none", "hidden", "inset", "groove", "outset", "ridge", "dotted", + "dashed", "solid", "double" + ], + typedom_types: ["Keyword"], + default_value: "none", + type_name: "EBorderStyle", + valid_for_first_letter: true, + is_border: true, + logical_property_group: { + name: "border-style", + resolver: "left", + }, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-left-width", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "box", + field_template: "external", + include_paths: ["third_party/blink/renderer/platform/geometry/layout_unit.h"], + keywords: ["thin", "medium", "thick"], + default_value: "LayoutUnit(3)", + typedom_types: ["Keyword", "Length"], + type_name: "LayoutUnit", + computed_style_custom_functions: ["getter"], + converter: "ConvertBorderWidth", + valid_for_first_letter: true, + is_border: true, + logical_property_group: { + name: "border-width", + resolver: "left", + }, + // Overlaps with -webkit-border-image. + overlapping: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-right-color", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], + interpolable: true, + field_group: "surround", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor::CurrentColor()", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + keywords: ["currentcolor"], + typedom_types: ["Keyword"], + converter: "ConvertStyleColor", + style_builder_template: "color", + valid_for_first_letter: true, + is_border: true, + logical_property_group: { + name: "border-color", + resolver: "right", + }, + supports_incremental_style: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-right-style", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "box", + field_template: "keyword", + keywords: [ + "none", "hidden", "inset", "groove", "outset", "ridge", "dotted", + "dashed", "solid", "double" + ], + typedom_types: ["Keyword"], + default_value: "none", + type_name: "EBorderStyle", + valid_for_first_letter: true, + is_border: true, + logical_property_group: { + name: "border-style", + resolver: "right", + }, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-right-width", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "box", + field_template: "external", + include_paths: ["third_party/blink/renderer/platform/geometry/layout_unit.h"], + keywords: ["thin", "medium", "thick"], + default_value: "LayoutUnit(3)", + typedom_types: ["Keyword", "Length"], + type_name: "LayoutUnit", + computed_style_custom_functions: ["getter"], + converter: "ConvertBorderWidth", + valid_for_first_letter: true, + is_border: true, + logical_property_group: { + name: "border-width", + resolver: "right", + }, + // Overlaps with -webkit-border-image. + overlapping: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-top-color", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], + interpolable: true, + field_group: "surround", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor::CurrentColor()", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + keywords: ["currentcolor"], + typedom_types: ["Keyword"], + converter: "ConvertStyleColor", + style_builder_template: "color", + valid_for_first_letter: true, + is_border: true, + logical_property_group: { + name: "border-color", + resolver: "top", + }, + supports_incremental_style: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-top-left-radius", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "surround", + field_template: "external", + include_paths: ["third_party/blink/renderer/platform/geometry/length_size.h"], + default_value: "LengthSize(Length::Fixed(0), Length::Fixed(0))", + type_name: "LengthSize", + converter: "ConvertRadius", + typedom_types: ["Length", "Percentage"], + valid_for_first_letter: true, + is_border: true, + is_border_radius: true, + logical_property_group: { + name: "border-radius", + resolver: "top-left", + }, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-top-right-radius", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "surround", + field_template: "external", + include_paths: ["third_party/blink/renderer/platform/geometry/length_size.h"], + default_value: "LengthSize(Length::Fixed(0), Length::Fixed(0))", + type_name: "LengthSize", + converter: "ConvertRadius", + typedom_types: ["Length", "Percentage"], + valid_for_first_letter: true, + is_border: true, + is_border_radius: true, + logical_property_group: { + name: "border-radius", + resolver: "top-right", + }, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-top-style", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "box", + field_template: "keyword", + keywords: [ + "none", "hidden", "inset", "groove", "outset", "ridge", "dotted", + "dashed", "solid", "double" + ], + typedom_types: ["Keyword"], + default_value: "none", + type_name: "EBorderStyle", + valid_for_first_letter: true, + is_border: true, + logical_property_group: { + name: "border-style", + resolver: "top", + }, + supports_incremental_style: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-top-width", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "box", + field_template: "external", + include_paths: ["third_party/blink/renderer/platform/geometry/layout_unit.h"], + keywords: ["thin", "medium", "thick"], + default_value: "LayoutUnit(3)", + typedom_types: ["Keyword", "Length"], + type_name: "LayoutUnit", + computed_style_custom_functions: ["getter"], + converter: "ConvertBorderWidth", + valid_for_first_letter: true, + is_border: true, + logical_property_group: { + name: "border-width", + resolver: "top", + }, + // Overlaps with -webkit-border-image. + overlapping: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "bottom", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + layout_dependent: true, + field_group: "surround", + field_template: "", + keywords: ["auto"], + default_value: "Length()", + typedom_types: ["Keyword", "Length", "Percentage"], + converter: "ConvertLengthOrAuto", + anchor_mode: "bottom", + logical_property_group: { + name: "inset", + resolver: "bottom", + }, + supports_incremental_style: true, + valid_for_position_try: true, + valid_for_permission_element: true, + }, + { + name: "box-shadow", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "*", + field_template: "pointer", + include_paths: ["third_party/blink/renderer/core/style/shadow_list.h"], + wrapper_pointer_name: "scoped_refptr", + default_value: "nullptr", + type_name: "ShadowList", + converter: "ConvertShadowList", + keywords: ["none"], + typedom_types: ["Keyword"], + valid_for_first_letter: true, + valid_for_first_line: true, + }, + { + name: "box-sizing", + property_methods: ["CSSValueFromComputedStyleInternal"], + // NOTE: Naturally fits into field_group: "box", but is so commonly set + // that is is better to have it at the root. + field_template: "keyword", + keywords: ["content-box", "border-box"], + typedom_types: ["Keyword"], + default_value: "content-box", + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "break-after", + property_methods: ["CSSValueFromComputedStyleInternal"], + // Storage for this property also covers these legacy properties: + // page-break-after, -webkit-column-break-after + field_template: "keyword", + keywords: [ + "auto", "avoid", "avoid-column", "avoid-page", "column", "left", "page", + "recto", "right", "verso" + ], + typedom_types: ["Keyword"], + default_value: "auto", + type_name: "EBreakBetween", + }, + { + name: "break-before", + property_methods: ["CSSValueFromComputedStyleInternal"], + // Storage for this property also covers these legacy properties: + // page-break-before, -webkit-column-break-before + field_template: "keyword", + keywords: [ + "auto", "avoid", "avoid-column", "avoid-page", "column", "left", "page", + "recto", "right", "verso" + ], + typedom_types: ["Keyword"], + default_value: "auto", + type_name: "EBreakBetween", + }, + { + name: "break-inside", + property_methods: ["CSSValueFromComputedStyleInternal"], + // Storage for this property also covers these legacy properties: + // page-break-inside, -webkit-column-break-inside + field_template: "keyword", + keywords: ["auto", "avoid", "avoid-column", "avoid-page"], + typedom_types: ["Keyword"], + default_value: "auto", + }, + { + name: "buffered-rendering", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "svg", + field_template: "keyword", + keywords: ["auto", "dynamic", "static"], + default_value: "auto", + }, + { + name: "caption-side", + property_methods: ["CSSValueFromComputedStyleInternal"], + independent: true, + inherited: true, + field_template: "keyword", + keywords: ["top", "bottom"], + typedom_types: ["Keyword"], + default_value: "top", + }, + { + name: "caret-color", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], + interpolable: true, + inherited: true, + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_auto_color.h"], + default_value: "StyleAutoColor::AutoColor()", + type_name: "StyleAutoColor", + computed_style_protected_functions: ["getter"], + converter: "ConvertStyleAutoColor", + keywords: ["auto", "currentcolor"], + typedom_types: ["Keyword"], + valid_for_highlight_legacy: true, + }, + { + name: "clear", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_template: "keyword", + computed_style_protected_functions: ["getter"], + keywords: ["none", "left", "right", "both", "inline-start", "inline-end"], + typedom_types: ["Keyword"], + default_value: "none", + valid_for_permission_element: true, + }, + { + name: "clip", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "visual", + field_template: "external", + include_paths: ["third_party/blink/renderer/platform/geometry/length_box.h"], + default_value: "LengthBox()", + type_name: "LengthBox", + computed_style_custom_functions: ["setter"], + style_builder_template: "auto", + converter: "ConvertClip", + keywords: ["auto"], + typedom_types: ["Keyword"], + }, + { + name: "clip-path", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + compositable: true, + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/clip_path_operation.h"], + wrapper_pointer_name: "Member", + default_value: "nullptr", + type_name: "ClipPathOperation", + computed_style_custom_functions: ["getter", "setter"], + converter: "ConvertClipPath", + keywords: ["border-box", "padding-box", "content-box", "margin-box", "fill-box", "stroke-box", "view-box", "none"], + typedom_types: ["Keyword"], + }, + { + name: "clip-rule", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "svg", + // TODO(fs): Convert this to a keyword (requires enum massage). + field_template: "primitive", + field_size: 1, + include_paths: ["third_party/blink/renderer/platform/graphics/graphics_types.h"], + type_name: "WindRule", + keywords: ["nonzero", "evenodd"], + default_value: "RULE_NONZERO", + typedom_types: ["Keyword"], + }, + { + name: "color-interpolation", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "svg", + field_template: "keyword", + type_name: "EColorInterpolation", + keywords: ["auto", "srgb", "linearrgb"], + default_value: "srgb", + typedom_types: ["Keyword"], + }, + { + name: "color-interpolation-filters", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "svg", + field_template: "keyword", + type_name: "EColorInterpolation", + keywords: ["auto", "srgb", "linearrgb"], + default_value: "linearrgb", + typedom_types: ["Keyword"], + }, + { + name: "color-rendering", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "svg", + field_template: "keyword", + keywords: ["auto", "optimizespeed", "optimizequality"], + default_value: "auto", + typedom_types: ["Keyword"], + }, + { + name: "color-scheme", + field_group: "*", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + style_builder_custom_functions: ["initial", "inherit", "value"], + inherited: true, + include_paths: ["third_party/blink/public/mojom/frame/color_scheme.mojom-blink.h"], + type_name: "Vector", + default_value: "Vector()", + field_template: "external", + valid_for_highlight_legacy: true, + computable: false, + // Affects the computed value of 'color', hence needs to happen before + // high-priority properties. + priority: 2, + valid_for_permission_element: true, + }, + { + name: "column-fill", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "keyword", + keywords: ["balance", "auto"], + default_value: "balance", + getter: "GetColumnFill", + typedom_types: ["Keyword"], + computable: false, + }, + { + name: "contain", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_size: 5, + field_template: "primitive", + default_value: "kContainsNone", + name_for_methods: "Contain", + type_name: "unsigned", + converter: "ConvertFlags", + keywords: ["none", "strict", "content", "size", "layout", "style", "paint", "inline-size", "block-size"], + typedom_types: ["Keyword"], + computable: false, + valid_for_permission_element: true, + }, + { + name: "contain-intrinsic-width", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "surround", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/style_intrinsic_length.h"], + keywords: ["none"], + default_value: "StyleIntrinsicLength()", + type_name: "StyleIntrinsicLength", + converter: "ConvertIntrinsicDimension", + valid_for_permission_element: true, + }, + { + name: "contain-intrinsic-height", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "surround", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/style_intrinsic_length.h"], + keywords: ["none"], + default_value: "StyleIntrinsicLength()", + type_name: "StyleIntrinsicLength", + converter: "ConvertIntrinsicDimension", + valid_for_permission_element: true, + }, + { + name: "container-name", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + type_name: "ScopedCSSNameList", + wrapper_pointer_name: "Member", + default_value: "nullptr", + field_group: "*", + field_template: "external", + converter: "ConvertContainerName", + keywords: ["none"], + typedom_types: ["Keyword"], + valid_for_permission_element: true, + }, + { + name: "container-type", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + keywords: ["normal", "inline-size", "size", "scroll-state"], + field_group: "*", + field_size: 3, + field_template: "primitive", + default_value: "kContainerTypeNormal", + type_name: "unsigned", + converter: "ConvertFlags", + typedom_types: ["Keyword"], + valid_for_permission_element: true, + }, + { + name: "content", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/content_data.h"], + wrapper_pointer_name: "Member", + default_value: "nullptr", + separator: ",", + type_name: "ContentData", + computed_style_custom_functions: ["getter"], + style_builder_custom_functions: ["initial", "inherit", "value"], + valid_for_marker: true, + supports_incremental_style: true, + }, + { + name: "counter-increment", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + style_builder_template: "counter", + style_builder_template_args: { + action: "Increment", + }, + keywords: ["none"], + typedom_types: ["Keyword"], + computable: false, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "counter-reset", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + style_builder_template: "counter", + style_builder_template_args: { + action: "Reset", + }, + keywords: ["none"], + typedom_types: ["Keyword"], + computable: false, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "counter-set", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + style_builder_template: "counter", + style_builder_template_args: { + action: "Set", + }, + keywords: ["none"], + typedom_types: ["Keyword"], + computable: false, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "cursor", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + inherited: true, + field_template: "keyword", + keywords: [ + "auto", "default", "none", "context-menu", "help", "pointer", + "progress", "wait", "cell", "crosshair", "text", "vertical-text", + "alias", "copy", "move", "no-drop", "not-allowed", "e-resize", + "n-resize", "ne-resize", "nw-resize", "s-resize", "se-resize", + "sw-resize", "w-resize", "ew-resize", "ns-resize", "nesw-resize", + "nwse-resize", "col-resize", "row-resize", "all-scroll", "zoom-in", + "zoom-out", "grab", "grabbing" + ], + default_value: "auto", + style_builder_custom_functions: ["initial", "inherit", "value"], + typedom_types: ["Keyword"], + valid_for_highlight_legacy: true, + }, + { + name: "cx", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "svg->geometry", + field_template: "", + default_value: "Length::Fixed()", + typedom_types: ["Length", "Percentage"], + converter: "ConvertLength", + supports_incremental_style: true, + }, + { + name: "cy", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "svg->geometry", + field_template: "", + default_value: "Length::Fixed()", + typedom_types: ["Length", "Percentage"], + converter: "ConvertLength", + supports_incremental_style: true, + }, + { + name: "d", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "svg->geometry", + field_template: "pointer", + include_paths: ["third_party/blink/renderer/core/style/style_path.h"], + wrapper_pointer_name: "scoped_refptr", + type_name: "StylePath", + default_value: "nullptr", + converter: "ConvertPathOrNone", + keywords: ["none"], + typedom_types: ["Keyword"], + supports_incremental_style: true, + }, + { + name: "display", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + keywords: [ + "inline", "block", "list-item", "inline-block", "table", "inline-table", + "table-row-group", "table-header-group", "table-footer-group", + "table-row", "table-column-group", "table-column", "table-cell", + "table-caption", "-webkit-box", "-webkit-inline-box", "flex", + "inline-flex", "grid", "inline-grid", "contents", "flow-root", "none", + "flow", "math", "ruby", "ruby-text" + ], + typedom_types: ["Keyword"], + style_builder_custom_functions: ["initial", "inherit", "value"], + // In general many things are tweaked after-the-fact based on display/float/position + // (e.g. OriginalDisplay is based on display, and setting float can cause blockification), + // so we turn off incremental style for all them all. + supports_incremental_style: false, + valid_for_permission_element: true, + }, + { + name: "dominant-baseline", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "svg", + field_template: "keyword", + keywords: ["auto", "alphabetic", "ideographic", "middle", "central", "mathematical", "hanging", + "use-script", "no-change", "reset-size", "text-after-edge", "text-before-edge"], + default_value: "auto", + typedom_types: ["Keyword"], + }, + { + name: "empty-cells", + property_methods: ["CSSValueFromComputedStyleInternal"], + independent: true, + inherited: true, + field_template: "keyword", + keywords: ["show", "hide"], + typedom_types: ["Keyword"], + default_value: "show", + }, + { + name: "fill", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], + interpolable: true, + inherited: true, + field_group: "svg->fill", + field_template: "external", + type_name: "SVGPaint", + include_paths: ["third_party/blink/renderer/core/style/svg_paint.h"], + default_value: "SVGPaint(Color::kBlack)", + name_for_methods: "FillPaint", + converter: "ConvertSVGPaint", + style_builder_template: "color", + style_builder_template_args: { + initial_color: "ComputedStyleInitialValues::InitialFillPaint", + }, + valid_for_highlight_legacy: true, + valid_for_highlight: true, + }, + { + name: "fill-opacity", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + inherited: true, + field_group: "svg->fill", + field_template: "primitive", + type_name: "float", + default_value: "1", + converter: "ConvertAlpha", + typedom_types: ["Number"], + accepts_numeric_literal: true, + }, + { + name: "fill-rule", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "svg", + // TODO(fs): Convert this to a keyword (requires enum massage). + field_template: "primitive", + field_size: 1, + include_paths: ["third_party/blink/renderer/platform/graphics/graphics_types.h"], + type_name: "WindRule", + keywords: ["nonzero", "evenodd"], + default_value: "RULE_NONZERO", + typedom_types: ["Keyword"], + }, + { + name: "filter", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + compositable: true, + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/filter_operations.h"], + default_value: "FilterOperations()", + type_name: "FilterOperations", + computed_style_custom_functions: ["initial"], + style_builder_custom_functions: ["value"], + keywords: ["none"], + typedom_types: ["Keyword"], + }, + { + name: "flex-basis", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "*", + field_template: "", + default_value: "Length::Auto()", + converter: "ConvertLengthSizing", + typedom_types: ["Keyword", "Length", "Percentage"], + keywords: ["auto", "fit-content", "min-content", "max-content", "content"], + valid_for_permission_element: true, + }, + { + name: "flex-direction", + property_methods: ["CSSValueFromComputedStyleInternal", "InitialValue"], + field_group: "*", + field_template: "keyword", + typedom_types: ["Keyword"], + keywords: ["row", "row-reverse", "column", "column-reverse"], + default_value: "row", + valid_for_permission_element: true, + }, + { + name: "flex-grow", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "*", + field_template: "primitive", + default_value: "0.0f", + type_name: "float", + typedom_types: ["Number"], + valid_for_permission_element: true, + }, + { + name: "flex-shrink", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "*", + field_template: "primitive", + default_value: "1.0f", + type_name: "float", + typedom_types: ["Number"], + valid_for_permission_element: true, + }, + { + name: "flex-wrap", + property_methods: ["CSSValueFromComputedStyleInternal", "InitialValue"], + field_group: "*", + field_template: "keyword", + typedom_types: ["Keyword"], + keywords: ["nowrap", "wrap", "wrap-reverse"], + default_value: "nowrap", + valid_for_permission_element: true, + }, + { + name: "float", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_template: "keyword", + computed_style_protected_functions: ["getter"], + keywords: ["none", "left", "right", "inline-start", "inline-end"], + typedom_types: ["Keyword"], + default_value: "none", + name_for_methods: "Floating", + type_name: "EFloat", + valid_for_first_letter: true, + // See comment on display. + supports_incremental_style: false, + valid_for_permission_element: true, + }, + { + name: "flood-color", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], + interpolable: true, + field_group: "svg->misc", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor(Color::kBlack)", + type_name: "StyleColor", + style_builder_template: "color", + style_builder_template_args: { + initial_color: "ComputedStyleInitialValues::InitialFloodColor", + }, + converter: "ConvertStyleColor", + keywords: ["currentcolor"], + typedom_types: ["Keyword"], + supports_incremental_style: true, + }, + { + name: "flood-opacity", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "svg->misc", + field_template: "primitive", + type_name: "float", + default_value: "1", + converter: "ConvertAlpha", + typedom_types: ["Number"], + supports_incremental_style: true, + accepts_numeric_literal: true, + }, + { + name: "grid-auto-columns", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/grid_track_list.h"], + default_value: "NGGridTrackList(GridTrackSize(Length::Auto()))", + type_name: "NGGridTrackList", + converter: "ConvertGridTrackSizeList", + keywords: ["auto", "min-content", "max-content"], + typedom_types: ["Keyword", "Length", "Percentage", "Flex"], + separator: " ", + }, + { + name: "grid-auto-flow", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + field_group: "*", + field_size: 4, // FIXME: Make this use "kGridAutoFlowBits". + field_template: "primitive", + default_value: "kAutoFlowRow", + type_name: "GridAutoFlow", + computed_style_custom_functions: ["getter"], + converter: "ConvertGridAutoFlow", + keywords: ["row", "column"], + typedom_types: ["Keyword"], + }, + { + name: "grid-auto-rows", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/grid_track_list.h"], + default_value: "NGGridTrackList(GridTrackSize(Length::Auto()))", + type_name: "NGGridTrackList", + converter: "ConvertGridTrackSizeList", + keywords: ["auto", "min-content", "max-content"], + typedom_types: ["Keyword", "Length", "Percentage", "Flex"], + separator: " ", + }, + { + name: "grid-column-end", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/grid_position.h"], + default_value: "GridPosition()", + type_name: "GridPosition", + keywords: ["auto"], + typedom_types: ["Keyword"], + converter: "ConvertGridPosition", + }, + { + name: "grid-column-start", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/grid_position.h"], + default_value: "GridPosition()", + type_name: "GridPosition", + keywords: ["auto"], + typedom_types: ["Keyword"], + converter: "ConvertGridPosition", + }, + { + name: "grid-row-end", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/grid_position.h"], + default_value: "GridPosition()", + type_name: "GridPosition", + keywords: ["auto"], + typedom_types: ["Keyword"], + converter: "ConvertGridPosition", + }, + { + name: "grid-row-start", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/grid_position.h"], + default_value: "GridPosition()", + type_name: "GridPosition", + keywords: ["auto"], + typedom_types: ["Keyword"], + converter: "ConvertGridPosition", + }, + { + name: "grid-template-areas", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/computed_grid_template_areas.h"], + type_name: "ComputedGridTemplateAreas", + wrapper_pointer_name: "Member", + default_value: "nullptr", + keywords: ["none"], + typedom_types: ["Keyword"], + converter: "ConvertGridTemplateAreas", + }, + { + name: "grid-template-columns", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + layout_dependent: true, + field_group: "*->grid", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/computed_grid_track_list.h"], + interpolable: true, + default_value: "ComputedGridTrackList()", + type_name: "ComputedGridTrackList", + style_builder_template: "grid", + style_builder_template_args: { + type: "Column", + }, + keywords: ["none"], + typedom_types: ["Keyword"], + }, + { + name: "grid-template-rows", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + layout_dependent: true, + field_group: "*->grid", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/computed_grid_track_list.h"], + interpolable: true, + default_value: "ComputedGridTrackList()", + type_name: "ComputedGridTrackList", + style_builder_template: "grid", + style_builder_template_args: { + type: "Row", + }, + keywords: ["none"], + typedom_types: ["Keyword"], + }, + { + name: "height", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + layout_dependent: true, + field_group: "box", + field_template: "", + keywords: ["auto", "fit-content", "min-content", "max-content"], + default_value: "Length()", + typedom_types: ["Keyword", "Length", "Percentage"], + converter: "ConvertLengthSizing", + anchor_mode: "size", + logical_property_group: { + name: "size", + resolver: "vertical", + }, + supports_incremental_style: true, + valid_for_formatted_text: true, + valid_for_position_try: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "hyphenate-limit-chars", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "*", + field_template: "external", + keywords: ["auto"], + type_name: "StyleHyphenateLimitChars", + default_value: "StyleHyphenateLimitChars()", + include_paths: ["third_party/blink/renderer/core/style/style_hyphenate_limit_chars.h"], + converter: "ConvertHyphenateLimitChars", + }, + { + name: "popover-show-delay", + runtime_flag: "HTMLPopoverActionHover", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "primitive", + type_name: "float", + interpolable: true, + typedom_types: ["Time"], + converter: "ConvertTimeValue", + default_value: "0.5", + supports_incremental_style: true, + }, + { + name: "popover-hide-delay", + runtime_flag: "HTMLPopoverActionHover", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "primitive", + type_name: "float", + interpolable: true, + typedom_types: ["Time"], + converter: "ConvertTimeValue", + default_value: "HUGE_VALF", + supports_incremental_style: true, + }, + { + name: "hyphens", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "*", + field_template: "keyword", + keywords: ["none", "manual", "auto"], + default_value: "manual", + type_name: "Hyphens", + typedom_types: ["Keyword"], + valid_for_marker: true, + }, + { + name: "image-rendering", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "*", + field_template: "keyword", + keywords: [ + "auto", "optimizespeed", "optimizequality", + "-webkit-optimize-contrast", "pixelated" + ], + typedom_types: ["Keyword"], + default_value: "auto", + }, + { + name: "image-orientation", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "*", + field_template: "primitive", + field_size: 1, + type_name: "RespectImageOrientationEnum", + default_value: "kRespectImageOrientation", + converter: "ConvertImageOrientation", + include_paths: [ + "third_party/blink/renderer/platform/graphics/image_orientation.h" + ], + }, + { + name: "dynamic-range-limit", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + inherited: true, + runtime_flag: "CSSDynamicRangeLimit", + converter: "ConvertDynamicRangeLimit", + type_name: "DynamicRangeLimit", + field_group: "*", + field_template: "external", + keywords: ["standard", "high", "constrained-high"], + typedom_types: ["Keyword"], + include_paths: ["third_party/blink/renderer/platform/graphics/graphics_types.h"], + default_value: "DynamicRangeLimit(cc::PaintFlags::DynamicRangeLimit::kHigh)", + }, + { + name: "initial-letter", + converter: "ConvertInitialLetter", + default_value: "StyleInitialLetter()", + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/style_initial_letter.h"], + inherited: false, + keywords: ["drop", "normal", "raise"], + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + type_name: "StyleInitialLetter", + valid_for_first_letter: true, + }, + { + name: "isolation", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "keyword", + keywords: ["auto", "isolate"], + typedom_types: ["Keyword"], + default_value: "auto", + valid_for_permission_element: true, + }, + { + name: "justify-content", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/style_content_alignment_data.h"], + default_value: "StyleContentAlignmentData(ContentPosition::kNormal, ContentDistributionType::kDefault, OverflowAlignment::kDefault)", + type_name: "StyleContentAlignmentData", + converter: "ConvertContentAlignmentData", + }, + { + name: "justify-items", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/style_self_alignment_data.h"], + default_value: "StyleSelfAlignmentData(ItemPosition::kLegacy, OverflowAlignment::kDefault)", + type_name: "StyleSelfAlignmentData", + converter: "ConvertSelfOrDefaultAlignmentData", + }, + { + name: "justify-self", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/style_self_alignment_data.h"], + default_value: "StyleSelfAlignmentData(ItemPosition::kAuto, OverflowAlignment::kDefault)", + type_name: "StyleSelfAlignmentData", + converter: "ConvertSelfOrDefaultAlignmentData", + valid_for_position_try: true, + valid_for_permission_element: true, + }, + { + name: "left", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + layout_dependent: true, + field_group: "surround", + field_template: "", + keywords: ["auto"], + default_value: "Length()", + typedom_types: ["Keyword", "Length", "Percentage"], + converter: "ConvertLengthOrAuto", + anchor_mode: "left", + logical_property_group: { + name: "inset", + resolver: "left", + }, + supports_incremental_style: true, + valid_for_position_try: true, + valid_for_permission_element: true, + }, + { + name: "letter-spacing", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + inherited: true, + converter: "ConvertSpacing", + keywords: ["normal"], + typedom_types: ["Keyword", "Length"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_marker: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "lighting-color", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], + interpolable: true, + field_group: "svg->misc", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor(Color::kWhite)", + type_name: "StyleColor", + style_builder_template: "color", + style_builder_template_args: { + initial_color: "ComputedStyleInitialValues::InitialLightingColor", + }, + converter: "ConvertStyleColor", + keywords: ["currentcolor"], + typedom_types: ["Keyword"], + }, + { + name: "line-height", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + inherited: true, + field_group: "inherited", + field_template: "", + default_value: "Length::Auto()", + getter: "SpecifiedLineHeight", + computed_style_custom_functions: ["getter"], + converter: "ConvertLineHeight", + keywords: ["normal"], + typedom_types: ["Keyword", "Length", "Number", "Percentage"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + valid_for_marker: true, + valid_for_page_context: true, + affected_by_zoom: true, + }, + { + name: "list-style-image", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + inherited: true, + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/style_image.h"], + wrapper_pointer_name: "Member", + default_value: "nullptr", + typedom_types: ["Keyword", "Image"], + type_name: "StyleImage", + style_builder_custom_functions: ["value"], + keywords: ["none"], + }, + { + name: "list-style-position", + property_methods: ["CSSValueFromComputedStyleInternal"], + independent: true, + inherited: true, + field_template: "keyword", + keywords: ["outside", "inside"], + typedom_types: ["Keyword"], + default_value: "outside", + }, + { + name: "list-style-type", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/keywords.h", + "third_party/blink/renderer/core/style/list_style_type_data.h"], + wrapper_pointer_name: "Member", + default_value: "ListStyleTypeData::CreateCounterStyle(keywords::kDisc, nullptr)", + type_name: "ListStyleTypeData", + keywords: [ + "disc", "circle", "square", "disclosure-open", "disclosure-closed", + "decimal", "none" + ], + style_builder_custom_functions: ["value"], + }, + { + name: "margin-bottom", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + layout_dependent: true, + field_group: "box", + field_template: "", + default_value: "Length::Fixed()", + converter: "ConvertQuirkyLength", + computed_style_custom_functions: ["setter"], + keywords: ["auto"], + typedom_types: ["Keyword", "Length", "Percentage"], + valid_for_first_letter: true, + valid_for_position_try: true, + logical_property_group: { + name: "margin", + resolver: "bottom", + }, + supports_incremental_style: true, + valid_for_permission_element: true, + valid_for_limited_page_context: true, + valid_for_page_context: true, + }, + { + name: "margin-left", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + layout_dependent: true, + field_group: "box", + field_template: "", + default_value: "Length::Fixed()", + converter: "ConvertQuirkyLength", + computed_style_custom_functions: ["setter"], + keywords: ["auto"], + typedom_types: ["Keyword", "Length", "Percentage"], + valid_for_first_letter: true, + valid_for_position_try: true, + logical_property_group: { + name: "margin", + resolver: "left", + }, + supports_incremental_style: true, + valid_for_permission_element: true, + valid_for_limited_page_context: true, + valid_for_page_context: true, + }, + { + name: "margin-right", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + layout_dependent: true, + field_group: "box", + field_template: "", + default_value: "Length::Fixed()", + converter: "ConvertQuirkyLength", + computed_style_custom_functions: ["setter"], + keywords: ["auto"], + typedom_types: ["Keyword", "Length", "Percentage"], + valid_for_first_letter: true, + valid_for_position_try: true, + logical_property_group: { + name: "margin", + resolver: "right", + }, + supports_incremental_style: true, + valid_for_permission_element: true, + valid_for_limited_page_context: true, + valid_for_page_context: true, + }, + { + name: "margin-top", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + layout_dependent: true, + field_group: "box", + field_template: "", + default_value: "Length::Fixed()", + converter: "ConvertQuirkyLength", + computed_style_custom_functions: ["setter"], + keywords: ["auto"], + typedom_types: ["Keyword", "Length", "Percentage"], + valid_for_first_letter: true, + valid_for_position_try: true, + logical_property_group: { + name: "margin", + resolver: "top", + }, + supports_incremental_style: true, + valid_for_permission_element: true, + valid_for_limited_page_context: true, + valid_for_page_context: true, + }, + { + name: "marker-end", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "svg->inherited_resources", + field_template: "pointer", + type_name: "StyleSVGResource", + include_paths: ["third_party/blink/renderer/core/style/style_svg_resource.h"], + wrapper_pointer_name: "Member", + default_value: "nullptr", + name_for_methods: "MarkerEndResource", + converter: "ConvertElementReference", + keywords: ["none"], + typedom_types: ["Keyword"], + }, + { + name: "marker-mid", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "svg->inherited_resources", + field_template: "pointer", + type_name: "StyleSVGResource", + include_paths: ["third_party/blink/renderer/core/style/style_svg_resource.h"], + wrapper_pointer_name: "Member", + default_value: "nullptr", + name_for_methods: "MarkerMidResource", + converter: "ConvertElementReference", + keywords: ["none"], + typedom_types: ["Keyword"], + }, + { + name: "marker-start", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "svg->inherited_resources", + field_template: "pointer", + type_name: "StyleSVGResource", + include_paths: ["third_party/blink/renderer/core/style/style_svg_resource.h"], + wrapper_pointer_name: "Member", + default_value: "nullptr", + name_for_methods: "MarkerStartResource", + converter: "ConvertElementReference", + keywords: ["none"], + typedom_types: ["Keyword"], + }, + { + name: "mask", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "svg", + field_template: "pointer", + type_name: "StyleSVGResource", + include_paths: ["third_party/blink/renderer/core/style/style_svg_resource.h"], + wrapper_pointer_name: "Member", + default_value: "nullptr", + name_for_methods: "MaskerResource", + converter: "ConvertElementReference", + computable: false, + }, + { + name: "mask-type", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "svg", + field_template: "keyword", + keywords: ["luminance", "alpha"], + typedom_types: ["Keyword"], + default_value: "luminance", + }, + { + name: "math-shift", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "keyword", + inherited: true, + keywords: ["normal", "compact"], + typedom_types: ["Keyword"], + default_value: "normal", + }, + { + name: "math-style", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "keyword", + inherited: true, + keywords: ["normal", "compact"], + typedom_types: ["Keyword"], + default_value: "normal", + }, + { + name: "max-height", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "box", + field_template: "", + default_value: "Length::None()", + converter: "ConvertLengthMaxSizing", + anchor_mode: "size", + keywords: ["none"], + typedom_types: ["Keyword", "Length", "Percentage"], + logical_property_group: { + name: "max-size", + resolver: "vertical", + }, + supports_incremental_style: true, + valid_for_position_try: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "max-width", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "box", + field_template: "", + default_value: "Length::None()", + converter: "ConvertLengthMaxSizing", + anchor_mode: "size", + keywords: ["none"], + typedom_types: ["Keyword", "Length", "Percentage"], + logical_property_group: { + name: "max-size", + resolver: "horizontal", + }, + supports_incremental_style: true, + valid_for_position_try: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "min-height", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "box", + field_template: "", + default_value: "Length()", + converter: "ConvertLengthSizing", + anchor_mode: "size", + typedom_types: ["Length", "Percentage"], + logical_property_group: { + name: "min-size", + resolver: "vertical", + }, + supports_incremental_style: true, + valid_for_position_try: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "min-width", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "box", + field_template: "", + default_value: "Length()", + converter: "ConvertLengthSizing", + anchor_mode: "size", + typedom_types: ["Length", "Percentage"], + logical_property_group: { + name: "min-size", + resolver: "horizontal", + }, + supports_incremental_style: true, + valid_for_position_try: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "mix-blend-mode", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "keyword", + include_paths: ["third_party/blink/renderer/platform/graphics/graphics_types.h"], + keywords: [ + "normal", "multiply", "screen", "overlay", "darken", "lighten", + "color-dodge", "color-burn", "hard-light", "soft-light", "difference", + "exclusion", "hue", "saturation", "color", "luminosity", "plus-lighter" + ], + typedom_types: ["Keyword"], + default_value: "normal", + name_for_methods: "BlendMode", + type_name: "BlendMode", + }, + { + name: "object-fit", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "keyword", + keywords: ["fill", "contain", "cover", "none", "scale-down"], + typedom_types: ["Keyword"], + default_value: "fill", + getter: "GetObjectFit", + }, + { + name: "object-position", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/platform/geometry/length_point.h"], + default_value: "LengthPoint(Length::Percent(50.0), Length::Percent(50.0))", + type_name: "LengthPoint", + converter: "ConvertPosition", + typedom_types: ["Keyword", "Position"], + }, + { + name: "object-view-box", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "*", + field_template: "pointer", + include_paths: ["third_party/blink/renderer/core/style/basic_shapes.h"], + wrapper_pointer_name: "scoped_refptr", + default_value: "nullptr", + type_name: "BasicShape", + converter: "ConvertObjectViewBox", + keywords: ["none"], + typedom_types: ["Keyword"], + }, + { + name: "offset-anchor", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + runtime_flag: "CSSOffsetPositionAnchor", + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/platform/geometry/length_point.h"], + default_value: "LengthPoint(Length::Auto(), Length::Auto())", + type_name: "LengthPoint", + converter: "ConvertPositionOrAuto", + keywords: ["auto"], + typedom_types: ["Keyword", "Position"], + }, + { + name: "offset-distance", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "*", + field_template: "", + default_value: "Length::Fixed(0)", + converter: "ConvertLength", + typedom_types: ["Length", "Percentage"], + }, + { + name: "offset-path", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "*", + field_template: "pointer", + include_paths: ["third_party/blink/renderer/core/style/offset_path_operation.h"], + wrapper_pointer_name: "Member", + default_value: "nullptr", + type_name: "OffsetPathOperation", + converter: "ConvertOffsetPath", + keywords: ["none"], + typedom_types: ["Keyword"], + }, + { + name: "offset-position", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + runtime_flag: "CSSOffsetPositionAnchor", + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/platform/geometry/length_point.h"], + default_value: "LengthPoint(Length::None(), Length::None())", + type_name: "LengthPoint", + converter: "ConvertOffsetPosition", + keywords: ["auto", "normal"], + typedom_types: ["Keyword", "Position"], + }, + { + name: "offset-rotate", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/style_offset_rotation.h"], + default_value: "StyleOffsetRotation(0, OffsetRotationType::kAuto)", + type_name: "StyleOffsetRotation", + converter: "ConvertOffsetRotate", + keywords: ["auto", "reverse"], + typedom_types: ["Keyword", "Angle"], + }, + { + name: "opacity", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + compositable: true, + field_group: "*", + field_template: "primitive", + default_value: "1.0", + type_name: "float", + computed_style_custom_functions: ["setter"], + typedom_types: ["Number"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + supports_incremental_style: true, + accepts_numeric_literal: true, + }, + { + name: "order", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "*", + field_template: "primitive", + default_value: "0", + type_name: "int", + typedom_types: ["Number"], + valid_for_permission_element: true, + }, + { + // This property is used for testing with origin trial intergration only. + // It should never be web-exposed. + name: "origin-trial-test-property", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_template: "keyword", + default_value: "normal", + keywords: ["normal", "none"], + typedom_types: ["Keyword"], + runtime_flag: "OriginTrialsSampleAPI", + computable: false, + }, + { + name: "orphans", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + inherited: true, + field_group: "*", + field_template: "primitive", + computed_style_custom_functions: ["setter"], + default_value: "2", + type_name: "short", + typedom_types: ["Number"], + valid_for_permission_element: true, + }, + { + name: "outline-color", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], + interpolable: true, + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor::CurrentColor()", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + keywords: ["currentcolor"], + typedom_types: ["Keyword"], + converter: "ConvertStyleColor", + style_builder_template: "color", + valid_for_cue: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "outline-offset", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/platform/geometry/layout_unit.h"], + default_value: "LayoutUnit()", + type_name: "LayoutUnit", + converter: "ConvertLayoutUnit", + typedom_types: ["Length"], + valid_for_cue: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "outline-style", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "keyword", + keywords: [ + "none", "hidden", "inset", "groove", "outset", "ridge", "dotted", + "dashed", "solid", "double" + ], + typedom_types: ["Keyword"], + default_value: "none", + type_name: "EBorderStyle", + style_builder_custom_functions: ["initial", "inherit", "value"], + valid_for_cue: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "outline-width", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/platform/geometry/layout_unit.h"], + default_value: "LayoutUnit(3)", + type_name: "LayoutUnit", + computed_style_custom_functions: ["getter"], + converter: "ConvertBorderWidth", + keywords: ["thin", "medium", "thick"], + typedom_types: ["Keyword", "Length"], + valid_for_cue: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "overflow-anchor", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: false, + field_template: "keyword", + keywords: [ + "visible", "none", "auto" + ], + typedom_types: ["Keyword"], + default_value: "auto", + valid_for_permission_element: true, + }, + { + name: "overflow-wrap", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "*", + field_template: "keyword", + keywords: ["normal", "break-word", "anywhere"], + default_value: "normal", + typedom_types: ["Keyword"], + valid_for_marker: true, + }, + { + name: "overflow-inline", + logical_property_group: { + name: "overflow", + resolver: "inline", + }, + runtime_flag: "CSSLogicalOverflow", + // See comment on overflow-x. + supports_incremental_style: false, + }, + { + name: "-internal-overflow-inline", + logical_property_group: { + name: "overflow", + resolver: "inline", + }, + }, + { + name: "overflow-block", + logical_property_group: { + name: "overflow", + resolver: "block", + }, + runtime_flag: "CSSLogicalOverflow", + // See comment on overflow-x. + supports_incremental_style: false, + }, + { + name: "-internal-overflow-block", + logical_property_group: { + name: "overflow", + resolver: "block", + }, + }, + { + name: "overflow-clip-margin", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_template: "external", + field_group: "*", + include_paths: ["third_party/blink/renderer/core/style/style_overflow_clip_margin.h"], + keywords: ["border-box", "content-box", "padding-box"], + separator: " ", + default_value: "std::nullopt", + type_name: "std::optional", + converter: "ConvertOverflowClipMargin", + }, + { + name: "overflow-x", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_template: "keyword", + keywords: [ + "visible", "hidden", "scroll", "auto", "overlay", "clip" + ], + typedom_types: ["Keyword"], + default_value: "visible", + // This is to allow us to gather metrics when overflow is explicitly set. + style_builder_custom_functions: ["initial", "inherit", "value"], + type_name: "EOverflow", + logical_property_group: { + name: "overflow", + resolver: "horizontal", + }, + // Overflow has special semantics; overflowY can influence overflowX. + // But StyleAdjuster::AdjustOverflow() only does this properly if overflowX + // is set to the initial value (it cannot distinguish between an explicitly + // set overflowX, and one that was already adjusted in a previous pass). + // Modifying overflow frequently should not be common, so we take it out. + supports_incremental_style: false, + idempotent: false, + }, + { + name: "overflow-y", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_template: "keyword", + keywords: [ + "visible", "hidden", "scroll", "auto", "overlay", "clip" + ], + typedom_types: ["Keyword"], + default_value: "visible", + // This is to allow us to gather metrics when overflow is explicitly set. + style_builder_custom_functions: ["initial", "inherit", "value"], + type_name: "EOverflow", + logical_property_group: { + name: "overflow", + resolver: "vertical", + }, + // See comment on overflow-x. + supports_incremental_style: false, + idempotent: false, + }, + { + name: "overscroll-behavior-inline", + logical_property_group: { + name: "overscroll-behavior", + resolver: "inline", + }, + valid_for_permission_element: true, + }, + { + name: "overscroll-behavior-block", + logical_property_group: { + name: "overscroll-behavior", + resolver: "block", + }, + valid_for_permission_element: true, + }, + { + name: "overscroll-behavior-x", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_template: "keyword", + field_group: "*", + keywords: ["auto", "contain", "none"], + default_value: "auto", + type_name: "EOverscrollBehavior", + typedom_types: ["Keyword"], + logical_property_group: { + name: "overscroll-behavior", + resolver: "horizontal", + }, + computable: false, + valid_for_permission_element: true, + }, + { + name: "overscroll-behavior-y", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_template: "keyword", + field_group: "*", + keywords: ["auto", "contain", "none"], + default_value: "auto", + type_name: "EOverscrollBehavior", + typedom_types: ["Keyword"], + logical_property_group: { + name: "overscroll-behavior", + resolver: "vertical", + }, + computable: false, + valid_for_permission_element: true, + }, + { + name: "padding-bottom", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + layout_dependent: true, + field_group: "box", + field_template: "", + default_value: "Length::Fixed()", + converter: "ConvertLength", + computed_style_custom_functions: ["setter"], + typedom_types: ["Keyword", "Length", "Percentage"], + valid_for_first_letter: true, + valid_for_page_context: true, + logical_property_group: { + name: "padding", + resolver: "bottom", + }, + supports_incremental_style: true, + }, + { + name: "padding-left", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + layout_dependent: true, + field_group: "box", + field_template: "", + default_value: "Length::Fixed()", + converter: "ConvertLength", + computed_style_custom_functions: ["setter"], + typedom_types: ["Keyword", "Length", "Percentage"], + valid_for_first_letter: true, + valid_for_page_context: true, + logical_property_group: { + name: "padding", + resolver: "left", + }, + supports_incremental_style: true, + }, + { + name: "padding-right", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + layout_dependent: true, + field_group: "box", + field_template: "", + default_value: "Length::Fixed()", + converter: "ConvertLength", + computed_style_custom_functions: ["setter"], + typedom_types: ["Keyword", "Length", "Percentage"], + valid_for_first_letter: true, + valid_for_page_context: true, + logical_property_group: { + name: "padding", + resolver: "right", + }, + supports_incremental_style: true, + }, + { + name: "padding-top", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + layout_dependent: true, + field_group: "box", + field_template: "", + default_value: "Length::Fixed()", + converter: "ConvertLength", + computed_style_custom_functions: ["setter"], + typedom_types: ["Keyword", "Length", "Percentage"], + valid_for_first_letter: true, + valid_for_page_context: true, + logical_property_group: { + name: "padding", + resolver: "top", + }, + supports_incremental_style: true, + }, + { + name: "page", + field_group: "*", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + converter: "ConvertPage", + type_name: "AtomicString", + default_value: "AtomicString()", + field_template: "external", + keywords: ["auto"], + typedom_types: ["Keyword"], + computable: false, + valid_for_permission_element: true, + }, + { + name: "page-orientation", + is_descriptor: true, + field_template: "primitive", + field_group: "*", + type_name: "PageOrientation", + field_size: 2, + default_value: "PageOrientation::kUpright", + include_paths: ["third_party/blink/public/common/css/page_orientation.h"], + computable: false, + valid_for_limited_page_context: true, + valid_for_page_context: true, + }, + { + name: "paint-order", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "svg", + field_template: "primitive", + field_size: 3, + type_name: "EPaintOrder", + default_value: "kPaintOrderNormal", + converter: "ConvertPaintOrder", + keywords: ["normal", "fill", "stroke", "markers"], + typedom_types: ["Keyword"], + }, + { + name: "perspective", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "*", + field_template: "primitive", + default_value: "-1.0", + type_name: "float", + converter: "ConvertPerspective", + keywords: ["none"], + typedom_types: ["Keyword", "Length"], + }, + { + name: "perspective-origin", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + layout_dependent: true, + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/platform/geometry/length_point.h"], + default_value: "LengthPoint(Length::Percent(50.0), Length::Percent(50.0))", + type_name: "LengthPoint", + converter: "ConvertPosition", + typedom_types: ["Position"], + // Overlaps with -webkit-perspective-origin-[x,y]. + overlapping: true, + }, + { + name: "pointer-events", + property_methods: ["CSSValueFromComputedStyleInternal"], + computed_style_protected_functions: ["getter"], + independent: true, + inherited: true, + field_template: "keyword", + keywords: [ + "none", "auto", "stroke", "fill", "painted", "visible", "visiblestroke", + "visiblefill", "visiblepainted", "bounding-box", "all" + ], + typedom_types: ["Keyword"], + default_value: "auto", + }, + { + name: "position", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_template: "keyword", + keywords: [ + "static", "relative", "absolute", "fixed", "sticky" + ], + typedom_types: ["Keyword"], + default_value: "static", + getter: "GetPosition", + computed_style_custom_functions: ["getter"], + // See comment on display. + supports_incremental_style: false, + // @position-try-styling rely on this being high-priority, so that + // declarations from @position-try blocks can be applied conditionally + // based on whether or not we're out-of-flow positioned. + priority: 1, + valid_for_permission_element: true, + }, + { + name: "position-anchor", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal" ], + include_paths: ["third_party/blink/renderer/core/style/scoped_css_name.h"], + type_name: "ScopedCSSName", + wrapper_pointer_name: "Member", + default_value: "nullptr", + field_group: "*", + field_template: "external", + converter: "ConvertPositionAnchor", + keywords: ["implicit"], + typedom_types: ["Keyword"], + runtime_flag: "CSSAnchorPositioning", + valid_for_permission_element: true, + valid_for_position_try: true, + }, + { + name: "position-fallback-bounds", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal" ], + include_paths: ["third_party/blink/renderer/core/style/scoped_css_name.h"], + type_name: "ScopedCSSName", + wrapper_pointer_name: "Member", + default_value: "nullptr", + field_group: "*", + field_template: "external", + converter: "ConvertNormalOrCustomIdent", + keywords: ["normal"], + typedom_types: ["Keyword"], + runtime_flag: "CSSPositionFallbackBounds", + }, + { + name: "position-try-options", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + style_builder_custom_functions: ["value"], + field_group: "*", + field_template: "external", + keywords: ["none", "flip-block", "flip-inline", "flip-start"], + typedom_types: ["Keyword"], + include_paths: ["third_party/blink/renderer/core/style/position_try_options.h"], + wrapper_pointer_name: "Member", + type_name: "PositionTryOptions", + default_value: "nullptr", + runtime_flag: "CSSAnchorPositioning", + }, + { + name: "position-try-order", + property_methods: ["CSSValueFromComputedStyleInternal", "InitialValue"], + field_group: "*", + field_template: "keyword", + keywords: ["normal", "most-width", "most-height", "most-block-size", "most-inline-size"], + typedom_types: ["Keyword"], + default_value: "normal", + runtime_flag: "CSSPositionTryOrder", + }, + { + name: "quotes", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "*", + field_template: "pointer", + include_paths: ["third_party/blink/renderer/platform/text/quotes_data.h"], + wrapper_pointer_name: "scoped_refptr", + default_value: "nullptr", + type_name: "QuotesData", + converter: "ConvertQuotes", + keywords: ["auto", "none"], + typedom_types: ["Keyword"], + computable: false, + valid_for_page_context: true, + }, + { + name: "content-visibility", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_template: "keyword", + keywords: ["visible", "auto", "hidden"], + default_value: "visible", + typedom_types: ["Keyword"], + computable: false, + valid_for_permission_element: true, + }, + { + name: "reading-order-items", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "keyword", + keywords: ["normal", "flex-visual", "flex-flow", "grid-rows", "grid-columns", "grid-order"], + typedom_types: ["Keyword"], + default_value: "normal", + runtime_flag: "CSSReadingOrderItems", + }, + { + name: "resize", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "keyword", + computed_style_protected_functions: ["getter"], + style_builder_custom_functions: ["value"], + keywords: ["none", "both", "horizontal", "vertical", "block", "inline"], + typedom_types: ["Keyword"], + default_value: "none", + }, + { + name: "right", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + layout_dependent: true, + field_group: "surround", + field_template: "", + keywords: ["auto"], + default_value: "Length()", + typedom_types: ["Keyword", "Length", "Percentage"], + converter: "ConvertLengthOrAuto", + anchor_mode: "right", + logical_property_group: { + name: "inset", + resolver: "right", + }, + supports_incremental_style: true, + valid_for_position_try: true, + valid_for_permission_element: true, + }, + { + name: "r", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "svg->geometry", + field_template: "", + default_value: "Length::Fixed()", + typedom_types: ["Length", "Percentage"], + converter: "ConvertLength", + supports_incremental_style: true, + }, + { + name: "rx", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "svg->geometry", + field_template: "", + default_value: "Length::Auto()", + keywords: ["auto"], + typedom_types: ["Keyword", "Length", "Percentage"], + converter: "ConvertLengthOrAuto", + supports_incremental_style: true, + }, + { + name: "ry", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "svg->geometry", + field_template: "", + default_value: "Length::Auto()", + keywords: ["auto"], + typedom_types: ["Keyword", "Length", "Percentage"], + converter: "ConvertLengthOrAuto", + supports_incremental_style: true, + }, + { + interpolable: true, + name: "scrollbar-color", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + inherited: true, + name_for_methods: "ScrollbarColor", + type_name: "std::optional", + converter: "ConvertScrollbarColor", + keywords: ["auto"], + field_group: "*", + field_template: "external", + default_value: "std::optional()", + include_paths: ["third_party/blink/renderer/core/style/style_scrollbar_color.h"], + runtime_flag: "ScrollbarColor", + }, + { + name: "scrollbar-gutter", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + inherited: false, + field_size: 4, + field_template: "primitive", + default_value: "kScrollbarGutterAuto", + name_for_methods: "ScrollbarGutter", + type_name: "unsigned", + converter: "ConvertScrollbarGutter", + keywords: [ + "auto", "stable", "both-edges" + ], + typedom_types: ["Keyword"], + }, + { + name: "scrollbar-width", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: false, + field_group: "*", + field_template: "keyword", + keywords: ["auto", "thin", "none"], + default_value: "auto", + typedom_types: ["Keyword"], + runtime_flag: "ScrollbarWidth", + }, + { + name: "scroll-behavior", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "*", + field_size: 2, // FIXME: Convert this to a keyword field + field_template: "primitive", + include_paths: ["third_party/blink/public/mojom/scroll/scroll_enums.mojom-blink.h"], + default_value: "mojom::blink::ScrollBehavior::kAuto", + type_name: "mojom::blink::ScrollBehavior", + keywords: ["auto", "smooth"], + typedom_types: ["Keyword"], + }, + { + name: "scroll-margin-block-end", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "scroll-margin", + resolver: "block-end", + }, + typedom_types: ["Keyword", "Length"], + valid_for_permission_element: true, + }, + { + name: "scroll-margin-block-start", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "scroll-margin", + resolver: "block-start", + }, + typedom_types: ["Keyword", "Length"], + valid_for_permission_element: true, + }, + { + name: "scroll-margin-bottom", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "primitive", + default_value: "0.0f", + type_name: "float", + converter: "ConvertComputedLength", + typedom_types: ["Keyword", "Length"], + logical_property_group: { + name: "scroll-margin", + resolver: "bottom", + }, + computable: false, + valid_for_permission_element: true, + }, + { + name: "scroll-margin-inline-end", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "scroll-margin", + resolver: "inline-end", + }, + typedom_types: ["Keyword", "Length"], + valid_for_permission_element: true, + }, + { + name: "scroll-margin-inline-start", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "scroll-margin", + resolver: "inline-start", + }, + typedom_types: ["Keyword", "Length"], + valid_for_permission_element: true, + }, + { + name: "scroll-margin-left", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "primitive", + default_value: "0.0f", + type_name: "float", + converter: "ConvertComputedLength", + typedom_types: ["Keyword", "Length"], + logical_property_group: { + name: "scroll-margin", + resolver: "left", + }, + computable: false, + valid_for_permission_element: true, + }, + { + name: "scroll-margin-right", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "primitive", + default_value: "0.0f", + type_name: "float", + converter: "ConvertComputedLength", + typedom_types: ["Keyword", "Length"], + logical_property_group: { + name: "scroll-margin", + resolver: "right", + }, + computable: false, + valid_for_permission_element: true, + }, + { + name: "scroll-margin-top", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "primitive", + default_value: "0.0f", + type_name: "float", + converter: "ConvertComputedLength", + typedom_types: ["Keyword", "Length"], + logical_property_group: { + name: "scroll-margin", + resolver: "top", + }, + computable: false, + valid_for_permission_element: true, + }, + { + name: "scroll-padding-block-end", + property_methods: ["ParseSingleValue"], + include_paths: ["third_party/blink/renderer/platform/geometry/length.h"], + keywords: ["auto"], + typedom_types: ["Keyword", "Length", "Percentage"], + type_name: "Length", + converter: "ConvertLengthOrAuto", + logical_property_group: { + name: "scroll-padding", + resolver: "block-end", + }, + valid_for_permission_element: true, + }, + { + name: "scroll-padding-block-start", + property_methods: ["ParseSingleValue"], + include_paths: ["third_party/blink/renderer/platform/geometry/length.h"], + keywords: ["auto"], + typedom_types: ["Keyword", "Length", "Percentage"], + type_name: "Length", + converter: "ConvertLengthOrAuto", + logical_property_group: { + name: "scroll-padding", + resolver: "block-start", + }, + valid_for_permission_element: true, + }, + { + name: "scroll-padding-bottom", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "", + default_value: "Length()", + keywords: ["auto"], + typedom_types: ["Keyword", "Length", "Percentage"], + converter: "ConvertLengthOrAuto", + logical_property_group: { + name: "scroll-padding", + resolver: "bottom", + }, + computable: false, + valid_for_permission_element: true, + }, + { + name: "scroll-padding-inline-end", + property_methods: ["ParseSingleValue"], + include_paths: ["third_party/blink/renderer/platform/geometry/length.h"], + keywords: ["auto"], + typedom_types: ["Keyword", "Length", "Percentage"], + type_name: "Length", + converter: "ConvertLengthOrAuto", + logical_property_group: { + name: "scroll-padding", + resolver: "inline-end", + }, + valid_for_permission_element: true, + }, + { + name: "scroll-padding-inline-start", + property_methods: ["ParseSingleValue"], + include_paths: ["third_party/blink/renderer/platform/geometry/length.h"], + keywords: ["auto"], + typedom_types: ["Keyword", "Length", "Percentage"], + type_name: "Length", + converter: "ConvertLengthOrAuto", + logical_property_group: { + name: "scroll-padding", + resolver: "inline-start", + }, + valid_for_permission_element: true, + }, + { + name: "scroll-padding-left", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "", + default_value: "Length()", + keywords: ["auto"], + typedom_types: ["Keyword", "Length", "Percentage"], + converter: "ConvertLengthOrAuto", + logical_property_group: { + name: "scroll-padding", + resolver: "left", + }, + computable: false, + valid_for_permission_element: true, + }, + { + name: "scroll-padding-right", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "", + default_value: "Length()", + keywords: ["auto"], + typedom_types: ["Keyword", "Length", "Percentage"], + converter: "ConvertLengthOrAuto", + logical_property_group: { + name: "scroll-padding", + resolver: "right", + }, + computable: false, + valid_for_permission_element: true, + }, + { + name: "scroll-padding-top", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "", + default_value: "Length()", + keywords: ["auto"], + typedom_types: ["Keyword", "Length", "Percentage"], + converter: "ConvertLengthOrAuto", + logical_property_group: { + name: "scroll-padding", + resolver: "top", + }, + computable: false, + valid_for_permission_element: true, + }, + { + name: "scroll-snap-align", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "external", + include_paths: ["cc/input/scroll_snap_data.h"], + default_value: "cc::ScrollSnapAlign()", + getter: "GetScrollSnapAlign", + type_name: "cc::ScrollSnapAlign", + converter: "ConvertSnapAlign", + keywords: ["none", "start", "end", "center"], + typedom_types: ["Keyword"], + computable: false, + }, + { + name: "scroll-snap-stop", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_template: "keyword", + keywords: ["normal", "always"], + default_value: "normal", + typedom_types: ["Keyword"], + computable: false, + }, + { + name: "scroll-snap-type", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "external", + include_paths: ["cc/input/scroll_snap_data.h"], + default_value: "cc::ScrollSnapType()", + getter: "GetScrollSnapType", + type_name: "cc::ScrollSnapType", + converter: "ConvertSnapType", + keywords: ["none", "x", "y", "block", "inline", "both", "mandatory", "proximity"], + typedom_types: ["Keyword"], + computable: false, + }, + { + name: "scroll-start-block", + property_methods: ["ParseSingleValue"], + field_group: "*->start", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/scroll_start_data.h"], + default_value: "blink::ScrollStartData()", + type_name: "ScrollStartData", + logical_property_group : { + name: "scroll-start", + resolver: "block" + }, + keywords: ["auto", "start", "end", "center", "top", "bottom", "left", "right"], + typedom_types: ["Keyword", "Length", "Percentage"], + runtime_flag: "CSSScrollStart", + }, + { + name: "scroll-start-inline", + property_methods: ["ParseSingleValue"], + field_group: "*->start", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/scroll_start_data.h"], + default_value: "blink::ScrollStartData()", + type_name: "ScrollStartData", + logical_property_group : { + name: "scroll-start", + resolver: "inline" + }, + keywords: ["auto", "start", "end", "center", "top", "bottom", "left", "right"], + typedom_types: ["Keyword", "Length", "Percentage"], + runtime_flag: "CSSScrollStart", + }, + { + name: "scroll-start-x", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*->start", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/scroll_start_data.h"], + default_value: "blink::ScrollStartData()", + type_name: "ScrollStartData", + converter: "ConvertScrollStart", + logical_property_group : { + name: "scroll-start", + resolver: "horizontal" + }, + runtime_flag: "CSSScrollStart", + }, + { + name: "scroll-start-y", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*->start", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/scroll_start_data.h"], + default_value: "blink::ScrollStartData()", + type_name: "ScrollStartData", + converter: "ConvertScrollStart", + logical_property_group : { + name: "scroll-start", + resolver: "vertical" + }, + runtime_flag: "CSSScrollStart", + }, + { + name: "scroll-start-target-block", + property_methods: ["ParseSingleValue"], + field_group: "*->target", + field_template: "keyword", + default_value: "none", + type_name: "EScrollStartTarget", + logical_property_group: { + name: "scroll-start-target", + resolver: "block", + }, + keywords: ["none", "auto"], + typedom_types: ["Keyword"], + runtime_flag: "CSSScrollStart", + }, + { + name: "scroll-start-target-inline", + property_methods: ["ParseSingleValue"], + field_group: "*->target", + field_template: "keyword", + default_value: "none", + type_name: "EScrollStartTarget", + logical_property_group: { + name: "scroll-start-target", + resolver: "inline", + }, + keywords: ["none", "auto"], + typedom_types: ["Keyword"], + runtime_flag: "CSSScrollStart", + }, + { + name: "scroll-start-target-x", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*->target", + field_template: "keyword", + type_name: "EScrollStartTarget", + default_value: "none", + logical_property_group: { + name: "scroll-start-target", + resolver: "horizontal" + }, + keywords: ["none", "auto"], + runtime_flag: "CSSScrollStart", + }, + { + name: "scroll-start-target-y", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*->target", + field_template: "keyword", + type_name: "EScrollStartTarget", + default_value: "none", + logical_property_group: { + name: "scroll-start-target", + resolver: "vertical" + }, + keywords: ["none", "auto"], + runtime_flag: "CSSScrollStart", + }, + { + name: "scroll-timeline-axis", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + field_group: "*->timeline", + field_template: "external", + default_value: "Vector()", + type_name: "Vector", + converter: "ConvertViewTimelineAxis", + separator: ",", + runtime_flag: "ScrollTimeline", + }, + { + name: "scroll-timeline-name", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + field_group: "*->timeline", + field_template: "external", + default_value: "nullptr", + type_name: "ScopedCSSNameList", + wrapper_pointer_name: "Member", + converter: "ConvertViewTimelineName", + separator: ",", + runtime_flag: "ScrollTimeline", + }, + { + name: "shape-image-threshold", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "*", + field_template: "primitive", + default_value: "0.0", + type_name: "float", + computed_style_custom_functions: ["setter"], + typedom_types: ["Number"], + accepts_numeric_literal: true, + }, + { + name: "shape-margin", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "*", + field_template: "", + default_value: "Length::Fixed(0)", + converter: "ConvertLength", + keywords: ["none"], + typedom_types: ["Length", "Percentage"], + }, + { + name: "shape-outside", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/shape_value.h"], + wrapper_pointer_name: "Member", + default_value: "nullptr", + typedom_types: ["Keyword", "Image"], + type_name: "ShapeValue", + computed_style_custom_functions: ["getter"], + converter: "ConvertShapeValue", + keywords: ["none"], + }, + { + name: "shape-rendering", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "svg", + field_template: "keyword", + keywords: ["auto", "optimizespeed", "crispedges", "geometricprecision"], + default_value: "auto", + typedom_types: ["Keyword"], + }, + { + name: "size", + property_methods: ["ParseSingleValue"], + style_builder_custom_functions: ["initial", "inherit", "value"], + computable: false, + valid_for_limited_page_context: true, + valid_for_page_context: true, + }, + { + name: "speak", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "*", + field_template: "keyword", + keywords: [ + "none", "normal", "spell-out", "digits", "literal-punctuation", + "no-punctuation" + ], + default_value: "normal", + }, + { + name: "stop-color", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], + interpolable: true, + field_group: "svg->stop", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor(Color::kBlack)", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + style_builder_template: "color", + style_builder_template_args: { + initial_color: "ComputedStyleInitialValues::InitialStopColor", + }, + converter: "ConvertStyleColor", + keywords: ["currentcolor"], + typedom_types: ["Keyword"], + }, + { + name: "stop-opacity", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "svg->stop", + field_template: "primitive", + type_name: "float", + default_value: "1", + converter: "ConvertAlpha", + typedom_types: ["Number"], + accepts_numeric_literal: true, + }, + { + name: "stroke", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], + interpolable: true, + inherited: true, + field_group: "svg->stroke", + field_template: "external", + type_name: "SVGPaint", + include_paths: ["third_party/blink/renderer/core/style/svg_paint.h"], + default_value: "SVGPaint()", + name_for_methods: "StrokePaint", + converter: "ConvertSVGPaint", + style_builder_template: "color", + style_builder_template_args: { + initial_color: "ComputedStyleInitialValues::InitialStrokePaint", + }, + valid_for_highlight_legacy: true, + valid_for_highlight: true, + }, + { + name: "stroke-dasharray", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + inherited: true, + field_group: "svg->stroke", + field_template: "pointer", + type_name: "SVGDashArray", + include_paths: ["third_party/blink/renderer/core/style/svg_dash_array.h"], + wrapper_pointer_name: "scoped_refptr", + default_value: "EmptyDashArray()", + name_for_methods: "StrokeDashArray", + converter: "ConvertStrokeDasharray", + keywords: ["none"], + typedom_types: ["Keyword"], + }, + { + name: "stroke-dashoffset", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + inherited: true, + field_group: "svg->stroke", + field_template: "external", + type_name: "Length", + default_value: "Length::Fixed()", + name_for_methods: "StrokeDashOffset", + converter: "ConvertLength", + typedom_types: ["Length", "Percentage"], + }, + { + name: "stroke-linecap", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "svg->stroke", + field_template: "primitive", + field_size: 2, + type_name: "LineCap", + default_value: "kButtCap", + name_for_methods: "CapStyle", + keywords: ["butt", "round", "square"], + typedom_types: ["Keyword"], + }, + { + name: "stroke-linejoin", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "svg->stroke", + field_template: "primitive", + field_size: 2, + type_name: "LineJoin", + default_value: "kMiterJoin", + name_for_methods: "JoinStyle", + keywords: ["miter", "bevel", "round"], + typedom_types: ["Keyword"], + }, + { + name: "stroke-miterlimit", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + inherited: true, + field_group: "svg->stroke", + field_template: "primitive", + type_name: "float", + default_value: "4", + name_for_methods: "StrokeMiterLimit", + typedom_types: ["Number"], + }, + { + name: "stroke-opacity", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + inherited: true, + field_group: "svg->stroke", + field_template: "primitive", + type_name: "float", + default_value: "1", + converter: "ConvertAlpha", + typedom_types: ["Number"], + accepts_numeric_literal: true, + }, + { + name: "stroke-width", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + inherited: true, + field_group: "svg->stroke", + field_template: "external", + type_name: "UnzoomedLength", + include_paths: ["third_party/blink/renderer/core/style/unzoomed_length.h"], + default_value: "UnzoomedLength(Length::Fixed(1))", + converter: "ConvertUnzoomedLength", + typedom_types: ["Length", "Percentage"], + valid_for_highlight_legacy: true, + valid_for_highlight: true, + }, + { + name: "table-layout", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_template: "keyword", + keywords: [ + "auto", "fixed" + ], + typedom_types: ["Keyword"], + default_value: "auto", + }, + { + name: "tab-size", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + inherited: true, + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/platform/text/tab_size.h"], + default_value: "TabSize(8)", + getter: "GetTabSize", + type_name: "TabSize", + converter: "ConvertLengthOrTabSpaces", + computed_style_custom_functions: ["setter"], + typedom_types: ["Number", "Length"], + valid_for_marker: true, + }, + { + name: "text-align", + property_methods: ["CSSValueFromComputedStyleInternal"], + independent: false, + inherited: true, + field_template: "keyword", + keywords: [ + "left", "right", "center", "justify", "-webkit-left", "-webkit-right", + "-webkit-center", "start", "end" + ], + typedom_types: ["Keyword"], + default_value: "start", + getter: "GetTextAlign", + style_builder_custom_functions: ["value"], + valid_for_formatted_text: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "text-align-last", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "*", + field_template: "keyword", + keywords: ["auto", "start", "end", "left", "right", "center", "justify"], + default_value: "auto", + typedom_types: ["Keyword"], + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "text-anchor", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "svg", + field_template: "keyword", + keywords: ["start", "middle", "end"], + default_value: "start", + typedom_types: ["Keyword"], + }, + { + name: "text-autospace", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "*", + field_template: "keyword", + keywords: ["normal", "no-autospace"], + default_value: "normal", + typedom_types: ["Keyword"], + runtime_flag: "CSSTextAutoSpace", + }, + { + name: "text-box-trim", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "box", + field_template: "keyword", + default_value: "none", + keywords: ["none", "start", "end", "both"], + typedom_types: ["Keyword"], + runtime_flag: "CSSTextBoxTrim", + }, + { + name: "text-box-edge", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "box", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/text_box_edge.h"], + default_value: "TextBoxEdge(TextBoxEdge::TextBoxEdgeType::kLeading)", + type_name: "TextBoxEdge", + converter: "ConvertTextBoxEdge", + runtime_flag: "CSSTextBoxTrim", + }, + { + name: "text-combine-upright", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "*", + field_template: "keyword", + keywords: ["none", "all"], + typedom_types: ["Keyword"], + default_value: "none", + name_for_methods: "TextCombine", + valid_for_marker: true, + computable: false, + valid_for_formatted_text: true, + }, + { + name: "text-decoration-color", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], + interpolable: true, + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor::CurrentColor()", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + keywords: ["currentcolor"], + typedom_types: ["Keyword"], + converter: "ConvertStyleColor", + style_builder_template: "color", + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + valid_for_highlight_legacy: true, + valid_for_highlight: true, + supports_incremental_style: true, + valid_for_formatted_text: true, + valid_for_formatted_text_run: true, + valid_for_page_context: true, + }, + { + name: "text-decoration-line", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "visual", + field_template: "multi_keyword", + keywords: ["none", "underline", "overline", "line-through", "blink", "spelling-error", "grammar-error"], + typedom_types: ["Keyword"], + default_value: "none", + type_name: "TextDecorationLine", + converter: "ConvertFlags", + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + valid_for_highlight_legacy: true, + valid_for_highlight: true, + valid_for_formatted_text: true, + valid_for_formatted_text_run: true, + valid_for_page_context: true, + }, + { + name: "text-decoration-skip-ink", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "*", + field_template: "keyword", + keywords: ["none", "auto"], + typedom_types: ["Keyword"], + default_value: "auto", + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + valid_for_marker: true, + valid_for_highlight_legacy: true, + valid_for_highlight: true, + valid_for_formatted_text: true, + valid_for_formatted_text_run: true, + valid_for_page_context: true, + }, + { + name: "text-decoration-style", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "keyword", + keywords: ["solid", "double", "dotted", "dashed", "wavy"], + typedom_types: ["Keyword"], + default_value: "solid", + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + valid_for_highlight_legacy: true, + valid_for_highlight: true, + valid_for_formatted_text: true, + valid_for_formatted_text_run: true, + valid_for_page_context: true, + }, + { + name: "text-decoration-thickness", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + include_paths: ["third_party/blink/renderer/core/style/text_decoration_thickness.h"], + inherited: false, + field_group: "*", + field_template: "external", + type_name: "TextDecorationThickness", + default_value: "TextDecorationThickness(Length::Auto())", + converter: "ConvertTextDecorationThickness", + keywords: ["auto", "from-font"], + typedom_types: ["Keyword", "Length", "Percentage"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_highlight_legacy: true, + valid_for_highlight: true, + computable: false, + valid_for_formatted_text: true, + valid_for_formatted_text_run: true, + valid_for_page_context: true, + }, + { + name: "text-indent", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + inherited: true, + field_group: "*", + field_template: "", + default_value: "Length::Fixed()", + style_builder_custom_functions: ["value"], + typedom_types: ["Length", "Percentage"], + valid_for_page_context: true, + }, + { + name: "text-overflow", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "keyword", + keywords: ["clip", "ellipsis"], + typedom_types: ["Keyword"], + default_value: "clip", + valid_for_formatted_text: true, + valid_for_page_context: true, + }, + { + name: "text-shadow", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + inherited: true, + field_group: "*", + field_template: "pointer", + include_paths: ["third_party/blink/renderer/core/style/shadow_list.h"], + wrapper_pointer_name: "scoped_refptr", + default_value: "nullptr", + type_name: "ShadowList", + converter: "ConvertShadowList", + keywords: ["none"], + typedom_types: ["Keyword"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + valid_for_marker: true, + valid_for_highlight_legacy: true, + valid_for_highlight: true, + valid_for_formatted_text: true, + valid_for_formatted_text_run: true, + valid_for_page_context: true, + }, + { + name: "text-size-adjust", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + inherited: true, + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/text_size_adjust.h"], + default_value: "TextSizeAdjust::AdjustAuto()", + getter: "GetTextSizeAdjust", + type_name: "TextSizeAdjust", + converter: "ConvertTextSizeAdjust", + keywords: ["none", "auto"], + typedom_types: ["Keyword", "Percentage"], + }, + { + name: "text-spacing", + longhands: ["text-autospace", "text-spacing-trim"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + runtime_flag: "CSSTextSpacing", + }, + { + name: "text-spacing-trim", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + font: true, + priority: 1, + type_name: "TextSpacingTrim", + include_paths: ["third_party/blink/renderer/platform/fonts/shaping/text_spacing_trim.h"], + keywords: ["normal", "space-all", "space-first", "trim-start"], + default_value: "TextSpacingTrim::kInitial", + typedom_types: ["Keyword"], + runtime_flag: "CSSTextSpacingTrim", + valid_for_permission_element: true, + }, + { + name: "text-transform", + property_methods: ["CSSValueFromComputedStyleInternal"], + independent: true, + inherited: true, + field_template: "keyword", + keywords: ["capitalize", "uppercase", "lowercase", "none", "math-auto"], + typedom_types: ["Keyword"], + default_value: "none", + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_marker: true, + valid_for_formatted_text: true, + valid_for_formatted_text_run: true, + valid_for_page_context: true, + }, + { + name: "text-underline-offset", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + inherited: true, + field_group: "*", + field_template: "", + default_value: "Length()", + name_for_methods: "TextUnderlineOffset", + converter: "ConvertTextUnderlineOffset", + keywords: ["auto"], + typedom_types: ["Keyword", "Length", "Percentage"], + valid_for_first_letter: true, + valid_for_first_line: true, + computable: false, + valid_for_formatted_text: true, + valid_for_formatted_text_run: true, + valid_for_highlight: true, + valid_for_page_context: true, + }, + { + name: "text-underline-position", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "*", + field_size: 4, + field_template: "primitive", + default_value: "TextUnderlinePosition::kAuto", + getter: "GetTextUnderlinePosition", + type_name: "TextUnderlinePosition", + converter: "ConvertTextUnderlinePosition", + keywords: ["auto", "from-font", "under", "left", "right"], + typedom_types: ["Keyword"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_formatted_text: true, + valid_for_formatted_text_run: true, + valid_for_page_context: true, + }, + { + name: "timeline-scope", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*->timeline", + field_template: "external", + default_value: "nullptr", + type_name: "ScopedCSSNameList", + wrapper_pointer_name: "Member", + converter: "ConvertTimelineScope", + separator: ",", + runtime_flag: "TimelineScope", + }, + { + name: "top", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + layout_dependent: true, + field_group: "surround", + field_template: "", + keywords: ["auto"], + default_value: "Length()", + typedom_types: ["Keyword", "Length", "Percentage"], + converter: "ConvertLengthOrAuto", + anchor_mode: "top", + logical_property_group: { + name: "inset", + resolver: "top", + }, + supports_incremental_style: true, + valid_for_position_try: true, + valid_for_permission_element: true, + }, + { + name: "overlay", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "keyword", + keywords: ["none", "auto"], + default_value: "none", + typedom_types: ["Keyword"], + }, + { + name: "touch-action", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_size: 8, // FIXME: Make this use "kTouchActionBits". + field_template: "primitive", + include_paths: ["third_party/blink/renderer/platform/graphics/touch_action.h"], + default_value: "TouchAction::kAuto", + type_name: "TouchAction", + converter: "ConvertFlags", + keywords: ["auto", "none", "pan-x", "pan-left", "pan-right", "pan-y", "pan-up", "pan-down", "pinch-zoom", "manipulation"], + typedom_types: ["Keyword"], + }, + { + name: "transform", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + compositable: true, + layout_dependent: true, + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/platform/transforms/transform_operations.h"], + keywords: ["none"], + default_value: "EmptyTransformOperations()", + typedom_types: ["Keyword", "Transform"], + type_name: "TransformOperations", + converter: "ConvertTransformOperations", + supports_incremental_style: true, + }, + { + name: "transform-box", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_template: "keyword", + keywords: ["content-box", "border-box", "fill-box", "stroke-box", "view-box"], + default_value: "view-box", + typedom_types: ["Keyword"], + computable: false, + supports_incremental_style: true, + }, + { + name: "transform-origin", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + layout_dependent: true, + field_group: "svg", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/transform_origin.h"], + default_value: "TransformOrigin(Length::Percent(50.0), Length::Percent(50.0), 0)", + getter: "GetTransformOrigin", + type_name: "TransformOrigin", + converter: "ConvertTransformOrigin", + supports_incremental_style: true, + // Overlaps with -webkit-transform-origin-[x,y,z]. + overlapping: true, + }, + { + name: "transform-style", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "keyword", + keywords: ["flat", "preserve-3d"], + default_value: "flat", + typedom_types: ["Keyword"], + name_for_methods: "TransformStyle3D", + supports_incremental_style: true, + }, + { + name: "translate", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + compositable: true, + layout_dependent: true, + field_group: "*", + field_template: "pointer", + include_paths: ["third_party/blink/renderer/platform/transforms/translate_transform_operation.h"], + wrapper_pointer_name: "Member", + default_value: "nullptr", + type_name: "TranslateTransformOperation", + converter: "ConvertTranslate", + supports_incremental_style: true, + }, + { + name: "rotate", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + compositable: true, + field_group: "*", + field_template: "pointer", + include_paths: ["third_party/blink/renderer/platform/transforms/rotate_transform_operation.h"], + wrapper_pointer_name: "Member", + default_value: "nullptr", + type_name: "RotateTransformOperation", + converter: "ConvertRotate", + supports_incremental_style: true, + }, + { + name: "scale", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + compositable: true, + field_group: "*", + field_template: "pointer", + include_paths: ["third_party/blink/renderer/platform/transforms/scale_transform_operation.h"], + wrapper_pointer_name: "Member", + default_value: "nullptr", + type_name: "ScaleTransformOperation", + converter: "ConvertScale", + supports_incremental_style: true, + }, + { + name: "unicode-bidi", + property_methods: ["CSSValueFromComputedStyleInternal"], + affected_by_all: false, + field_template: "keyword", + include_paths: ["third_party/blink/renderer/platform/text/unicode_bidi.h"], + keywords: [ + "normal", "embed", "bidi-override", "isolate", "plaintext", + "isolate-override" + ], + typedom_types: ["Keyword"], + default_value: "normal", + type_name: "UnicodeBidi", + valid_for_marker: true, + }, + { + name: "vector-effect", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "svg", + field_template: "keyword", + keywords: ["none", "non-scaling-stroke"], + typedom_types: ["Keyword"], + default_value: "none", + }, + { + name: "vertical-align", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + style_builder_custom_functions: ["inherit", "value"], + typedom_types: ["Keyword", "Length", "Percentage"], + keywords: ["baseline", "sub", "super", "text-top", "text-bottom", "middle"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_permission_element: true, + }, + { + name: "view-timeline-axis", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + field_group: "*->timeline", + field_template: "external", + default_value: "Vector()", + type_name: "Vector", + converter: "ConvertViewTimelineAxis", + separator: ",", + runtime_flag: "ScrollTimeline", + }, + { + name: "view-timeline-inset", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + field_group: "*->timeline", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/animation/timeline_inset.h"], + default_value: "Vector()", + type_name: "Vector", + converter: "ConvertViewTimelineInset", + separator: ",", + runtime_flag: "ScrollTimeline", + }, + { + name: "view-timeline-name", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + field_group: "*->timeline", + field_template: "external", + default_value: "nullptr", + type_name: "ScopedCSSNameList", + wrapper_pointer_name: "Member", + converter: "ConvertViewTimelineName", + separator: ",", + runtime_flag: "ScrollTimeline", + }, + { + name: "view-transition-class", + field_group: "*", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + converter: "ConvertViewTransitionClass", + type_name: "Vector", + default_value: "Vector()", + field_template: "external", + keywords: ["none"], + typedom_types: ["Keyword"], + runtime_flag: "CSSViewTransitionClass", + }, + { + name: "view-transition-name", + field_group: "*", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + converter: "ConvertViewTransitionName", + type_name: "AtomicString", + default_value: "AtomicString()", + field_template: "external", + keywords: ["none"], + typedom_types: ["Keyword"], + }, + { + name: "visibility", + property_methods: ["CSSValueFromComputedStyleInternal"], + independent: true, + interpolable: true, + inherited: true, + field_template: "keyword", + keywords: ["visible", "hidden", "collapse"], + typedom_types: ["Keyword"], + default_value: "visible", + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "x", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "svg->geometry", + field_template: "", + default_value: "Length::Fixed()", + typedom_types: ["Length", "Percentage"], + converter: "ConvertLength", + supports_incremental_style: true, + valid_for_permission_element: true, + }, + { + name: "y", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "svg->geometry", + field_template: "", + default_value: "Length::Fixed()", + typedom_types: ["Length", "Percentage"], + converter: "ConvertLength", + supports_incremental_style: true, + valid_for_permission_element: true, + }, + { + name: "appearance", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_size: 5, + field_template: "primitive", + include_paths: ["third_party/blink/renderer/platform/theme_types.h"], + computed_style_protected_functions: ["getter"], + default_value: "kNoControlPart", + type_name: "ControlPart", + }, + { + name: "-webkit-appearance", + alias_for: "appearance", + }, + { + name: "app-region", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "keyword", + keywords: ["none", "drag", "no-drag"], + default_value: "none", + name_for_methods: "DraggableRegionMode", + style_builder_custom_functions: ["initial", "inherit", "value"], + }, + { + name: "-webkit-app-region", + alias_for: "app-region", + }, + { + name: "-webkit-border-horizontal-spacing", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + inherited: true, + field_group: "inherited", + field_template: "primitive", + default_value: "0", + name_for_methods: "HorizontalBorderSpacing", + type_name: "short", + converter: "ConvertComputedLength", + valid_for_first_letter: true, + }, + { + name: "-webkit-border-image", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + style_builder_custom_functions: ["value"], + valid_for_first_letter: true, + affected_by_all: false, + // Overlaps with border-image. + legacy_overlapping: true, + }, + { + name: "-webkit-border-vertical-spacing", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + inherited: true, + field_group: "inherited", + field_template: "primitive", + default_value: "0", + name_for_methods: "VerticalBorderSpacing", + type_name: "short", + converter: "ConvertComputedLength", + valid_for_first_letter: true, + }, + // For valid values of box-align see + // http://www.w3.org/TR/2009/WD-css3-flexbox-20090723/#alignment + { + name: "-webkit-box-align", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "keyword", + keywords: ["stretch", "start", "center", "end", "baseline"], + default_value: "stretch", + type_name: "EBoxAlignment", + valid_for_permission_element: true, + }, + { + name: "-webkit-box-decoration-break", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "box", + field_template: "keyword", + keywords: ["slice", "clone"], + default_value: "slice", + }, + { + name: "-webkit-box-direction", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_template: "keyword", + keywords: ["normal", "reverse"], + default_value: "normal", + computed_style_protected_functions: ["getter"], + }, + { + name: "-webkit-box-flex", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "primitive", + default_value: "0.0f", + type_name: "float", + accepts_numeric_literal: true, + }, + { + name: "-webkit-box-ordinal-group", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "primitive", + default_value: "1", + type_name: "unsigned", + computed_style_custom_functions: ["setter"], + valid_for_permission_element: true, + }, + { + name: "-webkit-box-orient", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "keyword", + keywords: ["horizontal", "vertical"], + default_value: "horizontal", + }, + { + name: "-webkit-box-pack", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "keyword", + keywords: ["start", "center", "end", "justify"], + default_value: "start", + }, + { + name: "-webkit-box-reflect", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "pointer", + include_paths: ["third_party/blink/renderer/core/style/style_reflection.h"], + wrapper_pointer_name: "scoped_refptr", + default_value: "nullptr", + type_name: "StyleReflection", + converter: "ConvertBoxReflect", + }, + { + name: "column-count", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "*", + field_template: "primitive", + default_value: "1", + type_name: "unsigned short", + computed_style_custom_functions: ["setter"], + style_builder_template: "auto", + keywords: ["auto"], + typedom_types: ["Keyword", "Number"], + }, + { + name: "column-gap", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/platform/geometry/length.h"], + default_value: "std::nullopt", + type_name: "std::optional", + converter: "ConvertGapLength", + keywords: ["normal"], + typedom_types: ["Keyword", "Length", "Percentage"], + }, + { + name: "row-gap", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/platform/geometry/length.h"], + default_value: "std::nullopt", + type_name: "std::optional", + converter: "ConvertGapLength", + keywords: ["normal"], + typedom_types: ["Keyword", "Length", "Percentage"], + }, + { + name: "column-rule-color", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], + interpolable: true, + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor::CurrentColor()", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + keywords: ["currentcolor"], + typedom_types: ["Keyword"], + converter: "ConvertStyleColor", + style_builder_template: "color", + }, + { + name: "column-rule-style", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "keyword", + keywords: [ + "none", "hidden", "inset", "groove", "outset", "ridge", "dotted", + "dashed", "solid", "double" + ], + default_value: "none", + type_name: "EBorderStyle", + typedom_types: ["Keyword"], + }, + { + name: "column-rule-width", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/platform/geometry/layout_unit.h"], + default_value: "LayoutUnit(3)", + type_name: "LayoutUnit", + computed_style_custom_functions: ["initial", "getter", "setter"], + converter: "ConvertColumnRuleWidth", + keywords: ["thin", "medium", "thick"], + typedom_types: ["Keyword", "Length"], + }, + { + name: "column-span", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "keyword", + keywords: ["none", "all"], + default_value: "none", + getter: "GetColumnSpan", + typedom_types: ["Keyword"], + }, + { + name: "column-width", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "*", + field_template: "primitive", + default_value: "0.0f", + type_name: "float", + computed_style_custom_functions: ["setter"], + style_builder_template: "auto", + converter: "ConvertComputedLength", + keywords: ["auto"], + typedom_types: ["Keyword", "Length"], + }, + { + name: "hyphenate-character", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/platform/wtf/text/atomic_string.h"], + default_value: "AtomicString()", + name_for_methods: "HyphenationString", + type_name: "AtomicString", + converter: "ConvertString", + }, + { + name: "-webkit-line-break", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "*", + field_template: "keyword", + keywords: ["auto", "loose", "normal", "strict", "after-white-space", "anywhere"], + default_value: "auto", + type_name: "LineBreak", + valid_for_formatted_text: true, + }, + { + name: "line-break", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + type_name: "LineBreak", + keywords: ["auto", "loose", "normal", "strict", "anywhere"], + typedom_types: ["Keyword"], + valid_for_marker: true, + valid_for_formatted_text: true, + surrogate_for: "-webkit-line-break", + }, + // An Apple extension. + { + name: "-webkit-line-clamp", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "external", + default_value: "0", + type_name: "int", + }, + { + name: "-webkit-mask-box-image-outset", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + style_builder_template: "mask_box", + style_builder_template_args: { + modifier_type: "Outset", + }, + }, + { + name: "-webkit-mask-box-image-repeat", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + style_builder_template: "mask_box", + style_builder_template_args: { + modifier_type: "Repeat", + }, + }, + { + name: "-webkit-mask-box-image-slice", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + style_builder_template: "mask_box", + style_builder_template_args: { + modifier_type: "Slice", + }, + }, + { + name: "-webkit-mask-box-image-source", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + style_builder_custom_functions: ["value"], + }, + { + name: "-webkit-mask-box-image-width", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + style_builder_template: "mask_box", + style_builder_template_args: { + modifier_type: "Width", + }, + }, + { + name: "mask-mode", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + style_builder_template: "mask_layer", + style_builder_template_args: { + fill_type: "MaskMode", + }, + runtime_flag: "CSSMaskingInterop", + }, + { + name: "mask-clip", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + style_builder_template: "mask_layer", + style_builder_template_args: { + fill_type: "Clip", + }, + runtime_flag: "CSSMaskingInterop", + }, + { + name: "-webkit-alternative-mask-clip", + alternative_of: "-webkit-mask-clip", + alias_for: "mask-clip", + runtime_flag: "CSSMaskingInterop", + }, + { + name: "-webkit-mask-clip", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + style_builder_template: "mask_layer", + style_builder_template_args: { + fill_type: "Clip", + }, + }, + { + name: "mask-composite", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + style_builder_template: "mask_layer", + style_builder_template_args: { + fill_type: "CompositingOperator", + }, + runtime_flag: "CSSMaskingInterop", + }, + { + name: "-webkit-alternative-mask-composite", + alternative_of: "-webkit-mask-composite", + alias_for: "mask-composite", + runtime_flag: "CSSMaskingInterop", + }, + { + name: "-webkit-mask-composite", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + style_builder_template: "mask_layer", + style_builder_template_args: { + fill_type: "CompositingOperator", + }, + }, + { + name: "mask-image", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + style_builder_template: "mask_layer", + style_builder_template_args: { + fill_type: "Image", + fill_type_getter: "GetImage" + }, + runtime_flag: "CSSMaskingInterop", + // {-webkit-}mask-image needs to be applied before {-webkit-}mask-composite, + // otherwise {-webkit-}mask-composite has no effect. + priority: 2, + }, + { + name: "-webkit-alternative-mask-image", + alternative_of: "-webkit-mask-image", + alias_for: "mask-image", + runtime_flag: "CSSMaskingInterop", + }, + { + name: "-webkit-mask-image", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + style_builder_template: "mask_layer", + style_builder_template_args: { + fill_type: "Image", + fill_type_getter: "GetImage" + }, + // {-webkit-}mask-image needs to be applied before {-webkit-}mask-composite, + // otherwise {-webkit-}mask-composite has no effect. + priority: 2, + }, + { + name: "mask-origin", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + style_builder_template: "mask_layer", + style_builder_template_args: { + fill_type: "Origin", + }, + runtime_flag: "CSSMaskingInterop", + }, + { + name: "-webkit-alternative-mask-origin", + alternative_of: "-webkit-mask-origin", + alias_for: "mask-origin", + runtime_flag: "CSSMaskingInterop", + }, + { + name: "-webkit-mask-origin", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + style_builder_template: "mask_layer", + style_builder_template_args: { + fill_type: "Origin", + }, + }, + { + name: "-webkit-mask-position-x", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + interpolable: true, + style_builder_template: "mask_layer", + style_builder_template_args: { + fill_type: "PositionX", + }, + computable: false, + }, + { + name: "-webkit-mask-position-y", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + interpolable: true, + style_builder_template: "mask_layer", + style_builder_template_args: { + fill_type: "PositionY", + }, + computable: false, + }, + { + name: "mask-repeat", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + style_builder_template: "mask_layer", + style_builder_template_args: { + fill_type: "Repeat", + }, + runtime_flag: "CSSMaskingInterop", + }, + { + name: "-webkit-alternative-mask-repeat", + alternative_of: "-webkit-mask-repeat", + alias_for: "mask-repeat", + runtime_flag: "CSSMaskingInterop", + }, + { + name: "-webkit-mask-repeat", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + style_builder_template: "mask_layer", + style_builder_template_args: { + fill_type: "Repeat", + }, + }, + { + name: "mask-size", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "InitialValue"], + interpolable: true, + style_builder_template: "mask_layer", + style_builder_template_args: { + fill_type: "Size", + }, + runtime_flag: "CSSMaskingInterop", + }, + { + name: "-webkit-alternative-mask-size", + alternative_of: "-webkit-mask-size", + alias_for: "mask-size", + runtime_flag: "CSSMaskingInterop", + }, + { + name: "-webkit-mask-size", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + style_builder_template: "mask_layer", + style_builder_template_args: { + fill_type: "Size", + }, + }, + { + name: "-webkit-perspective-origin-x", + property_methods: ["ParseSingleValue"], + style_builder_custom_functions: ["inherit"], + interpolable: true, + converter: "ConvertLength", + computable: false, + affected_by_all: false, + // Overlaps with perspective-origin. + legacy_overlapping: true, + }, + { + name: "-webkit-perspective-origin-y", + property_methods: ["ParseSingleValue"], + style_builder_custom_functions: ["inherit"], + interpolable: true, + converter: "ConvertLength", + computable: false, + affected_by_all: false, + // Overlaps with perspective-origin. + legacy_overlapping: true, + }, + { + name: "-webkit-print-color-adjust", + property_methods: ["CSSValueFromComputedStyleInternal"], + independent: false, // Actually true, but setting it to false saves a precious bit in ComputedStyleBase. + inherited: true, + field_template: "keyword", + keywords: ["economy", "exact"], + default_value: "economy", + valid_for_permission_element: true, + }, + { + name: "-webkit-rtl-ordering", + property_methods: ["CSSValueFromComputedStyleInternal"], + independent: true, + inherited: true, + field_template: "keyword", + keywords: ["logical", "visual"], + default_value: "logical", + name_for_methods: "RtlOrdering", + setter: "SetRtlOrdering", + type_name: "EOrder", + }, + { + name: "-webkit-ruby-position", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "*", + field_template: "keyword", + keywords: ["before", "after"], + default_value: "before", + type_name: "RubyPosition", + converter: "ConvertRubyPosition", + computable: false, + valid_for_permission_element: true, + }, + { + name: "ruby-position", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + type_name: "RubyPosition", + converter: "ConvertRubyPosition", + surrogate_for: "-webkit-ruby-position", + valid_for_permission_element: true, + }, + { + name: "-webkit-tap-highlight-color", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], + inherited: true, + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h", + "third_party/blink/renderer/core/layout/layout_theme.h"], + type_name: "StyleColor", + default_value: "StyleColor(LayoutTheme::TapHighlightColor())", + converter: "ConvertStyleColor", + }, + { + name: "-webkit-text-combine", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + surrogate_for: "text-combine-upright", + }, + { + name: "text-emphasis-color", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], + interpolable: true, + inherited: true, + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor::CurrentColor()", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + keywords: ["currentcolor"], + typedom_types: ["Keyword"], + converter: "ConvertStyleColor", + style_builder_template: "color", + valid_for_marker: true, + valid_for_highlight_legacy: true, + valid_for_highlight: true, + }, + { + name: "text-emphasis-position", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "*", + field_size: 2, + field_template: "primitive", + default_value: "TextEmphasisPosition::kOverRight", + type_name: "TextEmphasisPosition", + converter: "ConvertTextTextEmphasisPosition", + valid_for_marker: true, + }, + { + name: "text-emphasis-style", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + inherited: true, + style_builder_custom_functions: ["initial", "inherit", "value"], + valid_for_marker: true, + }, + { + name: "-webkit-text-fill-color", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], + inherited: true, + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor::CurrentColor()", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + converter: "ConvertStyleColor", + style_builder_template: "color", + valid_for_highlight_legacy: true, + valid_for_highlight: true, + }, + { + name: "-webkit-text-security", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "*", + field_template: "keyword", + keywords: ["none", "disc", "circle", "square"], + default_value: "none", + }, + { + name: "-webkit-text-stroke-color", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], + interpolable: true, + inherited: true, + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor::CurrentColor()", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + converter: "ConvertStyleColor", + style_builder_template: "color", + valid_for_highlight_legacy: true, + valid_for_highlight: true, + }, + { + name: "-webkit-text-stroke-width", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "*", + field_template: "primitive", + default_value: "0", + type_name: "float", + converter: "ConvertTextStrokeWidth", + valid_for_highlight_legacy: true, + valid_for_highlight: true, + }, + { + name: "-webkit-transform-origin-x", + property_methods: ["ParseSingleValue"], + style_builder_custom_functions: ["inherit"], + interpolable: true, + converter: "ConvertLength", + computable: false, + affected_by_all: false, + // Overlaps with transform-origin. + legacy_overlapping: true, + }, + { + name: "-webkit-transform-origin-y", + property_methods: ["ParseSingleValue"], + style_builder_custom_functions: ["inherit"], + interpolable: true, + converter: "ConvertLength", + computable: false, + affected_by_all: false, + // Overlaps with transform-origin. + legacy_overlapping: true, + }, + { + name: "-webkit-transform-origin-z", + property_methods: ["ParseSingleValue"], + style_builder_custom_functions: ["inherit"], + interpolable: true, + converter: "ConvertComputedLength", + computable: false, + affected_by_all: false, + // Overlaps with transform-origin. + legacy_overlapping: true, + }, + { + name: "-webkit-user-drag", + property_methods: ["CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "keyword", + keywords: ["auto", "none", "element"], + default_value: "auto", + valid_for_permission_element: true, + }, + { + name: "-webkit-user-modify", + property_methods: ["CSSValueFromComputedStyleInternal"], + computed_style_protected_functions: ["getter"], + inherited: true, + field_group: "*", + field_template: "keyword", + keywords: ["read-only", "read-write", "read-write-plaintext-only"], + default_value: "read-only", + affected_by_all: false, + }, + { + name: "user-select", + property_methods: ["CSSValueFromComputedStyleInternal"], + computed_style_protected_functions: ["getter"], + inherited: true, + field_group: "*", + field_template: "keyword", + keywords: ["auto", "none", "text", "all", "contain"], + typedom_types: ["Keyword"], + default_value: "auto", + valid_for_permission_element: true, + }, + { + name: "white-space", + longhands: [ + "white-space-collapse", "text-wrap" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + valid_for_page_context: true, + }, + { + name: "white-space-collapse", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + field_template: "primitive", + field_size: 2, // Ensure this is in sync with `kWhiteSpaceCollapseBits`. + type_name: "WhiteSpaceCollapse", + keywords: ["collapse", "preserve", "preserve-breaks", "break-spaces"], + default_value: "WhiteSpaceCollapse::kCollapse", + include_paths: ["third_party/blink/renderer/core/css/white_space.h"], + typedom_types: ["Keyword"], + valid_for_cue: true, + valid_for_marker: true, + valid_for_page_context: true, + }, + { + name: "text-wrap", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + field_template: "primitive", + field_size: 2, // Ensure this is in sync with `kTextWrapBits`. + keywords: ["wrap", "nowrap", "balance", "pretty"], + type_name: "TextWrap", + default_value: "TextWrap::kWrap", + include_paths: ["third_party/blink/renderer/core/css/white_space.h"], + typedom_types: ["Keyword"], + valid_for_cue: true, + valid_for_marker: true, + valid_for_page_context: true, + }, + { + name: "widows", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + inherited: true, + field_group: "*", + field_template: "primitive", + computed_style_custom_functions: ["setter"], + default_value: "2", + type_name: "short", + typedom_types: ["Number"], + }, + { + name: "width", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + layout_dependent: true, + field_group: "box", + field_template: "", + keywords: ["auto", "fit-content", "min-content", "max-content"], + default_value: "Length()", + typedom_types: ["Keyword", "Length", "Percentage"], + converter: "ConvertLengthSizing", + anchor_mode: "size", + logical_property_group: { + name: "size", + resolver: "horizontal", + }, + supports_incremental_style: true, + valid_for_formatted_text: true, + valid_for_position_try: true, + affected_by_zoom: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "will-change", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + style_builder_custom_functions: ["initial", "inherit", "value"], + keywords: ["auto"], + typedom_types: ["Keyword"], + valid_for_permission_element: true, + }, + { + name: "word-break", + property_methods: ["CSSValueFromComputedStyleInternal"], + inherited: true, + field_group: "*", + field_template: "keyword", + // Word Break Values. Matches WinIE and CSS3 + keywords: ["normal", "break-all", "keep-all", "break-word", "auto-phrase"], + default_value: "normal", + typedom_types: ["Keyword"], + valid_for_marker: true, + }, + { + name: "word-spacing", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + inherited: true, + converter: "ConvertSpacing", + keywords: ["normal"], + typedom_types: ["normal"], + typedom_types: ["Keyword", "Length"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_marker: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "z-index", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + interpolable: true, + field_group: "box", + field_template: "primitive", + default_value: "0", + type_name: "int", + computed_style_custom_functions: ["setter"], + style_builder_template: "auto", + converter: "ConvertInteger", + keywords: ["auto"], + typedom_types: ["Keyword", "Number"], + valid_for_permission_element: true, + }, + + // CSS logical props + { + name: "inline-size", + property_methods: ["ParseSingleValue"], + layout_dependent: true, + logical_property_group: { + name: "size", + resolver: "inline", + }, + keywords: ["auto"], + typedom_types: ["Keyword", "Length", "Percentage"], + valid_for_position_try: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "block-size", + property_methods: ["ParseSingleValue"], + layout_dependent: true, + logical_property_group: { + name: "size", + resolver: "block", + }, + keywords: ["auto"], + typedom_types: ["Keyword", "Length", "Percentage"], + valid_for_position_try: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "min-inline-size", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "min-size", + resolver: "inline", + }, + typedom_types: ["Length", "Percentage"], + valid_for_position_try: true, + valid_for_page_context: true, + }, + { + name: "min-block-size", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "min-size", + resolver: "block", + }, + typedom_types: ["Length", "Percentage"], + valid_for_position_try: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "max-inline-size", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "max-size", + resolver: "inline", + }, + keywords: ["none"], + typedom_types: ["Keyword", "Length", "Percentage"], + valid_for_position_try: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "max-block-size", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "max-size", + resolver: "block", + }, + keywords: ["none"], + typedom_types: ["Keyword", "Length", "Percentage"], + valid_for_position_try: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "margin-inline-start", + layout_dependent: true, + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "margin", + resolver: "inline-start", + }, + typedom_types: ["Length", "Percentage"], + keywords: ["auto"], + valid_for_first_letter: true, + valid_for_position_try: true, + valid_for_permission_element: true, + valid_for_limited_page_context: true, + valid_for_page_context: true, + }, + { + name: "margin-inline-end", + layout_dependent: true, + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "margin", + resolver: "inline-end", + }, + typedom_types: ["Length", "Percentage"], + keywords: ["auto"], + valid_for_first_letter: true, + valid_for_position_try: true, + valid_for_permission_element: true, + valid_for_limited_page_context: true, + valid_for_page_context: true, + }, + { + name: "margin-block-start", + layout_dependent: true, + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "margin", + resolver: "block-start", + }, + typedom_types: ["Length", "Percentage"], + keywords: ["auto"], + valid_for_first_letter: true, + valid_for_position_try: true, + valid_for_permission_element: true, + valid_for_limited_page_context: true, + valid_for_page_context: true, + }, + { + name: "margin-block-end", + layout_dependent: true, + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "margin", + resolver: "block-end", + }, + typedom_types: ["Length", "Percentage"], + keywords: ["auto"], + valid_for_first_letter: true, + valid_for_position_try: true, + valid_for_permission_element: true, + valid_for_limited_page_context: true, + valid_for_page_context: true, + }, + { + name: "padding-inline-start", + layout_dependent: true, + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "padding", + resolver: "inline-start", + }, + typedom_types: ["Length", "Percentage"], + valid_for_page_context: true, + }, + { + name: "padding-inline-end", + layout_dependent: true, + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "padding", + resolver: "inline-end", + }, + typedom_types: ["Length", "Percentage"], + valid_for_page_context: true, + }, + { + name: "padding-block-start", + layout_dependent: true, + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "padding", + resolver: "block-start", + }, + typedom_types: ["Length", "Percentage"], + valid_for_page_context: true, + }, + { + name: "padding-block-end", + layout_dependent: true, + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "padding", + resolver: "block-end", + }, + typedom_types: ["Length", "Percentage"], + valid_for_page_context: true, + }, + { + name: "border-inline-start-width", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "border-width", + resolver: "inline-start", + }, + valid_for_first_letter: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-inline-start-style", + logical_property_group: { + name: "border-style", + resolver: "inline-start", + }, + valid_for_first_letter: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-inline-start-color", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "border-color", + resolver: "inline-start", + }, + valid_for_first_letter: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-inline-end-width", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "border-width", + resolver: "inline-end", + }, + valid_for_first_letter: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-inline-end-style", + logical_property_group: { + name: "border-style", + resolver: "inline-end", + }, + valid_for_first_letter: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-inline-end-color", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "border-color", + resolver: "inline-end", + }, + valid_for_first_letter: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-block-start-width", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "border-width", + resolver: "block-start", + }, + valid_for_first_letter: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-block-start-style", + logical_property_group: { + name: "border-style", + resolver: "block-start", + }, + valid_for_first_letter: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-block-start-color", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "border-color", + resolver: "block-start", + }, + valid_for_first_letter: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-block-end-width", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "border-width", + resolver: "block-end", + }, + valid_for_first_letter: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-block-end-style", + logical_property_group: { + name: "border-style", + resolver: "block-end", + }, + valid_for_first_letter: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-block-end-color", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "border-color", + resolver: "block-end", + }, + valid_for_first_letter: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "inset-inline-start", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "inset", + resolver: "inline-start", + }, + typedom_types: ["Length", "Percentage"], + valid_for_position_try: true, + layout_dependent: true, + valid_for_permission_element: true, + }, + { + name: "inset-inline-end", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "inset", + resolver: "inline-end", + }, + typedom_types: ["Length", "Percentage"], + valid_for_position_try: true, + layout_dependent: true, + valid_for_permission_element: true, + }, + { + name: "inset-block-start", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "inset", + resolver: "block-start", + }, + typedom_types: ["Length", "Percentage"], + valid_for_position_try: true, + layout_dependent: true, + valid_for_permission_element: true, + }, + { + name: "inset-block-end", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "inset", + resolver: "block-end", + }, + typedom_types: ["Length", "Percentage"], + valid_for_position_try: true, + layout_dependent: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-start-start-radius", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "border-radius", + resolver: "start-start", + }, + typedom_types: ["Length", "Percentage"], + valid_for_first_letter: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-start-end-radius", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "border-radius", + resolver: "start-end", + }, + typedom_types: ["Length", "Percentage"], + valid_for_first_letter: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-end-start-radius", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "border-radius", + resolver: "end-start", + }, + typedom_types: ["Length", "Percentage"], + valid_for_first_letter: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-end-end-radius", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "border-radius", + resolver: "end-end", + }, + typedom_types: ["Length", "Percentage"], + valid_for_first_letter: true, + valid_for_permission_element: true, + valid_for_page_context: true, + }, + + // Non-standard direction aware properties + + { + name: "-webkit-border-end-color", + alias_for: "border-inline-end-color", + }, + { + name: "-webkit-border-end-style", + alias_for: "border-inline-end-style", + }, + { + name: "-webkit-border-end-width", + alias_for: "border-inline-end-width", + }, + { + name: "-webkit-border-start-color", + alias_for: "border-inline-start-color", + }, + { + name: "-webkit-border-start-style", + alias_for: "border-inline-start-style", + }, + { + name: "-webkit-border-start-width", + alias_for: "border-inline-start-width", + }, + { + name: "-webkit-border-before-color", + alias_for: "border-block-start-color", + }, + { + name: "-webkit-border-before-style", + alias_for: "border-block-start-style", + }, + { + name: "-webkit-border-before-width", + alias_for: "border-block-start-width", + }, + { + name: "-webkit-border-after-color", + alias_for: "border-block-end-color", + }, + { + name: "-webkit-border-after-style", + alias_for: "border-block-end-style", + }, + { + name: "-webkit-border-after-width", + alias_for: "border-block-end-width", + }, + { + name: "-webkit-margin-end", + alias_for: "margin-inline-end", + }, + { + name: "-webkit-margin-start", + alias_for: "margin-inline-start", + }, + { + name: "-webkit-margin-before", + alias_for: "margin-block-start", + }, + { + name: "-webkit-margin-after", + alias_for: "margin-block-end", + }, + { + name: "-webkit-padding-end", + alias_for: "padding-inline-end", + }, + { + name: "-webkit-padding-start", + alias_for: "padding-inline-start", + }, + { + name: "-webkit-padding-before", + alias_for: "padding-block-start", + }, + { + name: "-webkit-padding-after", + alias_for: "padding-block-end", + }, + { + name: "-webkit-logical-width", + alias_for: "inline-size", + }, + { + name: "-webkit-logical-height", + alias_for: "block-size", + }, + { + name: "-webkit-min-logical-width", + alias_for: "min-inline-size", + }, + { + name: "-webkit-min-logical-height", + alias_for: "min-block-size", + }, + { + name: "-webkit-max-logical-width", + alias_for: "max-inline-size", + }, + { + name: "-webkit-max-logical-height", + alias_for: "max-block-size", + }, + + // Properties that we ignore in the StyleBuilder. + // TODO(timloh): This seems wrong, most of these shouldn't reach the + // StyleBuilder + { + name: "all", + affected_by_all: false, + style_builder_template: "empty", + computable: false, + }, + // TODO(hjkim3323@gmail.com): Remove -internal-font-size-delta. + // fontSizeDelta execCommand does not need separate CSS property. + { + name: "-internal-font-size-delta", + property_methods: ["ParseSingleValue"], + style_builder_template: "empty", + }, + { + name: "-webkit-text-decorations-in-effect", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + inherited: true, + style_builder_template: "empty", + }, + + // Descriptor only names + { + name: "font-display", + is_descriptor: true, + is_property: false, + }, + { + name: "src", + is_descriptor: true, + is_property: false, + }, + { + name: "unicode-range", + is_descriptor: true, + is_property: false, + }, + { + name: "syntax", + is_descriptor: true, + is_property: false, + }, + { + name: "initial-value", + is_descriptor: true, + is_property: false, + }, + { + name: "inherits", + is_descriptor: true, + is_property: false, + }, + { + name: "ascent-override", + is_descriptor: true, + is_property: false, + }, + { + name: "descent-override", + is_descriptor: true, + is_property: false, + }, + { + name: "line-gap-override", + is_descriptor: true, + is_property: false, + }, + { + name: "system", + is_descriptor: true, + is_property: false, + }, + { + name: "negative", + is_descriptor: true, + is_property: false, + }, + { + name: "prefix", + is_descriptor: true, + is_property: false, + }, + { + name: "suffix", + is_descriptor: true, + is_property: false, + }, + { + name: "range", + is_descriptor: true, + is_property: false, + }, + { + name: "pad", + is_descriptor: true, + is_property: false, + }, + { + name: "fallback", + is_descriptor: true, + is_property: false, + }, + { + name: "symbols", + is_descriptor: true, + is_property: false, + }, + { + name: "additive-symbols", + is_descriptor: true, + is_property: false, + }, + { + name: "speak-as", + is_descriptor: true, + is_property: false, + }, + { + name: "size-adjust", + is_descriptor: true, + is_property: false, + }, + { + name: "base-palette", + is_descriptor: true, + is_property: false, + valid_for_permission_element: true, + }, + { + name: "override-colors", + is_descriptor: true, + is_property: false, + }, + { + name: "navigation", + is_descriptor: true, + is_property: false, + runtime_flag: "ViewTransitionOnNavigation", + }, + { + name: "inset-area", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], + field_group: "*", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/style/inset_area.h"], + converter: "ConvertInsetArea", + default_value: "InsetArea()", + type_name: "InsetArea", + keywords: [ + "none", "top", "bottom", "center", "left", "right", "x-start", "x-end", + "y-start", "y-end", "start", "end", "self-start", "self-end", "all" + ], + typedom_types: ["Keyword"], + valid_for_position_try: true, + runtime_flag: "CSSAnchorPositioning", + valid_for_permission_element: true, + }, + + // Shorthands + { + name: "animation", + longhands: [ + "animation-duration", "animation-timing-function", "animation-delay", + "animation-iteration-count", "animation-direction", + "animation-fill-mode", "animation-play-state", "animation-name" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + supports_incremental_style: false, + valid_for_keyframe: false, + }, + { + // Variant of the "animation" shorthand which includes the + // animation-timeline and animation-range-* longhands. + name: "-alternative-animation-with-timeline", + alternative_of: "animation", + longhands: [ + "animation-duration", "animation-timing-function", + "animation-delay", "animation-iteration-count", "animation-direction", + "animation-fill-mode", "animation-play-state", "animation-name", + "animation-timeline", "animation-range-start", "animation-range-end" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + supports_incremental_style: false, + valid_for_keyframe: false, + runtime_flag: 'ScrollTimeline', + }, + { + // Variant of the "animation" shorthand which includes the + // animation-delay-start and animation-delay-end longhands. + name: "-alternative-animation-with-delay-start-end", + alternative_of: "-alternative-animation-with-timeline", + longhands: [ + "animation-duration", "animation-timing-function", + "animation-delay-start", "animation-delay-end", + "animation-iteration-count", "animation-direction", + "animation-fill-mode", "animation-play-state", "animation-name", + "animation-timeline", "animation-range-start", "animation-range-end" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + supports_incremental_style: false, + valid_for_keyframe: false, + runtime_flag: 'CSSAnimationDelayStartEnd', + }, + { + name: "animation-range", + longhands: [ + "animation-range-start", "animation-range-end", + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + supports_incremental_style: false, + valid_for_keyframe: false, + runtime_flag: 'ScrollTimeline', + }, + { + name: "background", + longhands: [ + "background-image", "background-position-x", "background-position-y", + "background-size", "background-repeat", + "background-attachment", "background-origin", "background-clip", + "background-color" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + supports_incremental_style: true, + valid_for_page_context: true, + }, + { + name: "background-position", + longhands: ["background-position-x", "background-position-y"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + computable: true, + supports_incremental_style: true, + valid_for_page_context: true, + }, + { + name: "border", + longhands: [ + "border-top-color", "border-top-style", "border-top-width", + "border-right-color", "border-right-style", "border-right-width", + "border-bottom-color", "border-bottom-style", "border-bottom-width", + "border-left-color", "border-left-style", "border-left-width", + "border-image-source", "border-image-slice", "border-image-width", + "border-image-outset", "border-image-repeat" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + valid_for_page_context: true, + }, + { + name: "border-block", + longhands: [ + "border-block-start-color", "border-block-start-style", "border-block-start-width", + "border-block-end-color", "border-block-end-style", "border-block-end-width" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + valid_for_page_context: true, + }, + { + name: "border-block-color", + longhands: ["border-block-start-color", "border-block-end-color"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + valid_for_page_context: true, + }, + { + name: "border-block-end", + longhands: [ + "border-block-end-width", "border-block-end-style", + "border-block-end-color" + ], + property_methods: ["ParseShorthand"], + logical_property_group: { + name: "border", + resolver: "block-end", + }, + valid_for_page_context: true, + }, + { + name: "border-block-start", + longhands: [ + "border-block-start-width", "border-block-start-style", + "border-block-start-color" + ], + property_methods: ["ParseShorthand"], + logical_property_group: { + name: "border", + resolver: "block-start", + }, + valid_for_page_context: true, + }, + { + name: "border-block-style", + longhands: ["border-block-start-style", "border-block-end-style"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + valid_for_page_context: true, + }, + { + name: "border-block-width", + longhands: ["border-block-start-width", "border-block-end-width"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + valid_for_page_context: true, + }, + { + name: "border-bottom", + longhands: [ + "border-bottom-width", "border-bottom-style", "border-bottom-color" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + logical_property_group: { + name: "border", + resolver: "bottom", + }, + valid_for_page_context: true, + }, + { + name: "border-color", + longhands: [ + "border-top-color", "border-right-color", "border-bottom-color", + "border-left-color" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + supports_incremental_style: true, + valid_for_page_context: true, + }, + { + name: "border-image", + longhands: [ + "border-image-source", "border-image-slice", "border-image-width", + "border-image-outset", "border-image-repeat" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + valid_for_page_context: true, + }, + { + name: "border-inline", + longhands: [ + "border-inline-start-color", "border-inline-start-style", "border-inline-start-width", + "border-inline-end-color", "border-inline-end-style", "border-inline-end-width" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + valid_for_page_context: true, + }, + { + name: "border-inline-color", + longhands: ["border-inline-start-color", "border-inline-end-color"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + valid_for_page_context: true, + }, + { + name: "border-inline-end", + longhands: [ + "border-inline-end-width", "border-inline-end-style", + "border-inline-end-color" + ], + property_methods: ["ParseShorthand"], + logical_property_group: { + name: "border", + resolver: "inline-end", + }, + valid_for_page_context: true, + }, + { + name: "border-inline-start", + longhands: [ + "border-inline-start-width", "border-inline-start-style", + "border-inline-start-color" + ], + property_methods: ["ParseShorthand"], + logical_property_group: { + name: "border", + resolver: "inline-start", + }, + valid_for_page_context: true, + }, + { + name: "border-inline-style", + longhands: ["border-inline-start-style", "border-inline-end-style"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + valid_for_page_context: true, + }, + { + name: "border-inline-width", + longhands: ["border-inline-start-width", "border-inline-end-width"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + valid_for_page_context: true, + }, + { + name: "border-left", + longhands: [ + "border-left-width", "border-left-style", "border-left-color" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + logical_property_group: { + name: "border", + resolver: "left", + }, + valid_for_page_context: true, + }, + { + name: "border-radius", + longhands: [ + "border-top-left-radius", "border-top-right-radius", + "border-bottom-right-radius", "border-bottom-left-radius" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + valid_for_permission_element: true, + valid_for_page_context: true, + }, + { + name: "border-right", + longhands: [ + "border-right-width", "border-right-style", "border-right-color" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + logical_property_group: { + name: "border", + resolver: "right", + }, + valid_for_page_context: true, + }, + { + name: "border-spacing", + longhands: [ + "-webkit-border-horizontal-spacing", "-webkit-border-vertical-spacing" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "border-style", + longhands: [ + "border-top-style", "border-right-style", "border-bottom-style", + "border-left-style" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + keywords: ["none"], + valid_for_page_context: true, + }, + { + name: "border-top", + longhands: ["border-top-width", "border-top-style", "border-top-color"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + logical_property_group: { + name: "border", + resolver: "top", + }, + valid_for_page_context: true, + }, + { + name: "border-width", + longhands: [ + "border-top-width", "border-right-width", "border-bottom-width", + "border-left-width" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + valid_for_page_context: true, + }, + { + name: "contain-intrinsic-inline-size", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "contain-intrinsic-size", + resolver: "inline", + }, + typedom_types: ["Keyword", "Length"], + valid_for_permission_element: true, + }, + { + name: "contain-intrinsic-block-size", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "contain-intrinsic-size", + resolver: "block", + }, + typedom_types: ["Keyword", "Length"], + valid_for_permission_element: true, + }, + { + name: "contain-intrinsic-size", + longhands: [ + "contain-intrinsic-width", "contain-intrinsic-height" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + computable: true, + valid_for_permission_element: true, + }, + { + name: "container", + longhands: [ + "container-name", "container-type" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "flex", + longhands: ["flex-grow", "flex-shrink", "flex-basis"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "flex-flow", + longhands: ["flex-direction", "flex-wrap"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "font", + longhands: [ + "font-style", "font-variant-ligatures", "font-variant-caps", + "font-variant-numeric", "font-variant-east-asian", "font-variant-alternates", + "font-variant-position", "font-weight", "font-stretch", "font-size", + "line-height", "font-family", "font-optical-sizing", "font-size-adjust", + "font-kerning", "font-feature-settings", "font-variation-settings" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + // Changes to anything related to fonts require that we call style.UpdateFont(), + // which the incremental path does not do. + supports_incremental_style: false, + }, + { + name: "font-variant", + longhands: [ + "font-variant-ligatures", "font-variant-caps", "font-variant-alternates", + "font-variant-numeric", "font-variant-east-asian", "font-variant-position" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + is_descriptor: true, + computable: true, + // See comment on font. + supports_incremental_style: false, + }, + { + name: "font-synthesis", + longhands: ["font-synthesis-weight", "font-synthesis-style", "font-synthesis-small-caps"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + // See comment on font. + supports_incremental_style: false, + }, + { + name: "grid", + longhands: [ + "grid-template-rows", "grid-template-columns", "grid-template-areas", + "grid-auto-flow", "grid-auto-rows", "grid-auto-columns" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + layout_dependent: true, + }, + { + name: "place-content", + longhands: ["align-content", "justify-content"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "place-items", + longhands: ["align-items", "justify-items"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "place-self", + longhands: ["align-self", "justify-self"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + valid_for_position_try: true, + }, + { + name: "grid-area", + longhands: [ + "grid-row-start", "grid-column-start", "grid-row-end", + "grid-column-end" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "grid-column", + longhands: ["grid-column-start", "grid-column-end"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "grid-column-gap", + longhands: ["column-gap"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "grid-row-gap", + longhands: ["row-gap"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "gap", + longhands: ["row-gap", "column-gap"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "grid-gap", + longhands: ["row-gap", "column-gap"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "grid-row", + longhands: ["grid-row-start", "grid-row-end"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "grid-template", + longhands: [ + "grid-template-rows", "grid-template-columns", "grid-template-areas" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + layout_dependent: true, + }, + { + name: "inset", + longhands: ["top", "right", "bottom", "left"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + valid_for_position_try: true, + layout_dependent: true, + }, + { + name: "inset-block", + longhands: ["inset-block-start", "inset-block-end"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + valid_for_position_try: true, + layout_dependent: true, + }, + { + name: "inset-inline", + longhands: ["inset-inline-start", "inset-inline-end"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + valid_for_position_try: true, + layout_dependent: true, + }, + { + name: "list-style", + longhands: ["list-style-position", "list-style-image", "list-style-type"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "margin", + longhands: ["margin-top", "margin-right", "margin-bottom", "margin-left"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + layout_dependent: true, + valid_for_position_try: true, + valid_for_permission_element: true, + valid_for_limited_page_context: true, + valid_for_page_context: true, + }, + { + name: "margin-block", + longhands: ["margin-block-start", "margin-block-end"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + layout_dependent: true, + valid_for_position_try: true, + valid_for_limited_page_context: true, + valid_for_page_context: true, + }, + { + name: "margin-inline", + longhands: ["margin-inline-start", "margin-inline-end"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + layout_dependent: true, + valid_for_position_try: true, + valid_for_limited_page_context: true, + valid_for_page_context: true, + }, + { + name: "marker", + longhands: ["marker-start", "marker-mid", "marker-end"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "offset", + longhands: [ + "offset-position", "offset-path", "offset-distance", "offset-rotate", + "offset-anchor" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "outline", + longhands: ["outline-color", "outline-style", "outline-width"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + valid_for_page_context: true, + }, + { + name: "overflow", + longhands: ["overflow-x", "overflow-y"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + // See comment on overflow-x. + supports_incremental_style: false, + }, + { + name: "overscroll-behavior", + longhands: ["overscroll-behavior-x", "overscroll-behavior-y"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "padding", + longhands: [ + "padding-top", "padding-right", "padding-bottom", "padding-left" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + layout_dependent: true, + supports_incremental_style: true, + valid_for_page_context: true, + }, + { + name: "padding-block", + longhands: ["padding-block-start", "padding-block-end"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + valid_for_page_context: true, + }, + { + name: "padding-inline", + longhands: ["padding-inline-start", "padding-inline-end"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + valid_for_page_context: true, + }, + { + name: "page-break-after", + longhands: ["break-after"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "page-break-before", + longhands: ["break-before"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "page-break-inside", + longhands: ["break-inside"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "position-try", + longhands: ["position-try-order", "position-try-options"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + runtime_flag: "CSSPositionTryOrder", + }, + { + name: "scroll-margin", + longhands: ["scroll-margin-top", "scroll-margin-right", "scroll-margin-bottom", "scroll-margin-left"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "scroll-margin-block", + longhands: ["scroll-margin-block-start", "scroll-margin-block-end"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "scroll-margin-inline", + longhands: ["scroll-margin-inline-start", "scroll-margin-inline-end"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "scroll-padding", + longhands: [ + "scroll-padding-top", "scroll-padding-right", "scroll-padding-bottom", + "scroll-padding-left" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "scroll-padding-block", + longhands: ["scroll-padding-block-start", "scroll-padding-block-end"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "scroll-padding-inline", + longhands: ["scroll-padding-inline-start", "scroll-padding-inline-end"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "scroll-start", + longhands: ["scroll-start-block", "scroll-start-inline"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + runtime_flag: "CSSScrollStart", + }, + { + name: "scroll-start-target", + longhands: ["scroll-start-target-block", "scroll-start-target-inline"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + runtime_flag: "CSSScrollStart", + }, + { + name: "scroll-timeline", + longhands: ["scroll-timeline-name", "scroll-timeline-axis"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + runtime_flag: "ScrollTimeline", + }, + { + name: "text-decoration", + longhands: ["text-decoration-line", "text-decoration-thickness", "text-decoration-style", "text-decoration-color"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + computable: true, + valid_for_page_context: true, + }, + { + name: "transition", + longhands: [ + "transition-property", "transition-duration", + "transition-timing-function", "transition-delay", + "transition-behavior", + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + // Animation properites are never incremental. + supports_incremental_style: false, + }, + { + name: "view-timeline", + longhands: ["view-timeline-name", "view-timeline-axis"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + runtime_flag: "ScrollTimeline", + }, + { + name: "-alternative-view-timeline-with-inset", + alternative_of: "view-timeline", + longhands: ["view-timeline-name", "view-timeline-axis", "view-timeline-inset"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + runtime_flag: "CSSViewTimelineInsetShorthand", + }, + { + name: "-webkit-border-after", + alias_for: "border-block-end", + }, + { + name: "-webkit-border-before", + alias_for: "border-block-start", + }, + { + name: "-webkit-border-end", + alias_for: "border-inline-end", + }, + { + name: "-webkit-border-start", + alias_for: "border-inline-start", + }, + { + name: "-webkit-column-break-after", + longhands: ["break-after"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "-webkit-column-break-before", + longhands: ["break-before"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "-webkit-column-break-inside", + longhands: ["break-inside"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "column-rule", + longhands: [ + "column-rule-width", "column-rule-style", "column-rule-color" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "columns", + longhands: ["column-width", "column-count"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + // This alternative of mask is active when CSSMaskingInterop is enabled. + { + name: "-alternative-mask", + alternative_of: "mask", + longhands: [ + "mask-image", "-webkit-mask-position-x", + "-webkit-mask-position-y", "mask-size", "mask-repeat", "mask-origin", + "mask-clip", "mask-composite", "mask-mode" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + runtime_flag: "CSSMaskingInterop", + }, + { + name: "-webkit-mask", + longhands: [ + "-webkit-mask-image", "-webkit-mask-position-x", + "-webkit-mask-position-y", "-webkit-mask-size", "-webkit-mask-repeat", + "-webkit-mask-origin", "-webkit-mask-clip" + ], + property_methods: ["ParseShorthand"], + }, + // This alternative of -webkit-mask is active when CSSMaskingInterop is + // enabled. + { + name: "-webkit-alternative-mask", + alternative_of: "-webkit-mask", + alias_for: "-alternative-mask", + runtime_flag: "CSSMaskingInterop", + }, + { + name: "-webkit-mask-box-image", + longhands: [ + "-webkit-mask-box-image-source", "-webkit-mask-box-image-slice", + "-webkit-mask-box-image-width", "-webkit-mask-box-image-outset", + "-webkit-mask-box-image-repeat" + ], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + computable: true, + }, + { + name: "mask-position", + longhands: ["-webkit-mask-position-x", "-webkit-mask-position-y"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + computable: true, + runtime_flag: "CSSMaskingInterop", + }, + { + name: "-webkit-alternative-mask-position", + alternative_of: "-webkit-mask-position", + alias_for: "mask-position", + computable: false, + runtime_flag: "CSSMaskingInterop", + }, + { + name: "-webkit-mask-position", + longhands: ["-webkit-mask-position-x", "-webkit-mask-position-y"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + computable: true, + }, + { + name: "text-emphasis", + longhands: ["text-emphasis-style", "text-emphasis-color"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + { + name: "-webkit-text-stroke", + longhands: ["-webkit-text-stroke-width", "-webkit-text-stroke-color"], + property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], + }, + + // Visited properties. + { + name: "-internal-visited-color", + visited_property_for: "color", + property_methods: ["ParseSingleValue", "ColorIncludingFallback"], + inherited: true, + field_group: "inherited", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor(Color::kBlack)", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + style_builder_custom_functions: ["initial", "inherit", "value"], + priority: 1, + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + valid_for_marker: true, + valid_for_highlight_legacy: true, + valid_for_highlight: true, + is_visited_highlight_colors: true, + }, + { + name: "-internal-visited-caret-color", + visited_property_for: "caret-color", + property_methods: ["ParseSingleValue", "ColorIncludingFallback"], + inherited: true, + field_group: "*->inherited_visited", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_auto_color.h"], + default_value: "StyleAutoColor::AutoColor()", + type_name: "StyleAutoColor", + converter: "ConvertStyleAutoColor", + computed_style_protected_functions: ["getter"], + style_builder_template: "visited_color", + style_builder_template_args: { + initial_color: "StyleAutoColor::AutoColor", + }, + valid_for_highlight_legacy: true, + }, + { + name: "-internal-visited-column-rule-color", + visited_property_for: "column-rule-color", + property_methods: ["ParseSingleValue", "ColorIncludingFallback"], + field_group: "*->visited", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor::CurrentColor()", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + converter: "ConvertStyleColor", + style_builder_template: "visited_color", + }, + { + name: "-internal-visited-background-color", + visited_property_for: "background-color", + property_methods: ["ParseSingleValue", "ColorIncludingFallback"], + field_group: "*->visited", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor(Color::kTransparent)", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + converter: "ConvertStyleColor", + style_builder_template: "visited_color", + style_builder_template_args: { + initial_color: "ComputedStyleInitialValues::InitialBackgroundColor", + }, + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + valid_for_highlight_legacy: true, + valid_for_highlight: true, + is_visited_highlight_colors: true, + }, + { + name: "-internal-visited-border-left-color", + visited_property_for: "border-left-color", + property_methods: ["ParseSingleValue", "ColorIncludingFallback"], + field_group: "*->visited", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor::CurrentColor()", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + converter: "ConvertStyleColor", + style_builder_template: "visited_color", + valid_for_first_letter: true, + logical_property_group: { + name: "visited-border-color", + resolver: "left", + }, + }, + { + name: "-internal-visited-border-right-color", + visited_property_for: "border-right-color", + property_methods: ["ParseSingleValue", "ColorIncludingFallback"], + field_group: "*->visited", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor::CurrentColor()", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + converter: "ConvertStyleColor", + style_builder_template: "visited_color", + valid_for_first_letter: true, + logical_property_group: { + name: "visited-border-color", + resolver: "right", + }, + }, + { + name: "-internal-visited-border-top-color", + visited_property_for: "border-top-color", + property_methods: ["ParseSingleValue", "ColorIncludingFallback"], + field_group: "*->visited", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor::CurrentColor()", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + converter: "ConvertStyleColor", + style_builder_template: "visited_color", + valid_for_first_letter: true, + logical_property_group: { + name: "visited-border-color", + resolver: "top", + }, + }, + { + name: "-internal-visited-border-bottom-color", + visited_property_for: "border-bottom-color", + property_methods: ["ParseSingleValue", "ColorIncludingFallback"], + field_group: "*->visited", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor::CurrentColor()", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + converter: "ConvertStyleColor", + style_builder_template: "visited_color", + valid_for_first_letter: true, + logical_property_group: { + name: "visited-border-color", + resolver: "bottom", + }, + }, + { + name: "-internal-visited-border-inline-start-color", + visited_property_for: "border-inline-start-color", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "visited-border-color", + resolver: "inline-start", + }, + valid_for_first_letter: true, + }, + { + name: "-internal-visited-border-inline-end-color", + visited_property_for: "border-inline-end-color", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "visited-border-color", + resolver: "inline-end", + }, + valid_for_first_letter: true, + }, + { + name: "-internal-visited-border-block-start-color", + visited_property_for: "border-block-start-color", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "visited-border-color", + resolver: "block-start", + }, + valid_for_first_letter: true, + }, + { + name: "-internal-visited-border-block-end-color", + visited_property_for: "border-block-end-color", + property_methods: ["ParseSingleValue"], + logical_property_group: { + name: "visited-border-color", + resolver: "block-end", + }, + valid_for_first_letter: true, + }, + { + name: "-internal-visited-fill", + visited_property_for: "fill", + property_methods: ["ParseSingleValue", "ColorIncludingFallback"], + inherited: true, + field_group: "svg->fill", + field_template: "external", + type_name: "SVGPaint", + include_paths: ["third_party/blink/renderer/core/style/svg_paint.h"], + default_value: "SVGPaint(Color::kBlack)", + name_for_methods: "InternalVisitedFillPaint", + converter: "ConvertSVGPaint", + style_builder_template: "visited_color", + style_builder_template_args: { + initial_color: "ComputedStyleInitialValues::InitialFillPaint", + }, + valid_for_highlight_legacy: true, + valid_for_highlight: true, + }, + { + name: "-internal-visited-outline-color", + visited_property_for: "outline-color", + property_methods: ["ParseSingleValue", "ColorIncludingFallback"], + field_group: "*->visited", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor::CurrentColor()", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + converter: "ConvertStyleColor", + style_builder_template: "visited_color", + valid_for_cue: true, + }, + { + name: "-internal-visited-stroke", + visited_property_for: "stroke", + property_methods: ["ParseSingleValue", "ColorIncludingFallback"], + inherited: true, + field_group: "svg->stroke", + field_template: "external", + type_name: "SVGPaint", + include_paths: ["third_party/blink/renderer/core/style/svg_paint.h"], + default_value: "SVGPaint()", + name_for_methods: "InternalVisitedStrokePaint", + converter: "ConvertSVGPaint", + style_builder_template: "visited_color", + style_builder_template_args: { + initial_color: "ComputedStyleInitialValues::InitialStrokePaint", + }, + valid_for_highlight_legacy: true, + valid_for_highlight: true, + }, + { + name: "-internal-visited-text-decoration-color", + visited_property_for: "text-decoration-color", + property_methods: ["ParseSingleValue", "ColorIncludingFallback"], + field_group: "*->visited", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor::CurrentColor()", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + converter: "ConvertStyleColor", + style_builder_template: "visited_color", + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + valid_for_highlight_legacy: true, + valid_for_highlight: true, + }, + { + name: "-internal-visited-text-emphasis-color", + visited_property_for: "text-emphasis-color", + property_methods: ["ParseSingleValue", "ColorIncludingFallback"], + inherited: true, + field_group: "*->inherited_visited", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor::CurrentColor()", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + converter: "ConvertStyleColor", + style_builder_template: "visited_color", + valid_for_highlight_legacy: true, + valid_for_highlight: true, + }, + { + name: "-internal-visited-text-fill-color", + visited_property_for: "-webkit-text-fill-color", + property_methods: ["ParseSingleValue", "ColorIncludingFallback"], + inherited: true, + field_group: "*->inherited_visited", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor::CurrentColor()", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + converter: "ConvertStyleColor", + style_builder_template: "visited_color", + valid_for_highlight_legacy: true, + valid_for_highlight: true, + }, + { + name: "-internal-visited-text-stroke-color", + visited_property_for: "-webkit-text-stroke-color", + property_methods: ["ParseSingleValue", "ColorIncludingFallback"], + inherited: true, + field_group: "*->inherited_visited", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor::CurrentColor()", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + converter: "ConvertStyleColor", + style_builder_template: "visited_color", + valid_for_highlight_legacy: true, + valid_for_highlight: true, + }, + + // Forced colors properties. + { + name: "-internal-forced-background-color", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], + field_group: "*->forced_colors", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css_value_keywords.h", + "third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor(CSSValueID::kCanvas)", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + converter: "ConvertStyleColor", + style_builder_template: "color", + style_builder_template_args: { + initial_color: "ComputedStyleInitialValues::InitialInternalForcedBackgroundColor", + }, + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + }, + { + name: "-internal-forced-border-color", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], + field_group: "*->forced_colors", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor::CurrentColor()", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + converter: "ConvertStyleColor", + style_builder_template: "color", + valid_for_first_letter: true, + }, + { + name: "-internal-forced-color", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], + inherited: true, + field_group: "*->inherited_forced_colors", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css_value_keywords.h", + "third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor(CSSValueID::kCanvastext)", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + style_builder_custom_functions: ["initial", "inherit", "value"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + valid_for_marker: true, + }, + { + name: "-internal-forced-outline-color", + property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal", "ColorIncludingFallback"], + field_group: "*->forced_colors", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor::CurrentColor()", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + converter: "ConvertStyleColor", + style_builder_template: "color", + valid_for_cue: true, + }, + { + name: "-internal-forced-visited-color", + visited_property_for: "-internal-forced-color", + property_methods: ["ParseSingleValue", "ColorIncludingFallback"], + inherited: true, + field_group: "*->inherited_forced_colors", + field_template: "external", + include_paths: ["third_party/blink/renderer/core/css_value_keywords.h", + "third_party/blink/renderer/core/css/style_color.h"], + default_value: "StyleColor(CSSValueID::kCanvastext)", + type_name: "StyleColor", + computed_style_protected_functions: ["getter"], + style_builder_custom_functions: ["initial", "inherit", "value"], + valid_for_first_letter: true, + valid_for_first_line: true, + valid_for_cue: true, + valid_for_marker: true, + }, + + // Name: -internal-empty-line-height: + // Value: none | fabricated + // If the element is inline or contains visible text, this property has + // no effect. + // + // 'none' + // The box's intrinsic height is 0, and it defines no baseline. + // 'fabricated' + // The box has intrinsic height and baseline, computed from the current + // font metrics. + { + name: "-internal-empty-line-height", + property_methods: ["ParseSingleValue" ], + inherited: true, + field_group: "*", + field_template: "primitive", + type_name: "bool", + default_value: "false", + name_for_methods: "HasLineIfEmpty", + converter: "ConvertInternalEmptyLineHeight", + }, + { + name: "-internal-align-content-block", + property_methods: ["ParseSingleValue"], + inherited: false, + field_group: "*", + field_template: "primitive", + type_name: "bool", + default_value: "false", + name_for_methods: "AlignContentBlockCenter", + converter: "ConvertInternalAlignContentBlock", + }, + // Aliases; these map to the same CSSPropertyID + { + name: "-epub-caption-side", + alias_for: "caption-side", + }, + { + name: "-epub-text-combine", + alias_for: "-webkit-text-combine", + }, + { + name: "-epub-text-emphasis", + alias_for: "text-emphasis", + }, + { + name: "-epub-text-emphasis-color", + alias_for: "text-emphasis-color", + }, + { + name: "-epub-text-emphasis-style", + alias_for: "text-emphasis-style", + }, + { + name: "-epub-text-orientation", + alias_for: "-webkit-text-orientation", + }, + { + name: "-epub-text-transform", + alias_for: "text-transform", + }, + { + name: "-epub-word-break", + alias_for: "word-break", + }, + { + name: "-epub-writing-mode", + alias_for: "-webkit-writing-mode", + }, + { + name: "-webkit-align-content", + alias_for: "align-content", + }, + { + name: "-webkit-align-items", + alias_for: "align-items", + }, + { + name: "-webkit-align-self", + alias_for: "align-self", + }, + { + name: "-webkit-animation", + alias_for: "animation", + }, + { + // Since "animation" has an alternative property, "-webkit-animation" + // also needs to have an alternative property that is an alias of + // animation's alternative property. Unfortunately we can't just resolve + // -webkit-animation directly to animation's alternative, because we have + // to remember the -webkit-ness of the property to enable legacy parsing + // behavior. (See CSSParserLocalContext::UseAliasParsing). + name: "-webkit-alternative-animation-with-timeline", + alias_for: "-alternative-animation-with-timeline", + alternative_of: "-webkit-animation", + runtime_flag: "ScrollTimeline", + }, + { + name: "-webkit-alternative-animation-with-delay-start-end", + alias_for: "-alternative-animation-with-delay-start-end", + alternative_of: "-webkit-alternative-animation-with-timeline", + runtime_flag: "CSSAnimationDelayStartEnd", + }, + { + name: "-webkit-animation-delay", + alias_for: "animation-delay", + }, + { + name: "-webkit-alternative-animation-delay", + alias_for: "-alternative-animation-delay", + alternative_of: "-webkit-animation-delay", + runtime_flag: "CSSAnimationDelayStartEnd", + }, + { + name: "-webkit-animation-direction", + alias_for: "animation-direction", + }, + { + name: "-webkit-animation-duration", + alias_for: "animation-duration", + }, + { + name: "-webkit-animation-fill-mode", + alias_for: "animation-fill-mode", + }, + { + name: "-webkit-animation-iteration-count", + alias_for: "animation-iteration-count", + }, + { + name: "-webkit-animation-name", + alias_for: "animation-name", + }, + { + name: "-webkit-animation-play-state", + alias_for: "animation-play-state", + }, + { + name: "-webkit-animation-timing-function", + alias_for: "animation-timing-function", + }, + { + name: "-webkit-backface-visibility", + alias_for: "backface-visibility", + }, + { + name: "-webkit-background-clip", + alias_for: "background-clip", + }, + // -webkit-background-origin accepts "content", "padding", and "border" + // values. See crbug.com/604023 + { + name: "-webkit-background-origin", + alias_for: "background-origin" + }, + // "-webkit-background-size: 10px" behaves as "background-size: 10px 10px" + { + name: "-webkit-background-size", + alias_for: "background-size", + }, + { + name: "-webkit-border-bottom-left-radius", + alias_for: "border-bottom-left-radius", + }, + { + name: "-webkit-border-bottom-right-radius", + alias_for: "border-bottom-right-radius", + }, + // "-webkit-border-radius: 1px 2px" behaves as "border-radius: 1px / 2px" + { + name: "-webkit-border-radius", + alias_for: "border-radius", + }, + { + name: "-webkit-border-top-left-radius", + alias_for: "border-top-left-radius", + }, + { + name: "-webkit-border-top-right-radius", + alias_for: "border-top-right-radius", + }, + { + name: "-webkit-box-shadow", + alias_for: "box-shadow", + }, + { + name: "-webkit-box-sizing", + alias_for: "box-sizing", + }, + { + name: "-webkit-clip-path", + alias_for: "clip-path", + }, + { + name: "-webkit-column-count", + alias_for: "column-count", + }, + { + name: "-webkit-column-gap", + alias_for: "column-gap", + }, + { + name: "-webkit-column-rule", + alias_for: "column-rule", + }, + { + name: "-webkit-column-rule-color", + alias_for: "column-rule-color", + }, + { + name: "-webkit-column-rule-style", + alias_for: "column-rule-style", + }, + { + name: "-webkit-column-rule-width", + alias_for: "column-rule-width", + }, + { + name: "-webkit-column-span", + alias_for: "column-span", + }, + { + name: "-webkit-column-width", + alias_for: "column-width", + }, + { + name: "-webkit-columns", + alias_for: "columns", + }, + { + name: "-webkit-filter", + alias_for: "filter", + }, + { + name: "-webkit-flex", + alias_for: "flex", + }, + { + name: "-webkit-flex-basis", + alias_for: "flex-basis", + }, + { + name: "-webkit-flex-direction", + alias_for: "flex-direction", + }, + { + name: "-webkit-flex-flow", + alias_for: "flex-flow", + }, + { + name: "-webkit-flex-grow", + alias_for: "flex-grow", + }, + { + name: "-webkit-flex-shrink", + alias_for: "flex-shrink", + }, + { + name: "-webkit-flex-wrap", + alias_for: "flex-wrap", + }, + { + name: "-webkit-font-feature-settings", + alias_for: "font-feature-settings", + }, + { + name: "-webkit-hyphenate-character", + alias_for: "hyphenate-character", + }, + { + name: "-webkit-justify-content", + alias_for: "justify-content", + }, + { + name: "-webkit-opacity", + alias_for: "opacity", + }, + { + name: "-webkit-order", + alias_for: "order", + }, + { + name: "-webkit-perspective", + alias_for: "perspective", + }, + { + name: "-webkit-perspective-origin", + alias_for: "perspective-origin", + }, + { + name: "-webkit-shape-image-threshold", + alias_for: "shape-image-threshold", + }, + { + name: "-webkit-shape-margin", + alias_for: "shape-margin", + }, + { + name: "-webkit-shape-outside", + alias_for: "shape-outside", + }, + { + name: "-webkit-text-emphasis", + alias_for: "text-emphasis", + }, + { + name: "-webkit-text-emphasis-color", + alias_for: "text-emphasis-color", + }, + { + name: "-webkit-text-emphasis-position", + alias_for: "text-emphasis-position", + }, + { + name: "-webkit-text-emphasis-style", + alias_for: "text-emphasis-style", + }, + { + name: "-webkit-text-size-adjust", + alias_for: "text-size-adjust", + }, + { + name: "-webkit-transform", + alias_for: "transform", + }, + { + name: "-webkit-transform-origin", + alias_for: "transform-origin", + }, + { + name: "-webkit-transform-style", + alias_for: "transform-style", + }, + { + name: "-webkit-transition", + alias_for: "transition", + }, + { + name: "-webkit-transition-delay", + alias_for: "transition-delay", + }, + { + name: "-webkit-transition-duration", + alias_for: "transition-duration", + }, + { + name: "-webkit-transition-property", + alias_for: "transition-property", + }, + { + name: "-webkit-transition-timing-function", + alias_for: "transition-timing-function", + }, + { + name: "-webkit-user-select", + alias_for: "user-select", + }, + { + name: "word-wrap", + alias_for: "overflow-wrap", + }, + ], +} diff --git a/idl/core/css/css_properties_ranking.json5 b/idl/core/css/css_properties_ranking.json5 new file mode 100644 index 0000000..95d005a --- /dev/null +++ b/idl/core/css/css_properties_ranking.json5 @@ -0,0 +1,742 @@ +// DO NOT EDIT: This file is generated by manually running: +// third_party/blink/renderer/build/scripts/update_css_ranking.py +// +// The popularity ranking of all css properties the first properties is the most +// used property according to: https://www.chromestatus.com/metrics/css/popularity +{ + "data": [ + "IsStackingContextWithoutContainment", + "width", + "height", + "display", + "position", + "padding", + "border", + "margin", + "top", + "left", + "margin-top", + "color", + "font-size", + "background-color", + "text-align", + "opacity", + "font-weight", + "background", + "font-family", + "overflow", + "line-height", + "box-sizing", + "float", + "text-decoration", + "z-index", + "cursor", + "margin-left", + "border-radius", + "vertical-align", + "margin-bottom", + "margin-right", + "right", + "padding-left", + "padding-top", + "max-width", + "bottom", + "box-shadow", + "content", + "padding-right", + "transform", + "white-space", + "white-space-collapse", + "text-wrap", + "padding-bottom", + "min-height", + "background-image", + "border-bottom", + "visibility", + "background-position", + "outline", + "min-width", + "border-top", + "transition", + "border-color", + "background-repeat", + "text-transform", + "background-size", + "-webkit-transform", + "max-height", + "list-style", + "clear", + "font", + "font-style", + "justify-content", + "align-items", + "border-left", + "border-width", + "border-right", + "text-overflow", + "-webkit-box-sizing", + "-webkit-user-select", + "-webkit-user-select", + "overflow-y", + "pointer-events", + "-webkit-transition", + "border-style", + "flex-direction", + "animation", + "-webkit-font-smoothing", + "overflow-x", + "letter-spacing", + "-webkit-appearance", + "-webkit-appearance", + "-webkit-box-shadow", + "flex", + "word-wrap", + "word-wrap", + "-webkit-tap-highlight-color", + "-webkit-text-size-adjust", + "flex-wrap", + "fill", + "border-collapse", + "transform-origin", + "border-top-left-radius", + "list-style-type", + "border-bottom-left-radius", + "user-select", + "-webkit-animation", + "text-shadow", + "border-bottom-right-radius", + "word-break", + "clip", + "border-top-right-radius", + "flex-grow", + "-webkit-border-radius", + "border-bottom-color", + "border-top-color", + "flex-shrink", + "align-self", + "-webkit-box-orient", + "text-rendering", + "animation-timing-function", + "-webkit-box-align", + "direction", + "zoom", + "text-indent", + "-webkit-transform-origin", + "background-clip", + "border-spacing", + "-webkit-align-items", + "touch-action", + "-webkit-justify-content", + "outline-offset", + "src", + "border-left-color", + "transition-property", + "animation-name", + "animation-duration", + "border-right-color", + "stroke", + "filter", + "-webkit-line-clamp", + "-webkit-background-size", + "-webkit-box-pack", + "overflow-wrap", + "font-variant", + "-webkit-flex", + "transition-delay", + "variable", + "-webkit-box-flex", + "object-fit", + "flex-basis", + "animation-delay", + "border-bottom-width", + "transition-duration", + "animation-fill-mode", + "will-change", + "border-top-width", + "transition-timing-function", + "order", + "outline-width", + "stroke-width", + "outline-style", + "align-content", + "table-layout", + "appearance", + "border-right-width", + "resize", + "-webkit-backface-visibility", + "-webkit-flex-direction", + "-webkit-animation-timing-function", + "animation-iteration-count", + "flex-flow", + "backface-visibility", + "-webkit-box-direction", + "border-left-width", + "stroke-dasharray", + "stroke-dashoffset", + "-webkit-animation-name", + "-webkit-filter", + "-webkit-filter", + "-webkit-animation-duration", + "unicode-range", + "-webkit-flex-wrap", + "unicode-bidi", + "-webkit-transition-property", + "border-bottom-style", + "speak", + "word-spacing", + "text-size-adjust", + "border-top-style", + "-webkit-transition-duration", + "-webkit-flex-shrink", + "-webkit-flex-grow", + "-webkit-transition-timing-function", + "animation-direction", + "-webkit-animation-delay", + "contain", + "-webkit-animation-fill-mode", + "perspective", + "font-feature-settings", + "-webkit-mask-image", + "-webkit-animation-iteration-count", + "-webkit-align-self", + "image-rendering", + "-webkit-border-top-right-radius", + "clip-path", + "list-style-position", + "-webkit-border-top-left-radius", + "-webkit-border-bottom-right-radius", + "hyphens", + "-webkit-border-bottom-left-radius", + "transform-style", + "-webkit-flex-basis", + "font-display", + "-webkit-transition-delay", + "border-left-style", + "-webkit-flex-flow", + "background-position-x", + "background-attachment", + "border-right-style", + "outline-color", + "animation-play-state", + "margin-block-end", + "-webkit-align-content", + "background-origin", + "-webkit-background-clip", + "-webkit-background-clip", + "-webkit-font-feature-settings", + "-webkit-font-feature-settings", + "-webkit-perspective", + "-webkit-transform-style", + "font-stretch", + "stroke-linecap", + "quotes", + "-webkit-order", + "object-position", + "-webkit-box-ordinal-group", + "background-position-y", + "column-gap", + "scroll-boundary-behavior", + "scroll-boundary-behavior", + "counter-reset", + "counter-increment", + "-webkit-clip-path", + "-webkit-clip-path", + "margin-block-start", + "page-break-inside", + "size", + "column-count", + "-webkit-opacity", + "text-decoration-skip", + "padding-inline-end", + "border-image", + "-webkit-user-drag", + "fill-opacity", + "-webkit-animation-direction", + "-webkit-animation-direction", + "list-style-image", + "all", + "padding-inline-start", + "justify-self", + "text-decoration-color", + "grid-gap", + "page-break-after", + "overflow-anchor", + "empty-cells", + "font-variant-ligatures", + "grid-column", + "stroke-opacity", + "caret-color", + "grid-column-gap", + "margin-inline-start", + "backdrop-filter", + "-webkit-animation-play-state", + "scroll-behavior", + "perspective-origin", + "justify-items", + "margin-inline-end", + "caption-side", + "line-break", + "line-break", + "-webkit-column-gap", + "orphans", + "-webkit-text-fill-color", + "columns", + "mix-blend-mode", + "column-width", + "widows", + "grid-row-gap", + "grid-area", + "-webkit-column-count", + "tab-size", + "stop-color", + "aspect-ratio", + "text-decoration-line", + "column-rule", + "scroll-snap-align", + "scroll-snap-type", + "grid-row", + "border-image-slice", + "border-image-repeat", + "border-image-width", + "text-align-last", + "text-decoration-style", + "stroke-miterlimit", + "border-image-outset", + "grid-auto-flow", + "page-break-before", + "-webkit-box-reflect", + "grid-auto-rows", + "grid-column-start", + "-webkit-mask-size", + "grid-template-areas", + "grid-column-end", + "border-image-source", + "-webkit-margin-start", + "-webkit-margin-start", + "stroke-linejoin", + "column-fill", + "-webkit-print-color-adjust", + "fill-rule", + "font-kerning", + "-webkit-margin-top-collapse", + "color-scheme", + "font-variant-numeric", + "-webkit-margin-before", + "-webkit-margin-before", + "break-inside", + "shape-outside", + "-webkit-padding-start", + "-webkit-padding-start", + "grid-row-start", + "-webkit-margin-end", + "-webkit-margin-end", + "-webkit-user-modify", + "shape-image-threshold", + "-webkit-border-image", + "-webkit-column-width", + "-webkit-margin-after", + "-webkit-margin-after", + "-webkit-perspective-origin", + "-webkit-text-stroke-width", + "border-inline-end-width", + "grid-row-end", + "border-inline-start-width", + "text-decoration-skip-ink", + "-webkit-mask-position", + "background-blend-mode", + "-webkit-mask-repeat", + "scroll-boundary-behavior-y", + "scroll-boundary-behavior-y", + "inset-inline-end", + "content-visibility", + "inset", + "inset-inline-start", + "isolation", + "column-rule-color", + "gap", + "-webkit-column-rule", + "column-rule-style", + "-webkit-mask-box-image", + "-webkit-columns", + "-webkit-column-break-inside", + "grid-auto-columns", + "shape-rendering", + "-webkit-box-decoration-break", + "writing-mode", + "-webkit-box-lines", + "-webkit-text-stroke", + "page", + "scroll-snap-margin", + "scroll-snap-margin", + "-webkit-text-stroke-color", + "clip-rule", + "scroll-boundary-behavior-x", + "scroll-boundary-behavior-x", + "intrinsic-size", + "intrinsic-size", + "row-gap", + "-webkit-padding-end", + "-webkit-padding-end", + "-webkit-mask", + "-webkit-writing-mode", + "font-variant-caps", + "page-orientation", + "text-anchor", + "scroll-padding", + "mask", + "-webkit-background-origin", + "-webkit-background-origin", + "-webkit-text-security", + "place-items", + "forced-color-adjust", + "-webkit-line-break", + "text-underline-position", + "background-repeat-x", + "column-span", + "vector-effect", + "font-variant-east-asian", + "mask-type", + "dominant-baseline", + "stop-opacity", + "break-after", + "scroll-snap-stop", + "break-before", + "grid-template", + "alignment-baseline", + "column-rule-width", + "-webkit-app-region", + "r", + "image-orientation", + "text-decoration-thickness", + "border-inline-start-color", + "border-inline-end-color", + "-webkit-margin-collapse", + "text-orientation", + "-webkit-hyphenate-character", + "padding-block-start", + "cx", + "padding-block-end", + "d", + "min-inline-size", + "baseline-shift", + "inline-size", + "shape-margin", + "-webkit-mask-clip", + "scroll-padding-top", + "-webkit-column-span", + "block-size", + "rx", + "cy", + "-webkit-mask-origin", + "min-block-size", + "background-repeat-y", + "-webkit-rtl-ordering", + "border-block-end-width", + "border-block-end-color", + "border-inline-start-style", + "border-block-end-style", + "border-inline-end-style", + "border-block-start-width", + "-webkit-mask-composite", + "border-block-start-color", + "border-block-start-style", + "place-content", + "scroll-snap-margin-top", + "scroll-snap-margin-top", + "-webkit-text-emphasis-color", + "paint-order", + "font-variation-settings", + "-webkit-border-horizontal-spacing", + "-webkit-border-vertical-spacing", + "ruby-position", + "text-combine-upright", + "y", + "x", + "-webkit-mask-position-y", + "ry", + "-webkit-padding-before", + "-webkit-padding-before", + "-webkit-text-emphasis-position", + "-webkit-padding-after", + "-webkit-padding-after", + "-webkit-text-emphasis-style", + "marker", + "transform-box", + "-webkit-mask-position-x", + "color-interpolation-filters", + "place-self", + "-webkit-locale", + "color-interpolation", + "-webkit-border-before-color", + "-webkit-border-before-color", + "-webkit-text-decorations-in-effect", + "-webkit-border-before-width", + "-webkit-border-before-width", + "text-underline-offset", + "color-rendering", + "-webkit-text-orientation", + "flood-color", + "flood-opacity", + "marker-end", + "lighting-color", + "offset-path", + "marker-start", + "marker-mid", + "buffered-rendering", + "-webkit-text-combine", + "scroll-padding-left", + "offset-distance", + "-webkit-column-rule-color", + "offset-rotate", + "-webkit-mask-box-image-width", + "-webkit-margin-after-collapse", + "-webkit-margin-before-collapse", + "-webkit-column-rule-style", + "-webkit-mask-box-image-source", + "-webkit-mask-box-image-repeat", + "-webkit-mask-box-image-slice", + "-webkit-mask-box-image-outset", + "-webkit-border-before-style", + "-webkit-border-before-style", + "max-inline-size", + "-webkit-transform-origin-x", + "max-block-size", + "-webkit-column-break-after", + "-webkit-transform-origin-y", + "-webkit-column-break-before", + "font-optical-sizing", + "grid", + "-webkit-text-emphasis", + "scroll-padding-inline-start", + "scroll-snap-margin-block-end", + "scroll-snap-margin-block-end", + "scroll-snap-margin-inline-start", + "scroll-snap-margin-inline-start", + "scroll-snap-margin-block-start", + "scroll-snap-margin-block-start", + "scroll-padding-block-end", + "scroll-padding-block-start", + "scroll-snap-margin-inline-end", + "scroll-snap-margin-inline-end", + "scroll-padding-inline-end", + "scroll-padding-bottom", + "-webkit-box-flex-group", + "-webkit-perspective-origin-x", + "-webkit-perspective-origin-y", + "border-inline-end", + "-webkit-shape-outside", + "scroll-snap-margin-left", + "scroll-snap-margin-left", + "inset-block-end", + "-webkit-column-rule-width", + "overscroll-behavior-block", + "inset-block-start", + "overscroll-behavior-inline", + "scroll-snap-margin-right", + "scroll-snap-margin-right", + "scroll-padding-right", + "-webkit-border-end-color", + "-webkit-border-end-color", + "-webkit-border-end-width", + "-webkit-border-end-width", + "-webkit-ruby-position", + "-webkit-border-start-width", + "-webkit-border-start-width", + "-webkit-border-start-color", + "-webkit-border-start-color", + "scroll-snap-margin-bottom", + "scroll-snap-margin-bottom", + "-webkit-border-after-width", + "-webkit-border-after-width", + "-webkit-border-after-color", + "-webkit-border-after-color", + "border-inline-start", + "-webkit-border-end", + "-webkit-border-end", + "margin-inline", + "-webkit-margin-bottom-collapse", + "margin-block", + "padding-inline", + "border-start-end-radius", + "border-end-start-radius", + "border-end-end-radius", + "border-start-start-radius", + "-webkit-border-start", + "-webkit-border-start", + "counter-set", + "offset", + "border-block-end", + "padding-block", + "-webkit-min-logical-width", + "-webkit-min-logical-width", + "border-block-start", + "-webkit-border-after", + "-webkit-border-after", + "inset-inline", + "-webkit-shape-margin", + "inset-block", + "border-block-color", + "border-block", + "scroll-padding-inline", + "scroll-snap-margin-block", + "scroll-snap-margin-block", + "scroll-padding-block", + "scroll-snap-margin-inline", + "scroll-snap-margin-inline", + "-webkit-transform-origin-z", + "-webkit-border-before", + "-webkit-border-before", + "border-inline", + "-webkit-shape-image-threshold", + "-webkit-logical-width", + "-webkit-logical-width", + "-webkit-border-end-style", + "-webkit-border-end-style", + "offset-rotation", + "-webkit-logical-height", + "-webkit-logical-height", + "-webkit-font-size-delta", + "-webkit-border-start-style", + "-webkit-border-start-style", + "-webkit-max-logical-height", + "-webkit-max-logical-height", + "-webkit-max-logical-width", + "-webkit-max-logical-width", + "-webkit-min-logical-height", + "-webkit-min-logical-height", + "border-block-style", + "border-inline-color", + "border-inline-style", + "border-block-width", + "border-inline-width", + "motion", + "motion-offset", + "motion-offset", + "-webkit-border-after-style", + "-webkit-border-after-style", + "font-size-adjust", + "-epub-word-break", + "motion-path", + "motion-path", + "-epub-text-transform", + "-epub-writing-mode", + "scale", + "rotate", + "translate", + "-epub-text-combine", + "animation-timeline", + "scrollbar-gutter", + "snap-height", + "snap-height", + "offset-anchor", + "-webkit-mask-repeat-y", + "math-style", + "math-shift", + "math-depth", + "offset-position", + "-webkit-hyphenate-limit-lines", + "-webkit-mask-repeat-x", + "-epub-text-orientation", + "-epub-text-emphasis-color", + "-epub-text-emphasis-style", + "glyph-orientation-vertical", + "internal-callback", + "text-line-through", + "text-line-through-color", + "text-line-through-mode", + "text-line-through-style", + "text-line-through-width", + "text-overline", + "text-overline-color", + "text-overline-mode", + "text-overline-style", + "text-overline-width", + "text-underline", + "text-underline-color", + "text-underline-mode", + "text-underline-style", + "text-underline-width", + "-webkit-aspect-ratio", + "-webkit-background-composite", + "-webkit-border-fit", + "-webkit-color-correction", + "-webkit-column-axis", + "-webkit-column-progression", + "-webkit-box-decoration-break", + "-webkit-filter", + "-webkit-hyphenate-limit-after", + "-webkit-hyphenate-limit-before", + "-webkit-hyphens", + "-webkit-line-box-contain", + "-webkit-line-align", + "-webkit-line-grid", + "-webkit-line-snap", + "-webkit-marquee", + "-webkit-marquee-direction", + "-webkit-marquee-increment", + "-webkit-marquee-repetition", + "-webkit-marquee-speed", + "-webkit-marquee-style", + "-webkit-nbsp-mode", + "-webkit-flow-into", + "-webkit-flow-from", + "-webkit-region-fragment", + "-webkit-region-break-after", + "-webkit-region-break-before", + "-webkit-region-break-inside", + "shape-inside", + "shape-padding", + "-webkit-wrap-flow", + "-webkit-wrap-through", + "-webkit-wrap", + "-webkit-tap-highlight-color", + "-webkit-app-region", + "enable-background", + "color-profile", + "glyph-orientation-horizontal", + "kerning", + "-webkit-svg-shadow", + "-webkit-cursor-visibility", + "image-orientation", + "image-resolution", + "-webkit-blend-mode", + "-webkit-background-blend-mode", + "max-zoom", + "min-zoom", + "orientation", + "user-zoom", + "-webkit-dashboard-region", + "-webkit-overflow-scrolling", + "mask-source-type", + "touch-action-delay", + "scroll-blocks-on", + "motion-rotation", + "motion-rotation", + "-epub-caption-side", + "-epub-text-emphasis", + "scroll-snap-points-x", + "scroll-snap-points-y", + "scroll-snap-coordinate", + "scroll-snap-destination", + "apply-at-rule", + "viewport-fit", + "overflow-block", + "syntax", + "content-size", + "intrinsic-block-size", + "intrinsic-block-size", + "intrinsic-height", + "intrinsic-height", + "intrinsic-inline-size", + "intrinsic-inline-size", + "intrinsic-width", + "intrinsic-width", + "render-subtree", + "origin-trial-test-property", + "subtree-visibility", + "math-superscript-shift-style", + "start", + "accent-color", + ], + "properties": {} +} diff --git a/idl/core/css/css_property_rule.idl b/idl/core/css/css_property_rule.idl new file mode 100644 index 0000000..c7f02d7 --- /dev/null +++ b/idl/core/css/css_property_rule.idl @@ -0,0 +1,12 @@ +// Copyright 2019 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +[ + Exposed=Window +] interface CSSPropertyRule : CSSRule { + readonly attribute CSSOMString name; + readonly attribute CSSOMString syntax; + readonly attribute boolean inherits; + readonly attribute CSSOMString? initialValue; +}; diff --git a/idl/core/css/css_rule.idl b/idl/core/css/css_rule.idl new file mode 100644 index 0000000..7235a3b --- /dev/null +++ b/idl/core/css/css_rule.idl @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2006, 2007, 2009 Apple Inc. All rights reserved. + * Copyright (C) 2006 Samuel Weinig + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +// https://drafts.csswg.org/cssom/#the-cssrule-interface + +[ + Exposed=Window +] interface CSSRule { + const unsigned short STYLE_RULE = 1; + const unsigned short CHARSET_RULE = 2; + const unsigned short IMPORT_RULE = 3; + const unsigned short MEDIA_RULE = 4; + const unsigned short FONT_FACE_RULE = 5; + const unsigned short PAGE_RULE = 6; + // TODO(foolip): Implement CSSMarginRule. + // const unsigned short MARGIN_RULE = 9; + const unsigned short NAMESPACE_RULE = 10; + readonly attribute unsigned short type; + attribute DOMString cssText; + readonly attribute CSSRule? parentRule; + readonly attribute CSSStyleSheet? parentStyleSheet; + + // CSS Animations + // https://drafts.csswg.org/css-animations/#interface-cssrule + const unsigned short KEYFRAMES_RULE = 7; + const unsigned short KEYFRAME_RULE = 8; + + // CSS Counter Styles + // https://drafts.csswg.org/css-counter-styles-3/#extentions-to-cssrule-interface + const unsigned short COUNTER_STYLE_RULE = 11; + + // CSS Fonts Level 4 + // https://drafts.csswg.org/css-fonts-4/#font-feature-values + const unsigned short FONT_FEATURE_VALUES_RULE = 14; + + // CSS Conditional Rules + // https://drafts.csswg.org/css-conditional/#extentions-to-cssrule-interface + const unsigned short SUPPORTS_RULE = 12; +}; diff --git a/idl/core/css/css_rule_list.idl b/idl/core/css/css_rule_list.idl new file mode 100644 index 0000000..1ed135b --- /dev/null +++ b/idl/core/css/css_rule_list.idl @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2006, 2007, 2009 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +// https://drafts.csswg.org/cssom/#the-cssrulelist-interface + +[ + Exposed=Window +] interface CSSRuleList { + [Measure] getter CSSRule? item(unsigned long index); + readonly attribute unsigned long length; +}; diff --git a/idl/core/css/css_scope_rule.idl b/idl/core/css/css_scope_rule.idl new file mode 100644 index 0000000..a488155 --- /dev/null +++ b/idl/core/css/css_scope_rule.idl @@ -0,0 +1,11 @@ +// Copyright 2022 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +[ + Exposed=Window, + RuntimeEnabled=CSSScope +] interface CSSScopeRule : CSSGroupingRule { + readonly attribute CSSOMString? start; + readonly attribute CSSOMString? end; +}; diff --git a/idl/core/css/css_starting_style_rule.idl b/idl/core/css/css_starting_style_rule.idl new file mode 100644 index 0000000..040d019 --- /dev/null +++ b/idl/core/css/css_starting_style_rule.idl @@ -0,0 +1,8 @@ +// Copyright 2023 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +[ + Exposed=Window +] interface CSSStartingStyleRule : CSSGroupingRule { +}; diff --git a/idl/core/css/css_style_declaration.idl b/idl/core/css/css_style_declaration.idl new file mode 100644 index 0000000..8f1cee0 --- /dev/null +++ b/idl/core/css/css_style_declaration.idl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2006, 2007, 2009 Apple Inc. All rights reserved. + * Copyright (C) 2006 Samuel Weinig + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +// https://drafts.csswg.org/cssom/#the-cssstyledeclaration-interface + +[ + Exposed=Window +] interface CSSStyleDeclaration { + [CEReactions, RaisesException=Setter, SetterCallWith=ExecutionContext] attribute DOMString cssText; + readonly attribute unsigned long length; + [Affects=Nothing] getter DOMString item(unsigned long index); + DOMString getPropertyValue(DOMString property); + DOMString getPropertyPriority(DOMString property); + [CEReactions, RaisesException, CallWith=ExecutionContext] void setProperty(DOMString property, [LegacyNullToEmptyString] DOMString value, optional [LegacyNullToEmptyString] DOMString priority = ""); + // void setPropertyValue(DOMString property, [LegacyNullToEmptyString] DOMString value); + // void setPropertyPriority(DOMString property, [LegacyNullToEmptyString] DOMString priority); + [CEReactions, RaisesException] DOMString removeProperty(DOMString property); + readonly attribute CSSRule? parentRule; + [CEReactions, SetterCallWith=ExecutionContext, RaisesException=Setter] attribute [LegacyNullToEmptyString] DOMString cssFloat; + + // The camel-cased and dashed attribute getters have custom bindings. + // https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-camel-cased-attribute + // https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-dashed-attribute + [Affects=Nothing] getter DOMString (DOMString name); + // The type of `propertyValue` is `any` in order not to perform any type + // conversion which may have side effect (c.f. https://crbug.com/1310062 ). + [CEReactions, CallWith=ScriptState] setter void (DOMString property, any propertyValue); + deleter void (DOMString property); +}; diff --git a/idl/core/css/css_style_rule.idl b/idl/core/css/css_style_rule.idl new file mode 100644 index 0000000..94bac7f --- /dev/null +++ b/idl/core/css/css_style_rule.idl @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. + * Copyright (C) 2006 Samuel Weinig + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +// https://drafts.csswg.org/cssom/#the-cssstylerule-interface + +[ + Exposed=Window +] interface CSSStyleRule : CSSRule { + [SetterCallWith=ExecutionContext] attribute DOMString selectorText; + [SameObject, PutForwards=cssText] readonly attribute CSSStyleDeclaration style; + [SameObject, MeasureAs=CSSTypedOMStylePropertyMap] readonly attribute StylePropertyMap styleMap; + + // https://drafts.csswg.org/css-nesting-1/#cssom-style + [SameObject] readonly attribute CSSRuleList cssRules; + [RaisesException, CallWith=ExecutionContext] unsigned long insertRule(DOMString rule, optional unsigned long index = 0); + [RaisesException] void deleteRule(unsigned long index); +}; diff --git a/idl/core/css/css_style_sheet.idl b/idl/core/css/css_style_sheet.idl new file mode 100644 index 0000000..8057a34 --- /dev/null +++ b/idl/core/css/css_style_sheet.idl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. + * Copyright (C) 2006 Samuel Weinig + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +// https://drafts.csswg.org/cssom/#the-cssstylesheet-interface + +[ + Exposed=Window +] interface CSSStyleSheet : StyleSheet { + [CallWith=Document, RaisesException] constructor(optional CSSStyleSheetInit options = {}); + readonly attribute CSSRule? ownerRule; + [SameObject, RaisesException] readonly attribute CSSRuleList cssRules; + [RaisesException] unsigned long insertRule(DOMString rule, optional unsigned long index = 0); + [RaisesException] void deleteRule(unsigned long index); + + [MeasureAs=CSSStyleSheetReplace, CallWith=ScriptState, RaisesException] Promise replace(DOMString text); + [MeasureAs=CSSStyleSheetReplaceSync, RaisesException] void replaceSync(DOMString text); + + // Non-standard APIs + [MeasureAs=CSSStyleSheetRules, RaisesException] readonly attribute CSSRuleList rules; + [MeasureAs=CSSStyleSheetAddRule, RaisesException] long addRule(optional DOMString selector = "undefined", optional DOMString style = "undefined", optional unsigned long index); + [MeasureAs=CSSStyleSheetRemoveRule, RaisesException] void removeRule(optional unsigned long index = 0); +}; diff --git a/idl/core/css/css_style_sheet_init.idl b/idl/core/css/css_style_sheet_init.idl new file mode 100644 index 0000000..001278c --- /dev/null +++ b/idl/core/css/css_style_sheet_init.idl @@ -0,0 +1,10 @@ +// Copyright 2018 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +dictionary CSSStyleSheetInit { + (MediaList or DOMString) media = ""; + DOMString title = ""; + boolean alternate = false; + boolean disabled = false; +}; diff --git a/idl/core/css/css_supports_rule.idl b/idl/core/css/css_supports_rule.idl new file mode 100644 index 0000000..2cfb265 --- /dev/null +++ b/idl/core/css/css_supports_rule.idl @@ -0,0 +1,34 @@ +/* Copyright (C) 2012 Motorola Mobility Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the distribution. + * 3. Neither the name of Motorola Mobility Inc. nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +// https://drafts.csswg.org/css-conditional/#the-csssupportsrule-interface + +[ + Exposed=Window +] interface CSSSupportsRule : CSSConditionRule { +}; diff --git a/idl/core/css/css_value_keywords.json5 b/idl/core/css/css_value_keywords.json5 new file mode 100644 index 0000000..d6b0e9c --- /dev/null +++ b/idl/core/css/css_value_keywords.json5 @@ -0,0 +1,1870 @@ +{ + // The mode argument is used to limit the keyword to be used only for certain + // CSSParserModes. Values that have the prefix -internal- are only allowed by + // CSSParserModes listed in CSSValueKeywordsWriter, which feeds the generated + // code for isValueAllowedInMode. + + parameters: { + mode: {}, + }, + + // + // CSS value names + // + + data: [ + + "inherit", + "initial", + // + // outline-style + // border-top-style + // border-bottom-style + // border-left-style + // border-right-style + // The order here must match the order of the EBorderStyle enum in ComputedStyleConstants.h. + "none", + "hidden", + "inset", + "groove", + "outset", + "ridge", + "dotted", + "dashed", + "solid", + "double", + + // + // font + // + "caption", + "icon", + "menu", + "message-box", + "small-caption", + "-webkit-mini-control", + "-webkit-small-control", + "-webkit-control", + "status-bar", + + // + // font-style + // + //normal + "italic", + "oblique", + // The following is only allowed in @font-face: + "all", + + // font-variant-ligatures: + // + // normal + "common-ligatures", + "no-common-ligatures", + "discretionary-ligatures", + "no-discretionary-ligatures", + "historical-ligatures", + "no-historical-ligatures", + "contextual", + "no-contextual", + + // font-variant-caps: + // + // normal + "small-caps", + "all-small-caps", + "petite-caps", + "all-petite-caps", + "unicase", + "titling-caps", + + // font-variant-caps: + // + // normal + "jis78", + "jis83", + "jis90", + "jis04", + "simplified", + "traditional", + "full-width", + "proportional-width", + "ruby", + + // font-variant-numeric + // normal + "lining-nums", + "oldstyle-nums", + "proportional-nums", + "tabular-nums", + "diagonal-fractions", + "stacked-fractions", + "ordinal", + "slashed-zero", + + // font-variant-alternates + "stylistic", + "historical-forms", + "styleset", + "character-variant", + "swash", + "ornaments", + "annotation", + + // + // font-weight + // + "normal", + "bold", + "bolder", + "lighter", + + // font-synthesis + // none + // style + // small-caps + "weight", + + // + // font-stretch + // + "ultra-condensed", + "extra-condensed", + "condensed", + "semi-condensed", + "semi-expanded", + "expanded", + "extra-expanded", + "ultra-expanded", + + // + // font-size + // + "xx-small", + "x-small", + "small", + "medium", + "large", + "x-large", + "xx-large", + "xxx-large", + "smaller", + "larger", + "-webkit-xxx-large", + // math + + // + // font-size-adjust + // + //none + "ex-height", + "cap-height", + "ch-width", + "ic-width", + // from-font + + // + // font-family ( in CSS 2.1) + // + // If you modify this list, please make sure you update css_parsing_utils's + // ConsumeGenericFamily, ComputedStyleUtils::IdentifierForFamily and + // FontFamily::InferredTypeFor accordingly. + "serif", + "sans-serif", + "cursive", + "fantasy", + "monospace", + "system-ui", + "-webkit-body", + "math", + + // + // font-display + // + //auto + //block + "swap", + "fallback", + "optional", + + // https://drafts.csswg.org/css-conditional-5/#typedef-supports-font-tech-fn + "font-tech", + "font-format", + + // + // font-palette animation + // + "palette-mix", + + // + // *-color + // + "aqua", + "black", + "blue", + "fuchsia", + "gray", + "green", + "lime", + "maroon", + "navy", + "olive", + "orange", + "purple", + "red", + "silver", + "teal", + "white", + "yellow", + "transparent", + "-webkit-link", + "-webkit-activelink", + "accentcolor", + "accentcolortext", + "activeborder", + "activecaption", + "activetext", + "appworkspace", + "background", + "buttonborder", + "buttonface", + "buttonhighlight", + "buttonshadow", + "buttontext", + "canvas", + "canvastext", + "captiontext", + "field", + "fieldtext", + "graytext", + "highlight", + "highlighttext", + "inactiveborder", + "inactivecaption", + "inactivecaptiontext", + "infobackground", + "infotext", + "linktext", + "mark", + "marktext", + "menutext", + "selecteditem", + "selecteditemtext", + "scrollbar", + "threeddarkshadow", + "threedface", + "threedhighlight", + "threedlightshadow", + "threedshadow", + "visitedtext", + "window", + "windowframe", + "windowtext", + "-internal-active-list-box-selection", + "-internal-active-list-box-selection-text", + "-internal-inactive-list-box-selection", + "-internal-inactive-list-box-selection-text", + { + name: "-webkit-focus-ring-color", + mode: "QuirksOrUASheet", + }, + "currentcolor", + "grey", + // + // Value used to implement the behavior in: + // https://quirks.spec.whatwg.org/#the-tables-inherit-color-from-body-quirk + "-internal-quirk-inherit", + // + // css-text-decor + // + "-internal-spelling-error-color", + "-internal-grammar-error-color", + + // + // "Extended" named colors + // + "aliceblue", + "antiquewhite", + "aquamarine", + "azure", + "beige", + "bisque", + "blanchedalmond", + "blueviolet", + "brown", + "burlywood", + "cadetblue", + "chartreuse", + "chocolate", + "coral", + "cornflowerblue", + "cornsilk", + "crimson", + "cyan", + "darkblue", + "darkcyan", + "darkgoldenrod", + "darkgray", + "darkgreen", + "darkgrey", + "darkkhaki", + "darkmagenta", + "darkolivegreen", + "darkorange", + "darkorchid", + "darkred", + "darksalmon", + "darkseagreen", + "darkslateblue", + "darkslategray", + "darkslategrey", + "darkturquoise", + "darkviolet", + "deeppink", + "deepskyblue", + "dimgray", + "dimgrey", + "dodgerblue", + "firebrick", + "floralwhite", + "forestgreen", + "gainsboro", + "ghostwhite", + "gold", + "goldenrod", + "greenyellow", + "honeydew", + "hotpink", + "indianred", + "indigo", + "ivory", + "khaki", + "lavender", + "lavenderblush", + "lawngreen", + "lemonchiffon", + "lightblue", + "lightcoral", + "lightcyan", + "lightgoldenrodyellow", + "lightgray", + "lightgreen", + "lightgrey", + "lightpink", + "lightsalmon", + "lightseagreen", + "lightskyblue", + "lightslategray", + "lightslategrey", + "lightsteelblue", + "lightyellow", + "limegreen", + "linen", + "magenta", + "mediumaquamarine", + "mediumblue", + "mediumorchid", + "mediumpurple", + "mediumseagreen", + "mediumslateblue", + "mediumspringgreen", + "mediumturquoise", + "mediumvioletred", + "midnightblue", + "mintcream", + "mistyrose", + "moccasin", + "navajowhite", + "oldlace", + "olivedrab", + "orangered", + "orchid", + "palegoldenrod", + "palegreen", + "paleturquoise", + "palevioletred", + "papayawhip", + "peachpuff", + "peru", + "pink", + "plum", + "powderblue", + "rebeccapurple", + "rosybrown", + "royalblue", + "saddlebrown", + "salmon", + "sandybrown", + "seagreen", + "seashell", + "sienna", + "skyblue", + "slateblue", + "slategray", + "slategrey", + "snow", + "springgreen", + "steelblue", + "tan", + "thistle", + "tomato", + "turquoise", + "violet", + "wheat", + "whitesmoke", + "yellowgreen", + + // + // background-repeat + // + "repeat", + "repeat-x", + "repeat-y", + "no-repeat", + // round + // space + // + // -webkit-mask-composite + // + "clear", + "copy", + "source-over", + "source-in", + "source-out", + "source-atop", + "destination-over", + "destination-in", + "destination-out", + "destination-atop", + "xor", + // highlight + "plus-lighter", + + // + // mask-composite + // + // "add", + "subtract", + "intersect", + "exclude", + + // + // vertical-align + // + "baseline", + "middle", + "sub", + "super", + "text-top", + "text-bottom", + "top", + "bottom", + // HTML alignment MIDDLE has no corresponding CSS alignment + "-webkit-baseline-middle", + // + // text-align + // The order and contents this block MUST match the kTextAlign[Last] cases + // of CSSParserFastPaths::IsValidKeywordPropertyAndValue(). + // + "-webkit-auto", + "left", + "right", + "center", + "justify", + "-webkit-left", + "-webkit-right", + "-webkit-center", + "-webkit-match-parent", + "-internal-center", + // + // float, clear, etc. + // + "inline-start", + "inline-end", + // + // list-style-position + // + "outside", + "inside", + // + // list-style-type + // + "disc", + "circle", + "square", + "disclosure-open", + "disclosure-closed", + "decimal", + //none + // + // The order must match the order found in IsDisplayOutside(). + "inline", + "block", + // The order must match the order found in IsDisplayInside(). + "flow-root", + "flow", + "table", + "flex", + "grid", + //"math", + //"ruby", + // The order must match the order found in IsDisplayBox(). + "contents", + //none + // The order must match the order found in IsDisplayInternal(). + "table-row-group", + "table-header-group", + "table-footer-group", + "table-row", + "table-column-group", + "table-column", + "table-cell", + "table-caption", + "ruby-text", + // The order must match the order found in IsDisplayLegacy(). + "inline-block", + "inline-table", + "inline-flex", + "inline-grid", + "-webkit-box", + "-webkit-inline-box", + "-webkit-flex", + "-webkit-inline-flex", + "layout", + "inline-layout", + "list-item", + // + // cursor + // The order of this enum must match the order found in CSSPropertyParser::ConsumeCursor(). + // + "auto", + "crosshair", + "default", + "pointer", + "move", + "vertical-text", + "cell", + "context-menu", + "alias", + // copy + "progress", + "no-drop", + "not-allowed", + "zoom-in", + "zoom-out", + "e-resize", + "ne-resize", + "nw-resize", + "n-resize", + "se-resize", + "sw-resize", + "s-resize", + "w-resize", + "ew-resize", + "ns-resize", + "nesw-resize", + "nwse-resize", + "col-resize", + "row-resize", + "text", + "wait", + "help", + "all-scroll", + "grab", + "grabbing", + "-webkit-grab", + "-webkit-grabbing", + "-webkit-zoom-in", + "-webkit-zoom-out", + // none + // + // direction + // + "ltr", + "rtl", + // + // text-transform + // + "capitalize", + "uppercase", + "lowercase", + //none + "math-auto", + // + // visibility + // + "visible", + //hidden + "collapse", + // + // white-space and its longhands (white-space-collapse and text-wrap) + // https://w3c.github.io/csswg-drafts/css-text-4/#white-space-property + // + "preserve", + "preserve-breaks", + "pretty", + // + // Unordered rest + // + "a3", + "a4", + "a5", + "above", + "absolute", + "always", + "avoid", + "b4", + "b5", + "below", + "bidi-override", + "blink", + "both", + "break-spaces", + "close-quote", + "embed", + "fixed", + "hand", + "hide", + "isolate", + "isolate-override", + "plaintext", + "-webkit-isolate", + "-webkit-isolate-override", + "-webkit-plaintext", + "jis-b5", + "jis-b4", + "landscape", + "ledger", + "legal", + "letter", + "line-through", + "local", + "no-close-quote", + "no-open-quote", + "nowrap", + "open-quote", + "overlay", + "overline", + "portrait", + "pre", + "pre-line", + "pre-wrap", + "relative", + "scroll", + "separate", + "show", + "static", + "thick", + "thin", + "underline", + "view", + "wavy", + + // math-shift + // normal + "compact", + + // math-style + // normal + // compact + + // CSS3 Values + // box-align + "stretch", + "start", + "end", + //center + //baseline + + // box-decoration-break + "clone", + "slice", + + // box-direction + // normal + "reverse", + + // box-orient + "horizontal", + "vertical", + "inline-axis", + "block-axis", + + // box-pack + // start + // end + // center + // justify + + // align-content + // start + // end + "flex-start", + "flex-end", + // center + "space-between", + "space-around", + "space-evenly", + // stretch + "unsafe", + "safe", + + // align-items / align-self + // flex-start + // flex-end + // center + // baseline + // last baseline, + // first baseline, + // stretch + "anchor-center", + + // justify-content + // start + // end + // flex-start + // flex-end + // center + // space-between + // space-around + // space-evenly + // stretch + // unsafe + // safe + + + // flex-flow + "row", + "row-reverse", + "column", + "column-reverse", + // nowrap + "wrap", + "wrap-reverse", + + // grid-auto-flow + "auto-flow", + "dense", + + // + // -webkit-user-modify + // + "read-only", + "read-write", + "read-write-plaintext-only", + + // + // -webkit-user-drag + // + "element", + + // + // CSS3 intrinsic dimension keywords + // + "-webkit-min-content", + "-webkit-max-content", + "-webkit-fill-available", + "-webkit-fit-content", + "min-content", + "max-content", + "fit-content", + + // + // text-autospace + // + // normal + "no-autospace", + + // + // text-box-edge + // + // "alphabetic", + // "text" + // + // not implemented + // "ideographic", + // "ideographic-ink", + "cap", + "ex", + "leading", + + // + // text-overflow + // + "clip", + "ellipsis", + + // + // text-decoration-line + // + "spelling-error", + "grammar-error", + + // + // text-decoration-skip-ink + // + // auto + // none + + // + // text-decoration-thickness + // + // auto + "from-font", + + // + // text-spacing-trim + // + // normal + "space-all", + "space-first", + "trim-start", + + // text-underline-position + // auto + // "from-font", + // under + // left + // right + + // + // word-break + // + "break-all", + "keep-all", + "auto-phrase", + + // + // word-wrap + // + "break-word", + + // + // nbsp-mode + // + "space", + + // + // -webkit-line-break + // + // auto + "loose", + // normal + "strict", + "after-white-space", + "anywhere", + + // hyphens + "manual", + + // -webkit-appearance + "checkbox", + "radio", + "button", + "listbox", + "-internal-media-control", + "menulist", + "menulist-button", + "meter", + "progress-bar", + "searchfield", + "textfield", + "textarea", + // TODO(crbug/924486) All appearance values that should not be accepted by the parser (high usage). + "inner-spin-button", + "push-button", + "square-button", + "slider-horizontal", + "searchfield-cancel-button", + // TODO(crbug/924486) All appearance values that should not be accepted by the parser (low usage). + "media-slider", + "media-sliderthumb", + "media-volume-slider", + "media-volume-sliderthumb", + "sliderthumb-horizontal", + "sliderthumb-vertical", + // TODO(crbug/1426629) All appearance values that should not be accepted by the parser (special case). + "slider-vertical", + // + // border-image + // + // stretch + // repeat + "round", + // TODO(crbug.com/1511354): "bikeshed" is a temporary name for stylable + //