# Top level owners, if you can, try to look at more targeted OWNERS
bclayton@google.com
cwallez@chromium.org
dneto@google.com
dsinclair@chromium.org
enga@chromium.org
jiawei.shao@intel.com

# TODO(dawn:1337): Move this file in src/dawn.
per-file dawn.json=file://src/dawn/OWNERS
per-file DEPS=*
per-file README.md=file://docs/OWNERS
