0

More fixes for incorrect blink imports

Importing blink mojo types into other directories that aren't blink
causes imports of internal blink header files
(WTF::String/Vector/HashMap). This can then be abused by the caller to
create structures that it shouldn't have access to. This is preliminary
cleanup for adding an enforcement to the blink mojo header files.

Change-Id: I9679006ec54e73fe0b138d344861d4e06c957b0a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5962324
Reviewed-by: Avi Drissman <avi@chromium.org>
Commit-Queue: Dave Tapuska <dtapuska@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1373589}
This commit is contained in:
Dave Tapuska
2024-10-24 21:20:49 +00:00
committed by Chromium LUCI CQ
parent 66693462e3
commit b0d089f7de
6 changed files with 32 additions and 7 deletions
chrome/browser/ui/android/device_dialog
content/browser
third_party/blink/renderer/platform

@@ -16,7 +16,7 @@
#include "services/device/public/mojom/usb_enumeration_options.mojom.h" #include "services/device/public/mojom/usb_enumeration_options.mojom.h"
#include "testing/gmock/include/gmock/gmock.h" #include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/mojom/usb/web_usb_service.mojom-blink.h" #include "third_party/blink/public/mojom/usb/web_usb_service.mojom.h"
#include "ui/android/window_android.h" #include "ui/android/window_android.h"
namespace { namespace {

@@ -19,7 +19,7 @@
#include "content/public/common/content_features.h" #include "content/public/common/content_features.h"
#include "third_party/blink/public/common/context_menu_data/edit_flags.h" #include "third_party/blink/public/common/context_menu_data/edit_flags.h"
#include "third_party/blink/public/mojom/context_menu/context_menu.mojom.h" #include "third_party/blink/public/mojom/context_menu/context_menu.mojom.h"
#include "third_party/blink/public/mojom/input/input_handler.mojom-blink.h" #include "third_party/blink/public/mojom/input/input_handler.mojom.h"
#include "ui/base/mojom/menu_source_type.mojom.h" #include "ui/base/mojom/menu_source_type.mojom.h"
#include "ui/gfx/android/android_surface_control_compat.h" #include "ui/gfx/android/android_surface_control_compat.h"
#include "ui/gfx/geometry/point_conversions.h" #include "ui/gfx/geometry/point_conversions.h"

@@ -50,7 +50,7 @@
#include "ui/latency/latency_info.h" #include "ui/latency/latency_info.h"
#if BUILDFLAG(IS_MAC) #if BUILDFLAG(IS_MAC)
#include "third_party/blink/public/mojom/choosers/popup_menu.mojom-blink.h" #include "third_party/blink/public/mojom/choosers/popup_menu.mojom.h"
#include "third_party/blink/public/mojom/frame/frame.mojom-test-utils.h" #include "third_party/blink/public/mojom/frame/frame.mojom-test-utils.h"
#endif #endif

@@ -72,7 +72,7 @@
#include "content/public/browser/render_widget_host_iterator.h" #include "content/public/browser/render_widget_host_iterator.h"
#include "content/public/common/content_client.h" #include "content/public/common/content_client.h"
#include "content/public/common/content_switches.h" #include "content/public/common/content_switches.h"
#include "third_party/blink/public/mojom/input/input_handler.mojom-blink.h" #include "third_party/blink/public/mojom/input/input_handler.mojom.h"
#include "third_party/skia/include/core/SkBitmap.h" #include "third_party/skia/include/core/SkBitmap.h"
#include "third_party/skia/include/core/SkCanvas.h" #include "third_party/skia/include/core/SkCanvas.h"
#include "third_party/skia/include/core/SkColor.h" #include "third_party/skia/include/core/SkColor.h"

@@ -42,7 +42,7 @@
#include "content/public/browser/web_contents.h" #include "content/public/browser/web_contents.h"
#include "content/public/common/content_switches.h" #include "content/public/common/content_switches.h"
#include "content/public/common/isolated_world_ids.h" #include "content/public/common/isolated_world_ids.h"
#include "third_party/blink/public/mojom/input/input_handler.mojom-blink.h" #include "third_party/blink/public/mojom/input/input_handler.mojom.h"
#include "ui/accessibility/ax_assistant_structure.h" #include "ui/accessibility/ax_assistant_structure.h"
#include "ui/accessibility/ax_node_data.h" #include "ui/accessibility/ax_node_data.h"
#include "ui/accessibility/ax_tree_update.h" #include "ui/accessibility/ax_tree_update.h"

@@ -2650,6 +2650,7 @@ fuzzer_test("math_transform_fuzzer") {
] ]
libfuzzer_options = [ "max_len=10" ] libfuzzer_options = [ "max_len=10" ]
dict = "//testing/libfuzzer/fuzzers/dicts/math_transform.dict" dict = "//testing/libfuzzer/fuzzers/dicts/math_transform.dict"
additional_configs = [ "//third_party/blink/renderer:inside_blink" ]
} }
fuzzer_test("layout_locale_fuzzer") { fuzzer_test("layout_locale_fuzzer") {
@@ -2658,6 +2659,7 @@ fuzzer_test("layout_locale_fuzzer") {
":blink_fuzzer_test_support", ":blink_fuzzer_test_support",
":platform", ":platform",
] ]
additional_configs = [ "//third_party/blink/renderer:inside_blink" ]
} }
fuzzer_test("segmented_string_fuzzer") { fuzzer_test("segmented_string_fuzzer") {
@@ -2666,6 +2668,7 @@ fuzzer_test("segmented_string_fuzzer") {
":blink_fuzzer_test_support", ":blink_fuzzer_test_support",
":platform", ":platform",
] ]
additional_configs = [ "//third_party/blink/renderer:inside_blink" ]
} }
# Fuzzer for blink::FindCategory. # Fuzzer for blink::FindCategory.
@@ -2677,6 +2680,7 @@ fuzzer_test("mathml_operator_dictionary_fuzzer") {
] ]
libfuzzer_options = [ "max_len=10" ] libfuzzer_options = [ "max_len=10" ]
dict = "//testing/libfuzzer/fuzzers/dicts/mathml_operator_dictionary.dict" dict = "//testing/libfuzzer/fuzzers/dicts/mathml_operator_dictionary.dict"
additional_configs = [ "//third_party/blink/renderer:inside_blink" ]
} }
if (rtc_use_h265) { if (rtc_use_h265) {
@@ -2688,6 +2692,7 @@ if (rtc_use_h265) {
":platform", ":platform",
] ]
libfuzzer_options = [ "rss_limit_mb=8192" ] libfuzzer_options = [ "rss_limit_mb=8192" ]
additional_configs = [ "//third_party/blink/renderer:inside_blink" ]
} }
} }
@@ -2702,6 +2707,7 @@ fuzzer_test("open_type_math_support_fuzzer") {
"//third_party/blink/web_tests/external/wpt/fonts/math", "//third_party/blink/web_tests/external/wpt/fonts/math",
"//testing/libfuzzer/fuzzers/woff2_corpus", "//testing/libfuzzer/fuzzers/woff2_corpus",
] ]
additional_configs = [ "//third_party/blink/renderer:inside_blink" ]
} }
# Fuzzer for blink::StretchyOperatorShaper # Fuzzer for blink::StretchyOperatorShaper
@@ -2715,6 +2721,7 @@ fuzzer_test("stretchy_operator_shaper_fuzzer") {
"//third_party/blink/web_tests/external/wpt/fonts/math", "//third_party/blink/web_tests/external/wpt/fonts/math",
"//testing/libfuzzer/fuzzers/woff2_corpus", "//testing/libfuzzer/fuzzers/woff2_corpus",
] ]
additional_configs = [ "//third_party/blink/renderer:inside_blink" ]
} }
# Fuzzer for blink::MHTMLParser. # Fuzzer for blink::MHTMLParser.
@@ -2729,6 +2736,7 @@ fuzzer_test("mhtml_parser_fuzzer") {
additional_configs = [ additional_configs = [
"//third_party/blink/renderer/platform/wtf:wtf_config", "//third_party/blink/renderer/platform/wtf:wtf_config",
"//third_party/blink/renderer:config", "//third_party/blink/renderer:config",
"//third_party/blink/renderer:inside_blink",
] ]
} }
@@ -2740,6 +2748,7 @@ fuzzer_test("web_icon_sizes_fuzzer") {
":platform", ":platform",
] ]
dict = "//testing/libfuzzer/fuzzers/dicts/web_icon_sizes.dict" dict = "//testing/libfuzzer/fuzzers/dicts/web_icon_sizes.dict"
additional_configs = [ "//third_party/blink/renderer:inside_blink" ]
} }
# Fuzzer for blink::AVIFImageDecoder # Fuzzer for blink::AVIFImageDecoder
@@ -2751,6 +2760,7 @@ fuzzer_test("blink_avif_decoder_fuzzer") {
] ]
seed_corpuses = [ "//third_party/blink/web_tests/images/resources/avif" ] seed_corpuses = [ "//third_party/blink/web_tests/images/resources/avif" ]
libfuzzer_options = [ "rss_limit_mb=8192" ] libfuzzer_options = [ "rss_limit_mb=8192" ]
additional_configs = [ "//third_party/blink/renderer:inside_blink" ]
} }
# Fuzzer for blink::CrabbyAVIFImageDecoder # Fuzzer for blink::CrabbyAVIFImageDecoder
@@ -2762,6 +2772,7 @@ fuzzer_test("blink_crabbyavif_decoder_fuzzer") {
] ]
seed_corpuses = [ "//third_party/blink/web_tests/images/resources/avif" ] seed_corpuses = [ "//third_party/blink/web_tests/images/resources/avif" ]
libfuzzer_options = [ "rss_limit_mb=8192" ] libfuzzer_options = [ "rss_limit_mb=8192" ]
additional_configs = [ "//third_party/blink/renderer:inside_blink" ]
} }
# Fuzzer for blink::ICOImageDecoder. # Fuzzer for blink::ICOImageDecoder.
@@ -2773,6 +2784,7 @@ fuzzer_test("blink_ico_decoder_fuzzer") {
] ]
seed_corpuses = [ "//third_party/blink/web_tests/images/resources/icofuzz" ] seed_corpuses = [ "//third_party/blink/web_tests/images/resources/icofuzz" ]
libfuzzer_options = [ "rss_limit_mb=8192" ] libfuzzer_options = [ "rss_limit_mb=8192" ]
additional_configs = [ "//third_party/blink/renderer:inside_blink" ]
} }
# Fuzzer for blink::GIFImageDecoder # Fuzzer for blink::GIFImageDecoder
@@ -2784,6 +2796,7 @@ fuzzer_test("blink_gif_decoder_fuzzer") {
] ]
seed_corpuses = [ "//third_party/blink/web_tests/images/resources/giffuzz" ] seed_corpuses = [ "//third_party/blink/web_tests/images/resources/giffuzz" ]
libfuzzer_options = [ "rss_limit_mb=8192" ] libfuzzer_options = [ "rss_limit_mb=8192" ]
additional_configs = [ "//third_party/blink/renderer:inside_blink" ]
} }
fuzzer_test("blink_png_decoder_fuzzer") { fuzzer_test("blink_png_decoder_fuzzer") {
@@ -2801,6 +2814,7 @@ fuzzer_test("blink_png_decoder_fuzzer") {
"//third_party/blink/web_tests/images/resources/pngfuzz", "//third_party/blink/web_tests/images/resources/pngfuzz",
] ]
libfuzzer_options = [ "rss_limit_mb=8192" ] libfuzzer_options = [ "rss_limit_mb=8192" ]
additional_configs = [ "//third_party/blink/renderer:inside_blink" ]
} }
fuzzer_test("blink_jpeg_decoder_fuzzer") { fuzzer_test("blink_jpeg_decoder_fuzzer") {
@@ -2812,6 +2826,7 @@ fuzzer_test("blink_jpeg_decoder_fuzzer") {
] ]
seed_corpuses = [ "//third_party/blink/web_tests/images/resources/jpegfuzz" ] seed_corpuses = [ "//third_party/blink/web_tests/images/resources/jpegfuzz" ]
libfuzzer_options = [ "rss_limit_mb=8192" ] libfuzzer_options = [ "rss_limit_mb=8192" ]
additional_configs = [ "//third_party/blink/renderer:inside_blink" ]
} }
fuzzer_test("blink_bmp_decoder_fuzzer") { fuzzer_test("blink_bmp_decoder_fuzzer") {
@@ -2826,6 +2841,7 @@ fuzzer_test("blink_bmp_decoder_fuzzer") {
# TODO: crbug.com/324586211 - raise the memory limit to avoid OOMs in the # TODO: crbug.com/324586211 - raise the memory limit to avoid OOMs in the
# fuzzer harness. This can be removed once the global memory limit is raised. # fuzzer harness. This can be removed once the global memory limit is raised.
libfuzzer_options = [ "rss_limit_mb=4096" ] libfuzzer_options = [ "rss_limit_mb=4096" ]
additional_configs = [ "//third_party/blink/renderer:inside_blink" ]
} }
# Fuzzer for blink::WEBPImageDecoder. # Fuzzer for blink::WEBPImageDecoder.
@@ -2837,6 +2853,7 @@ fuzzer_test("blink_webp_decoder_fuzzer") {
] ]
seed_corpuses = [ "//third_party/blink/web_tests/images/resources/webpfuzz" ] seed_corpuses = [ "//third_party/blink/web_tests/images/resources/webpfuzz" ]
libfuzzer_options = [ "rss_limit_mb=8192" ] libfuzzer_options = [ "rss_limit_mb=8192" ]
additional_configs = [ "//third_party/blink/renderer:inside_blink" ]
} }
# Fuzzer for blink::DateTimeFormat. # Fuzzer for blink::DateTimeFormat.
@@ -2848,6 +2865,7 @@ fuzzer_test("blink_date_time_format_fuzzer") {
] ]
dict = "//testing/libfuzzer/fuzzers/dicts/date.dict" dict = "//testing/libfuzzer/fuzzers/dicts/date.dict"
seed_corpus = "text/date_time_format_fuzzer_seed_corpus" seed_corpus = "text/date_time_format_fuzzer_seed_corpus"
additional_configs = [ "//third_party/blink/renderer:inside_blink" ]
} }
# Fuzzer for blink::JSONParser. # Fuzzer for blink::JSONParser.
@@ -2858,6 +2876,7 @@ fuzzer_test("blink_json_parser_fuzzer") {
":platform", ":platform",
] ]
dict = "//testing/libfuzzer/fuzzers/dicts/json.dict" dict = "//testing/libfuzzer/fuzzers/dicts/json.dict"
additional_configs = [ "//third_party/blink/renderer:inside_blink" ]
} }
# Fuzzer for blink::SecurityOrigin. # Fuzzer for blink::SecurityOrigin.
@@ -2868,7 +2887,7 @@ fuzzer_test("blink_security_origin_fuzzer") {
":platform", ":platform",
] ]
dict = "//url/gurl_fuzzer.dict" dict = "//url/gurl_fuzzer.dict"
defines = [ "INSIDE_BLINK" ] additional_configs = [ "//third_party/blink/renderer:inside_blink" ]
} }
fuzzer_test("blink_harfbuzz_shaper_fuzzer") { fuzzer_test("blink_harfbuzz_shaper_fuzzer") {
@@ -2879,6 +2898,7 @@ fuzzer_test("blink_harfbuzz_shaper_fuzzer") {
"//third_party/icu", "//third_party/icu",
] ]
libfuzzer_options = [ "max_len=256" ] libfuzzer_options = [ "max_len=256" ]
additional_configs = [ "//third_party/blink/renderer:inside_blink" ]
} }
fuzzer_test("blink_http_parsers_fuzzer") { fuzzer_test("blink_http_parsers_fuzzer") {
@@ -2888,6 +2908,7 @@ fuzzer_test("blink_http_parsers_fuzzer") {
":platform", ":platform",
] ]
dict = "network/HTTPParsersFuzzer.dict" dict = "network/HTTPParsersFuzzer.dict"
additional_configs = [ "//third_party/blink/renderer:inside_blink" ]
} }
fuzzer_test("blink_storage_key_fuzzer") { fuzzer_test("blink_storage_key_fuzzer") {
@@ -2897,6 +2918,7 @@ fuzzer_test("blink_storage_key_fuzzer") {
"//third_party/blink/public/common", "//third_party/blink/public/common",
] ]
seed_corpus = "//third_party/blink/common/storage_key/storage_key_corpus" seed_corpus = "//third_party/blink/common/storage_key/storage_key_corpus"
additional_configs = [ "//third_party/blink/renderer:inside_blink" ]
} }
# Fuzzer template for WTF::TextCodec. # Fuzzer template for WTF::TextCodec.
@@ -2912,7 +2934,10 @@ template("blink_text_codec_fuzzer") {
":blink_fuzzer_test_support", ":blink_fuzzer_test_support",
":platform", ":platform",
] ]
additional_configs = [ ":" + name + "_config" ] additional_configs = [
":" + name + "_config",
"//third_party/blink/renderer:inside_blink",
]
seed_corpus = "text_codec_fuzzer_seed_corpus" seed_corpus = "text_codec_fuzzer_seed_corpus"
} }
} }