# See https://chromium.googlesource.com/angle/angle/+/main/doc/ContributingCode.md#selecting-reviewers for more info
# Note: Owners must be split by domain to avoid git merge conflicts on platforms that cannot have
# email addresses from all platforms.  Also, to avoid downstream git merge conflicts, all changes
# to this file should be done in the upstream ANGLE repository's main branch.

# @chromium.org email addresses:
geofflang@chromium.org
jmadill@chromium.org
kbr@chromium.org
syoussefi@chromium.org
ynovikov@chromium.org

# @google.com email addresses:
abdolrashidi@google.com
cclao@google.com
chrisforbes@google.com
cnorthrop@google.com
geofflang@google.com
ianelliott@google.com
jmadill@google.com
jonahr@google.com
lpy@google.com
romanl@google.com
solti@google.com
srisser@google.com
syoussefi@google.com
vantablack@google.com
ynovikov@google.com
yuxinhu@google.com

# The auto-roller can also modify autogenerated files, so we give it ownership
# over all ANGLE files.
angle-autoroll@skia-public.iam.gserviceaccount.com

per-file AUTHORS=*
per-file CONTRIBUTORS=*
per-file DEPS=*
per-file WATCHLISTS=*
