The tests in this directory are all created by the Cobalt team specifically
for Cobalt.  Example tests that may be found here include Cobalt milestone
web pages like cobalt-oxide, and other test cases that are deemed helpful in
getting Cobalt up and running.

If possible, before creating a new Cobalt-specific layout test, one should
search if there are any standard tests that already exist that can be used
as test cases.  For example,

http://test.csswg.org/suites/css2.1/20110323/html4/toc.html
http://test.csswg.org/suites/css-transforms-1_dev/nightly-unstable/html/toc.htm
