# See //base/README.md to find qualification for being an owner.

set noparent
# NOTE: keep this in sync with lsc-owners-override@chromium.org owners
ajwong@chromium.org
danakj@chromium.org
dcheng@chromium.org
fdoray@chromium.org
gab@chromium.org
jdoerrie@chromium.org
kylechar@chromium.org
mark@chromium.org
thakis@chromium.org
thestig@chromium.org
wez@chromium.org
# NOTE: keep this in sync with lsc-owners-override@chromium.org owners

# per-file rules:
# These are for the common case of adding or renaming files. If you're doing
# structural changes, please get a review from a reviewer in this file.
per-file BUILD.gn=*

# For Android-specific changes:
per-file *android*=file://base/android/OWNERS
per-file BUILD.gn=file://base/android/OWNERS

# For Fuchsia-specific changes:
per-file *_fuchsia*=file://build/fuchsia/OWNERS

# For Windows-specific changes:
per-file *_win*=file://base/win/OWNERS

per-file callback_list*=pkasting@chromium.org
per-file feature_list*=asvitkine@chromium.org
per-file feature_list*=isherman@chromium.org

# Restricted since rand_util.h also backs the cryptographically secure RNG.
per-file rand_util*=set noparent
per-file rand_util*=file://ipc/SECURITY_OWNERS

per-file safe_numerics_unittest.cc=file://base/numerics/OWNERS

# For TCMalloc tests:
per-file security_unittest.cc=jln@chromium.org
