[Trusted Types] Implement Element.inner/outerHTML without StringContext. [chromium/src : main]

0 views
Skip to first unread message

Daniel Vogelheim (Gerrit)

unread,
Jun 18, 2025, 2:21:54 PMJun 18
to Daniel Vogelheim, Kentaro Hara, AyeAye, Chromium LUCI CQ, Alexis Menard, David Bokan, chromium...@chromium.org, Daniel Cheng, Dirk Schulze, Fredrik Söderquist, Olga Gerchikov, (Julie)Jeongeun Kim, Kevin Babbitt, Kenneth Rohde Christiansen, Raphael Kubo da Costa, prerendering-reviews, Stephen Chenney, Alex Keng, srirama chandra sekhar, Yoav Weiss (@Shopify), blink-revie...@chromium.org, lucasrada...@google.com, abigailbk...@google.com, aleventhal...@chromium.org, apaselti...@chromium.org, apavlo...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, dcheng+c...@chromium.org, devtools-re...@chromium.org, dominicc+...@chromium.org, dtapuska+...@chromium.org, dtseng...@chromium.org, eric.c...@apple.com, feature-me...@chromium.org, fmalit...@chromium.org, francisjp...@google.com, gavinp+p...@chromium.org, jmedle...@chromium.org, josiah...@chromium.org, kinuko...@chromium.org, kouhe...@chromium.org, kyungjunle...@google.com, loading-rev...@chromium.org, mattreyno...@chromium.org, mfoltz...@chromium.org, nektar...@chromium.org, pdr+svgw...@chromium.org, steimel+watch...@chromium.org, yuzo+...@chromium.org, zol...@webkit.org
Attention needed from Joey Arhar

Daniel Vogelheim voted and added 1 comment

Votes added by Daniel Vogelheim

Commit-Queue+0

1 comment

Patchset-level comments
File-level comment, Patchset 11 (Latest):
Daniel Vogelheim . resolved

Hi Joey, please take a look. I adopted the naming suggestions from our email discussion.

I'm sorry for how very long this CL is, but I couldn't really come up with a meaningful split. Also, you own nearly all of this code. :)

Open in Gerrit

Related details

Attention is currently required from:
  • Joey Arhar
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I5e3de3a7f8dec469a27314056958a7b982e8733d
Gerrit-Change-Number: 6624252
Gerrit-PatchSet: 11
Gerrit-Owner: Daniel Vogelheim <voge...@chromium.org>
Gerrit-Reviewer: Daniel Vogelheim <voge...@chromium.org>
Gerrit-Reviewer: Joey Arhar <jar...@chromium.org>
Gerrit-CC: (Julie)Jeongeun Kim <je_jul...@chromium.org>
Gerrit-CC: Akihiro Ota <akihi...@chromium.org>
Gerrit-CC: Alex Keng <shi...@microsoft.com>
Gerrit-CC: Alexis Menard <alexis...@intel.com>
Gerrit-CC: Daniel Cheng <dch...@chromium.org>
Gerrit-CC: David Bokan <bo...@chromium.org>
Gerrit-CC: Dirk Schulze <dsch...@chromium.org>
Gerrit-CC: Fredrik Söderquist <f...@opera.com>
Gerrit-CC: Kenneth Rohde Christiansen <kenneth.ch...@gmail.com>
Gerrit-CC: Kentaro Hara <har...@chromium.org>
Gerrit-CC: Kevin Babbitt <kbab...@microsoft.com>
Gerrit-CC: Nektarios Paisios <nek...@chromium.org>
Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
Gerrit-CC: Stephen Chenney <sche...@chromium.org>
Gerrit-CC: Yoav Weiss (@Shopify) <yoav...@chromium.org>
Gerrit-CC: prerendering-reviews <prerenderi...@chromium.org>
Gerrit-CC: srirama chandra sekhar <srir...@samsung.com>
Gerrit-Attention: Joey Arhar <jar...@chromium.org>
Gerrit-Comment-Date: Wed, 18 Jun 2025 18:21:37 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Joey Arhar (Gerrit)

unread,
Jun 24, 2025, 2:00:52 PMJun 24
to Daniel Vogelheim, Code Review Nudger, Kentaro Hara, AyeAye, Chromium LUCI CQ, Alexis Menard, David Bokan, chromium...@chromium.org, Daniel Cheng, Dirk Schulze, Fredrik Söderquist, Olga Gerchikov, (Julie)Jeongeun Kim, Kevin Babbitt, Kenneth Rohde Christiansen, Raphael Kubo da Costa, prerendering-reviews, Stephen Chenney, Alex Keng, srirama chandra sekhar, Yoav Weiss (@Shopify), blink-revie...@chromium.org, lucasrada...@google.com, abigailbk...@google.com, aleventhal...@chromium.org, apaselti...@chromium.org, apavlo...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, dcheng+c...@chromium.org, devtools-re...@chromium.org, dominicc+...@chromium.org, dtapuska+...@chromium.org, dtseng...@chromium.org, eric.c...@apple.com, feature-me...@chromium.org, fmalit...@chromium.org, francisjp...@google.com, gavinp+p...@chromium.org, jmedle...@chromium.org, josiah...@chromium.org, kinuko...@chromium.org, kouhe...@chromium.org, kyungjunle...@google.com, loading-rev...@chromium.org, mattreyno...@chromium.org, mfoltz...@chromium.org, nektar...@chromium.org, pdr+svgw...@chromium.org, steimel+watch...@chromium.org, yuzo+...@chromium.org, zol...@webkit.org
Attention needed from Daniel Vogelheim

Joey Arhar voted Code-Review+1

Code-Review+1
Open in Gerrit

Related details

Attention is currently required from:
  • Daniel Vogelheim
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I5e3de3a7f8dec469a27314056958a7b982e8733d
Gerrit-Change-Number: 6624252
Gerrit-PatchSet: 12
Gerrit-Owner: Daniel Vogelheim <voge...@chromium.org>
Gerrit-Reviewer: Daniel Vogelheim <voge...@chromium.org>
Gerrit-Reviewer: Joey Arhar <jar...@chromium.org>
Gerrit-CC: (Julie)Jeongeun Kim <je_jul...@chromium.org>
Gerrit-CC: Akihiro Ota <akihi...@chromium.org>
Gerrit-CC: Alex Keng <shi...@microsoft.com>
Gerrit-CC: Alexis Menard <alexis...@intel.com>
Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
Gerrit-CC: Daniel Cheng <dch...@chromium.org>
Gerrit-CC: David Bokan <bo...@chromium.org>
Gerrit-CC: Dirk Schulze <dsch...@chromium.org>
Gerrit-CC: Fredrik Söderquist <f...@opera.com>
Gerrit-CC: Kenneth Rohde Christiansen <kenneth.ch...@gmail.com>
Gerrit-CC: Kentaro Hara <har...@chromium.org>
Gerrit-CC: Kevin Babbitt <kbab...@microsoft.com>
Gerrit-CC: Nektarios Paisios <nek...@chromium.org>
Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
Gerrit-CC: Stephen Chenney <sche...@chromium.org>
Gerrit-CC: Yoav Weiss (@Shopify) <yoav...@chromium.org>
Gerrit-CC: prerendering-reviews <prerenderi...@chromium.org>
Gerrit-CC: srirama chandra sekhar <srir...@samsung.com>
Gerrit-Attention: Daniel Vogelheim <voge...@chromium.org>
Gerrit-Comment-Date: Tue, 24 Jun 2025 18:00:41 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
open
diffy

