include_rules = [
    "+base/atomic_sequence_num.h",
    "+base/barrier_closure.h",
    "+base/bits.h",
    "+base/callback_helpers.h",
    "+base/files/file.h",
    "+base/mac/foundation_util.h",
    "+base/mac/mac_util.h",
    "+base/mac/scoped_cftyperef.h",
    "+base/mac/scoped_nsobject.h",
    "+base/memory/scoped_policy.h",
    "+base/memory/scoped_refptr.h",
    "+base/metrics/field_trial_params.h",
    "+base/strings/stringprintf.h",
    "+base/synchronization/waitable_event.h",
    "+base/task/sequence_manager/task_time_observer.h",
    "+base/test/bind_test_util.h",
    "+base/test/simple_test_tick_clock.h",
    "+base/time",
    "+base/unguessable_token.h",
    "+build/mac",
    "+build/win",
    "+cc/animation/animation_curve.h",
    "+cc/animation/animation_host.h",
    "+cc/animation/scroll_offset_animations.h",
    "+cc/animation/scroll_offset_animation_curve.h",
    "+cc/animation/scroll_state.h",
    "+cc/base/region.h",
    "+cc/input/browser_controls_state.h",
    "+cc/input/event_listener_properties.h",
    "+cc/input/layer_selection_bound.h",
    "+cc/input/main_thread_scrolling_reason.h",
    "+cc/input/overscroll_behavior.h",
    "+cc/input/scrollbar.h",
    "+cc/input/scroll_snap_data.h",
    "+cc/input/scroll_state.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/layer_position_constraint.h",
    "+cc/layers/layer_sticky_position_constraint.h",
    "+cc/layers/picture_layer.h",
    "+cc/layers/scrollbar_layer_interface.h",
    "+cc/layers/surface_layer.h",
    "+cc/paint/display_item_list.h",
    "+cc/paint/paint_canvas.h",
    "+cc/paint/paint_flags.h",
    "+cc/paint/paint_worklet_input.h",
    "+cc/trees/paint_holding_commit_trigger.h",
    "+gpu/config/gpu_feature_info.h",
    "-inspector/v8",
    "+inspector/v8/public",
    "+mojo/public/cpp/base",
    "+mojo/public/cpp/bindings",
    "+mojo/public/cpp/system",
    "+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/features.h",
    "+services/network/public/cpp/shared_url_loader_factory.h",
    "+services/resource_coordinator/public/cpp/resource_coordinator_features.h",
    "+services/resource_coordinator/public/mojom/coordination_unit.mojom-blink.h",
    "+services/service_manager/public",
    "+skia/public/interfaces/bitmap_skbitmap_struct_traits.h",
    "+skia/ext/image_operations.h",
    "+skia/ext/skia_utils_mac.h",
    "+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/base/ime/mojo/ime_types.mojom-blink.h",
    "+ui/gfx/geometry",
    "+ui/gfx/skia_util.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.
    ".*_test(_.*)?\.(cc|h)" : [
        "+base/message_loop/message_loop.h",
        "+base/test/test_mock_time_task_runner.h",
        # Test harness may use cc directly instead of going through WebViewImpl etc.
        "+cc",
        "+components/ukm/test_ukm_recorder.h",
	# 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",
        "+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"
    ],
    "data_object_item.cc" : [ "+ui/gfx/codec" ],
    "clipboard_utilities.cc" : [ "+net/base/escape.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",
    ],
}
