# This file is for TestExpectations entries whose bugs haven't had any activity in 3 months.
# Only imported test suites, virtual tests or platform/configuration-specific lines should
# be moved here. The tests for stale cross-platform lines should just be deleted.
#
# Feel free to take ownership of any of these lines and get the test passing.

# We could fix this test for us and upstream it if the test shell user agent
# would let us differentiate test_shell and WebKit DumpTreeNode.
crbug.com/7482 [ Win Mac ] http/tests/misc/timer-vs-loading.html [ WontFix ]

# These tests are too slow with our MESA backend.  We can re-enable when we have
# bots running tests on real hardware. Don't want to just delete these because they
# pass in the virtual test suite version.
webkit.org/b/49629 compositing/lots-of-img-layers.html [ WontFix ]
webkit.org/b/49629 compositing/lots-of-img-layers-with-opacity.html [ WontFix ]