Daniel Vogelheim (Gerrit)

unread,
Jul 1, 2025, 12:12:28 PM (8 days ago) Jul 1
to Daniel Vogelheim, Code Review Nudger, Kentaro Hara, AyeAye, Chromium LUCI CQ, Alexis Menard, David Bokan, chromium...@chromium.org, Daniel Cheng, Dirk Schulze, Fredrik Söderquist, Olga Gerchikov, (Julie)Jeongeun Kim, Kevin Babbitt, Kenneth Rohde Christiansen, Raphael Kubo da Costa, prerendering-reviews, Stephen Chenney, Alex Keng, srirama chandra sekhar, Yoav Weiss (@Shopify), aleventh...@chromium.org, blink-revie...@chromium.org, lucasrada...@google.com, abigailbk...@google.com, aleventhal...@chromium.org, apaselti...@chromium.org, apavlo...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, dcheng+c...@chromium.org, devtools-re...@chromium.org, dominicc+...@chromium.org, dtapuska+...@chromium.org, dtseng...@chromium.org, eric.c...@apple.com, feature-me...@chromium.org, fmalit...@chromium.org, francisjp...@google.com, gavinp+p...@chromium.org, jmedle...@chromium.org, josiah...@chromium.org, kinuko...@chromium.org, kouhe...@chromium.org, kyungjunle...@google.com, loading-rev...@chromium.org, mattreyno...@chromium.org, mfoltz...@chromium.org, nektar...@chromium.org, pdr+svgw...@chromium.org, steimel+watch...@chromium.org, yuzo+...@chromium.org, zol...@webkit.org

Daniel Vogelheim voted Commit-Queue+2

Commit-Queue+2
Open in Gerrit

Related details

Attention set is empty
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I5e3de3a7f8dec469a27314056958a7b982e8733d
Gerrit-Change-Number: 6624252
Gerrit-PatchSet: 13
Gerrit-Comment-Date: Tue, 01 Jul 2025 16:12:14 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
open
diffy

Chromium LUCI CQ (Gerrit)

unread,
Jul 1, 2025, 12:41:46 PM (7 days ago) Jul 1
to Daniel Vogelheim, Code Review Nudger, Kentaro Hara, AyeAye, Akihiro Ota, Alexis Menard, David Bokan, chromium...@chromium.org, Daniel Cheng, Dirk Schulze, Fredrik Söderquist, Olga Gerchikov, (Julie)Jeongeun Kim, Kevin Babbitt, Kenneth Rohde Christiansen, Raphael Kubo da Costa, prerendering-reviews, Stephen Chenney, Alex Keng, srirama chandra sekhar, Yoav Weiss (@Shopify), aleventh...@chromium.org, blink-revie...@chromium.org, lucasrada...@google.com, abigailbk...@google.com, aleventhal...@chromium.org, apaselti...@chromium.org, apavlo...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, dcheng+c...@chromium.org, devtools-re...@chromium.org, dominicc+...@chromium.org, dtapuska+...@chromium.org, dtseng...@chromium.org, eric.c...@apple.com, feature-me...@chromium.org, fmalit...@chromium.org, francisjp...@google.com, gavinp+p...@chromium.org, jmedle...@chromium.org, josiah...@chromium.org, kinuko...@chromium.org, kouhe...@chromium.org, kyungjunle...@google.com, loading-rev...@chromium.org, mattreyno...@chromium.org, mfoltz...@chromium.org, nektar...@chromium.org, pdr+svgw...@chromium.org, steimel+watch...@chromium.org, yuzo+...@chromium.org, zol...@webkit.org

Chromium LUCI CQ submitted the change with unreviewed changes

Unreviewed changes

12 is the latest approved patch-set.
The change was submitted with unreviewed changes in the following files:

```
The name of the file: third_party/blink/renderer/core/css/style_engine_test.cc
Insertions: 13, Deletions: 0.

The diff is too large to show. Please review the diff.
```

Change information

Commit message:
[Trusted Types] Implement Element.inner/outerHTML without StringContext.

The [StringContext=] extendend IDL attribute is a Chrome-specific
mechanism to implement Trusted Types. TT is currently being integrated
into the HTML spec, and the spec editors decided against the
StringContext IDL attribute, and instead specify Trusted Types checks
"manually" in the spec. In some instances -- but not here -- the
difference between the IDL-based and the "manual" TT checks is observable, due to the when the TT check is being made.

This CL re-implements the Trusted Types check of the following properties, without StringContext:
- Element, innerHTML + outerHTML
- Shadow root, innerHTML

These methods are very popular in testing code, which unfortunately
makes this CL quite long.

