# Core extension and apps team members.
#
# Specific extension APIs may have other authors (e.g. dmazzoni@ for TTS,
# kalman@ for settings), please check with them when making significant changes.
#
# Use file history to guide reviewer selection as this list is randomized.
#
# If you are editing this file, please also update these other OWNERS files with
# a unique random sort (sort -R) of these owners.
#   chrome/browser/chromeos/extensions/OWNERS
#   chrome/common/extensions/OWNERS
#   chrome/renderer/extensions/OWNERS
#   chrome/renderer/resources/extensions/OWNERS
#   extensions/OWNERS
yoz@chromium.org
asargent@chromium.org
kalman@chromium.org
scheib@chromium.org
miket@chromium.org
benwells@chromium.org
rdevlin.cronin@chromium.org
jyasskin@chromium.org
rockot@chromium.org
finnur@chromium.org
mek@chromium.org
