# For patches touching specific topics, try the topic-specific OWNERS at the
# bottom of the file. For patches that touch multiple areas or if you aren't
# sure, try the more general OWNERS at the bottom.
#
# Folks listed as unofficial can't do OWNERS approvals but are good people to
# ask for informal reviews.

# layers
danakj@chromium.org
pdr@chromium.org
wangxianzhu@chromium.org

# mac-specific
ccameron@chromium.org

# scheduling / begin frames
sunnyps@chromium.org

# tiles, tile management, and raster work
vmpstr@chromium.org

# texture uploading
sunnyps@chromium.org

# math / geometry
flackr@chromium.org

# property trees
chrishtr@chromium.org
weiliangc@chromium.org
pdr@chromium.org
wangxianzhu@chromium.org

# animation
flackr@chromium.org
smcgruer@chromium.org

# images
vmpstr@chromium.org

# surfaces
kylechar@chromium.org
jonross@chromium.org

# input, scrolling
bokan@chromium.org

# scroll snap
majidvp@chromium.org

# metrics
sadrul@chromium.org

# paint
sunnyps@chromium.org
vasilyt@chromium.org

# general
danakj@chromium.org
vmpstr@chromium.org