This CL should not introduce any behavioural changes. If the updated
HTML specs introduces changes relative to Chrome's current behaviour,
we will implement those semantic changes in a separate CL, behind a
flag. Here, we only change the mechanism.
Bug: 330516530
Change-Id: I5e3de3a7f8dec469a27314056958a7b982e8733d
Commit-Queue: Daniel Vogelheim <voge...@chromium.org>
Reviewed-by: Joey Arhar <jar...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1481115}
Files:
  • M third_party/blink/renderer/bindings/generated_in_core.gni
  • M third_party/blink/renderer/controller/oom_intervention_impl_test.cc
  • M third_party/blink/renderer/core/animation/css/css_scroll_timeline_test.cc
  • M third_party/blink/renderer/core/css/active_style_sheets_test.cc
  • M third_party/blink/renderer/core/css/affected_by_pseudo_test.cc
  • M third_party/blink/renderer/core/css/computed_style_css_value_mapping_test.cc
  • M third_party/blink/renderer/core/css/container_query_evaluator_test.cc
  • M third_party/blink/renderer/core/css/container_query_test.cc
  • M third_party/blink/renderer/core/css/counter_style_map_test.cc
  • M third_party/blink/renderer/core/css/css_computed_style_declaration_test.cc
  • M third_party/blink/renderer/core/css/css_container_values_test.cc
  • M third_party/blink/renderer/core/css/css_selector_watch_test.cc
  • M third_party/blink/renderer/core/css/css_style_declaration_test.cc
  • M third_party/blink/renderer/core/css/cssom/caret_position_test.cc
  • M third_party/blink/renderer/core/css/cssom/paint_worklet_style_property_map_test.cc
  • M third_party/blink/renderer/core/css/cssom/prepopulated_computed_style_property_map_test.cc
  • M third_party/blink/renderer/core/css/drag_update_test.cc
  • M third_party/blink/renderer/core/css/element_rule_collector_test.cc
  • M third_party/blink/renderer/core/css/invalidation/invalidation_set_test.cc
  • M third_party/blink/renderer/core/css/invalidation/pending_invalidations_test.cc
  • M third_party/blink/renderer/core/css/invalidation/style_invalidator_test.cc
  • M third_party/blink/renderer/core/css/media_query_evaluator_test.cc
  • M third_party/blink/renderer/core/css/parser/css_property_parser_test.cc
  • M third_party/blink/renderer/core/css/properties/css_parsing_utils_test.cc
  • M third_party/blink/renderer/core/css/properties/longhands/custom_property_test.cc
  • M third_party/blink/renderer/core/css/property_registry_test.cc
  • M third_party/blink/renderer/core/css/resolver/selector_filter_parent_scope_test.cc
  • M third_party/blink/renderer/core/css/resolver/style_resolver_test.cc
  • M third_party/blink/renderer/core/css/rule_feature_set_test.cc
  • M third_party/blink/renderer/core/css/selector_checker_test.cc
  • M third_party/blink/renderer/core/css/selector_query_test.cc
  • M third_party/blink/renderer/core/css/style_element_test.cc
  • M third_party/blink/renderer/core/css/style_engine_test.cc
  • M third_party/blink/renderer/core/css/style_environment_variables_test.cc
  • M third_party/blink/renderer/core/css/style_perftest.cc
  • M third_party/blink/renderer/core/css/style_recalc_change_test.cc
  • M third_party/blink/renderer/core/css/style_scope_data_test.cc
  • M third_party/blink/renderer/core/css/style_use_counter_test.cc
  • M third_party/blink/renderer/core/display_lock/display_lock_context_test.cc
  • M third_party/blink/renderer/core/display_lock/display_lock_utilities_test.cc
  • M third_party/blink/renderer/core/dom/document_statistics_collector_test.cc
  • M third_party/blink/renderer/core/dom/document_test.cc
  • M third_party/blink/renderer/core/dom/element.cc
  • M third_party/blink/renderer/core/dom/element.h
  • M third_party/blink/renderer/core/dom/element.idl
  • M third_party/blink/renderer/core/dom/element_test.cc
  • M third_party/blink/renderer/core/dom/flat_tree_traversal_test.cc
  • M third_party/blink/renderer/core/dom/mutation_observer_test.cc
  • M third_party/blink/renderer/core/dom/node_test.cc
  • M third_party/blink/renderer/core/dom/nth_index_cache_test.cc
  • M third_party/blink/renderer/core/dom/pseudo_element_test.cc
  • M third_party/blink/renderer/core/dom/range_test.cc
  • M third_party/blink/renderer/core/dom/shadow_root.cc
  • M third_party/blink/renderer/core/dom/shadow_root.h
  • M third_party/blink/renderer/core/dom/shadow_root.idl
  • M third_party/blink/renderer/core/dom/static_range_test.cc
  • M third_party/blink/renderer/core/dom/whitespace_attacher_test.cc
  • M third_party/blink/renderer/core/editing/commands/apply_block_element_command_test.cc
  • M third_party/blink/renderer/core/editing/commands/composite_edit_command_test.cc
  • M third_party/blink/renderer/core/editing/commands/delete_selection_command_test.cc
  • M third_party/blink/renderer/core/editing/commands/insert_list_command_test.cc
  • M third_party/blink/renderer/core/editing/commands/insert_paragraph_separator_command_test.cc
  • M third_party/blink/renderer/core/editing/commands/insert_text_command_test.cc
  • M third_party/blink/renderer/core/editing/commands/replace_selection_command_test.cc
  • M third_party/blink/renderer/core/editing/commands/undo_command_test.cc
  • M third_party/blink/renderer/core/editing/editing_utilities_test.cc
  • M third_party/blink/renderer/core/editing/editor_test.cc
  • M third_party/blink/renderer/core/editing/finder/text_finder_test.cc
  • M third_party/blink/renderer/core/editing/frame_caret_test.cc
  • M third_party/blink/renderer/core/editing/granularity_strategy_test.cc
  • M third_party/blink/renderer/core/editing/ime/input_method_controller_test.cc
  • M third_party/blink/renderer/core/editing/iterators/text_iterator_test.cc
  • M third_party/blink/renderer/core/editing/markers/custom_highlight_marker_test.cc
  • M third_party/blink/renderer/core/editing/selection_adjuster_test.cc
  • M third_party/blink/renderer/core/editing/selection_controller_test.cc
  • M third_party/blink/renderer/core/editing/selection_modifier_test.cc
  • M third_party/blink/renderer/core/editing/suggestion/text_suggestion_controller_test.cc
  • M third_party/blink/renderer/core/editing/surrounding_text_test.cc
  • M third_party/blink/renderer/core/editing/testing/editing_test_base.cc
  • M third_party/blink/renderer/core/editing/testing/selection_sample.cc
  • M third_party/blink/renderer/core/editing/testing/selection_sample_test.cc
  • M third_party/blink/renderer/core/editing/visible_units_test.cc
  • M third_party/blink/renderer/core/exported/web_element.cc
  • M third_party/blink/renderer/core/exported/web_element_test.cc
  • M third_party/blink/renderer/core/exported/web_form_control_element_test.cc
  • M third_party/blink/renderer/core/exported/web_frame_serializer_sanitization_test.cc
  • M third_party/blink/renderer/core/exported/web_link_preview_triggerer_test.cc
  • M third_party/blink/renderer/core/exported/web_node_test.cc
  • M third_party/blink/renderer/core/fragment_directive/text_fragment_selector_generator_test.cc
  • M third_party/blink/renderer/core/frame/attribution_src_loader_test.cc
  • M third_party/blink/renderer/core/frame/find_in_page_test.cc
  • M third_party/blink/renderer/core/frame/local_frame_ukm_aggregator_test.cc
  • M third_party/blink/renderer/core/frame/local_frame_view_test.cc
  • M third_party/blink/renderer/core/frame/use_counter_impl_test.cc
  • M third_party/blink/renderer/core/frame/visual_viewport_test.cc
  • M third_party/blink/renderer/core/frame/web_frame_test.cc
  • M third_party/blink/renderer/core/highlight/highlight_registry_test.cc
  • M third_party/blink/renderer/core/highlight/highlight_test.cc
  • M third_party/blink/renderer/core/html/canvas/canvas_font_cache_test.cc
  • M third_party/blink/renderer/core/html/canvas/canvas_rendering_api_ukm_metrics_test.cc
  • M third_party/blink/renderer/core/html/custom/custom_element_test.cc
  • M third_party/blink/renderer/core/html/forms/external_date_time_chooser_test.cc
  • M third_party/blink/renderer/core/html/forms/external_popup_menu_test.cc
  • M third_party/blink/renderer/core/html/forms/file_input_type_test.cc
  • M third_party/blink/renderer/core/html/forms/form_controller_test.cc
  • M third_party/blink/renderer/core/html/forms/html_form_control_element_test.cc
  • M third_party/blink/renderer/core/html/forms/html_input_element_test.cc
  • M third_party/blink/renderer/core/html/forms/html_select_element_test.cc
  • M third_party/blink/renderer/core/html/forms/internal_popup_menu_test.cc
  • M third_party/blink/renderer/core/html/forms/option_list_test.cc
  • M third_party/blink/renderer/core/html/forms/text_control_element_test.cc
  • M third_party/blink/renderer/core/html/html_element.cc
  • M third_party/blink/renderer/core/html/html_link_element_test.cc
  • M third_party/blink/renderer/core/html/html_meta_element_test.cc
  • M third_party/blink/renderer/core/html/html_object_element_test.cc
  • M third_party/blink/renderer/core/html/html_perftest.cc
  • M third_party/blink/renderer/core/html/html_permission_icon_element.cc
  • M third_party/blink/renderer/core/html/html_plugin_element_test.cc
  • M third_party/blink/renderer/core/html/html_slot_element_test.cc
  • M third_party/blink/renderer/core/html/html_view_source_document_test.cc
  • M third_party/blink/renderer/core/html/media/autoplay_uma_helper_test.cc
  • M third_party/blink/renderer/core/html/media/html_media_element_event_listeners_test.cc
  • M third_party/blink/renderer/core/html/media/html_media_element_test.cc
  • M third_party/blink/renderer/core/html/media/html_video_element_persistent_test.cc
  • M third_party/blink/renderer/core/html/media/media_custom_controls_fullscreen_detector_test.cc
  • M third_party/blink/renderer/core/html/media/video_wake_lock_test.cc
  • M third_party/blink/renderer/core/html/parser/html_document_parser_fastpath_test.cc
  • M third_party/blink/renderer/core/html/shadow/progress_shadow_element_test.cc
  • M third_party/blink/renderer/core/input/event_handler_test.cc
  • M third_party/blink/renderer/core/input/pointer_event_manager_test.cc
  • M third_party/blink/renderer/core/input/touch_action_test.cc
  • M third_party/blink/renderer/core/inspector/inspector_contrast_test.cc
  • M third_party/blink/renderer/core/inspector/inspector_css_agent_test.cc
  • M third_party/blink/renderer/core/inspector/inspector_highlight_test.cc
  • M third_party/blink/renderer/core/inspector/inspector_style_resolver_test.cc
  • M third_party/blink/renderer/core/layout/inline/inline_node_test.cc
  • M third_party/blink/renderer/core/layout/layout_object_test.cc
  • M third_party/blink/renderer/core/layout/layout_ruby_as_block_test.cc
  • M third_party/blink/renderer/core/layout/layout_text_fragment_test.cc
  • M third_party/blink/renderer/core/layout/layout_theme_test.cc
  • M third_party/blink/renderer/core/layout/layout_view_test.cc
  • M third_party/blink/renderer/core/layout/list/list_marker_test.cc
  • M third_party/blink/renderer/core/layout/scroll_anchor_test.cc
  • M third_party/blink/renderer/core/layout/svg/layout_svg_foreign_object_test.cc
  • M third_party/blink/renderer/core/layout/text_autosizer_test.cc
  • M third_party/blink/renderer/core/page/autoscroll_controller_test.cc
  • M third_party/blink/renderer/core/page/context_menu_controller_test.cc
  • M third_party/blink/renderer/core/page/drag_controller_test.cc
  • M third_party/blink/renderer/core/page/focus_controller_test.cc
  • M third_party/blink/renderer/core/page/focusgroup_controller_test.cc
  • M third_party/blink/renderer/core/page/print_context_test.cc
  • M third_party/blink/renderer/core/page/scrolling/root_scroller_test.cc
  • M third_party/blink/renderer/core/page/scrolling/snap_coordinator_test.cc
  • M third_party/blink/renderer/core/paint/compositing/compositing_test.cc
  • M third_party/blink/renderer/core/paint/html_canvas_painter_test.cc
  • M third_party/blink/renderer/core/paint/paint_and_raster_invalidation_test.cc
  • M third_party/blink/renderer/core/paint/paint_layer_scrollable_area_test.cc
  • M third_party/blink/renderer/core/paint/paint_layer_test.cc
  • M third_party/blink/renderer/core/paint/timing/image_paint_timing_detector_test.cc
  • M third_party/blink/renderer/core/paint/timing/text_paint_timing_detector_test.cc
  • M third_party/blink/renderer/core/speculation_rules/speculation_rule_set_test.cc
  • M third_party/blink/renderer/core/style/computed_style_test.cc
  • M third_party/blink/renderer/core/svg/animation/svg_smil_element_test.cc
  • M third_party/blink/renderer/core/svg/svg_element_test.cc
  • M third_party/blink/renderer/core/svg/svg_foreign_object_element_test.cc
  • M third_party/blink/renderer/core/svg/svg_use_element_test.cc
  • M third_party/blink/renderer/core/svg/unsafe_svg_attribute_sanitization_test.cc
  • M third_party/blink/renderer/core/testing/core_unit_test_helper.cc
  • M third_party/blink/renderer/core/testing/page_test_base.cc
  • M third_party/blink/renderer/core/trustedtypes/trusted_html.cc
  • M third_party/blink/renderer/core/trustedtypes/trusted_types_util.cc
  • M third_party/blink/renderer/core/trustedtypes/trusted_types_util.h
  • M third_party/blink/renderer/core/view_transition/view_transition_test.cc
  • M third_party/blink/renderer/modules/accessibility/ax_layout_object_test.cc
  • M third_party/blink/renderer/modules/accessibility/ax_object.cc
  • M third_party/blink/renderer/modules/accessibility/ax_object_cache_test.cc
  • M third_party/blink/renderer/modules/accessibility/ax_object_test.cc
  • M third_party/blink/renderer/modules/accessibility/blink_ax_tree_source.cc
  • M third_party/blink/renderer/modules/accessibility/testing/accessibility_selection_test.cc
  • M third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d_api_test.cc
  • M third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d_test.cc
  • M third_party/blink/renderer/modules/canvas/htmlcanvas/html_canvas_element_module_test.cc
  • M third_party/blink/renderer/modules/canvas/offscreencanvas/offscreen_canvas_rendering_api_ukm_metrics_test.cc
  • M third_party/blink/renderer/modules/canvas/offscreencanvas/offscreen_canvas_test.cc
  • M third_party/blink/renderer/modules/content_extraction/ai_page_content_agent_unittest.cc
  • M third_party/blink/renderer/modules/document_metadata/document_metadata_extractor_test.cc
  • M third_party/blink/renderer/modules/media_controls/elements/media_control_animated_arrow_container_element.cc
  • M third_party/blink/renderer/modules/media_controls/elements/media_control_scrubbing_message_element.cc
  • M third_party/blink/renderer/modules/media_controls/media_controls_impl.cc
  • M third_party/blink/renderer/modules/media_controls/media_controls_impl_test.cc
