# 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

# 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
