cc: Add layer-based pixel tests.

This adds a test framework for pixel tests based on a layer tree. Included
is a single new pixel test to demonstrate the framework, which is a test
derived from the layout test
platform/chromium/compositing/filters/background-filter-blur.html
reproduced with solid color layers.

New test:
LayerTreeHostFiltersPixelTest.BackgroundFilterBlur

R=jamesr
BUG=191170


Review URL: https://chromiumcodereview.appspot.com/12518026

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188262 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/cc/test/pixel_test.h b/cc/test/pixel_test.h
new file mode 100644
index 0000000..40acb33
--- /dev/null
+++ b/cc/test/pixel_test.h
@@ -0,0 +1,36 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "base/file_util.h"
+#include "testing/gtest/include/gtest/gtest.h"
+#include "ui/gfx/size.h"
+
+#ifndef CC_TEST_PIXEL_TEST_H_
+#define CC_TEST_PIXEL_TEST_H_
+
+namespace cc {
+class GLRenderer;
+class OutputSurface;
+class ResourceProvider;
+
+class PixelTest : public testing::Test {
+ protected:
+  PixelTest();
+  virtual ~PixelTest();
+
+  virtual void SetUp() OVERRIDE;
+
+  bool PixelsMatchReference(const base::FilePath& ref_file);
+
+  gfx::Size device_viewport_size_;
+  scoped_ptr<OutputSurface> output_surface_;
+  scoped_ptr<ResourceProvider> resource_provider_;
+  class PixelTestRendererClient;
+  scoped_ptr<PixelTestRendererClient> fake_client_;
+  scoped_ptr<GLRenderer> renderer_;
+};
+
+}  // namespace cc
+
+#endif  // CC_TEST_PIXEL_TEST_H_