Change size: XL
Delta: 190 files changed, 1398 insertions(+), 1152 deletions(-)
Branch: refs/heads/main
Submit Requirements:
  • requirement satisfiedCode-Review: +1 by Joey Arhar
Open in Gerrit
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: merged
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I5e3de3a7f8dec469a27314056958a7b982e8733d
Gerrit-Change-Number: 6624252
Gerrit-PatchSet: 14
Gerrit-Owner: Daniel Vogelheim <voge...@chromium.org>
Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
Gerrit-Reviewer: Daniel Vogelheim <voge...@chromium.org>
Gerrit-Reviewer: Joey Arhar <jar...@chromium.org>
Gerrit-CC: (Julie)Jeongeun Kim <je_jul...@chromium.org>
Gerrit-CC: Akihiro Ota <akihi...@chromium.org>
Gerrit-CC: Alex Keng <shi...@microsoft.com>
Gerrit-CC: Alexis Menard <alexis...@intel.com>
open
diffy
satisfied_requirement

Michael Lippautz (Gerrit)

unread,
Jul 2, 2025, 3:20:47 AM (7 days ago) Jul 2
to Daniel Vogelheim, Chromium LUCI CQ, Code Review Nudger, Kentaro Hara, AyeAye, Alexis Menard, David Bokan, chromium...@chromium.org, Daniel Cheng, Dirk Schulze, Fredrik Söderquist, Olga Gerchikov, (Julie)Jeongeun Kim, Kevin Babbitt, Kenneth Rohde Christiansen, Raphael Kubo da Costa, prerendering-reviews, Stephen Chenney, Alex Keng, srirama chandra sekhar, Yoav Weiss (@Shopify), aleventh...@chromium.org, blink-revie...@chromium.org, lucasrada...@google.com, abigailbk...@google.com, aleventhal...@chromium.org, apaselti...@chromium.org, apavlo...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, dcheng+c...@chromium.org, devtools-re...@chromium.org, dominicc+...@chromium.org, dtapuska+...@chromium.org, dtseng...@chromium.org, eric.c...@apple.com, feature-me...@chromium.org, fmalit...@chromium.org, francisjp...@google.com, gavinp+p...@chromium.org, jmedle...@chromium.org, josiah...@chromium.org, kinuko...@chromium.org, kouhe...@chromium.org, kyungjunle...@google.com, loading-rev...@chromium.org, mattreyno...@chromium.org, mfoltz...@chromium.org, nektar...@chromium.org, pdr+svgw...@chromium.org, steimel+watch...@chromium.org, yuzo+...@chromium.org, zol...@webkit.org
Attention needed from Daniel Vogelheim

