chromium/third_party/blink/public/platform/DEPS

include_rules = [
    "+base/apple/scoped_cftyperef.h",
    "+base/check.h",
    "+base/check_op.h",
    "+base/containers/flat_set.h",
    "+base/containers/flat_map.h",
    "+base/containers/span.h",
    "+base/containers/span_or_size.h",
    "+base/files/file.h",
    "+base/location.h",
    "+base/logging.h",
    "+base/memory/memory_pressure_listener.h",
    "+base/memory/ref_counted.h",
    "+base/memory/scoped_refptr.h",
    "+base/memory/weak_ptr.h",
    "+base/metrics",
    "+base/task/sequenced_task_runner.h",
    "+base/task/single_thread_task_runner.h",
    "+base/sequence_checker.h",
    "+base/strings",
    "+base/synchronization/lock.h",
    "+base/synchronization/waitable_event.h",
    "+base/threading/platform_thread.h",
    "+base/threading/thread.h",
    "+base/threading/thread_checker.h",
    "+base/types/optional_ref.h",
    "+base/time",
    "+build/build_config.h",
    "+cc",
    "+components/viz/common",
    "+media/base/audio_capturer_source.h",
    "+media/base/audio_latency.h",
    "+media/base/audio_renderer_sink.h",
    "+media/base/eme_constants.h",
    "+media/base/media_content_type.h",
    "+media/base/media_log.h",
    "+media/base/output_device_info.h",
    "+media/base/stream_parser.h",
    "+media/base/video_frame.h",
    "+media/base/video_frame_metadata.h",
    "+media/base/video_transformation.h",
    "+mojo/public",
    "+net/base/auth.h",
    "+net/base/host_port_pair.h",
    "+net/base/net_errors.h",
    "+net/base/ip_endpoint.h",
    "+net/base/request_priority.h",
    "+net/cert",
    "+net/dns/public",
    "+net/http",
    "+net/storage_access_api/status.h",
    "+net/traffic_annotation/network_traffic_annotation.h",
    "+net/url_request/redirect_info.h",
    "+services/network/public/cpp/cors/cors_error_status.h",
    "+services/network/public/cpp/cors/preflight_result.h",
    "+services/network/public/cpp/resource_request_body.h",
    "+services/network/public/cpp/shared_url_loader_factory.h",

    # Enforce to use mojom-shared.h in blink/public so that it can compile
    # inside and outside Blink.
    "+media/mojo/mojom/display_media_information.mojom-shared.h",
    "+services/network/public/mojom/blocked_by_response_reason.mojom-shared.h",
    "+services/network/public/mojom/content_security_policy.mojom-shared.h",
    "+services/network/public/mojom/cors.mojom-shared.h",
    "+services/network/public/mojom/attribution.mojom-shared.h",
    "+services/network/public/mojom/cross_origin_embedder_policy.mojom-shared.h",
    "+services/network/public/mojom/data_pipe_getter.mojom-shared.h",
    "+services/network/public/mojom/fetch_api.mojom-forward.h",
    "+services/network/public/mojom/fetch_api.mojom-shared.h",
    "+services/network/public/mojom/ip_address_space.mojom-shared.h",
    "+services/network/public/mojom/referrer_policy.mojom-shared.h",
    "+services/network/public/mojom/trust_tokens.mojom-shared.h",
    "+services/network/public/mojom/url_loader.mojom-forward.h",
    "+services/network/public/mojom/url_loader_factory.mojom-forward.h",
    "+services/network/public/mojom/url_loader_factory.mojom-shared.h",
    "+services/network/public/mojom/url_response_head.mojom-forward.h",
    "+services/network/public/mojom/web_client_hints_types.mojom-shared.h",
    "+services/network/public/mojom/web_sandbox_flags.mojom-shared.h",

    "+services/service_manager/public/mojom",
    "+third_party/blink/public/common/web_cache/web_cache_resource_type_stats.h",
    "+third_party/blink/public/platform",
    "+third_party/blink/public/mojom/tokens",
    "-third_party/blink/public/web",
    "-third_party/blink/renderer/bindings",
    "+third_party/skia",
    "+ui/base/ime/ime_text_span.h",
    "+ui/base/ime/text_input_action.h",
    "+ui/base/ime/mojom/virtual_keyboard_types.mojom-shared.h",
    "+ui/base/page_transition_types.h",
    "+ui/base/prediction",
    "+ui/base/resource/resource_scale_factor.h",
    "+ui/color",
    "+ui/events/types",
    "+ui/gfx",
    "+ui/gl/angle_implementation.h",
    "+url",
    "-web",

    # Allowed only inside INSIDE_BLINK
    "+third_party/blink/renderer/core",
    "+third_party/blink/renderer/platform",
]

specific_include_rules = {
    # Allow WebPrivatePtr to hold actual typed handles (refcounted, GCed roots)
    # to objects. WebPrivatePtr ensures that no implementation details leak.
    "web_private_ptr.h" : [
        "+base/memory/scoped_refptr.h",
        "+third_party/blink/renderer/platform/heap/cross_thread_persistent.h",
        "+third_party/blink/renderer/platform/heap/persistent.h",
        "+third_party/blink/renderer/platform/wtf/type_traits.h",
    ]
}