# This is for the common case of adding or renaming files. If you're doing
# structural changes, use usual OWNERS rules.
per-file BUILD.gn=*

# Page Load Histogram files.
per-file loadtimes_extension_bindings*=file://components/page_load_metrics/OWNERS
# Instant/Search files.
per-file instant_restricted_id_cache*=file://chrome/browser/search/OWNERS

# Content client.
per-file chrome_content_renderer_client_browsertest.cc=*
per-file chrome_content_renderer_client.cc=*
per-file chrome_content_renderer_client.h=*
per-file chrome_content_renderer_client_unittest.cc=*
# COMPONENT: Internals>Services>Network