Michael Lippautz added 1 comment

File third_party/blink/renderer/core/dom/element.cc
Line 8249, Patchset 14 (Latest): String compliant_html = TrustedTypesCheckForHTML(
Michael Lippautz . unresolved

On a quick check this seems to be quite a lot more expensive then the older version? How do we expect this to roughly yield in the same performance?

Are we already doing more checks or are they only enabled later on?

Open in Gerrit

Related details

Attention is currently required from:
  • Daniel Vogelheim
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I5e3de3a7f8dec469a27314056958a7b982e8733d
Gerrit-Change-Number: 6624252
Gerrit-PatchSet: 14
Gerrit-Owner: Daniel Vogelheim <voge...@chromium.org>
Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
Gerrit-Reviewer: Daniel Vogelheim <voge...@chromium.org>
Gerrit-Reviewer: Joey Arhar <jar...@chromium.org>
Gerrit-CC: (Julie)Jeongeun Kim <je_jul...@chromium.org>
Gerrit-CC: Akihiro Ota <akihi...@chromium.org>
Gerrit-CC: Alex Keng <shi...@microsoft.com>
Gerrit-CC: Alexis Menard <alexis...@intel.com>
Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
Gerrit-CC: Daniel Cheng <dch...@chromium.org>
Gerrit-CC: David Bokan <bo...@chromium.org>
Gerrit-CC: Dirk Schulze <dsch...@chromium.org>
Gerrit-CC: Fredrik Söderquist <f...@opera.com>
Gerrit-CC: Kenneth Rohde Christiansen <kenneth.ch...@gmail.com>
Gerrit-CC: Kentaro Hara <har...@chromium.org>
Gerrit-CC: Kevin Babbitt <kbab...@microsoft.com>
Gerrit-CC: Michael Lippautz <mlip...@chromium.org>
Gerrit-CC: Nektarios Paisios <nek...@chromium.org>
Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
Gerrit-CC: Stephen Chenney <sche...@chromium.org>
Gerrit-CC: Yoav Weiss (@Shopify) <yoav...@chromium.org>
Gerrit-CC: prerendering-reviews <prerenderi...@chromium.org>
Gerrit-CC: srirama chandra sekhar <srir...@samsung.com>
Gerrit-Attention: Daniel Vogelheim <voge...@chromium.org>
Gerrit-Comment-Date: Wed, 02 Jul 2025 07:20:34 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
open
diffy

Daniel Vogelheim (Gerrit)

unread,
Jul 2, 2025, 5:51:14 AM (7 days ago) Jul 2
to Daniel Vogelheim, Chromium LUCI CQ, Michael Lippautz, Code Review Nudger, Kentaro Hara, AyeAye, Alexis Menard, David Bokan, chromium...@chromium.org, Daniel Cheng, Dirk Schulze, Fredrik Söderquist, Olga Gerchikov, (Julie)Jeongeun Kim, Kevin Babbitt, Kenneth Rohde Christiansen, Raphael Kubo da Costa, prerendering-reviews, Stephen Chenney, Alex Keng, srirama chandra sekhar, Yoav Weiss (@Shopify), aleventh...@chromium.org, blink-revie...@chromium.org, lucasrada...@google.com, abigailbk...@google.com, aleventhal...@chromium.org, apaselti...@chromium.org, apavlo...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, dcheng+c...@chromium.org, devtools-re...@chromium.org, dominicc+...@chromium.org, dtapuska+...@chromium.org, dtseng...@chromium.org, eric.c...@apple.com, feature-me...@chromium.org, fmalit...@chromium.org, francisjp...@google.com, gavinp+p...@chromium.org, jmedle...@chromium.org, josiah...@chromium.org, kinuko...@chromium.org, kouhe...@chromium.org, kyungjunle...@google.com, loading-rev...@chromium.org, mattreyno...@chromium.org, mfoltz...@chromium.org, nektar...@chromium.org, pdr+svgw...@chromium.org, steimel+watch...@chromium.org, yuzo+...@chromium.org, zol...@webkit.org

Daniel Vogelheim added 1 comment

File third_party/blink/renderer/core/dom/element.cc
Line 8249, Patchset 14 (Latest): String compliant_html = TrustedTypesCheckForHTML(
Michael Lippautz . unresolved

On a quick check this seems to be quite a lot more expensive then the older version? How do we expect this to roughly yield in the same performance?

Are we already doing more checks or are they only enabled later on?

Daniel Vogelheim

This should be the exact same check that was run before. It only moves the check to a different location. I'm not expecting performance or semantic differences.

On the version before this change, f2047d204c54f8571c4bc5d0031bb06d37468ae1:
- Bindings:
- https://source.chromium.org/chromium/chromium/src/+/main:out/linux-Debug/gen/third_party/blink/renderer/bindings/core/v8/v8_element.cc;l=621-651;drc=f2047d204c54f8571c4bc5d0031bb06d37468ae1
- This calls
NativeValueTraits<IDLStringLegacyNullToEmptyStringStringContextTrustedHTML>::NativeValue (line 640). Note the type.
- https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/bindings/core/v8/idl_types.h;l=182-184 defines IDLStringLegacyNullToEmptyStringStringContextTrustedHTML as IDLStringStringContextTrustedHTMLBase<
bindings::IDLStringConvMode::kLegacyNullToEmptyString>
- NativeValues<IDLStringStringContextTrustedHTMLBase<.>> is defined here: https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h;l=486-508
- In line 505, this runs the exact same check that the new version runs.

- After this change, the bindings look mostly the same, but now with a different type:
- https://source.chromium.org/chromium/chromium/src/+/main:out/linux-Debug/gen/third_party/blink/renderer/bindings/core/v8/v8_element.cc;l=630-657
- This NativeValueTraits should not run the TT check.
- Instead, the exact same TT check is now run as the first thing of Element::setInnerHTML.

------

Generally, none of the current or future changes should do *more* checks.

Open in Gerrit

Related details

Attention set is empty
Gerrit-Comment-Date: Wed, 02 Jul 2025 09:51:00 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Michael Lippautz <mlip...@chromium.org>
satisfied_requirement
open
diffy

Michael Lippautz (Gerrit)

unread,
Jul 2, 2025, 5:55:23 AM (7 days ago) Jul 2
to Daniel Vogelheim, Chromium LUCI CQ, Code Review Nudger, Kentaro Hara, AyeAye, Alexis Menard, David Bokan, chromium...@chromium.org, Daniel Cheng, Dirk Schulze, Fredrik Söderquist, Olga Gerchikov, (Julie)Jeongeun Kim, Kevin Babbitt, Kenneth Rohde Christiansen, Raphael Kubo da Costa, prerendering-reviews, Stephen Chenney, Alex Keng, srirama chandra sekhar, Yoav Weiss (@Shopify), aleventh...@chromium.org, blink-revie...@chromium.org, lucasrada...@google.com, abigailbk...@google.com, aleventhal...@chromium.org, apaselti...@chromium.org, apavlo...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, dcheng+c...@chromium.org, devtools-re...@chromium.org, dominicc+...@chromium.org, dtapuska+...@chromium.org, dtseng...@chromium.org, eric.c...@apple.com, feature-me...@chromium.org, fmalit...@chromium.org, francisjp...@google.com, gavinp+p...@chromium.org, jmedle...@chromium.org, josiah...@chromium.org, kinuko...@chromium.org, kouhe...@chromium.org, kyungjunle...@google.com, loading-rev...@chromium.org, mattreyno...@chromium.org, mfoltz...@chromium.org, nektar...@chromium.org, pdr+svgw...@chromium.org, steimel+watch...@chromium.org, yuzo+...@chromium.org, zol...@webkit.org

Michael Lippautz added 1 comment

File third_party/blink/renderer/core/dom/element.cc
Line 8249, Patchset 14 (Latest): String compliant_html = TrustedTypesCheckForHTML(
Michael Lippautz . resolved

On a quick check this seems to be quite a lot more expensive then the older version? How do we expect this to roughly yield in the same performance?

Are we already doing more checks or are they only enabled later on?

Daniel Vogelheim

This should be the exact same check that was run before. It only moves the check to a different location. I'm not expecting performance or semantic differences.

On the version before this change, f2047d204c54f8571c4bc5d0031bb06d37468ae1:
- Bindings:
- https://source.chromium.org/chromium/chromium/src/+/main:out/linux-Debug/gen/third_party/blink/renderer/bindings/core/v8/v8_element.cc;l=621-651;drc=f2047d204c54f8571c4bc5d0031bb06d37468ae1
- This calls
NativeValueTraits<IDLStringLegacyNullToEmptyStringStringContextTrustedHTML>::NativeValue (line 640). Note the type.
- https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/bindings/core/v8/idl_types.h;l=182-184 defines IDLStringLegacyNullToEmptyStringStringContextTrustedHTML as IDLStringStringContextTrustedHTMLBase<
bindings::IDLStringConvMode::kLegacyNullToEmptyString>
- NativeValues<IDLStringStringContextTrustedHTMLBase<.>> is defined here: https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h;l=486-508
- In line 505, this runs the exact same check that the new version runs.

- After this change, the bindings look mostly the same, but now with a different type:
- https://source.chromium.org/chromium/chromium/src/+/main:out/linux-Debug/gen/third_party/blink/renderer/bindings/core/v8/v8_element.cc;l=630-657
- This NativeValueTraits should not run the TT check.
- Instead, the exact same TT check is now run as the first thing of Element::setInnerHTML.

------

Generally, none of the current or future changes should do *more* checks.

Michael Lippautz

Thanks a lot for all the pointers.

Gerrit-Comment-Date: Wed, 02 Jul 2025 09:55:07 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Daniel Vogelheim <voge...@chromium.org>
Comment-In-Reply-To: Michael Lippautz <mlip...@chromium.org>
satisfied_requirement
open
diffy

David Baron (Gerrit)

unread,
Jul 2, 2025, 9:13:36 AM (7 days ago) Jul 2
to Daniel Vogelheim, Chromium LUCI CQ, David Baron, Michael Lippautz, Code Review Nudger, Kentaro Hara, AyeAye, Alexis Menard, David Bokan, chromium...@chromium.org, Daniel Cheng, Dirk Schulze, Fredrik Söderquist, Olga Gerchikov, (Julie)Jeongeun Kim, Kevin Babbitt, Kenneth Rohde Christiansen, Raphael Kubo da Costa, prerendering-reviews, Stephen Chenney, Alex Keng, srirama chandra sekhar, Yoav Weiss (@Shopify), aleventh...@chromium.org, blink-revie...@chromium.org, lucasrada...@google.com, abigailbk...@google.com, aleventhal...@chromium.org, apaselti...@chromium.org, apavlo...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, dcheng+c...@chromium.org, devtools-re...@chromium.org, dominicc+...@chromium.org, dtapuska+...@chromium.org, dtseng...@chromium.org, eric.c...@apple.com, feature-me...@chromium.org, fmalit...@chromium.org, francisjp...@google.com, gavinp+p...@chromium.org, jmedle...@chromium.org, josiah...@chromium.org, kinuko...@chromium.org, kouhe...@chromium.org, kyungjunle...@google.com, loading-rev...@chromium.org, mattreyno...@chromium.org, mfoltz...@chromium.org, nektar...@chromium.org, pdr+svgw...@chromium.org, steimel+watch...@chromium.org, yuzo+...@chromium.org, zol...@webkit.org
Attention needed from Daniel Vogelheim

David Baron added 1 comment

File third_party/blink/renderer/core/dom/element.idl
Line 106, Patchset 14 (Latest): [CEReactions, RuntimeCallStatsCounter=ElementInnerHTML, RaisesException=Setter] attribute (TrustedHTML or [LegacyNullToEmptyString] DOMString) innerHTML;
David Baron . unresolved

For what it's worth, another alternative here (which I think may have been preferable despite [the documentation](https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/bindings/IDLExtendedAttributes.md) saying otherwise) would have been to:

  • use `ImplementedAs=innerHTMLForBinding` and then implement the methods `innerHTMLForBinding` and `setInnerHTMLForBinding` as the binding-exposed methods
  • leave the usable-from C++ methods with the existing names rather than renaming them to be `GetInnerHTMLString` and `SetInnerHTMLWithoutTrustedTypes`
Open in Gerrit

Related details

Attention is currently required from:
  • Daniel Vogelheim
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I5e3de3a7f8dec469a27314056958a7b982e8733d
Gerrit-Change-Number: 6624252
Gerrit-PatchSet: 14
Gerrit-Owner: Daniel Vogelheim <voge...@chromium.org>
Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
Gerrit-Reviewer: Daniel Vogelheim <voge...@chromium.org>
Gerrit-Reviewer: Joey Arhar <jar...@chromium.org>
Gerrit-CC: (Julie)Jeongeun Kim <je_jul...@chromium.org>
Gerrit-CC: Akihiro Ota <akihi...@chromium.org>
Gerrit-CC: Alex Keng <shi...@microsoft.com>
Gerrit-CC: Alexis Menard <alexis...@intel.com>
Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
Gerrit-CC: Daniel Cheng <dch...@chromium.org>
Gerrit-CC: David Baron <dba...@chromium.org>
Gerrit-CC: David Bokan <bo...@chromium.org>
Gerrit-CC: Dirk Schulze <dsch...@chromium.org>
Gerrit-CC: Fredrik Söderquist <f...@opera.com>
Gerrit-CC: Kenneth Rohde Christiansen <kenneth.ch...@gmail.com>
Gerrit-CC: Kentaro Hara <har...@chromium.org>
Gerrit-CC: Kevin Babbitt <kbab...@microsoft.com>
Gerrit-CC: Michael Lippautz <mlip...@chromium.org>
Gerrit-CC: Nektarios Paisios <nek...@chromium.org>
Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
Gerrit-CC: Stephen Chenney <sche...@chromium.org>
Gerrit-CC: Yoav Weiss (@Shopify) <yoav...@chromium.org>
Gerrit-CC: prerendering-reviews <prerenderi...@chromium.org>
Gerrit-CC: srirama chandra sekhar <srir...@samsung.com>
Gerrit-Attention: Daniel Vogelheim <voge...@chromium.org>
Gerrit-Comment-Date: Wed, 02 Jul 2025 13:13:30 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
open
diffy

Daniel Vogelheim (Gerrit)

unread,
Jul 2, 2025, 9:30:27 AM (7 days ago) Jul 2
to Daniel Vogelheim, Chromium LUCI CQ, David Baron, Michael Lippautz, Code Review Nudger, Kentaro Hara, AyeAye, Alexis Menard, David Bokan, chromium...@chromium.org, Daniel Cheng, Dirk Schulze, Fredrik Söderquist, Olga Gerchikov, (Julie)Jeongeun Kim, Kevin Babbitt, Kenneth Rohde Christiansen, Raphael Kubo da Costa, prerendering-reviews, Stephen Chenney, Alex Keng, srirama chandra sekhar, Yoav Weiss (@Shopify), aleventh...@chromium.org, blink-revie...@chromium.org, lucasrada...@google.com, abigailbk...@google.com, aleventhal...@chromium.org, apaselti...@chromium.org, apavlo...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, dcheng+c...@chromium.org, devtools-re...@chromium.org, dominicc+...@chromium.org, dtapuska+...@chromium.org, dtseng...@chromium.org, eric.c...@apple.com, feature-me...@chromium.org, fmalit...@chromium.org, francisjp...@google.com, gavinp+p...@chromium.org, jmedle...@chromium.org, josiah...@chromium.org, kinuko...@chromium.org, kouhe...@chromium.org, kyungjunle...@google.com, loading-rev...@chromium.org, mattreyno...@chromium.org, mfoltz...@chromium.org, nektar...@chromium.org, pdr+svgw...@chromium.org, steimel+watch...@chromium.org, yuzo+...@chromium.org, zol...@webkit.org

Daniel Vogelheim added 1 comment

File third_party/blink/renderer/core/dom/element.idl
Line 106, Patchset 14 (Latest): [CEReactions, RuntimeCallStatsCounter=ElementInnerHTML, RaisesException=Setter] attribute (TrustedHTML or [LegacyNullToEmptyString] DOMString) innerHTML;
David Baron . resolved

For what it's worth, another alternative here (which I think may have been preferable despite [the documentation](https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/bindings/IDLExtendedAttributes.md) saying otherwise) would have been to:

  • use `ImplementedAs=innerHTMLForBinding` and then implement the methods `innerHTMLForBinding` and `setInnerHTMLForBinding` as the binding-exposed methods
  • leave the usable-from C++ methods with the existing names rather than renaming them to be `GetInnerHTMLString` and `SetInnerHTMLWithoutTrustedTypes`
Daniel Vogelheim

That was one option that's been considered. (E.g. patch set #6 of the first patch in this series, https://chromium-review.googlesource.com/c/chromium/src/+/6593311/6)

I'd have been happy with that naming, too, but in the end the code reviewers should have last word. The xxWithoutTrustedTypes variant came out as the preferred one. I'll copy you on the discussion thread for additional context. I'll gladly use whichever naming scheme finds consensus among reviewers. If it changes, I'll send additional CLs to rename it.

Open in Gerrit

Related details

Attention set is empty
Gerrit-Comment-Date: Wed, 02 Jul 2025 13:30:12 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: David Baron <dba...@chromium.org>
satisfied_requirement
open
diffy

Takuto Ikuta (Gerrit)

unread,
Jul 3, 2025, 10:36:01 PM (5 days ago) Jul 3
to Daniel Vogelheim, Chromium LUCI CQ, Takuto Ikuta, David Baron, Michael Lippautz, Code Review Nudger, Kentaro Hara, AyeAye, Alexis Menard, David Bokan, chromium...@chromium.org, Daniel Cheng, Dirk Schulze, Fredrik Söderquist, Olga Gerchikov, (Julie)Jeongeun Kim, Kevin Babbitt, Kenneth Rohde Christiansen, Raphael Kubo da Costa, prerendering-reviews, Stephen Chenney, Alex Keng, srirama chandra sekhar, Yoav Weiss (@Shopify), aleventh...@chromium.org, blink-revie...@chromium.org, lucasrada...@google.com, abigailbk...@google.com, aleventhal...@chromium.org, apaselti...@chromium.org, apavlo...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, dcheng+c...@chromium.org, devtools-re...@chromium.org, dominicc+...@chromium.org, dtapuska+...@chromium.org, dtseng...@chromium.org, eric.c...@apple.com, feature-me...@chromium.org, fmalit...@chromium.org, francisjp...@google.com, gavinp+p...@chromium.org, jmedle...@chromium.org, josiah...@chromium.org, kinuko...@chromium.org, kouhe...@chromium.org, kyungjunle...@google.com, loading-rev...@chromium.org, mattreyno...@chromium.org, mfoltz...@chromium.org, nektar...@chromium.org, pdr+svgw...@chromium.org, steimel+watch...@chromium.org, yuzo+...@chromium.org, zol...@webkit.org
Attention needed from Daniel Vogelheim

Takuto Ikuta added 1 comment

File third_party/blink/renderer/core/dom/element.h
Line 1266, Patchset 14 (Latest): void setInnerHTML(const V8UnionStringLegacyNullToEmptyStringOrTrustedHTML*,
Takuto Ikuta . unresolved
This broke libfuzzer build?
```
../../third_party/blink/renderer/modules/canvas/canvas_fuzzer.cc:53:39: error: too few arguments to function call, expected 2, have 1
52 | GetDocument().documentElement()->setInnerHTML(
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
53 | String::FromUTF8(body_content));
| ^
../../third_party/blink/renderer/core/dom/element.h:1266:8: note: 'setInnerHTML' declared here
1266 | void setInnerHTML(const V8UnionStringLegacyNullToEmptyStringOrTrustedHTML*,
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1267 | ExceptionState&);
| ~~~~~~~~~~~~~~~
1 error generated.
```
Open in Gerrit

Related details

Attention is currently required from:
  • Daniel Vogelheim
Gerrit-CC: Takuto Ikuta <tik...@chromium.org>
Gerrit-CC: Yoav Weiss (@Shopify) <yoav...@chromium.org>
Gerrit-CC: prerendering-reviews <prerenderi...@chromium.org>
Gerrit-CC: srirama chandra sekhar <srir...@samsung.com>
Gerrit-Attention: Daniel Vogelheim <voge...@chromium.org>
Gerrit-Comment-Date: Fri, 04 Jul 2025 02:35:35 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
open
diffy

Daniel Vogelheim (Gerrit)

unread,
Jul 4, 2025, 5:44:19 AM (5 days ago) Jul 4
to Daniel Vogelheim, Chromium LUCI CQ, Takuto Ikuta, David Baron, Michael Lippautz, Code Review Nudger, Kentaro Hara, AyeAye, Alexis Menard, David Bokan, chromium...@chromium.org, Daniel Cheng, Dirk Schulze, Fredrik Söderquist, Olga Gerchikov, (Julie)Jeongeun Kim, Kevin Babbitt, Kenneth Rohde Christiansen, Raphael Kubo da Costa, prerendering-reviews, Stephen Chenney, Alex Keng, srirama chandra sekhar, Yoav Weiss (@Shopify), aleventh...@chromium.org, blink-revie...@chromium.org, lucasrada...@google.com, abigailbk...@google.com, aleventhal...@chromium.org, apaselti...@chromium.org, apavlo...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, dcheng+c...@chromium.org, devtools-re...@chromium.org, dominicc+...@chromium.org, dtapuska+...@chromium.org, dtseng...@chromium.org, eric.c...@apple.com, feature-me...@chromium.org, fmalit...@chromium.org, francisjp...@google.com, gavinp+p...@chromium.org, jmedle...@chromium.org, josiah...@chromium.org, kinuko...@chromium.org, kouhe...@chromium.org, kyungjunle...@google.com, loading-rev...@chromium.org, mattreyno...@chromium.org, mfoltz...@chromium.org, nektar...@chromium.org, pdr+svgw...@chromium.org, steimel+watch...@chromium.org, yuzo+...@chromium.org, zol...@webkit.org

Daniel Vogelheim added 1 comment

File third_party/blink/renderer/core/dom/element.h
Line 1266, Patchset 14 (Latest): void setInnerHTML(const V8UnionStringLegacyNullToEmptyStringOrTrustedHTML*,
Takuto Ikuta . unresolved
This broke libfuzzer build?
```
../../third_party/blink/renderer/modules/canvas/canvas_fuzzer.cc:53:39: error: too few arguments to function call, expected 2, have 1
52 | GetDocument().documentElement()->setInnerHTML(
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
53 | String::FromUTF8(body_content));
| ^
../../third_party/blink/renderer/core/dom/element.h:1266:8: note: 'setInnerHTML' declared here
1266 | void setInnerHTML(const V8UnionStringLegacyNullToEmptyStringOrTrustedHTML*,
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1267 | ExceptionState&);
| ~~~~~~~~~~~~~~~
1 error generated.
```
Daniel Vogelheim

My apologies for the breakage. This should (now) use SetInnerHTMLWithoutTrustedTypes instead of setInnerHTML.

I would have noticed & fixed this if this target had been built on any of the bots on the CQ. For my information: Which target should I have built to notice this?

Open in Gerrit

Related details

Attention set is empty
Gerrit-Comment-Date: Fri, 04 Jul 2025 09:44:03 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Takuto Ikuta <tik...@chromium.org>
satisfied_requirement
open
diffy

Daniel Vogelheim (Gerrit)

unread,
Jul 4, 2025, 5:45:00 AM (5 days ago) Jul 4
to Daniel Vogelheim, Chromium LUCI CQ, Takuto Ikuta, David Baron, Michael Lippautz, Code Review Nudger, Kentaro Hara, AyeAye, Alexis Menard, David Bokan, chromium...@chromium.org, Daniel Cheng, Dirk Schulze, Fredrik Söderquist, Olga Gerchikov, (Julie)Jeongeun Kim, Kevin Babbitt, Kenneth Rohde Christiansen, Raphael Kubo da Costa, prerendering-reviews, Stephen Chenney, Alex Keng, srirama chandra sekhar, Yoav Weiss (@Shopify), aleventh...@chromium.org, blink-revie...@chromium.org, lucasrada...@google.com, abigailbk...@google.com, aleventhal...@chromium.org, apaselti...@chromium.org, apavlo...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, dcheng+c...@chromium.org, devtools-re...@chromium.org, dominicc+...@chromium.org, dtapuska+...@chromium.org, dtseng...@chromium.org, eric.c...@apple.com, feature-me...@chromium.org, fmalit...@chromium.org, francisjp...@google.com, gavinp+p...@chromium.org, jmedle...@chromium.org, josiah...@chromium.org, kinuko...@chromium.org, kouhe...@chromium.org, kyungjunle...@google.com, loading-rev...@chromium.org, mattreyno...@chromium.org, mfoltz...@chromium.org, nektar...@chromium.org, pdr+svgw...@chromium.org, steimel+watch...@chromium.org, yuzo+...@chromium.org, zol...@webkit.org

Daniel Vogelheim added 1 comment

File third_party/blink/renderer/core/dom/element.h
Line 1266, Patchset 14 (Latest): void setInnerHTML(const V8UnionStringLegacyNullToEmptyStringOrTrustedHTML*,
Takuto Ikuta . resolved
This broke libfuzzer build?
```
../../third_party/blink/renderer/modules/canvas/canvas_fuzzer.cc:53:39: error: too few arguments to function call, expected 2, have 1
52 | GetDocument().documentElement()->setInnerHTML(
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
53 | String::FromUTF8(body_content));
| ^
../../third_party/blink/renderer/core/dom/element.h:1266:8: note: 'setInnerHTML' declared here
1266 | void setInnerHTML(const V8UnionStringLegacyNullToEmptyStringOrTrustedHTML*,
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1267 | ExceptionState&);
| ~~~~~~~~~~~~~~~
1 error generated.
```
Daniel Vogelheim

My apologies for the breakage. This should (now) use SetInnerHTMLWithoutTrustedTypes instead of setInnerHTML.

I would have noticed & fixed this if this target had been built on any of the bots on the CQ. For my information: Which target should I have built to notice this?

Daniel Vogelheim
Gerrit-Comment-Date: Fri, 04 Jul 2025 09:44:44 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Daniel Vogelheim <voge...@chromium.org>
Comment-In-Reply-To: Takuto Ikuta <tik...@chromium.org>
satisfied_requirement
open
diffy
Reply all
Reply to author
Forward
0 new messages