# Micro benchmarks not worth running at the moment.
DOM/TraverseChildNodes.html
Interactive/SelectAll.html

# Not enabled by default on some ports
Mutation

# Unstable SVG page loading tests
SVG/Samurai.html

# Takes too long to load
SVG/SierpinskiCarpet.html

SVG/France.html
SVG/FrancoBolloGnomeEzechi.html
SVG/GearFlowers.html
SVG/HereGear.html

# Takes 22s on MacBookPro
SVG/MtSaintHelens.html

# Do not conform to WebKit or Chromium perf test styles
SunSpider
XSSAuditor

# https://bugs.webkit.org/show_bug.cgi?id=98708
Layout/subtree-detaching.html

# We have pure JS tests separately outside Dromaeo.
Dromaeo

# Bug 77024 - Web Inspector: tests in PerformanceTests/inspector/ are timing out
inspector

Canvas/drawimage.html

# Has a time-dependency (monotonically increasing), and is much slower than
# necessary due to https://bugs.webkit.org/show_bug.cgi?id=107236
# but is still useful for testing the threaded parser.
Parser/html-parser-threaded.html

# Redundant with chromium's page cyclers.
Replay

# Requires manual intervention.
Bindings/event-target-wrapper.html

# Crashy, crbug.com/245702
Parser/query-selector-deep.html
Parser/query-selector-id-deep.html

# Does not run on Android
Interactive/window-resize.html

# Times out on Android, crbug.com/358168
Canvas/draw-video-to-hw-accelerated-canvas-2d.html
Canvas/upload-video-to-sub-texture.html
Canvas/upload-video-to-texture.html

# Microbenchmark that we aren't interested in monitoring.
Bindings/gc-forest.html
Bindings/gc-mini-tree.html
Bindings/gc-tree.html
Bindings/named-property-enumerator.html

# Times out on the bots
Interactive/spellcheck-paste-huge-text.html

# Times out on Android. crbug.com/384857
Animation/overlay-background-color-transitions.html
