# 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 top.
#
# Folks listed as unofficial can't do OWNERS approvals but are good people to
# ask for informal reviews.

enne@chromium.org
jamesr@chromium.org
nduca@chromium.org

# layers / quads / passes
enne@chromium.org
danakj@chromium.org

# ubercompositor
piman@chromium.org
danakj@chromium.org

# resource management / mac-specific
# unofficial: epenner@chromium.org
ccameron@chromium.org

# input, gestures, scrolling
aelias@chromium.org

# scheduling / begin frames
brianderson@chromium.org
skyostil@chromium.org
mithro@mithis.com
sunnyps@chromium.org

# texture uploading
brianderson@chromium.org
reveman@chromium.org
skyostil@chromium.org

# tiles and tile management
reveman@chromium.org
vmpstr@chromium.org

# math / geometry / layer_tree_host_common
enne@chromium.org
vollick@chromium.org

# animation
vollick@chromium.org
ajuma@chromium.org

per-file *.isolate=csharp@chromium.org
per-file *.isolate=maruel@chromium.org
