blob: ed2001150bc304f34135110ac0b8ff49d7aadc84 [file] [log] [blame]
# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/chromecast_build.gni")
import("//build/toolchain/toolchain.gni")
import("//build/config/ui.gni")
import("//build/split_static_library.gni")
import("//testing/libfuzzer/fuzzer_test.gni")
import("//third_party/WebKit/Source/bindings/bindings.gni")
import("//third_party/WebKit/Source/bindings/modules/v8/generated.gni")
import("//third_party/WebKit/Source/bindings/scripts/scripts.gni")
import("//third_party/WebKit/Source/config.gni")
import("//third_party/WebKit/Source/core/core.gni")
import("//third_party/WebKit/Source/build/scripts/scripts.gni")
import("//third_party/WebKit/Source/modules/modules_idl_files.gni")
import("//third_party/WebKit/Source/platform/platform_generated.gni")
visibility = [
"//third_party/WebKit/Source/*",
"//third_party/WebKit/public/*",
]
rel_blink_core_gen_dir = rebase_path(blink_core_output_dir, root_build_dir)
# Config for code that builds as part of core.
config("config") {
defines = [ "BLINK_CORE_IMPLEMENTATION=1" ]
cflags = []
if (is_win) {
# Suppress __declspec(dllexport)/extern conflict (C4910).
cflags += [ "/wd4910" ]
}
if (is_chromecast) {
defines += [ "BLINK_MEDIA_LOG=VLOG(2)" ]
}
}
config("core_include_dirs") {
include_dirs = [
"..",
"$root_gen_dir/blink",
]
if (is_android && use_openmax_dl_fft) {
include_dirs += [ "//third_party/openmax_dl" ]
}
}
import("//build/config/pch.gni")
config("blink_core_pch") {
if (enable_precompiled_headers) {
if (is_win) {
# This is a string rather than a file GN knows about. It has to match
# exactly what's in the /FI flag below, and what might appear in the
# source code in quotes for an #include directive.
precompiled_header = rebase_path("Precompile-core.h", root_build_dir)
# This is a file that GN will compile with the above header. It will be
# implicitly added to the sources (potentially multiple times, with one
# variant for each language used in the target).
precompiled_source =
"//third_party/WebKit/Source/core/win/Precompile-core.cpp"
# Force include the header.
cflags = [ "/FI$precompiled_header" ]
} else if (is_mac) {
precompiled_source = "//third_party/WebKit/Source/core/Precompile-core.h"
}
}
}
core_config_add += [ ":blink_core_pch" ]
source_set("generated") {
deps = [
":core_generated",
":prerequisites",
"//gin",
"//skia",
"//third_party/WebKit/Source/bindings/core/v8:bindings_core_v8_generated",
"//third_party/WebKit/Source/core/inspector:generated",
"//third_party/WebKit/Source/core/probe:generated",
"//third_party/iccjpeg",
"//third_party/libpng",
"//third_party/libwebp",
"//third_party/libxml",
"//third_party/libxslt",
"//third_party/sqlite",
# FIXME: don't depend on bindings/modules http://crbug.com/358074
"//third_party/WebKit/Source/bindings/modules:bindings_modules_generated",
"//third_party/WebKit/Source/bindings/modules/v8:bindings_modules_generated",
"//third_party/WebKit/Source/platform:make_platform_generated",
"//third_party/WebKit/Source/platform/wtf",
"//url",
"//v8",
]
}
source_set("prerequisites") {
public_deps = [
"//gpu/command_buffer/client:gles2_c_lib",
"//skia",
"//third_party/WebKit/Source/core/inspector:generated",
"//third_party/WebKit/Source/core/probe:generated",
"//third_party/WebKit/Source/platform/wtf",
"//third_party/angle:translator",
"//third_party/iccjpeg",
"//third_party/icu",
"//third_party/libpng",
"//third_party/libwebp",
"//third_party/libxml",
"//third_party/libxslt",
"//third_party/ots",
"//third_party/snappy",
"//third_party/sqlite",
"//third_party/zlib",
"//ui/gfx/geometry",
"//url",
"//v8",
]
deps = [
"//third_party/WebKit/Source/bindings/core/v8:bindings_core_v8_generated",
# FIXME: don't depend on bindings_modules http://crbug.com/358074
"//third_party/WebKit/Source/bindings/modules/v8:bindings_modules_generated",
"//third_party/WebKit/Source/platform",
]
public_configs = [
":core_include_dirs",
"//third_party/WebKit/Source:config",
"//third_party/WebKit/Source:inside_blink",
]
if (use_openmax_dl_fft) {
deps += [ "//third_party/openmax_dl/dl" ]
}
}
# Note that this is a source set rather than a group, even though it has no
# sources. A group would implicitly forward all direct dependent configs
# through it, but we want to keep our internal targets' public_configs private
# and only forward some of them.
component("core") {
output_name = "blink_core"
visibility = [] # Allow re-assignment of list.
visibility = [ "//third_party/WebKit/*" ]
# If you create a new subdirectory, make a new BUILD file for that directory
# and reference it in the deps below rather than adding the sources here.
sources = [
"CoreExport.h",
"CoreInitializer.cpp",
"CoreInitializer.h",
]
configs -= core_config_remove
configs += core_config_add
public_deps = [
":core_generated",
"//skia",
"//third_party/WebKit/Source/platform",
"//third_party/WebKit/Source/platform/wtf",
"//url",
"//v8",
]
deps = [
"//third_party/WebKit/Source/core/animation",
"//third_party/WebKit/Source/core/clipboard",
"//third_party/WebKit/Source/core/css",
"//third_party/WebKit/Source/core/dom",
"//third_party/WebKit/Source/core/editing",
"//third_party/WebKit/Source/core/events",
"//third_party/WebKit/Source/core/exported",
"//third_party/WebKit/Source/core/fileapi",
"//third_party/WebKit/Source/core/frame",
"//third_party/WebKit/Source/core/geometry",
"//third_party/WebKit/Source/core/html",
"//third_party/WebKit/Source/core/imagebitmap",
"//third_party/WebKit/Source/core/input",
"//third_party/WebKit/Source/core/inspector",
"//third_party/WebKit/Source/core/layout",
"//third_party/WebKit/Source/core/layout/svg:svg_layout",
"//third_party/WebKit/Source/core/loader",
"//third_party/WebKit/Source/core/mojo",
"//third_party/WebKit/Source/core/offscreencanvas",
"//third_party/WebKit/Source/core/origin_trials",
"//third_party/WebKit/Source/core/page",
"//third_party/WebKit/Source/core/paint",
"//third_party/WebKit/Source/core/plugins",
"//third_party/WebKit/Source/core/probe",
"//third_party/WebKit/Source/core/streams",
"//third_party/WebKit/Source/core/style:rendering",
"//third_party/WebKit/Source/core/style:svg_style",
"//third_party/WebKit/Source/core/svg",
"//third_party/WebKit/Source/core/timing",
"//third_party/WebKit/Source/core/workers",
"//third_party/WebKit/Source/core/xml",
"//third_party/WebKit/Source/core/xmlhttprequest",
]
if (is_win && is_debug && is_component_build && current_cpu == "x64") {
# Incremental linking doesn't work on this target in debug mode for
# 64-bit builds - the .ilk file gets too large and the incremental
# link silently fails. Therefore 32-bit builds or 64-bit release builds
# (component either way) should be used for fastest incremental build
# performance. VC++ bug filed for 64-bit debug incremental link failures:
# https://connect.microsoft.com/VisualStudio/feedback/details/2846790
configs -= [ "//build/config/win:default_incremental_linking" ]
configs += [ "//build/config/win:no_incremental_linking" ]
}
public_configs = [ ":core_include_dirs" ]
if (is_mac) {
libs = [
"AppKit.framework",
"Carbon.framework",
]
}
}
source_set("testing") {
configs += [
":blink_core_pch",
"//third_party/WebKit/Source:config",
"//third_party/WebKit/Source:inside_blink",
]
deps = [
":core",
":generated_testing_idls",
"//third_party/WebKit/Source/bindings/core/v8:testing",
]
sources = [
"$blink_core_output_dir/testing/InternalSettingsGenerated.cpp",
"$blink_core_output_dir/testing/InternalSettingsGenerated.h",
"testing/CallbackFunctionTest.cpp",
"testing/CallbackFunctionTest.h",
"testing/DeathAwareScriptWrappable.cpp",
"testing/DeathAwareScriptWrappable.h",
"testing/DictionaryTest.cpp",
"testing/DictionaryTest.h",
"testing/DummyModulator.cpp",
"testing/DummyModulator.h",
"testing/DummyPageHolder.cpp",
"testing/DummyPageHolder.h",
"testing/GCObservation.cpp",
"testing/GCObservation.h",
"testing/GarbageCollectedScriptWrappable.cpp",
"testing/GarbageCollectedScriptWrappable.h",
"testing/InternalSettings.cpp",
"testing/InternalSettings.h",
"testing/Internals.cpp",
"testing/Internals.h",
"testing/LayerRect.h",
"testing/LayerRectList.cpp",
"testing/LayerRectList.h",
"testing/MockHyphenation.cpp",
"testing/MockHyphenation.h",
"testing/NullExecutionContext.cpp",
"testing/NullExecutionContext.h",
"testing/OriginTrialsTest.cpp",
"testing/OriginTrialsTest.h",
"testing/OriginTrialsTestPartial.h",
"testing/RecordTest.cpp",
"testing/RecordTest.h",
"testing/SequenceTest.cpp",
"testing/SequenceTest.h",
"testing/TypeConversions.h",
"testing/UnionTypesTest.cpp",
"testing/UnionTypesTest.h",
"testing/WorkerInternals.cpp",
"testing/WorkerInternals.h",
"testing/v8/WebCoreTestSupport.cpp",
"testing/v8/WebCoreTestSupport.h",
]
# Compile the sources produced by these IDL file lists.
sources += process_file_template(
webcore_testing_idl_files + core_testing_dictionary_idl_files +
generated_webcore_testing_idl_files +
webcore_testing_idl_with_modules_dependency_files,
[
"$bindings_core_v8_output_dir/V8{{source_name_part}}.cpp",
"$bindings_core_v8_output_dir/V8{{source_name_part}}.h",
])
}
# core_bindings_generated ------------------------------------------------------
generate_event_interfaces("core_event_interfaces") {
sources = [
"css/FontFaceSetLoadEvent.idl",
"css/MediaQueryListEvent.idl",
"events/AnimationEvent.idl",
"events/AnimationPlaybackEvent.idl",
"events/ApplicationCacheErrorEvent.idl",
"events/BeforeUnloadEvent.idl",
"events/ClipboardEvent.idl",
"events/CompositionEvent.idl",
"events/CustomEvent.idl",
"events/DragEvent.idl",
"events/ErrorEvent.idl",
"events/Event.idl",
"events/FocusEvent.idl",
"events/HashChangeEvent.idl",
"events/InputEvent.idl",
"events/KeyboardEvent.idl",
"events/MessageEvent.idl",
"events/MouseEvent.idl",
"events/MutationEvent.idl",
"events/PageTransitionEvent.idl",
"events/PointerEvent.idl",
"events/PopStateEvent.idl",
"events/ProgressEvent.idl",
"events/PromiseRejectionEvent.idl",
"events/RelatedEvent.idl",
"events/ResourceProgressEvent.idl",
"events/SecurityPolicyViolationEvent.idl",
"events/TextEvent.idl",
"events/TouchEvent.idl",
"events/TransitionEvent.idl",
"events/UIEvent.idl",
"events/WheelEvent.idl",
"html/track/TrackEvent.idl",
]
output_file = "core/EventInterfaces.json5"
}
# generated_testing_idls -------------------------------------------------------
group("generated_testing_idls") {
public_deps = [
":generated_settings_macros",
":generated_testing_idls_internal_runtime_flags",
":generated_testing_idls_settings",
]
}
action("generated_settings_macros") {
script = "../build/scripts/make_settings.py"
inputs = scripts_for_json5_files + [
"../build/scripts/make_settings.py",
"../build/scripts/templates/SettingsMacros.h.tmpl",
"frame/Settings.json5",
]
outputs = [
"$blink_core_output_dir/SettingsMacros.h",
]
args = [
rebase_path("frame/Settings.json5", root_build_dir),
"--output_dir",
rel_blink_core_gen_dir,
]
}
action("generated_testing_idls_settings") {
script = "../build/scripts/make_internal_settings.py"
inputs = scripts_for_json5_files + [
"../build/scripts/make_internal_settings.py",
"../build/scripts/templates/InternalSettingsGenerated.idl.tmpl",
"../build/scripts/templates/InternalSettingsGenerated.cpp.tmpl",
"../build/scripts/templates/InternalSettingsGenerated.h.tmpl",
"frame/Settings.json5",
]
outputs = [
"$blink_core_output_dir/testing/InternalSettingsGenerated.idl",
"$blink_core_output_dir/testing/InternalSettingsGenerated.cpp",
"$blink_core_output_dir/testing/InternalSettingsGenerated.h",
]
args = [
rebase_path("frame/Settings.json5", root_build_dir),
"--output_dir",
"$rel_blink_core_gen_dir/testing",
]
}
action("generated_testing_idls_internal_runtime_flags") {
script = "../build/scripts/make_internal_runtime_flags.py"
inputs = scripts_for_json5_files + [
"../build/scripts/make_internal_runtime_flags.py",
"../platform/RuntimeEnabledFeatures.json5",
"../build/scripts/templates/InternalRuntimeFlags.h.tmpl",
"../build/scripts/templates/InternalRuntimeFlags.idl.tmpl",
]
outputs = [
"$blink_core_output_dir/testing/InternalRuntimeFlags.idl",
"$blink_core_output_dir/testing/InternalRuntimeFlags.h",
]
args = [
rebase_path("../platform/RuntimeEnabledFeatures.json5", root_build_dir),
"--output_dir",
"$rel_blink_core_gen_dir/testing",
]
}
css_properties("make_core_generated_computed_style_base") {
script = "../build/scripts/make_computed_style_base.py"
in_files = [ "css/ComputedStyleExtraFields.json5" ]
other_inputs = [
"../build/scripts/templates/fields/field.tmpl",
"../build/scripts/templates/fields/group.tmpl",
"../build/scripts/templates/fields/base.tmpl",
"../build/scripts/templates/fields/keyword.tmpl",
"../build/scripts/templates/fields/primitive.tmpl",
"../build/scripts/templates/fields/monotonic_flag.tmpl",
"../build/scripts/templates/fields/storage_only.tmpl",
"../build/scripts/templates/fields/external.tmpl",
"../build/scripts/templates/ComputedStyleBase.cpp.tmpl",
"../build/scripts/templates/ComputedStyleBase.h.tmpl",
"../build/scripts/templates/ComputedStyleBaseConstants.h.tmpl",
]
outputs = [
"$blink_core_output_dir/ComputedStyleBase.cpp",
"$blink_core_output_dir/ComputedStyleBase.h",
"$blink_core_output_dir/ComputedStyleBaseConstants.h",
]
}
css_properties("make_core_generated_css_value_id_mappings") {
script = "../build/scripts/make_css_value_id_mappings.py"
other_inputs =
[ "../build/scripts/templates/CSSValueIDMappingsGenerated.h.tmpl" ]
outputs = [
"$blink_core_output_dir/CSSValueIDMappingsGenerated.h",
]
}
# TODO(shend): Need a better way to specify generated output files
css_properties("make_core_generated_css_property_apis") {
script = "../build/scripts/make_css_property_apis.py"
other_inputs = [
"../build/scripts/templates/CSSPropertyDescriptor.cpp.tmpl",
"../build/scripts/templates/CSSPropertyDescriptor.h.tmpl",
"../build/scripts/templates/CSSPropertyAPIFiles.h.tmpl",
"../build/scripts/templates/CSSPropertyAPI.h.tmpl",
]
in_files = [ "css/properties/CSSPropertyAPIMethods.json5" ]
outputs = [
"$blink_core_output_dir/css/properties/CSSPropertyAPI.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIAlignItems.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIAlignOrJustifyContent.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIAlignOrJustifySelf.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIBaselineShift.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIBorderImageOutset.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIBorderImageRepeat.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIBorderImageSlice.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIBorderImageWidth.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIBorderRadius.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIBorderWidth.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPICaretColor.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIClip.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIClipPath.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIColor.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIColumnCount.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIColumnGap.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIColumnRuleWidth.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIColumnSpan.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIColumnWidth.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIContain.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIContent.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPICounterIncrement.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPICounterReset.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPICursor.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIFilter.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIFlexBasis.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIFlexGrowOrShrink.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIFontFamily.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIFontSize.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIFontSizeAdjust.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIFontVariantCaps.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIFontVariantLigatures.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIFontVariantNumeric.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIFontVariationSettings.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIFragmentation.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIGridAutoFlow.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIGridAutoLine.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIGridLine.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIGridTemplateAreas.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIGridTemplateLine.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIImage.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIImageOrientation.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIJustifyItems.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPILetterAndWordSpacing.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPILineHeight.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPILineHeightStep.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIMargin.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIMarker.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIOffsetAnchor.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIOffsetDistance.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIOffsetPosition.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIOffsetRotate.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIOpacity.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIOrder.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIOutlineColor.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIOutlineOffset.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIOutlineWidth.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIPadding.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIPage.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIPaintOrder.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIPaintStroke.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIPerspective.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIQuotes.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIRadius.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIRotate.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIScale.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIScrollSnapCoordinate.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIShadow.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIShapeImageThreshold.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIShapeMargin.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIShapeOutside.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPISize.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIStrokeDasharray.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIStrokeMiterlimit.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIStrokeOrLength.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPITabSize.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPITextDecoration.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPITextDecorationColor.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPITextDecorationLine.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPITextDecorationSkip.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPITextIndent.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPITextSizeAdjust.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPITextUnderlinePosition.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPITouchAction.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPITransform.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPITransformOrigin.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPITranslate.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIVerticalAlign.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIWebkitBorderImage.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIWebkitBorderSpacing.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIWebkitBorderWidth.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIWebkitBoxFlex.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIWebkitBoxFlexGroup.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIWebkitFontSizeDelta.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIWebkitHighlight.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIWebkitLineClamp.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIWebkitLogicalWidthOrHeight.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIWebkitMargin.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIWebkitMaskRepeat.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIWebkitMaxLogicalWidthOrHeight.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIWebkitOriginX.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIWebkitOriginY.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIWebkitPadding.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIWebkitTextEmphasisStyle.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIWebkitTextStrokeWidth.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIWebkitTransformOriginZ.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIWidthOrHeight.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIWillChange.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIZIndex.h",
"$blink_core_output_dir/css/properties/CSSPropertyAPIZoom.h",
"$blink_core_output_dir/css/properties/CSSPropertyDescriptor.cpp",
"$blink_core_output_dir/css/properties/CSSPropertyDescriptor.h",
]
}
css_properties("make_core_generated_css_property_names") {
script = "../build/scripts/make_css_property_names.py"
outputs = [
"$blink_core_output_dir/CSSPropertyNames.cpp",
"$blink_core_output_dir/CSSPropertyNames.h",
]
}
process_in_files("make_core_generated_media_features") {
script = "../build/scripts/make_media_features.py"
in_files = [ "css/MediaFeatureNames.json5" ]
other_inputs = [
"../build/scripts/make_media_features.py",
"../build/scripts/templates/MediaFeatures.h.tmpl",
]
outputs = [
"$blink_core_output_dir/MediaFeatures.h",
]
}
css_properties("make_core_generated_style_property_shorthand") {
script = "../build/scripts/make_style_shorthands.py"
other_inputs = [
"../build/scripts/templates/StylePropertyShorthand.cpp.tmpl",
"../build/scripts/templates/StylePropertyShorthand.h.tmpl",
]
outputs = [
"$blink_core_output_dir/StylePropertyShorthand.cpp",
"$blink_core_output_dir/StylePropertyShorthand.h",
]
}
css_properties("make_core_generated_style_builder") {
script = "../build/scripts/make_style_builder.py"
other_inputs = [
"../build/scripts/templates/StyleBuilder.cpp.tmpl",
"../build/scripts/templates/StyleBuilderFunctions.cpp.tmpl",
"../build/scripts/templates/StyleBuilderFunctions.h.tmpl",
]
outputs = [
"$blink_core_output_dir/StyleBuilder.cpp",
"$blink_core_output_dir/StyleBuilderFunctions.h",
"$blink_core_output_dir/StyleBuilderFunctions.cpp",
]
}
css_properties("make_core_generated_cssom_types") {
script = "../build/scripts/make_cssom_types.py"
other_inputs = [
"../build/scripts/templates/CSSOMKeywords.cpp.tmpl",
"../build/scripts/templates/CSSOMTypes.cpp.tmpl",
]
outputs = [
"$blink_core_output_dir/CSSOMKeywords.cpp",
"$blink_core_output_dir/CSSOMTypes.cpp",
]
}
css_properties("make_core_generated_css_property_metadata") {
script = "../build/scripts/make_css_property_metadata.py"
other_inputs = [ "../build/scripts/templates/CSSPropertyMetadata.cpp.tmpl" ]
outputs = [
"$blink_core_output_dir/CSSPropertyMetadata.cpp",
]
}
process_in_files("make_core_generated_css_value_keywords") {
script = "../build/scripts/make_css_value_keywords.py"
in_files = [
"css/CSSValueKeywords.json5",
"css/SVGCSSValueKeywords.json5",
]
outputs = [
"$blink_core_output_dir/CSSValueKeywords.cpp",
"$blink_core_output_dir/CSSValueKeywords.h",
]
other_args = [
"--gperf",
gperf_exe,
]
}
process_in_files("make_core_generated_html_element_factory") {
script = "../build/scripts/make_element_factory.py"
in_files = [
"html/HTMLTagNames.json5",
"html/HTMLAttributeNames.json5",
]
other_inputs = make_element_factory_files
outputs = [
"$blink_core_output_dir/HTMLElementFactory.cpp",
"$blink_core_output_dir/HTMLElementFactory.h",
"$blink_core_output_dir/HTMLNames.cpp",
"$blink_core_output_dir/HTMLNames.h",
]
}
process_in_files("make_core_generated_html_element_type_helpers") {
script = "../build/scripts/make_element_type_helpers.py"
in_files = [ "html/HTMLTagNames.json5" ]
other_inputs = make_element_type_helpers_files
outputs = [
"$blink_core_output_dir/HTMLElementTypeHelpers.cpp",
"$blink_core_output_dir/HTMLElementTypeHelpers.h",
]
}
process_in_files("make_core_generated_svg_names") {
script = "../build/scripts/make_element_factory.py"
in_files = [
"svg/SVGTagNames.json5",
"svg/SVGAttributeNames.json5",
]
other_inputs = make_element_factory_files
outputs = [
"$blink_core_output_dir/SVGElementFactory.cpp",
"$blink_core_output_dir/SVGElementFactory.h",
"$blink_core_output_dir/SVGNames.cpp",
"$blink_core_output_dir/SVGNames.h",
]
}
process_in_files("make_core_generated_svg_element_type_helpers") {
script = "../build/scripts/make_element_type_helpers.py"
in_files = [ "svg/SVGTagNames.json5" ]
other_inputs = make_element_type_helpers_files
outputs = [
"$blink_core_output_dir/SVGElementTypeHelpers.h",
]
}
# make_event_factory -----------------------------------------------------------
make_event_factory("make_core_generated_event_factory") {
in_files = [
"$blink_core_output_dir/EventInterfaces.json5",
"events/EventAliases.json5",
]
outputs = [
"$blink_core_output_dir/Event.cpp",
"$blink_core_output_dir/EventHeaders.h",
]
}
# make_names -------------------------------------------------------------------
process_in_files("make_core_generated_media_feature_names") {
script = "../build/scripts/make_media_feature_names.py"
in_files = [ "css/MediaFeatureNames.json5" ]
other_inputs = make_names_files
outputs = [
"$blink_core_output_dir/MediaFeatureNames.cpp",
"$blink_core_output_dir/MediaFeatureNames.h",
]
}
make_names("make_core_generated_media_type_names") {
in_files = [ "css/MediaTypeNames.json5" ]
outputs = [
"$blink_core_output_dir/MediaTypeNames.cpp",
"$blink_core_output_dir/MediaTypeNames.h",
]
}
make_names("make_core_generated_event_names") {
in_files = [ "$blink_core_output_dir/EventInterfaces.json5" ]
outputs = [
"$blink_core_output_dir/EventNames.cpp",
"$blink_core_output_dir/EventNames.h",
]
}
make_names("make_core_generated_event_target_names") {
in_files = [ "events/EventTargetFactory.json5" ]
outputs = [
"$blink_core_output_dir/EventTargetNames.cpp",
"$blink_core_output_dir/EventTargetNames.h",
]
}
make_names("make_core_generated_event_type_names") {
in_files = [ "events/EventTypeNames.json5" ]
outputs = [
"$blink_core_output_dir/EventTypeNames.cpp",
"$blink_core_output_dir/EventTypeNames.h",
]
}
make_names("make_core_generated_html_tokenizer_names") {
in_files = [ "html/parser/HTMLTokenizerNames.json5" ]
outputs = [
"$blink_core_output_dir/HTMLTokenizerNames.cpp",
"$blink_core_output_dir/HTMLTokenizerNames.h",
]
}
make_names("make_core_generated_input_type_names") {
in_files = [ "html/forms/InputTypeNames.json5" ]
outputs = [
"$blink_core_output_dir/InputTypeNames.cpp",
"$blink_core_output_dir/InputTypeNames.h",
]
}
make_names("make_core_generated_input_mode_names") {
in_files = [ "editing/InputModeNames.json5" ]
outputs = [
"$blink_core_output_dir/InputModeNames.cpp",
"$blink_core_output_dir/InputModeNames.h",
]
}
# make_qualified_names ---------------------------------------------------------
make_qualified_names("make_core_generated_math_ml_names") {
in_files = [
"html/parser/MathMLTagNames.json5",
"html/parser/MathMLAttributeNames.json5",
]
outputs = [
"$blink_core_output_dir/MathMLNames.cpp",
"$blink_core_output_dir/MathMLNames.h",
]
}
make_qualified_names("make_core_generated_xlink_names") {
in_files = [ "svg/xlinkattrs.json5" ]
outputs = [
"$blink_core_output_dir/XLinkNames.cpp",
"$blink_core_output_dir/XLinkNames.h",
]
}
make_qualified_names("make_core_generated_xml_ns_names") {
in_files = [ "xml/xmlnsattrs.json5" ]
outputs = [
"$blink_core_output_dir/XMLNSNames.cpp",
"$blink_core_output_dir/XMLNSNames.h",
]
}
make_qualified_names("make_core_generated_xml_names") {
in_files = [ "xml/xmlattrs.json5" ]
outputs = [
"$blink_core_output_dir/XMLNames.cpp",
"$blink_core_output_dir/XMLNames.h",
]
}
# One-off scripts --------------------------------------------------------------
action("make_minimized_css") {
script = "../build/scripts/minimize_css.py"
inputs = [
"css/html.css",
]
outputs = [
"$blink_core_output_dir/html.css",
]
args = [
"--output_dir",
rel_blink_core_gen_dir,
]
args += rebase_path(inputs, root_build_dir)
deps = make_core_generated_deps
}
# "HTMLEntityTable" in make_core_generated from GYP.
action("make_core_generated_html_entity_table") {
visibility = [] # Allow re-assignment of list.
visibility = [ ":*" ]
script = "html/parser/create-html-entity-table"
inputs = [
"html/parser/HTMLEntityNames.csv",
]
outputs = [
"$blink_core_output_dir/HTMLEntityTable.cpp",
]
args = [ "-o" ] + rebase_path(outputs, root_build_dir)
args += rebase_path(inputs, root_build_dir)
deps = make_core_generated_deps
}
action("make_core_generated_css_tokenizer_codepoints") {
visibility = [] # Allow re-assignment of list.
visibility = [ ":*" ]
script = "../build/scripts/make_css_tokenizer_codepoints.py"
outputs = [
"$blink_core_output_dir/CSSTokenizerCodepoints.cpp",
]
args = [
"--output_dir",
rel_blink_core_gen_dir,
]
if (is_mac && !use_system_xcode) {
args += [
"--developer_dir",
hermetic_xcode_path,
]
}
deps = make_core_generated_deps
}
action("make_core_generated_css_primitive_value_unit_trie") {
visibility = [] # Allow re-assignment of list.
visibility = [ ":*" ]
script = "../build/scripts/make_css_primitive_value_unit_trie.py"
input_file = "css/CSSPrimitiveValueUnits.json5"
inputs = make_trie_helpers_files + [
input_file,
"../build/scripts/templates/CSSPrimitiveValueUnitTrie.cpp.tmpl",
]
outputs = [
"$blink_core_output_dir/CSSPrimitiveValueUnitTrie.cpp",
]
args = [
rebase_path(input_file, root_build_dir),
"--output_dir",
rel_blink_core_gen_dir,
]
if (is_mac && !use_system_xcode) {
args += [
"--developer_dir",
hermetic_xcode_path,
]
}
deps = make_core_generated_deps
}
action("make_core_generated_html_element_lookup_trie") {
visibility = [] # Allow re-assignment of list.
visibility = [ ":*" ]
script = "../build/scripts/make_element_lookup_trie.py"
input_file = "html/HTMLTagNames.json5"
inputs = make_trie_helpers_files + [
input_file,
"../build/scripts/templates/ElementLookupTrie.cpp.tmpl",
"../build/scripts/templates/ElementLookupTrie.h.tmpl",
]
outputs = [
"$blink_core_output_dir/HTMLElementLookupTrie.cpp",
"$blink_core_output_dir/HTMLElementLookupTrie.h",
]
args = [
rebase_path(input_file, root_build_dir),
"--output_dir",
rel_blink_core_gen_dir,
]
if (is_mac && !use_system_xcode) {
args += [
"--developer_dir",
hermetic_xcode_path,
]
}
deps = make_core_generated_deps
}
action("make_core_generated_origin_trials") {
script = "../build/scripts/make_origin_trials.py"
inputs = scripts_for_json5_files + [
"../build/scripts/make_origin_trials.py",
"../platform/RuntimeEnabledFeatures.json5",
"../build/scripts/templates/OriginTrials.cpp.tmpl",
"../build/scripts/templates/OriginTrials.h.tmpl",
]
outputs = [
"$blink_core_output_dir/origin_trials/OriginTrials.cpp",
"$blink_core_output_dir/origin_trials/OriginTrials.h",
]
args = [
rebase_path("../platform/RuntimeEnabledFeatures.json5", root_build_dir),
"--output_dir",
"$rel_blink_core_gen_dir/origin_trials",
]
if (is_mac && !use_system_xcode) {
args += [
"--developer_dir",
hermetic_xcode_path,
]
}
}
action_foreach("make_core_generated_bison") {
script = "../build/scripts/rule_bison.py"
sources = [
"xml/XPathGrammar.y",
]
outputs = [
"$blink_core_output_dir/{{source_name_part}}.cpp",
"$blink_core_output_dir/{{source_name_part}}.h",
]
args = [
"{{source}}",
rel_blink_core_gen_dir,
bison_exe,
]
if (is_mac && !use_system_xcode) {
args += [ hermetic_xcode_path ]
}
deps = make_core_generated_deps
}
# Targets from above that generate outputs that need to be compiled.
# All sources declared as outputs from these targets will be compiled into one
# target.
targets_generating_sources = [
":make_core_generated_bison",
":make_core_generated_css_primitive_value_unit_trie",
":make_core_generated_css_property_metadata",
":make_core_generated_computed_style_base",
":make_core_generated_css_value_id_mappings",
":make_core_generated_css_property_apis",
":make_core_generated_css_property_names",
":make_core_generated_cssom_types",
":make_core_generated_event_factory",
":make_core_generated_event_names",
":make_core_generated_event_target_names",
":make_core_generated_event_type_names",
":make_core_generated_html_element_factory",
":make_core_generated_html_element_lookup_trie",
":make_core_generated_html_entity_table",
":make_core_generated_html_tokenizer_names",
":make_core_generated_input_mode_names",
":make_core_generated_input_type_names",
":make_core_generated_math_ml_names",
":make_core_generated_media_feature_names",
":make_core_generated_media_type_names",
":make_core_generated_origin_trials",
":make_core_generated_style_builder",
":make_core_generated_style_property_shorthand",
":make_core_generated_svg_names",
":make_core_generated_xlink_names",
":make_core_generated_xml_names",
":make_core_generated_xml_ns_names",
":make_core_generated_html_element_type_helpers",
":make_core_generated_css_value_keywords",
":make_core_generated_media_features",
":make_core_generated_svg_element_type_helpers",
]
group("all_generators") {
public_deps = targets_generating_sources
public_deps += [
# This target's generated source is #included into another source file.
# So we don't want to list it in the "generating sources" list above,
# but it does need to be listed as a dependency here.
":make_core_generated_css_tokenizer_codepoints",
]
}
# Compiles the code generated by the targets above.
target(core_link_small_target_type, "core_generated") {
sources = bindings_core_v8_files
# Add all sources generated by the targets above.
foreach(current, targets_generating_sources) {
sources += get_target_outputs(current)
}
public_deps = [
":all_generators",
"//third_party/WebKit/Source/bindings/core/v8:bindings_core_impl",
]
configs -= core_config_remove
configs += core_config_add + [ "..:inside_blink" ]
# Dependencies required to compile the sources.
public_deps += [
":prerequisites",
"//gin",
"//skia",
"//third_party/WebKit/Source/bindings/core/v8:bindings_core_v8_generated",
"//third_party/iccjpeg",
"//third_party/libpng",
"//third_party/libwebp",
"//third_party/libxml",
"//third_party/libxslt",
"//third_party/sqlite",
# FIXME: don't depend on bindings/modules http://crbug.com/358074
"//third_party/WebKit/Source/bindings/modules:bindings_modules_generated",
"//third_party/WebKit/Source/bindings/modules/v8:bindings_modules_generated",
"//third_party/WebKit/Source/platform:make_platform_generated",
"//third_party/WebKit/Source/platform/wtf",
"//url",
"//v8",
]
configs += [
":core_include_dirs",
# TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
"//build/config/compiler:no_size_t_to_int_warning",
]
include_dirs = [ "$root_gen_dir/blink" ]
cflags = []
defines = []
if (is_win && is_component_build) {
defines += [ "USING_V8_SHARED" ]
}
if (is_win) {
cflags += [
# In generated bindings code: "switch contains default but no case".
# 4701 and 4702 are disabled because of issues in Bison-generated
# XPathGrammar.cpp.
"/wd4065",
"/wd4701",
"/wd4702",
]
}
}
# Fuzzer for blink::TextResourceDecoder.
fuzzer_test("text_resource_decoder_fuzzer") {
sources = [
"html/parser/TextResourceDecoderForFuzzing.h",
"html/parser/TextResourceDecoderFuzzer.cpp",
]
deps = [
":core",
"../platform:blink_fuzzer_test_support",
]
}
source_set("unit_tests") {
testonly = true
sources = [
"animation/AnimationClockTest.cpp",
"animation/AnimationEffectReadOnlyTest.cpp",
"animation/AnimationInputHelpersTest.cpp",
"animation/AnimationTest.cpp",
"animation/AnimationTestHelper.cpp",
"animation/AnimationTestHelper.h",
"animation/AnimationTimelineTest.cpp",
"animation/CompositorAnimationsTest.cpp",
"animation/DocumentTimelineTest.cpp",
"animation/EffectInputTest.cpp",
"animation/EffectStackTest.cpp",
"animation/InterpolableValueTest.cpp",
"animation/InterpolationEffectTest.cpp",
"animation/KeyframeEffectModelTest.cpp",
"animation/KeyframeEffectTest.cpp",
"animation/PropertyHandleTest.cpp",
"animation/TimingCalculationsTest.cpp",
"animation/TimingInputTest.cpp",
"clipboard/DataObjectTest.cpp",
"css/ActiveStyleSheetsTest.cpp",
"css/AffectedByFocusTest.cpp",
"css/CSSCalculationValueTest.cpp",
"css/CSSFontFaceSourceTest.cpp",
"css/CSSPageRuleTest.cpp",
"css/CSSSelectorTest.cpp",
"css/CSSStyleDeclarationTest.cpp",
"css/CSSTestHelper.cpp",
"css/CSSTestHelper.h",
"css/CSSValueTestHelper.h",
"css/DragUpdateTest.cpp",
"css/MediaQueryEvaluatorTest.cpp",
"css/MediaQueryListTest.cpp",
"css/MediaQueryMatcherTest.cpp",
"css/MediaQuerySetTest.cpp",
"css/MediaValuesInitialViewportTest.cpp",
"css/MediaValuesTest.cpp",
"css/RuleFeatureSetTest.cpp",
"css/RuleSetTest.cpp",
"css/StyleSheetContentsTest.cpp",
"css/cssom/CSSResourceValueTest.cpp",
"css/cssom/CSSStyleImageValueTest.cpp",
"css/cssom/CSSURLImageValueTest.cpp",
"css/cssom/CSSUnparsedValueTest.cpp",
"css/cssom/CSSVariableReferenceValueTest.cpp",
"css/cssom/FilteredComputedStylePropertyMapTest.cpp",
"css/invalidation/InvalidationSetTest.cpp",
"css/invalidation/StyleInvalidatorTest.cpp",
"css/parser/CSSLazyParsingTest.cpp",
"css/parser/CSSParserFastPathsTest.cpp",
"css/parser/CSSParserTokenTest.cpp",
"css/parser/CSSPropertyParserTest.cpp",
"css/parser/CSSSelectorParserTest.cpp",
"css/parser/CSSTokenizerTest.cpp",
"css/parser/MediaConditionTest.cpp",
"css/parser/SizesAttributeParserTest.cpp",
"css/parser/SizesCalcParserTest.cpp",
"css/resolver/FontBuilderTest.cpp",
"css/resolver/MatchResultTest.cpp",
"css/resolver/ScopedStyleResolverTest.cpp",
"css/resolver/SharedStyleFinderTest.cpp",
"dom/AttrTest.cpp",
"dom/CSSSelectorWatchTest.cpp",
"dom/DOMImplementationTest.cpp",
"dom/DocumentStatisticsCollectorTest.cpp",
"dom/DocumentTest.cpp",
"dom/DocumentUserGestureTokenTest.cpp",
"dom/ElementTest.cpp",
"dom/ElementVisibilityObserverTest.cpp",
"dom/ExecutionContextTaskTest.cpp",
"dom/IdleDeadlineTest.cpp",
"dom/LayoutTreeBuilderTraversalTest.cpp",
"dom/MockScriptElementBase.h",
"dom/ModulatorTest.cpp",
"dom/ModuleMapTest.cpp",
"dom/MutationObserverTest.cpp",
"dom/NodeTest.cpp",
"dom/NthIndexCacheTest.cpp",
"dom/RangeTest.cpp",
"dom/ScriptModuleResolverImplTest.cpp",
"dom/ScriptRunnerTest.cpp",
"dom/ScriptedAnimationControllerTest.cpp",
"dom/SelectorQueryTest.cpp",
"dom/StaticRangeTest.cpp",
"dom/StyleElementTest.cpp",
"dom/StyleEngineTest.cpp",
"dom/SuspendableObjectTest.cpp",
"dom/TextTest.cpp",
"dom/TreeScopeTest.cpp",
"dom/URLSearchParamsTest.cpp",
"dom/custom/CustomElementDefinitionTest.cpp",
"dom/custom/CustomElementDescriptorTest.cpp",
"dom/custom/CustomElementReactionQueueTest.cpp",
"dom/custom/CustomElementReactionStackTest.cpp",
"dom/custom/CustomElementReactionTestHelpers.h",
"dom/custom/CustomElementRegistryTest.cpp",
"dom/custom/CustomElementTest.cpp",
"dom/custom/CustomElementTestHelpers.cpp",
"dom/custom/CustomElementTestHelpers.h",
"dom/custom/CustomElementUpgradeSorterTest.cpp",
"dom/shadow/FlatTreeTraversalTest.cpp",
"dom/shadow/SlotScopedTraversalTest.cpp",
"editing/CaretDisplayItemClientTest.cpp",
"events/EventPathTest.cpp",
"events/EventTargetTest.cpp",
"events/PointerEventFactoryTest.cpp",
"events/TouchEventTest.cpp",
"fileapi/FileListTest.cpp",
"fileapi/FileTest.cpp",
"frame/DOMTimerTest.cpp",
"frame/FrameViewTest.cpp",
"frame/HistoryTest.cpp",
"frame/ImageBitmapTest.cpp",
"frame/LocalFrameTest.cpp",
"frame/OriginsUsingFeaturesTest.cpp",
"frame/PerformanceMonitorTest.cpp",
"frame/RootFrameViewportTest.cpp",
"frame/SubresourceIntegrityTest.cpp",
"frame/UseCounterTest.cpp",
"frame/csp/CSPDirectiveListTest.cpp",
"frame/csp/CSPSourceTest.cpp",
"frame/csp/ContentSecurityPolicyTest.cpp",
"frame/csp/MediaListDirectiveTest.cpp",
"frame/csp/SourceListDirectiveTest.cpp",
"geometry/DOMMatrixTest.cpp",
"html/FormDataTest.cpp",
"html/HTMLDimensionTest.cpp",
"html/HTMLEmbedElementTest.cpp",
"html/HTMLFormControlElementTest.cpp",
"html/HTMLIFrameElementAllowTest.cpp",
"html/HTMLIFrameElementTest.cpp",
"html/HTMLImageElementTest.cpp",
"html/HTMLInputElementTest.cpp",
"html/HTMLLinkElementSizesAttributeTest.cpp",
"html/HTMLLinkElementTest.cpp",
"html/HTMLMediaElementEventListenersTest.cpp",
"html/HTMLMediaElementTest.cpp",
"html/HTMLOutputElementTest.cpp",
"html/HTMLSelectElementTest.cpp",
"html/HTMLTableRowElementTest.cpp",
"html/HTMLTextAreaElementTest.cpp",
"html/HTMLVideoElementPersistentTest.cpp",
"html/ImageDataTest.cpp",
"html/ImageDocumentTest.cpp",
"html/LinkRelAttributeTest.cpp",
"html/TextControlElementTest.cpp",
"html/TimeRangesTest.cpp",
"html/canvas/CanvasAsyncBlobCreatorTest.cpp",
"html/canvas/CanvasFontCacheTest.cpp",
"html/forms/EmailInputTypeTest.cpp",
"html/forms/FileInputTypeTest.cpp",
"html/forms/OptionListTest.cpp",
"html/forms/PasswordInputTypeTest.cpp",
"html/forms/StepRangeTest.cpp",
"html/media/AutoplayUmaHelperTest.cpp",
"html/media/MediaCustomControlsFullscreenDetectorTest.cpp",
"html/parser/AtomicHTMLTokenTest.cpp",
"html/parser/CSSPreloadScannerTest.cpp",
"html/parser/CompactHTMLTokenTest.cpp",
"html/parser/HTMLDocumentParserTest.cpp",
"html/parser/HTMLEntityParserTest.cpp",
"html/parser/HTMLParserIdiomsTest.cpp",
"html/parser/HTMLPreloadScannerTest.cpp",
"html/parser/HTMLResourcePreloaderTest.cpp",
"html/parser/HTMLSrcsetParserTest.cpp",
"html/parser/HTMLTokenizerTest.cpp",
"html/parser/HTMLTreeBuilderSimulatorTest.cpp",
"html/parser/HTMLViewSourceParserTest.cpp",
"html/parser/TextResourceDecoderTest.cpp",
"html/track/TextTrackListTest.cpp",
"html/track/vtt/BufferedLineReaderTest.cpp",
"html/track/vtt/VTTScannerTest.cpp",
"input/EventHandlerTest.cpp",
"inspector/ProtocolParserTest.cpp",
"layout/ImageQualityControllerTest.cpp",
"layout/LayoutBlockTest.cpp",
"layout/LayoutBoxModelObjectTest.cpp",
"layout/LayoutBoxTest.cpp",
"layout/LayoutInlineTest.cpp",
"layout/LayoutMediaTest.cpp",
"layout/LayoutMultiColumnFlowThreadTest.cpp",
"layout/LayoutObjectTest.cpp",
"layout/LayoutPartTest.cpp",
"layout/LayoutProgressTest.cpp",
"layout/LayoutTableCellTest.cpp",
"layout/LayoutTableRowTest.cpp",
"layout/LayoutTableSectionTest.cpp",
"layout/LayoutTestHelper.cpp",
"layout/LayoutTestHelper.h",
"layout/LayoutTextTest.cpp",
"layout/LayoutThemeTest.cpp",
"layout/MapCoordinatesTest.cpp",
"layout/MultiColumnFragmentainerGroupTest.cpp",
"layout/OverflowModelTest.cpp",
"layout/PaginationTest.cpp",
"layout/PaintContainmentTest.cpp",
"layout/ScrollAnchorTest.cpp",
"layout/TextAutosizerTest.cpp",
"layout/VisualRectMappingTest.cpp",
"layout/api/SelectionStateTest.cpp",
"layout/compositing/CompositedLayerMappingTest.cpp",
"layout/compositing/CompositingReasonFinderTest.cpp",
"layout/compositing/PaintLayerCompositorTest.cpp",
"layout/line/InlineBoxTest.cpp",
"layout/line/InlineTextBoxTest.cpp",
"layout/ng/geometry/ng_box_strut_test.cc",
"layout/ng/geometry/ng_logical_offset_test.cc",
"layout/ng/geometry/ng_physical_rect_test.cc",
"layout/ng/inline/ng_inline_items_builder_test.cc",
"layout/ng/inline/ng_inline_layout_algorithm_test.cc",
"layout/ng/inline/ng_inline_node_test.cc",
"layout/ng/ng_absolute_utils_test.cc",
"layout/ng/ng_base_layout_algorithm_test.cc",
"layout/ng/ng_base_layout_algorithm_test.h",
"layout/ng/ng_block_child_iterator_test.cc",
"layout/ng/ng_block_layout_algorithm_test.cc",
"layout/ng/ng_block_node_test.cc",
"layout/ng/ng_constraint_space_builder_test.cc",
"layout/ng/ng_constraint_space_test.cc",
"layout/ng/ng_length_utils_test.cc",
"layout/ng/ng_min_max_content_size_test.cc",
"layout/ng/ng_out_of_flow_layout_part_test.cc",
"layout/ng/ng_relative_utils_test.cc",
"layout/ng/ng_space_utils_test.cc",
"layout/shapes/BoxShapeTest.cpp",
"layout/svg/LayoutSVGForeignObjectTest.cpp",
"layout/svg/LayoutSVGRootTest.cpp",
"loader/BaseFetchContextTest.cpp",
"loader/DocumentLoadTimingTest.cpp",
"loader/FrameFetchContextTest.cpp",
"loader/LinkLoaderTest.cpp",
"loader/MixedContentCheckerTest.cpp",
"loader/PingLoaderTest.cpp",
"loader/ProgressTrackerTest.cpp",
"loader/TextResourceDecoderBuilderTest.cpp",
"loader/ThreadableLoaderTest.cpp",
"loader/modulescript/ModuleScriptLoaderTest.cpp",
"loader/modulescript/ModuleTreeLinkerTest.cpp",
"loader/resource/CSSStyleSheetResourceTest.cpp",
"loader/resource/FontResourceTest.cpp",
"loader/resource/ImageResourceTest.cpp",
"loader/resource/MockFontResourceClient.cpp",
"loader/resource/MockFontResourceClient.h",
"loader/resource/MockImageResourceObserver.cpp",
"loader/resource/MockImageResourceObserver.h",
"loader/resource/MultipartImageResourceParserTest.cpp",
"origin_trials/OriginTrialContextTest.cpp",
"page/ChromeClientTest.cpp",
"page/ContextMenuControllerTest.cpp",
"page/FocusControllerTest.cpp",
"page/PagePopupClientTest.cpp",
"page/PrintContextTest.cpp",
"page/WindowFeaturesTest.cpp",
"page/scrolling/ScrollStateTest.cpp",
"page/scrolling/SnapCoordinatorTest.cpp",
"paint/BoxPaintInvalidatorTest.cpp",
"paint/FirstMeaningfulPaintDetectorTest.cpp",
"paint/HTMLCanvasPainterTest.cpp",
"paint/LayerClipRecorderTest.cpp",
"paint/LayoutObjectDrawingRecorderTest.cpp",
"paint/NinePieceImageGridTest.cpp",
"paint/ObjectPaintInvalidatorTest.cpp",
"paint/PaintControllerPaintTest.cpp",
"paint/PaintControllerPaintTest.h",
"paint/PaintInfoTest.cpp",
"paint/PaintInvalidationTest.cpp",
"paint/PaintLayerClipperTest.cpp",
"paint/PaintLayerPainterTest.cpp",
"paint/PaintLayerScrollableAreaTest.cpp",
"paint/PaintLayerTest.cpp",
"paint/PaintPropertyTreeBuilderTest.cpp",
"paint/PaintPropertyTreeBuilderTest.h",
"paint/PaintPropertyTreePrinterTest.cpp",
"paint/PaintPropertyTreeUpdateTests.cpp",
"paint/PrePaintTreeWalkTest.cpp",
"paint/SVGInlineTextBoxPainterTest.cpp",
"paint/StubChromeClientForSPv2.h",
"paint/TablePainterTest.cpp",
"paint/TextPainterTest.cpp",
"paint/VideoPainterTest.cpp",
"streams/ReadableStreamOperationsTest.cpp",
"style/BorderValueTest.cpp",
"style/ComputedStyleTest.cpp",
"style/FilterOperationsTest.cpp",
"style/OutlineValueTest.cpp",
"style/SVGComputedStyleTest.cpp",
"style/StyleDifferenceTest.cpp",
"svg/SVGPathParserTest.cpp",
"svg/UnsafeSVGAttributeSanitizationTest.cpp",
"svg/graphics/SVGImageTest.cpp",
"timing/MemoryInfoTest.cpp",
"timing/PerformanceBaseTest.cpp",
"timing/PerformanceNavigationTimingTest.cpp",
"timing/PerformanceObserverTest.cpp",
"timing/PerformanceTest.cpp",
"workers/DedicatedWorkerTest.cpp",
"workers/MainThreadWorkletTest.cpp",
"workers/ThreadedWorkletTest.cpp",
"workers/WorkerThreadTest.cpp",
"workers/WorkerThreadTestHelper.h",
"xml/XPathFunctionsTest.cpp",
"xml/parser/SharedBufferReaderTest.cpp",
]
configs += [
":blink_core_pch",
"//third_party/WebKit/Source:config",
"//third_party/WebKit/Source:inside_blink",
]
deps = [
":core",
"//testing/gmock",
"//testing/gtest",
"//third_party/WebKit/Source/core/editing:unit_tests",
]
}
# Fuzzer for blink::StyleSheetContents
fuzzer_test("stylesheet_contents_fuzzer") {
sources = [
"css/StyleSheetContentsFuzzer.cpp",
]
deps = [
":core",
"../platform:blink_fuzzer_test_support",
]
seed_corpus = "//third_party/WebKit/LayoutTests/fast/css/resources"
libfuzzer_options = [ "max_len=2048" ]
}
# Fuzzer for blink::HTMLPreloadScanner.
fuzzer_test("html_preload_scanner_fuzzer") {
sources = [
"html/parser/HTMLPreloadScannerFuzzer.cpp",
"html/parser/TextResourceDecoderForFuzzing.h",
]
seed_corpus = "//third_party/WebKit/LayoutTests/fast/parser"
deps = [
":core",
"../platform:blink_fuzzer_test_support",
]
}
# Fuzzer for blink::ContentSecurityPolicy.
fuzzer_test("content_security_policy_fuzzer") {
sources = [
"frame/csp/ContentSecurityPolicyFuzzer.cpp",
]
deps = [
":core",
"//third_party/WebKit/Source/platform:blink_fuzzer_test_support",
]
dict = "//testing/libfuzzer/fuzzers/dicts/content_security_policy.dict"
seed_corpus = "//testing/libfuzzer/fuzzers/content_security_policy_corpus"
}