# This suite runs the tests in LayoutTests/printing/ with additional flags.
# See the virtual_test_suites() method in tools/blinkpy/web_tests/port/base.py.
# The most critical test to run in this mode is webgl-repeated-printing, which
# is a regression test for a printing bug seen with Google Maps.
