include_rules = [
"+base/apple/bridging.h",
"+base/apple/scoped_cftyperef.h",
"+base/atomic_sequence_num.h",
"+base/cancelable_callback.h",
"+base/memory/protected_memory.h",
"+base/memory/values_equivalent.h",
"+base/message_loop/message_pump.h",
"+base/files/file.h",
"+base/files/file_path.h",
"+base/apple/foundation_util.h",
"+base/memory/scoped_refptr.h",
"+base/profiler/sample_metadata.h",
"+base/strings/pattern.h",
"+base/strings/stringprintf.h",
"+base/substring_set_matcher/substring_set_matcher.h",
"+base/task/sequence_manager/task_time_observer.h",
"+base/task/task_traits.h",
"+base/test/bind.h",
"+base/test/simple_test_tick_clock.h",
"+base/threading/thread_restrictions.h",
"+base/time",
"+base/tracing",
"+base/unguessable_token.h",
"+base/uuid.h",
"+base/values.h",
"+cc/animation/animation_host.h",
"+cc/animation/animation_id_provider.h",
"+cc/animation/animation_timeline.h",
"+cc/animation/filter_animation_curve.h",
"+cc/animation/keyframe_model.h",
"+cc/animation/scroll_offset_animation_curve.h",
"+cc/animation/scroll_offset_animation_curve_factory.h",
"+cc/animation/scroll_offset_animations.h",
"+cc/animation/scroll_timeline.h",
"+cc/base/features.h",
"+cc/base/region.h",
"+cc/input/browser_controls_state.h",
"+cc/input/event_listener_properties.h",
"+cc/input/main_thread_scrolling_reason.h",
"+cc/input/overscroll_behavior.h",
"+cc/input/scroll_snap_data.h",
"+cc/input/scroll_state.h",
"+cc/input/scroll_utils.h",
"+cc/input/scrollbar.h",
"+cc/input/snap_fling_controller.h",
"+cc/input/snap_selection_strategy.h",
"+cc/layers/content_layer_client.h",
"+cc/layers/heads_up_display_layer.h",
"+cc/layers/layer.h",
"+cc/layers/view_transition_content_layer.h",
"+cc/layers/picture_layer.h",
"+cc/layers/scrollbar_layer_base.h",
"+cc/layers/surface_layer.h",
"+cc/metrics/begin_main_frame_metrics.h",
"+cc/metrics/frame_sequence_tracker_collection.h",
"+cc/trees/browser_controls_params.h",
"+cc/trees/layer_tree_host.h",
"+cc/trees/paint_holding_commit_trigger.h",
"+cc/trees/paint_holding_reason.h",
"+cc/trees/target_property.h",
"+cc/trees/ukm_manager.h",
"+components/attribution_reporting/features.h",
"+components/miracle_parameter",
"+components/performance_manager/public/mojom/coordination_unit.mojom-blink.h",
"+components/performance_manager/public/mojom/web_memory.mojom-blink.h",
"+components/viz/common/frame_timing_details.h",
"+components/viz/common/navigation_id.h",
"+gpu/config/gpu_feature_info.h",
"-inspector/v8",
"+mojo/public/cpp/base",
"+mojo/public/cpp/bindings",
"+mojo/public/cpp/system",
"+mojo/public/mojom/base",
"+net/base/net_errors.h",
"+net/http/http_status_code.h",
"+printing/mojom/print.mojom-blink.h",
"+services/device/public/mojom/device_posture_provider.mojom-blink-forward.h",
"+services/device/public/mojom/device_posture_provider.mojom-blink.h",
"+services/device/public/mojom/wake_lock.mojom-blink.h",
"+services/metrics/public",
"+services/network/public/cpp/cors/cors_error_status.h",
"+services/network/public/cpp/cross_origin_embedder_policy.h",
"+services/network/public/cpp/features.h",
"+services/network/public/cpp/header_util.h",
"+services/network/public/cpp/is_potentially_trustworthy.h",
"+services/network/public/cpp/request_destination.h",
"+services/network/public/cpp/request_mode.h",
"+services/network/public/cpp/resource_request.h",
"+services/network/public/cpp/url_loader_completion_status.h",
"+services/network/public/cpp/web_sandbox_flags.h",
"+services/service_manager/public",
"+skia/public/mojom",
"+third_party/blink/public/common",
"+third_party/blink/public/mojom",
"+third_party/blink/public/public_buildflags.h",
"+third_party/blink/public/web",
"+third_party/blink/renderer/bindings/core",
"-third_party/blink/renderer/bindings/modules",
"+third_party/blink/renderer/core",
"-third_party/blink/renderer/modules",
"+third_party/skia/include",
"+ui/accessibility/accessibility_features.h",
"+ui/accessibility/ax_enums.mojom-blink-forward.h",
"+ui/accessibility/ax_enums.mojom-blink.h",
"+ui/accessibility/ax_error_types.h",
"+ui/accessibility/ax_event.h",
"+ui/accessibility/ax_event_intent.h",
"+ui/accessibility/ax_mode.h",
"+ui/base/cursor/cursor.h",
"+ui/base/ime/ime_text_span.h",
"+ui/base/ime/mojom/ime_types.mojom-blink-forward.h",
"+ui/base/ime/mojom/ime_types.mojom-blink.h",
"+ui/base/ime/mojom/text_input_state.mojom-blink.h",
"+ui/base/ime/mojom/virtual_keyboard_types.mojom-blink.h",
"+ui/base/mojom/attributed_string.mojom-blink.h",
"+ui/base/pointer/pointer_device.h",
"+ui/base/resource/resource_scale_factor.h",
"+ui/base/ui_base_features.h",
"+ui/base/ui_base_types.h",
"+ui/color",
"+ui/display/screen_info.h",
"+ui/display/screen_infos.h",
"+ui/events/event_constants.h",
"+ui/events/types/scroll_types.h",
"+ui/gfx/animation/keyframe/animation_curve.h",
"+ui/gfx/animation/keyframe/keyframed_animation_curve.h",
"+ui/gfx/animation/keyframe/timing_function.h",
"+ui/gfx/codec/png_codec.h",
"+ui/gfx/geometry",
"+ui/gfx/presentation_feedback.h",
"+ui/gfx/range/range.h",
"+ui/gfx/selection_bound.h",
"+ui/strings/grit/ax_strings.h",
"-web",
# We do not want any new dependencies into core/exported until we resolve
# controller layer.
"!third_party/blink/renderer/core/exported",
# We do not want any new dependencies on Web(Local|Remote)FrameBase.h until
# we resolve the control layer.
"!third_party/blink/renderer/core/frame/web_local_frame_impl.h",
"!third_party/blink/renderer/core/frame/web_remote_frame_impl.h",
]
specific_include_rules = {
# Additional allowed includes for tests.
".*_(perf)?test(_.*)?\.(cc|h|mm)" : [
"+base/command_line.h",
"+base/json/json_reader.h",
"+base/timer/lap_timer.h",
"+base/message_loop/message_loop.h",
"+base/test/test_mock_time_task_runner.h",
"+base/threading/thread_task_runner_handle.h",
# Test harness may use cc directly instead of going through WebViewImpl etc.
"+cc",
"+components/ukm/test_ukm_recorder.h",
"+components/viz/test",
# TODO(crbug.com/838693): Test harnesses use LayerTreeView
# from content instead of a fake WebLayerTreeView implementation, so
# that the Web abstraction can go away.
"+content/renderer/compositor",
"+content/test",
# Unit tests may use gpu/ for mocking and faking and for config tweaks.
"+gpu/command_buffer/client/raster_implementation_gles.h",
"+gpu/config",
"+testing/perf/perf_test.h",
"+testing/perf/perf_result_reporter.h",
"+third_party/blink/renderer/core/frame/web_local_frame_impl.h",
"+third_party/blink/renderer/core/frame/web_remote_frame_impl.h",
"+gin",
"+url/url_util.h"
],
".*_fuzzer.cc" : [
"+testing/libfuzzer",
],
"data_object_item.cc" : [ "+ui/gfx/codec" ],
"chrome_client.h" : [
"+ui/gfx/delegated_ink_metadata.h",
"+components/viz/common/surfaces/frame_sink_id.h",
],
"clipboard_utilities.cc" : [ "+base/strings/escape.h" ],
"css_parsing_utils.cc|html_permission_element.cc": [ "+ui/gfx/color_utils.h" ],
"find_in_page.cc" : [
"+third_party/blink/renderer/core/frame/web_local_frame_impl.h",
],
"find_task_controller.cc" : [
"+third_party/blink/renderer/core/frame/web_local_frame_impl.h",
],
"html_media_element_test.cc": [
"+base/test/gtest_util.h",
],
"element_test.cc": [
"+third_party/blink/renderer/core/exported/web_plugin_container_impl.h"
],
"html_canvas_painter_test.cc": [
"+components/viz/test/test_context_provider.h",
],
"local_dom_window.cc" : [
"+net/base/registry_controlled_domains/registry_controlled_domain.h",
],
"(computed_style|computed_style_test)\.cc" : [
"+ui/base/ui_base_features.h"
],
"media_query_evaluator.cc": [
"+ui/base/pointer/pointer_device.h",
],
"media_query_evaluator_test.cc": [
"+ui/gfx/display_color_spaces.h",
],
"media_values.h": [
"+ui/base/pointer/pointer_device.h",
],
"scripted_idle_task_controller(_test)?.(cc|h)": [
"+base/task/delayed_task_handle.h",
],
"xml_http_request.cc": [
"+net/base/mime_util.h",
],
}