[go: nahoru, domu]

viz: Move FakeOutputSurface + dependencies.

This CL moves test classes from cc/test to components/viz/test. The main
classes being moved are implementations of viz types and belong in
components/viz/test.

1. FakeOutputSurface
2. TestContextProvider
3. TestContextSupport

There are a number of ancillary classes that also need to be moved.
These classes are test implementations of gpu types. The dependency
structure, where cc:test_support depends on components/viz/test,
requires the classes be moved also. It's likely the base gpu types will
eventually be moved to components/viz/service/gpu in the future.

1. OrderedTextureMap
2. TestGLES2Interface
3. TestTexture
4. TestWebGraphicsContext3D

Bug: 814475
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: Ic1fdb0262b222b6cf6054621ef8647f63ee26bcd
Reviewed-on: https://chromium-review.googlesource.com/934624
Commit-Queue: kylechar <kylechar@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539169}
diff --git a/cc/BUILD.gn b/cc/BUILD.gn
index 4ff0ddf5..30d71bb 100644
--- a/cc/BUILD.gn
+++ b/cc/BUILD.gn
@@ -411,8 +411,6 @@
     "test/fake_layer_tree_host_impl_client.h",
     "test/fake_mask_layer_impl.cc",
     "test/fake_mask_layer_impl.h",
-    "test/fake_output_surface.cc",
-    "test/fake_output_surface.h",
     "test/fake_output_surface_client.cc",
     "test/fake_output_surface_client.h",
     "test/fake_paint_image_generator.cc",
@@ -466,8 +464,6 @@
     "test/mock_layer_tree_mutator.cc",
     "test/mock_layer_tree_mutator.h",
     "test/mock_occlusion_tracker.h",
-    "test/ordered_texture_map.cc",
-    "test/ordered_texture_map.h",
     "test/paint_op_helper.h",
     "test/pixel_comparator.cc",
     "test/pixel_comparator.h",
@@ -499,12 +495,6 @@
     "test/stub_layer_tree_host_single_thread_client.h",
     "test/task_graph_runner_test_template.cc",
     "test/task_graph_runner_test_template.h",
-    "test/test_context_provider.cc",
-    "test/test_context_provider.h",
-    "test/test_context_support.cc",
-    "test/test_context_support.h",
-    "test/test_gles2_interface.cc",
-    "test/test_gles2_interface.h",
     "test/test_hooks.cc",
     "test/test_hooks.h",
     "test/test_image_factory.cc",
@@ -518,16 +508,12 @@
     "test/test_skcanvas.h",
     "test/test_task_graph_runner.cc",
     "test/test_task_graph_runner.h",
-    "test/test_texture.cc",
-    "test/test_texture.h",
     "test/test_tile_priorities.cc",
     "test/test_tile_priorities.h",
     "test/test_tile_task_runner.cc",
     "test/test_tile_task_runner.h",
     "test/test_ukm_recorder_factory.cc",
     "test/test_ukm_recorder_factory.h",
-    "test/test_web_graphics_context_3d.cc",
-    "test/test_web_graphics_context_3d.h",
     "test/transfer_cache_test_helper.cc",
     "test/transfer_cache_test_helper.h",
   ]
@@ -654,7 +640,6 @@
     "scheduler/scheduler_state_machine_unittest.cc",
     "scheduler/scheduler_unittest.cc",
     "test/layer_tree_json_parser_unittest.cc",
-    "test/test_web_graphics_context_3d_unittest.cc",
     "tiles/checker_image_tracker_unittest.cc",
     "tiles/decoded_image_tracker_unittest.cc",
     "tiles/gpu_image_decode_cache_unittest.cc",
diff --git a/cc/layers/nine_patch_layer_unittest.cc b/cc/layers/nine_patch_layer_unittest.cc
index 05a3e21..db3dc39 100644
--- a/cc/layers/nine_patch_layer_unittest.cc
+++ b/cc/layers/nine_patch_layer_unittest.cc
@@ -9,7 +9,6 @@
 #include "cc/resources/scoped_ui_resource.h"
 #include "cc/test/fake_layer_tree_host.h"
 #include "cc/test/fake_layer_tree_host_client.h"
-#include "cc/test/fake_output_surface.h"
 #include "cc/test/fake_output_surface_client.h"
 #include "cc/test/geometry_test_utils.h"
 #include "cc/test/test_task_graph_runner.h"
diff --git a/cc/layers/picture_layer_impl_unittest.cc b/cc/layers/picture_layer_impl_unittest.cc
index 327e479..dfccb52a 100644
--- a/cc/layers/picture_layer_impl_unittest.cc
+++ b/cc/layers/picture_layer_impl_unittest.cc
@@ -32,13 +32,13 @@
 #include "cc/test/skia_common.h"
 #include "cc/test/test_layer_tree_host_base.h"
 #include "cc/test/test_task_graph_runner.h"
-#include "cc/test/test_web_graphics_context_3d.h"
 #include "cc/tiles/tiling_set_raster_queue_all.h"
 #include "cc/tiles/tiling_set_raster_queue_required.h"
 #include "cc/trees/layer_tree_impl.h"
 #include "components/viz/common/quads/draw_quad.h"
 #include "components/viz/common/quads/tile_draw_quad.h"
 #include "components/viz/test/begin_frame_args_test.h"
+#include "components/viz/test/test_web_graphics_context_3d.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/gfx/geometry/rect_conversions.h"
 #include "ui/gfx/geometry/size_conversions.h"
@@ -1452,8 +1452,8 @@
   ResetTilingsAndRasterScales();
 
   // Change the max texture size on the output surface context.
-  std::unique_ptr<TestWebGraphicsContext3D> context =
-      TestWebGraphicsContext3D::Create();
+  std::unique_ptr<viz::TestWebGraphicsContext3D> context =
+      viz::TestWebGraphicsContext3D::Create();
   context->set_max_texture_size(140);
   ResetLayerTreeFrameSink(FakeLayerTreeFrameSink::Create3d(std::move(context)));
 
@@ -1487,8 +1487,8 @@
   ResetTilingsAndRasterScales();
 
   // Change the max texture size on the output surface context.
-  std::unique_ptr<TestWebGraphicsContext3D> context =
-      TestWebGraphicsContext3D::Create();
+  std::unique_ptr<viz::TestWebGraphicsContext3D> context =
+      viz::TestWebGraphicsContext3D::Create();
   context->set_max_texture_size(140);
   ResetLayerTreeFrameSink(FakeLayerTreeFrameSink::Create3d(std::move(context)));
 
diff --git a/cc/layers/scrollbar_layer_unittest.cc b/cc/layers/scrollbar_layer_unittest.cc
index ecb37f7..d0b7662 100644
--- a/cc/layers/scrollbar_layer_unittest.cc
+++ b/cc/layers/scrollbar_layer_unittest.cc
@@ -29,9 +29,7 @@
 #include "cc/test/layer_tree_test.h"
 #include "cc/test/mock_occlusion_tracker.h"
 #include "cc/test/stub_layer_tree_host_single_thread_client.h"
-#include "cc/test/test_context_provider.h"
 #include "cc/test/test_task_graph_runner.h"
-#include "cc/test/test_web_graphics_context_3d.h"
 #include "cc/trees/effect_node.h"
 #include "cc/trees/layer_tree_host.h"
 #include "cc/trees/layer_tree_impl.h"
@@ -40,6 +38,8 @@
 #include "cc/trees/single_thread_proxy.h"
 #include "cc/trees/tree_synchronizer.h"
 #include "components/viz/common/quads/solid_color_draw_quad.h"
+#include "components/viz/test/test_context_provider.h"
+#include "components/viz/test/test_web_graphics_context_3d.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -1382,7 +1382,8 @@
 
   // Try something extreme to be larger than max texture size, and make it a
   // non-integer for funsies.
-  scoped_refptr<TestContextProvider> context = TestContextProvider::Create();
+  scoped_refptr<viz::TestContextProvider> context =
+      viz::TestContextProvider::Create();
   // Keep the max texture size reasonable so we don't OOM on low end devices
   // (crbug.com/642333).
   context->UnboundTestContext3d()->set_max_texture_size(512);
diff --git a/cc/layers/surface_layer_unittest.cc b/cc/layers/surface_layer_unittest.cc
index 2a5f562..f846c19 100644
--- a/cc/layers/surface_layer_unittest.cc
+++ b/cc/layers/surface_layer_unittest.cc
@@ -19,7 +19,6 @@
 #include "cc/test/fake_layer_tree_host.h"
 #include "cc/test/fake_layer_tree_host_client.h"
 #include "cc/test/fake_layer_tree_host_impl.h"
-#include "cc/test/fake_output_surface.h"
 #include "cc/test/layer_tree_test.h"
 #include "cc/test/test_task_graph_runner.h"
 #include "cc/trees/layer_tree_host.h"
diff --git a/cc/layers/texture_layer_unittest.cc b/cc/layers/texture_layer_unittest.cc
index 86e13a2..dfce5b3 100644
--- a/cc/layers/texture_layer_unittest.cc
+++ b/cc/layers/texture_layer_unittest.cc
@@ -33,7 +33,6 @@
 #include "cc/test/layer_tree_test.h"
 #include "cc/test/stub_layer_tree_host_single_thread_client.h"
 #include "cc/test/test_task_graph_runner.h"
-#include "cc/test/test_web_graphics_context_3d.h"
 #include "cc/trees/layer_tree_host.h"
 #include "cc/trees/layer_tree_impl.h"
 #include "cc/trees/single_thread_proxy.h"
diff --git a/cc/paint/BUILD.gn b/cc/paint/BUILD.gn
index f6931ed..fa8e19b 100644
--- a/cc/paint/BUILD.gn
+++ b/cc/paint/BUILD.gn
@@ -118,6 +118,7 @@
   deps = [
     "//cc:test_support",
     "//cc/paint",
+    "//components/viz/test:test_support",
   ]
 }
 
diff --git a/cc/paint/DEPS b/cc/paint/DEPS
new file mode 100644
index 0000000..75d19a3
--- /dev/null
+++ b/cc/paint/DEPS
@@ -0,0 +1,5 @@
+specific_include_rules = {
+  "paint_op_buffer_fuzzer.cc": [
+    "+components/viz/test",
+  ],
+}
diff --git a/cc/paint/paint_op_buffer_fuzzer.cc b/cc/paint/paint_op_buffer_fuzzer.cc
index 4b1caa8..ec34033f 100644
--- a/cc/paint/paint_op_buffer_fuzzer.cc
+++ b/cc/paint/paint_op_buffer_fuzzer.cc
@@ -6,8 +6,8 @@
 #include <stdint.h>
 
 #include "cc/paint/paint_op_buffer.h"
-#include "cc/test/test_context_provider.h"
 #include "cc/test/transfer_cache_test_helper.h"
+#include "components/viz/test/test_context_provider.h"
 #include "third_party/skia/include/core/SkSurface.h"
 #include "third_party/skia/include/gpu/GrContext.h"
 
@@ -19,8 +19,8 @@
 
   SkImageInfo image_info = SkImageInfo::MakeN32(
       kRasterDimension, kRasterDimension, kOpaque_SkAlphaType);
-  scoped_refptr<cc::TestContextProvider> context_provider =
-      cc::TestContextProvider::Create();
+  scoped_refptr<viz::TestContextProvider> context_provider =
+      viz::TestContextProvider::Create();
   context_provider->BindToCurrentThread();
   sk_sp<SkSurface> surface = SkSurface::MakeRenderTarget(
       context_provider->GrContext(), SkBudgeted::kYes, image_info);
diff --git a/cc/raster/raster_buffer_provider_perftest.cc b/cc/raster/raster_buffer_provider_perftest.cc
index 5cdbb3c..05418315 100644
--- a/cc/raster/raster_buffer_provider_perftest.cc
+++ b/cc/raster/raster_buffer_provider_perftest.cc
@@ -20,13 +20,12 @@
 #include "cc/resources/resource_pool.h"
 #include "cc/resources/resource_provider.h"
 #include "cc/test/fake_resource_provider.h"
-#include "cc/test/test_context_provider.h"
-#include "cc/test/test_context_support.h"
-#include "cc/test/test_web_graphics_context_3d.h"
 #include "cc/tiles/tile_task_manager.h"
 #include "components/viz/common/gpu/context_cache_controller.h"
 #include "components/viz/common/gpu/context_provider.h"
 #include "components/viz/common/resources/platform_color.h"
+#include "components/viz/test/test_context_provider.h"
+#include "components/viz/test/test_context_support.h"
 #include "components/viz/test/test_gpu_memory_buffer_manager.h"
 #include "components/viz/test/test_shared_bitmap_manager.h"
 #include "gpu/command_buffer/client/raster_implementation_gles.h"
@@ -116,7 +115,7 @@
   gpu::ContextSupport* ContextSupport() override { return &support_; }
   class GrContext* GrContext() override {
     if (!test_context_provider_) {
-      test_context_provider_ = TestContextProvider::Create();
+      test_context_provider_ = viz::TestContextProvider::Create();
     }
     return test_context_provider_->GrContext();
   }
@@ -138,8 +137,8 @@
   std::unique_ptr<PerfGLES2Interface> context_gl_;
   std::unique_ptr<gpu::raster::RasterInterface> raster_context_;
 
-  scoped_refptr<TestContextProvider> test_context_provider_;
-  TestContextSupport support_;
+  scoped_refptr<viz::TestContextProvider> test_context_provider_;
+  viz::TestContextSupport support_;
   viz::ContextCacheController cache_controller_;
   base::Lock context_lock_;
   gpu::Capabilities capabilities_;
diff --git a/cc/raster/raster_buffer_provider_unittest.cc b/cc/raster/raster_buffer_provider_unittest.cc
index a84d145..fdbe51e 100644
--- a/cc/raster/raster_buffer_provider_unittest.cc
+++ b/cc/raster/raster_buffer_provider_unittest.cc
@@ -30,12 +30,12 @@
 #include "cc/resources/resource_provider.h"
 #include "cc/test/fake_raster_source.h"
 #include "cc/test/fake_resource_provider.h"
-#include "cc/test/test_context_provider.h"
-#include "cc/test/test_web_graphics_context_3d.h"
 #include "cc/tiles/tile_task_manager.h"
 #include "components/viz/common/resources/platform_color.h"
+#include "components/viz/test/test_context_provider.h"
 #include "components/viz/test/test_gpu_memory_buffer_manager.h"
 #include "components/viz/test/test_shared_bitmap_manager.h"
+#include "components/viz/test/test_web_graphics_context_3d.h"
 #include "gpu/GLES2/gl2extchromium.h"
 #include "gpu/command_buffer/client/raster_interface.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -296,10 +296,11 @@
 
  private:
   void Create3dResourceProvider() {
-    context_provider_ = TestContextProvider::Create();
+    context_provider_ = viz::TestContextProvider::Create();
     context_provider_->BindToCurrentThread();
-    worker_context_provider_ = TestContextProvider::CreateWorker();
-    TestWebGraphicsContext3D* context3d = context_provider_->TestContext3d();
+    worker_context_provider_ = viz::TestContextProvider::CreateWorker();
+    viz::TestWebGraphicsContext3D* context3d =
+        context_provider_->TestContext3d();
     context3d->set_support_sync_query(true);
     resource_provider_ = FakeResourceProvider::CreateLayerTreeResourceProvider(
         context_provider_.get(), &shared_bitmap_manager_,
@@ -317,8 +318,8 @@
   }
 
  protected:
-  scoped_refptr<TestContextProvider> context_provider_;
-  scoped_refptr<TestContextProvider> worker_context_provider_;
+  scoped_refptr<viz::TestContextProvider> context_provider_;
+  scoped_refptr<viz::TestContextProvider> worker_context_provider_;
   std::unique_ptr<ResourcePool> pool_;
   std::unique_ptr<LayerTreeResourceProvider> resource_provider_;
   std::unique_ptr<TileTaskManager> tile_task_manager_;
@@ -352,7 +353,7 @@
   if (GetParam() == RASTER_BUFFER_PROVIDER_TYPE_BITMAP)
     return;
 
-  TestWebGraphicsContext3D* context3d = context_provider_->TestContext3d();
+  viz::TestWebGraphicsContext3D* context3d = context_provider_->TestContext3d();
   context3d->set_times_map_buffer_chromium_succeeds(0);
   AppendTask(0u);
   ScheduleTasks();
diff --git a/cc/raster/scoped_gpu_raster_unittest.cc b/cc/raster/scoped_gpu_raster_unittest.cc
index d0dc2d0..2131184 100644
--- a/cc/raster/scoped_gpu_raster_unittest.cc
+++ b/cc/raster/scoped_gpu_raster_unittest.cc
@@ -3,7 +3,7 @@
 // found in the LICENSE file.
 
 #include "cc/raster/scoped_gpu_raster.h"
-#include "cc/test/test_context_provider.h"
+#include "components/viz/test/test_context_provider.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace cc {
@@ -16,7 +16,8 @@
 
 // Releasing ScopedGpuRaster should restore GL_UNPACK_ALIGNMENT == 4.
 TEST(ScopedGpuRasterTest, RestoresUnpackAlignment) {
-  scoped_refptr<TestContextProvider> provider = TestContextProvider::Create();
+  scoped_refptr<viz::TestContextProvider> provider =
+      viz::TestContextProvider::Create();
   ASSERT_EQ(provider->BindToCurrentThread(), gpu::ContextResult::kSuccess);
   gpu::gles2::GLES2Interface* gl = provider->ContextGL();
   GLint unpack_alignment = 0;
diff --git a/cc/raster/staging_buffer_pool_unittest.cc b/cc/raster/staging_buffer_pool_unittest.cc
index ec775f6c..51e3f7c 100644
--- a/cc/raster/staging_buffer_pool_unittest.cc
+++ b/cc/raster/staging_buffer_pool_unittest.cc
@@ -9,13 +9,13 @@
 #include "base/run_loop.h"
 #include "base/test/scoped_task_environment.h"
 #include "base/threading/thread_task_runner_handle.h"
-#include "cc/test/test_context_provider.h"
+#include "components/viz/test/test_context_provider.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace cc {
 
 TEST(StagingBufferPoolTest, ShutdownImmediatelyAfterCreation) {
-  auto context_provider = TestContextProvider::CreateWorker();
+  auto context_provider = viz::TestContextProvider::CreateWorker();
   LayerTreeResourceProvider* resource_provider = nullptr;
   bool use_partial_raster = false;
   int max_staging_buffer_usage_in_bytes = 1024;
diff --git a/cc/resources/layer_tree_resource_provider_unittest.cc b/cc/resources/layer_tree_resource_provider_unittest.cc
index 7c0a05f..4069c9b 100644
--- a/cc/resources/layer_tree_resource_provider_unittest.cc
+++ b/cc/resources/layer_tree_resource_provider_unittest.cc
@@ -7,8 +7,8 @@
 #include <memory>
 
 #include "base/bind.h"
-#include "cc/test/test_context_provider.h"
 #include "components/viz/common/resources/single_release_callback.h"
+#include "components/viz/test/test_context_provider.h"
 #include "components/viz/test/test_gpu_memory_buffer_manager.h"
 #include "components/viz/test/test_shared_bitmap_manager.h"
 #include "testing/gmock/include/gmock/gmock.h"
@@ -23,7 +23,7 @@
  protected:
   LayerTreeResourceProviderTest()
       : use_gpu_(GetParam()),
-        context_provider_(TestContextProvider::Create()),
+        context_provider_(viz::TestContextProvider::Create()),
         bound_(context_provider_->BindToCurrentThread()),
         provider_(std::make_unique<LayerTreeResourceProvider>(
             use_gpu_ ? context_provider_.get() : nullptr,
@@ -71,7 +71,7 @@
 
  private:
   bool use_gpu_;
-  scoped_refptr<TestContextProvider> context_provider_;
+  scoped_refptr<viz::TestContextProvider> context_provider_;
   gpu::ContextResult bound_;
   viz::TestSharedBitmapManager shared_bitmap_manager_;
   viz::TestGpuMemoryBufferManager gpu_memory_buffer_manager_;
diff --git a/cc/resources/resource_pool_unittest.cc b/cc/resources/resource_pool_unittest.cc
index d823ce0..0aa7a5c 100644
--- a/cc/resources/resource_pool_unittest.cc
+++ b/cc/resources/resource_pool_unittest.cc
@@ -11,7 +11,7 @@
 #include "base/threading/thread_task_runner_handle.h"
 #include "cc/resources/resource_util.h"
 #include "cc/test/fake_resource_provider.h"
-#include "cc/test/test_context_provider.h"
+#include "components/viz/test/test_context_provider.h"
 #include "components/viz/test/test_shared_bitmap_manager.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -20,7 +20,7 @@
 class ResourcePoolTest : public testing::Test {
  public:
   void SetUp() override {
-    context_provider_ = TestContextProvider::Create();
+    context_provider_ = viz::TestContextProvider::Create();
     context_provider_->BindToCurrentThread();
     resource_provider_ = FakeResourceProvider::CreateLayerTreeResourceProvider(
         context_provider_.get(), nullptr);
@@ -53,7 +53,7 @@
   }
 
   viz::TestSharedBitmapManager shared_bitmap_manager_;
-  scoped_refptr<TestContextProvider> context_provider_;
+  scoped_refptr<viz::TestContextProvider> context_provider_;
   std::unique_ptr<LayerTreeResourceProvider> resource_provider_;
   scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
   std::unique_ptr<ResourcePool> resource_pool_;
diff --git a/cc/resources/resource_provider_unittest.cc b/cc/resources/resource_provider_unittest.cc
index bf325e72..90cef4c 100644
--- a/cc/resources/resource_provider_unittest.cc
+++ b/cc/resources/resource_provider_unittest.cc
@@ -21,15 +21,15 @@
 #include "base/memory/ref_counted.h"
 #include "cc/test/render_pass_test_utils.h"
 #include "cc/test/resource_provider_test_utils.h"
-#include "cc/test/test_context_provider.h"
-#include "cc/test/test_texture.h"
-#include "cc/test/test_web_graphics_context_3d.h"
 #include "components/viz/common/resources/resource_format_utils.h"
 #include "components/viz/common/resources/returned_resource.h"
 #include "components/viz/common/resources/shared_bitmap_manager.h"
 #include "components/viz/common/resources/single_release_callback.h"
+#include "components/viz/test/test_context_provider.h"
 #include "components/viz/test/test_gpu_memory_buffer_manager.h"
 #include "components/viz/test/test_shared_bitmap_manager.h"
+#include "components/viz/test/test_texture.h"
+#include "components/viz/test/test_web_graphics_context_3d.h"
 #include "gpu/GLES2/gl2extchromium.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -98,7 +98,7 @@
   return resource_settings;
 }
 
-class TextureStateTrackingContext : public TestWebGraphicsContext3D {
+class TextureStateTrackingContext : public viz::TestWebGraphicsContext3D {
  public:
   MOCK_METHOD2(bindTexture, void(GLenum target, GLuint texture));
   MOCK_METHOD3(texParameteri, void(GLenum target, GLenum pname, GLint param));
@@ -148,7 +148,7 @@
 
   void ProduceTexture(const GLbyte* mailbox_name,
                       const gpu::SyncToken& sync_token,
-                      scoped_refptr<TestTexture> texture) {
+                      scoped_refptr<viz::TestTexture> texture) {
     uint32_t sync_point = static_cast<uint32_t>(sync_token.release_count());
 
     unsigned mailbox = 0;
@@ -159,8 +159,9 @@
     sync_point_for_mailbox_[mailbox] = sync_point;
   }
 
-  scoped_refptr<TestTexture> ConsumeTexture(const GLbyte* mailbox_name,
-                                            const gpu::SyncToken& sync_token) {
+  scoped_refptr<viz::TestTexture> ConsumeTexture(
+      const GLbyte* mailbox_name,
+      const gpu::SyncToken& sync_token) {
     unsigned mailbox = 0;
     memcpy(&mailbox, mailbox_name, sizeof(mailbox));
     DCHECK(mailbox && mailbox < next_mailbox_);
@@ -170,7 +171,7 @@
     // ProduceTexture.
     if (sync_point_for_mailbox_[mailbox] > sync_token.release_count()) {
       NOTREACHED();
-      return scoped_refptr<TestTexture>();
+      return scoped_refptr<viz::TestTexture>();
     }
     return textures_[mailbox];
   }
@@ -180,12 +181,13 @@
 
   uint64_t next_fence_sync_;
   unsigned next_mailbox_;
-  using TextureMap = std::unordered_map<unsigned, scoped_refptr<TestTexture>>;
+  using TextureMap =
+      std::unordered_map<unsigned, scoped_refptr<viz::TestTexture>>;
   TextureMap textures_;
   std::unordered_map<unsigned, uint32_t> sync_point_for_mailbox_;
 };
 
-class ResourceProviderContext : public TestWebGraphicsContext3D {
+class ResourceProviderContext : public viz::TestWebGraphicsContext3D {
  public:
   static std::unique_ptr<ResourceProviderContext> Create(
       ContextSharedData* shared_data) {
@@ -305,7 +307,7 @@
   GLuint createAndConsumeTextureCHROMIUM(const GLbyte* mailbox) override {
     GLuint texture_id = createTexture();
     base::AutoLock lock_for_texture_access(namespace_->lock);
-    scoped_refptr<TestTexture> texture =
+    scoped_refptr<viz::TestTexture> texture =
         shared_data_->ConsumeTexture(mailbox, last_waited_sync_token_);
     namespace_->textures.Replace(texture_id, texture);
     return texture_id;
@@ -316,7 +318,7 @@
                  uint8_t* pixels) {
     CheckTextureIsBound(GL_TEXTURE_2D);
     base::AutoLock lock_for_texture_access(namespace_->lock);
-    scoped_refptr<TestTexture> texture = BoundTexture(GL_TEXTURE_2D);
+    scoped_refptr<viz::TestTexture> texture = BoundTexture(GL_TEXTURE_2D);
     ASSERT_EQ(texture->size, size);
     ASSERT_EQ(texture->format, format);
     memcpy(pixels, texture->data.get(), TextureSizeBytes(size, format));
@@ -349,7 +351,7 @@
                  const void* pixels) {
     CheckTextureIsBound(GL_TEXTURE_2D);
     base::AutoLock lock_for_texture_access(namespace_->lock);
-    scoped_refptr<TestTexture> texture = BoundTexture(GL_TEXTURE_2D);
+    scoped_refptr<viz::TestTexture> texture = BoundTexture(GL_TEXTURE_2D);
     ASSERT_TRUE(texture->data.get());
     ASSERT_TRUE(xoffset >= 0 && xoffset + width <= texture->size.width());
     ASSERT_TRUE(yoffset >= 0 && yoffset + height <= texture->size.height());
@@ -369,7 +371,7 @@
 
   struct PendingProduceTexture {
     GLbyte mailbox[GL_MAILBOX_SIZE_CHROMIUM];
-    scoped_refptr<TestTexture> texture;
+    scoped_refptr<viz::TestTexture> texture;
   };
   ContextSharedData* shared_data_;
   gpu::SyncToken last_waited_sync_token_;
@@ -405,7 +407,8 @@
     if (use_gpu_) {
       auto context3d(ResourceProviderContext::Create(shared_data_.get()));
       context3d_ = context3d.get();
-      context_provider_ = TestContextProvider::Create(std::move(context3d));
+      context_provider_ =
+          viz::TestContextProvider::Create(std::move(context3d));
       context_provider_->UnboundTestContext3d()
           ->set_support_texture_format_bgra8888(true);
       context_provider_->BindToCurrentThread();
@@ -414,7 +417,7 @@
           ResourceProviderContext::Create(shared_data_.get());
       child_context_ = child_context_owned.get();
       child_context_provider_ =
-          TestContextProvider::Create(std::move(child_context_owned));
+          viz::TestContextProvider::Create(std::move(child_context_owned));
       child_context_provider_->UnboundTestContext3d()
           ->set_support_texture_format_bgra8888(true);
       child_context_provider_->BindToCurrentThread();
@@ -529,8 +532,8 @@
   const std::unique_ptr<ContextSharedData> shared_data_;
   ResourceProviderContext* context3d_ = nullptr;
   ResourceProviderContext* child_context_ = nullptr;
-  scoped_refptr<TestContextProvider> context_provider_;
-  scoped_refptr<TestContextProvider> child_context_provider_;
+  scoped_refptr<viz::TestContextProvider> context_provider_;
+  scoped_refptr<viz::TestContextProvider> child_context_provider_;
   std::unique_ptr<viz::TestGpuMemoryBufferManager> gpu_memory_buffer_manager_;
   std::unique_ptr<DisplayResourceProvider> resource_provider_;
   std::unique_ptr<viz::TestGpuMemoryBufferManager>
@@ -1575,8 +1578,8 @@
   if (use_gpu())
     return;
 
-  scoped_refptr<TestContextProvider> child_context_provider =
-      TestContextProvider::Create(
+  scoped_refptr<viz::TestContextProvider> child_context_provider =
+      viz::TestContextProvider::Create(
           ResourceProviderContext::Create(shared_data_.get()));
   child_context_provider->BindToCurrentThread();
 
@@ -1872,7 +1875,7 @@
     TextureStateTrackingContext* child_context = child_context_owned.get();
 
     auto child_context_provider =
-        TestContextProvider::Create(std::move(child_context_owned));
+        viz::TestContextProvider::Create(std::move(child_context_owned));
     child_context_provider->BindToCurrentThread();
     auto shared_bitmap_manager =
         std::make_unique<viz::TestSharedBitmapManager>();
@@ -1886,7 +1889,7 @@
     TextureStateTrackingContext* parent_context = parent_context_owned.get();
 
     auto parent_context_provider =
-        TestContextProvider::Create(std::move(parent_context_owned));
+        viz::TestContextProvider::Create(std::move(parent_context_owned));
     parent_context_provider->BindToCurrentThread();
 
     auto parent_resource_provider(std::make_unique<DisplayResourceProvider>(
@@ -2336,7 +2339,8 @@
 
   auto context_owned = std::make_unique<TextureStateTrackingContext>();
   TextureStateTrackingContext* context = context_owned.get();
-  auto context_provider = TestContextProvider::Create(std::move(context_owned));
+  auto context_provider =
+      viz::TestContextProvider::Create(std::move(context_owned));
   context_provider->BindToCurrentThread();
 
   viz::ResourceSettings resource_settings = CreateResourceSettings();
@@ -2347,7 +2351,7 @@
   TextureStateTrackingContext* child_context = child_context_owned.get();
 
   auto child_context_provider =
-      TestContextProvider::Create(std::move(child_context_owned));
+      viz::TestContextProvider::Create(std::move(child_context_owned));
   child_context_provider->BindToCurrentThread();
 
   auto child_resource_provider(std::make_unique<LayerTreeResourceProvider>(
@@ -2429,7 +2433,8 @@
 
   auto context_owned(std::make_unique<TextureStateTrackingContext>());
   TextureStateTrackingContext* context = context_owned.get();
-  auto context_provider = TestContextProvider::Create(std::move(context_owned));
+  auto context_provider =
+      viz::TestContextProvider::Create(std::move(context_owned));
   context_provider->BindToCurrentThread();
 
   auto resource_provider(std::make_unique<LayerTreeResourceProvider>(
@@ -2468,7 +2473,8 @@
 
   auto context_owned(std::make_unique<TextureStateTrackingContext>());
   TextureStateTrackingContext* context = context_owned.get();
-  auto context_provider = TestContextProvider::Create(std::move(context_owned));
+  auto context_provider =
+      viz::TestContextProvider::Create(std::move(context_owned));
   context_provider->BindToCurrentThread();
 
   auto resource_provider(std::make_unique<LayerTreeResourceProvider>(
@@ -2508,7 +2514,8 @@
   TextureStateTrackingContext* context = context_owned.get();
   context->set_support_texture_storage(true);
   context->set_support_texture_usage(true);
-  auto context_provider = TestContextProvider::Create(std::move(context_owned));
+  auto context_provider =
+      viz::TestContextProvider::Create(std::move(context_owned));
   context_provider->BindToCurrentThread();
 
   auto resource_provider(std::make_unique<LayerTreeResourceProvider>(
@@ -2632,7 +2639,7 @@
     auto context_owned(std::make_unique<TextureStateTrackingContext>());
     TextureStateTrackingContext* context = context_owned.get();
     auto context_provider =
-        TestContextProvider::Create(std::move(context_owned));
+        viz::TestContextProvider::Create(std::move(context_owned));
     context_provider->BindToCurrentThread();
 
     auto resource_provider(std::make_unique<DisplayResourceProvider>(
@@ -2641,7 +2648,7 @@
     auto child_context_owned(std::make_unique<TextureStateTrackingContext>());
     TextureStateTrackingContext* child_context = child_context_owned.get();
     auto child_context_provider =
-        TestContextProvider::Create(std::move(child_context_owned));
+        viz::TestContextProvider::Create(std::move(child_context_owned));
     child_context_provider->BindToCurrentThread();
 
     auto child_resource_provider(std::make_unique<LayerTreeResourceProvider>(
@@ -2796,7 +2803,8 @@
 
   auto context_owned(std::make_unique<TextureStateTrackingContext>());
   TextureStateTrackingContext* context = context_owned.get();
-  auto context_provider = TestContextProvider::Create(std::move(context_owned));
+  auto context_provider =
+      viz::TestContextProvider::Create(std::move(context_owned));
   context_provider->BindToCurrentThread();
 
   auto resource_provider(std::make_unique<DisplayResourceProvider>(
@@ -2805,7 +2813,7 @@
   auto child_context_owned(std::make_unique<TextureStateTrackingContext>());
   TextureStateTrackingContext* child_context = child_context_owned.get();
   auto child_context_provider =
-      TestContextProvider::Create(std::move(child_context_owned));
+      viz::TestContextProvider::Create(std::move(child_context_owned));
   child_context_provider->BindToCurrentThread();
 
   auto child_resource_provider(std::make_unique<LayerTreeResourceProvider>(
@@ -2903,7 +2911,8 @@
 
   auto context_owned(std::make_unique<TextureStateTrackingContext>());
   TextureStateTrackingContext* context = context_owned.get();
-  auto context_provider = TestContextProvider::Create(std::move(context_owned));
+  auto context_provider =
+      viz::TestContextProvider::Create(std::move(context_owned));
   context_provider->BindToCurrentThread();
 
   auto resource_provider = std::make_unique<DisplayResourceProvider>(
@@ -2959,7 +2968,8 @@
 
   auto context_owned(std::make_unique<TextureStateTrackingContext>());
   TextureStateTrackingContext* context = context_owned.get();
-  auto context_provider = TestContextProvider::Create(std::move(context_owned));
+  auto context_provider =
+      viz::TestContextProvider::Create(std::move(context_owned));
   context_provider->BindToCurrentThread();
 
   auto resource_provider = std::make_unique<DisplayResourceProvider>(
@@ -3002,7 +3012,8 @@
 
   auto context_owned(std::make_unique<TextureStateTrackingContext>());
   TextureStateTrackingContext* context = context_owned.get();
-  auto context_provider = TestContextProvider::Create(std::move(context_owned));
+  auto context_provider =
+      viz::TestContextProvider::Create(std::move(context_owned));
   context_provider->BindToCurrentThread();
 
   auto resource_provider = std::make_unique<DisplayResourceProvider>(
@@ -3039,7 +3050,8 @@
 
   auto context_owned(std::make_unique<TextureStateTrackingContext>());
   TextureStateTrackingContext* context = context_owned.get();
-  auto context_provider = TestContextProvider::Create(std::move(context_owned));
+  auto context_provider =
+      viz::TestContextProvider::Create(std::move(context_owned));
   context_provider->BindToCurrentThread();
 
   auto resource_provider(std::make_unique<LayerTreeResourceProvider>(
@@ -3153,7 +3165,8 @@
   std::unique_ptr<AllocationTrackingContext3D> context_owned(
       new StrictMock<AllocationTrackingContext3D>);
   AllocationTrackingContext3D* context = context_owned.get();
-  auto context_provider = TestContextProvider::Create(std::move(context_owned));
+  auto context_provider =
+      viz::TestContextProvider::Create(std::move(context_owned));
   context_provider->BindToCurrentThread();
 
   auto resource_provider(std::make_unique<LayerTreeResourceProvider>(
@@ -3210,7 +3223,8 @@
   context->set_support_texture_storage(true);
   context->set_support_texture_usage(true);
 
-  auto context_provider = TestContextProvider::Create(std::move(context_owned));
+  auto context_provider =
+      viz::TestContextProvider::Create(std::move(context_owned));
   context_provider->BindToCurrentThread();
 
   auto child_resource_provider(std::make_unique<LayerTreeResourceProvider>(
@@ -3241,7 +3255,8 @@
   std::unique_ptr<AllocationTrackingContext3D> context_owned(
       new StrictMock<AllocationTrackingContext3D>);
   AllocationTrackingContext3D* context = context_owned.get();
-  auto context_provider = TestContextProvider::Create(std::move(context_owned));
+  auto context_provider =
+      viz::TestContextProvider::Create(std::move(context_owned));
   context_provider->BindToCurrentThread();
 
   const int kWidth = 2;
@@ -3301,7 +3316,8 @@
       new AllocationTrackingContext3D);
   AllocationTrackingContext3D* context = context_owned.get();
   context_owned->set_support_compressed_texture_etc1(true);
-  auto context_provider = TestContextProvider::Create(std::move(context_owned));
+  auto context_provider =
+      viz::TestContextProvider::Create(std::move(context_owned));
   context_provider->BindToCurrentThread();
 
   gfx::Size size(4, 4);
@@ -3330,7 +3346,8 @@
       new AllocationTrackingContext3D);
   AllocationTrackingContext3D* context = context_owned.get();
   context_owned->set_support_compressed_texture_etc1(true);
-  auto context_provider = TestContextProvider::Create(std::move(context_owned));
+  auto context_provider =
+      viz::TestContextProvider::Create(std::move(context_owned));
   context_provider->BindToCurrentThread();
 
   gfx::Size size(4, 4);
@@ -3359,7 +3376,8 @@
                         ResourceProviderTest,
                         ::testing::Values(true, false));
 
-class TextureIdAllocationTrackingContext : public TestWebGraphicsContext3D {
+class TextureIdAllocationTrackingContext
+    : public viz::TestWebGraphicsContext3D {
  public:
   GLuint NextTextureId() override {
     base::AutoLock lock(namespace_->lock);
@@ -3407,7 +3425,8 @@
   std::unique_ptr<AllocationTrackingContext3D> context_owned(
       new StrictMock<AllocationTrackingContext3D>);
   AllocationTrackingContext3D* context = context_owned.get();
-  auto context_provider = TestContextProvider::Create(std::move(context_owned));
+  auto context_provider =
+      viz::TestContextProvider::Create(std::move(context_owned));
   context_provider->BindToCurrentThread();
 
   const int kWidth = 2;
@@ -3460,7 +3479,8 @@
   AllocationTrackingContext3D* context = context_owned.get();
   context->set_support_texture_storage_image(true);
 
-  auto context_provider = TestContextProvider::Create(std::move(context_owned));
+  auto context_provider =
+      viz::TestContextProvider::Create(std::move(context_owned));
   context_provider->BindToCurrentThread();
 
   const int kWidth = 2;
@@ -3511,7 +3531,8 @@
   std::unique_ptr<AllocationTrackingContext3D> context_owned(
       new StrictMock<AllocationTrackingContext3D>);
   AllocationTrackingContext3D* context = context_owned.get();
-  auto context_provider = TestContextProvider::Create(std::move(context_owned));
+  auto context_provider =
+      viz::TestContextProvider::Create(std::move(context_owned));
   context_provider->BindToCurrentThread();
 
   const int kWidth = 2;
@@ -3598,7 +3619,8 @@
   AllocationTrackingContext3D* context = context_owned.get();
   context->set_support_texture_storage_image(true);
 
-  auto context_provider = TestContextProvider::Create(std::move(context_owned));
+  auto context_provider =
+      viz::TestContextProvider::Create(std::move(context_owned));
   context_provider->BindToCurrentThread();
 
   const int kWidth = 2;
diff --git a/cc/resources/video_resource_updater_unittest.cc b/cc/resources/video_resource_updater_unittest.cc
index 247e6c0..acc9ae8 100644
--- a/cc/resources/video_resource_updater_unittest.cc
+++ b/cc/resources/video_resource_updater_unittest.cc
@@ -10,11 +10,11 @@
 #include "base/bind.h"
 #include "base/memory/ptr_util.h"
 #include "cc/resources/resource_provider.h"
-#include "cc/test/fake_output_surface.h"
 #include "cc/test/fake_output_surface_client.h"
 #include "cc/test/fake_resource_provider.h"
-#include "cc/test/test_web_graphics_context_3d.h"
+#include "components/viz/test/fake_output_surface.h"
 #include "components/viz/test/test_shared_bitmap_manager.h"
+#include "components/viz/test/test_web_graphics_context_3d.h"
 #include "gpu/GLES2/gl2extchromium.h"
 #include "media/base/video_frame.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -22,7 +22,7 @@
 namespace cc {
 namespace {
 
-class WebGraphicsContext3DUploadCounter : public TestWebGraphicsContext3D {
+class WebGraphicsContext3DUploadCounter : public viz::TestWebGraphicsContext3D {
  public:
   void texSubImage2D(GLenum target,
                      GLint level,
@@ -94,7 +94,7 @@
     context3d_ = context3d.get();
     context3d_->set_support_texture_storage(true);
 
-    context_provider_ = TestContextProvider::Create(std::move(context3d));
+    context_provider_ = viz::TestContextProvider::Create(std::move(context3d));
     context_provider_->BindToCurrentThread();
   }
 
@@ -244,7 +244,7 @@
   static const gpu::SyncToken kMailboxSyncToken;
 
   WebGraphicsContext3DUploadCounter* context3d_;
-  scoped_refptr<TestContextProvider> context_provider_;
+  scoped_refptr<viz::TestContextProvider> context_provider_;
   std::unique_ptr<SharedBitmapManagerAllocationCounter> shared_bitmap_manager_;
   std::unique_ptr<LayerTreeResourceProvider> resource_provider3d_;
   std::unique_ptr<LayerTreeResourceProvider> resource_provider_software_;
diff --git a/cc/test/DEPS b/cc/test/DEPS
index c4dabb6..06419d31 100644
--- a/cc/test/DEPS
+++ b/cc/test/DEPS
@@ -2,9 +2,7 @@
   "+components/viz/common",
   "+components/viz/test",
   "+components/viz/service",
-  "+gpu/command_buffer/client/gl_in_process_context.h",
   "+gpu/command_buffer/client/gles2_implementation.h",
-  "+gpu/command_buffer/client/gles2_interface_stub.h",
   "+gpu/command_buffer/client/raster_implementation_gles.h",
   "+gpu/command_buffer/client/shared_memory_limits.h",
   "+gpu/command_buffer/common/context_creation_attribs.h",
diff --git a/cc/test/fake_layer_tree_frame_sink.cc b/cc/test/fake_layer_tree_frame_sink.cc
index 943484a..0362e8c4 100644
--- a/cc/test/fake_layer_tree_frame_sink.cc
+++ b/cc/test/fake_layer_tree_frame_sink.cc
@@ -17,8 +17,8 @@
 namespace cc {
 
 FakeLayerTreeFrameSink::Builder::Builder()
-    : compositor_context_provider_(TestContextProvider::Create()),
-      worker_context_provider_(TestContextProvider::CreateWorker()) {}
+    : compositor_context_provider_(viz::TestContextProvider::Create()),
+      worker_context_provider_(viz::TestContextProvider::CreateWorker()) {}
 
 FakeLayerTreeFrameSink::Builder::~Builder() = default;
 
diff --git a/cc/test/fake_layer_tree_frame_sink.h b/cc/test/fake_layer_tree_frame_sink.h
index 60f9bb86..a4f2fc8 100644
--- a/cc/test/fake_layer_tree_frame_sink.h
+++ b/cc/test/fake_layer_tree_frame_sink.h
@@ -13,15 +13,15 @@
 #include "base/memory/ptr_util.h"
 #include "base/memory/weak_ptr.h"
 #include "base/time/time.h"
-#include "cc/test/test_context_provider.h"
-#include "cc/test/test_gles2_interface.h"
-#include "cc/test/test_web_graphics_context_3d.h"
 #include "cc/trees/layer_tree_frame_sink.h"
 #include "components/viz/common/frame_sinks/begin_frame_args.h"
 #include "components/viz/common/quads/compositor_frame.h"
 #include "components/viz/service/display/software_output_device.h"
+#include "components/viz/test/test_context_provider.h"
+#include "components/viz/test/test_gles2_interface.h"
 #include "components/viz/test/test_gpu_memory_buffer_manager.h"
 #include "components/viz/test/test_shared_bitmap_manager.h"
+#include "components/viz/test/test_web_graphics_context_3d.h"
 
 namespace viz {
 class BeginFrameSource;
@@ -42,7 +42,7 @@
 
     // Calls a function on both the compositor and worker context.
     template <typename... Args>
-    Builder& AllContexts(void (TestWebGraphicsContext3D::*fn)(Args...),
+    Builder& AllContexts(void (viz::TestWebGraphicsContext3D::*fn)(Args...),
                          Args... args) {
       DCHECK(compositor_context_provider_);
       DCHECK(worker_context_provider_);
@@ -55,42 +55,45 @@
     }
 
    private:
-    scoped_refptr<TestContextProvider> compositor_context_provider_;
-    scoped_refptr<TestContextProvider> worker_context_provider_;
+    scoped_refptr<viz::TestContextProvider> compositor_context_provider_;
+    scoped_refptr<viz::TestContextProvider> worker_context_provider_;
   };
 
   ~FakeLayerTreeFrameSink() override;
 
   static std::unique_ptr<FakeLayerTreeFrameSink> Create3d() {
-    return base::WrapUnique(new FakeLayerTreeFrameSink(
-        TestContextProvider::Create(), TestContextProvider::CreateWorker()));
+    return base::WrapUnique(
+        new FakeLayerTreeFrameSink(viz::TestContextProvider::Create(),
+                                   viz::TestContextProvider::CreateWorker()));
   }
 
   static std::unique_ptr<FakeLayerTreeFrameSink> Create3d(
-      scoped_refptr<TestContextProvider> context_provider) {
+      scoped_refptr<viz::TestContextProvider> context_provider) {
     return base::WrapUnique(new FakeLayerTreeFrameSink(
-        std::move(context_provider), TestContextProvider::CreateWorker()));
+        std::move(context_provider), viz::TestContextProvider::CreateWorker()));
   }
 
   static std::unique_ptr<FakeLayerTreeFrameSink> Create3d(
-      scoped_refptr<TestContextProvider> context_provider,
-      scoped_refptr<TestContextProvider> worker_context_provider) {
+      scoped_refptr<viz::TestContextProvider> context_provider,
+      scoped_refptr<viz::TestContextProvider> worker_context_provider) {
     return base::WrapUnique(new FakeLayerTreeFrameSink(
         std::move(context_provider), std::move(worker_context_provider)));
   }
 
   static std::unique_ptr<FakeLayerTreeFrameSink> Create3d(
-      std::unique_ptr<TestWebGraphicsContext3D> context) {
+      std::unique_ptr<viz::TestWebGraphicsContext3D> context) {
     return base::WrapUnique(new FakeLayerTreeFrameSink(
-        TestContextProvider::Create(std::move(context)),
-        TestContextProvider::CreateWorker()));
+        viz::TestContextProvider::Create(std::move(context)),
+        viz::TestContextProvider::CreateWorker()));
   }
 
   static std::unique_ptr<FakeLayerTreeFrameSink> Create3dForGpuRasterization(
       int max_msaa_samples = 0) {
     return Builder()
-        .AllContexts(&TestWebGraphicsContext3D::set_gpu_rasterization, true)
-        .AllContexts(&TestWebGraphicsContext3D::SetMaxSamples, max_msaa_samples)
+        .AllContexts(&viz::TestWebGraphicsContext3D::set_gpu_rasterization,
+                     true)
+        .AllContexts(&viz::TestWebGraphicsContext3D::SetMaxSamples,
+                     max_msaa_samples)
         .Build();
   }
 
diff --git a/cc/test/layer_tree_test.cc b/cc/test/layer_tree_test.cc
index b37fefa..3917a0f 100644
--- a/cc/test/layer_tree_test.cc
+++ b/cc/test/layer_tree_test.cc
@@ -21,8 +21,6 @@
 #include "cc/layers/layer_impl.h"
 #include "cc/test/animation_test_common.h"
 #include "cc/test/fake_layer_tree_host_client.h"
-#include "cc/test/fake_output_surface.h"
-#include "cc/test/test_context_provider.h"
 #include "cc/test/test_ukm_recorder_factory.h"
 #include "cc/trees/layer_tree_host_client.h"
 #include "cc/trees/layer_tree_host_impl.h"
@@ -33,6 +31,8 @@
 #include "cc/trees/single_thread_proxy.h"
 #include "components/ukm/test_ukm_recorder.h"
 #include "components/viz/test/begin_frame_args_test.h"
+#include "components/viz/test/fake_output_surface.h"
+#include "components/viz/test/test_context_provider.h"
 #include "components/viz/test/test_layer_tree_frame_sink.h"
 #include "components/viz/test/test_shared_bitmap_manager.h"
 #include "testing/gmock/include/gmock/gmock.h"
@@ -952,10 +952,10 @@
 }
 
 void LayerTreeTest::RequestNewLayerTreeFrameSink() {
-  scoped_refptr<TestContextProvider> shared_context_provider =
-      TestContextProvider::Create();
-  scoped_refptr<TestContextProvider> worker_context_provider =
-      TestContextProvider::CreateWorker();
+  scoped_refptr<viz::TestContextProvider> shared_context_provider =
+      viz::TestContextProvider::Create();
+  scoped_refptr<viz::TestContextProvider> worker_context_provider =
+      viz::TestContextProvider::CreateWorker();
 
   viz::RendererSettings renderer_settings;
   // Spend less time waiting for BeginFrame because the output is
@@ -1000,7 +1000,8 @@
 LayerTreeTest::CreateDisplayOutputSurfaceOnThread(
     scoped_refptr<viz::ContextProvider> compositor_context_provider) {
   // By default the Display shares a context with the LayerTreeHostImpl.
-  return FakeOutputSurface::Create3d(std::move(compositor_context_provider));
+  return viz::FakeOutputSurface::Create3d(
+      std::move(compositor_context_provider));
 }
 
 void LayerTreeTest::DestroyLayerTreeHost() {
diff --git a/cc/test/layer_tree_test.h b/cc/test/layer_tree_test.h
index 176a7cb3..1eea0d7 100644
--- a/cc/test/layer_tree_test.h
+++ b/cc/test/layer_tree_test.h
@@ -18,6 +18,7 @@
 
 namespace viz {
 class BeginFrameSource;
+class TestContextProvider;
 class TestLayerTreeFrameSink;
 }
 
@@ -30,7 +31,6 @@
 class LayerTreeTestLayerTreeFrameSinkClient;
 class Proxy;
 class SingleKeyframeEffectAnimation;
-class TestContextProvider;
 class TestTaskGraphRunner;
 
 // Creates the virtual viewport layer hierarchy under the given root_layer.
@@ -210,7 +210,7 @@
   std::unique_ptr<viz::TestGpuMemoryBufferManager> gpu_memory_buffer_manager_;
   std::unique_ptr<TestTaskGraphRunner> task_graph_runner_;
   base::CancelableClosure timeout_;
-  scoped_refptr<TestContextProvider> compositor_contexts_;
+  scoped_refptr<viz::TestContextProvider> compositor_contexts_;
   base::WeakPtr<LayerTreeTest> main_thread_weak_ptr_;
   base::WeakPtrFactory<LayerTreeTest> weak_factory_;
 };
diff --git a/cc/tiles/gpu_image_decode_cache_unittest.cc b/cc/tiles/gpu_image_decode_cache_unittest.cc
index 8ad8d2c3..d0046c72 100644
--- a/cc/tiles/gpu_image_decode_cache_unittest.cc
+++ b/cc/tiles/gpu_image_decode_cache_unittest.cc
@@ -11,11 +11,11 @@
 #include "cc/paint/paint_image_builder.h"
 #include "cc/test/fake_paint_image_generator.h"
 #include "cc/test/skia_common.h"
-#include "cc/test/test_context_provider.h"
-#include "cc/test/test_gles2_interface.h"
 #include "cc/test/test_tile_task_runner.h"
-#include "cc/test/test_web_graphics_context_3d.h"
 #include "cc/test/transfer_cache_test_helper.h"
+#include "components/viz/test/test_context_provider.h"
+#include "components/viz/test/test_gles2_interface.h"
+#include "components/viz/test/test_web_graphics_context_3d.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/skia/include/core/SkImageGenerator.h"
 #include "third_party/skia/include/core/SkRefCnt.h"
@@ -25,7 +25,7 @@
 
 class FakeDiscardableManager {
  public:
-  void SetGLES2Interface(TestGLES2Interface* gl) { gl_ = gl; }
+  void SetGLES2Interface(viz::TestGLES2Interface* gl) { gl_ = gl; }
   void Initialize(GLuint texture_id) {
     EXPECT_EQ(textures_.end(), textures_.find(texture_id));
     textures_[texture_id] = kHandleLockedStart;
@@ -92,11 +92,11 @@
   std::map<GLuint, int32_t> textures_;
   size_t live_textures_count_ = 0;
   size_t cached_textures_limit_ = std::numeric_limits<size_t>::max();
-  TestGLES2Interface* gl_ = nullptr;
+  viz::TestGLES2Interface* gl_ = nullptr;
 };
 
-class FakeGPUImageDecodeTestGLES2Interface : public TestGLES2Interface,
-                                             public TestContextSupport {
+class FakeGPUImageDecodeTestGLES2Interface : public viz::TestGLES2Interface,
+                                             public viz::TestContextSupport {
  public:
   explicit FakeGPUImageDecodeTestGLES2Interface(
       FakeDiscardableManager* discardable_manager,
@@ -165,7 +165,7 @@
     return std::make_pair(static_cast<TransferCacheEntryType>(type), id);
   }
 
-  // TestGLES2Interface:
+  // viz::TestGLES2Interface:
   const GLubyte* GetString(GLenum name) override {
     switch (name) {
       case GL_EXTENSIONS:
@@ -209,7 +209,7 @@
   std::unique_ptr<uint8_t[]> mapped_entry_;
 };
 
-class GPUImageDecodeTestMockContextProvider : public TestContextProvider {
+class GPUImageDecodeTestMockContextProvider : public viz::TestContextProvider {
  public:
   static scoped_refptr<GPUImageDecodeTestMockContextProvider> Create(
       FakeDiscardableManager* discardable_manager,
@@ -219,15 +219,15 @@
             discardable_manager, transfer_cache_helper),
         std::make_unique<FakeGPUImageDecodeTestGLES2Interface>(
             discardable_manager, transfer_cache_helper),
-        TestWebGraphicsContext3D::Create());
+        viz::TestWebGraphicsContext3D::Create());
   }
 
  private:
   ~GPUImageDecodeTestMockContextProvider() override = default;
   GPUImageDecodeTestMockContextProvider(
-      std::unique_ptr<TestContextSupport> support,
-      std::unique_ptr<TestGLES2Interface> gl,
-      std::unique_ptr<TestWebGraphicsContext3D> context)
+      std::unique_ptr<viz::TestContextSupport> support,
+      std::unique_ptr<viz::TestGLES2Interface> gl,
+      std::unique_ptr<viz::TestWebGraphicsContext3D> context)
       : TestContextProvider(std::move(support),
                             std::move(gl),
                             std::move(context),
diff --git a/cc/tiles/picture_layer_tiling_set_unittest.cc b/cc/tiles/picture_layer_tiling_set_unittest.cc
index 93de09fd..7ea10ee 100644
--- a/cc/tiles/picture_layer_tiling_set_unittest.cc
+++ b/cc/tiles/picture_layer_tiling_set_unittest.cc
@@ -10,12 +10,12 @@
 #include "base/memory/ptr_util.h"
 #include "cc/resources/layer_tree_resource_provider.h"
 #include "cc/resources/resource_provider.h"
-#include "cc/test/fake_output_surface.h"
 #include "cc/test/fake_output_surface_client.h"
 #include "cc/test/fake_picture_layer_tiling_client.h"
 #include "cc/test/fake_raster_source.h"
 #include "cc/test/fake_resource_provider.h"
 #include "cc/trees/layer_tree_settings.h"
+#include "components/viz/test/fake_output_surface.h"
 #include "components/viz/test/test_shared_bitmap_manager.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/gfx/geometry/size_conversions.h"
@@ -245,8 +245,8 @@
                float scale_increment,
                float ideal_contents_scale,
                float expected_scale) {
-    scoped_refptr<TestContextProvider> context_provider =
-        TestContextProvider::Create();
+    scoped_refptr<viz::TestContextProvider> context_provider =
+        viz::TestContextProvider::Create();
     ASSERT_EQ(context_provider->BindToCurrentThread(),
               gpu::ContextResult::kSuccess);
     auto shared_bitmap_manager =
diff --git a/cc/tiles/picture_layer_tiling_unittest.cc b/cc/tiles/picture_layer_tiling_unittest.cc
index 87424be8..7f46861a 100644
--- a/cc/tiles/picture_layer_tiling_unittest.cc
+++ b/cc/tiles/picture_layer_tiling_unittest.cc
@@ -13,11 +13,9 @@
 #include "base/macros.h"
 #include "base/memory/ptr_util.h"
 #include "cc/base/math_util.h"
-#include "cc/test/fake_output_surface.h"
 #include "cc/test/fake_output_surface_client.h"
 #include "cc/test/fake_picture_layer_tiling_client.h"
 #include "cc/test/fake_raster_source.h"
-#include "cc/test/test_context_provider.h"
 #include "cc/tiles/picture_layer_tiling_set.h"
 #include "cc/trees/layer_tree_settings.h"
 #include "testing/gtest/include/gtest/gtest.h"
diff --git a/cc/trees/layer_tree_frame_sink_unittest.cc b/cc/trees/layer_tree_frame_sink_unittest.cc
index a810f0b..7ccde47 100644
--- a/cc/trees/layer_tree_frame_sink_unittest.cc
+++ b/cc/trees/layer_tree_frame_sink_unittest.cc
@@ -7,9 +7,9 @@
 #include "base/memory/ptr_util.h"
 #include "base/test/test_simple_task_runner.h"
 #include "cc/test/fake_layer_tree_frame_sink_client.h"
-#include "cc/test/test_context_provider.h"
-#include "cc/test/test_web_graphics_context_3d.h"
 #include "components/viz/common/quads/compositor_frame.h"
+#include "components/viz/test/test_context_provider.h"
+#include "components/viz/test/test_web_graphics_context_3d.h"
 #include "gpu/GLES2/gl2extchromium.h"
 #include "gpu/command_buffer/client/raster_interface.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -39,9 +39,10 @@
 };
 
 TEST(LayerTreeFrameSinkTest, ContextLossInformsClient) {
-  scoped_refptr<TestContextProvider> provider = TestContextProvider::Create();
-  scoped_refptr<TestContextProvider> worker_provider =
-      TestContextProvider::CreateWorker();
+  scoped_refptr<viz::TestContextProvider> provider =
+      viz::TestContextProvider::Create();
+  scoped_refptr<viz::TestContextProvider> worker_provider =
+      viz::TestContextProvider::CreateWorker();
   auto task_runner = base::MakeRefCounted<base::TestSimpleTaskRunner>();
   StubLayerTreeFrameSink layer_tree_frame_sink(provider, worker_provider,
                                                task_runner);
@@ -60,10 +61,10 @@
 }
 
 TEST(LayerTreeFrameSinkTest, ContextLossFailsBind) {
-  scoped_refptr<TestContextProvider> context_provider =
-      TestContextProvider::Create();
-  scoped_refptr<TestContextProvider> worker_provider =
-      TestContextProvider::CreateWorker();
+  scoped_refptr<viz::TestContextProvider> context_provider =
+      viz::TestContextProvider::Create();
+  scoped_refptr<viz::TestContextProvider> worker_provider =
+      viz::TestContextProvider::CreateWorker();
 
   // Lose the context so BindToClient fails.
   context_provider->UnboundTestContext3d()->set_context_lost(true);
@@ -79,9 +80,10 @@
 }
 
 TEST(LayerTreeFrameSinkTest, WorkerContextLossInformsClient) {
-  scoped_refptr<TestContextProvider> provider = TestContextProvider::Create();
-  scoped_refptr<TestContextProvider> worker_provider =
-      TestContextProvider::CreateWorker();
+  scoped_refptr<viz::TestContextProvider> provider =
+      viz::TestContextProvider::Create();
+  scoped_refptr<viz::TestContextProvider> worker_provider =
+      viz::TestContextProvider::CreateWorker();
   auto task_runner = base::MakeRefCounted<base::TestSimpleTaskRunner>();
   StubLayerTreeFrameSink layer_tree_frame_sink(provider, worker_provider,
                                                task_runner);
@@ -105,10 +107,10 @@
 }
 
 TEST(LayerTreeFrameSinkTest, WorkerContextLossFailsBind) {
-  scoped_refptr<TestContextProvider> context_provider =
-      TestContextProvider::Create();
-  scoped_refptr<TestContextProvider> worker_provider =
-      TestContextProvider::CreateWorker();
+  scoped_refptr<viz::TestContextProvider> context_provider =
+      viz::TestContextProvider::Create();
+  scoped_refptr<viz::TestContextProvider> worker_provider =
+      viz::TestContextProvider::CreateWorker();
 
   // Lose the context so BindToClient fails.
   worker_provider->UnboundTestContext3d()->set_context_lost(true);
diff --git a/cc/trees/layer_tree_host_impl_unittest.cc b/cc/trees/layer_tree_host_impl_unittest.cc
index eeafd5e..41bc8b5 100644
--- a/cc/trees/layer_tree_host_impl_unittest.cc
+++ b/cc/trees/layer_tree_host_impl_unittest.cc
@@ -41,7 +41,6 @@
 #include "cc/test/fake_layer_tree_frame_sink.h"
 #include "cc/test/fake_layer_tree_host_impl.h"
 #include "cc/test/fake_mask_layer_impl.h"
-#include "cc/test/fake_output_surface.h"
 #include "cc/test/fake_picture_layer_impl.h"
 #include "cc/test/fake_raster_source.h"
 #include "cc/test/fake_recording_source.h"
@@ -51,7 +50,6 @@
 #include "cc/test/layer_tree_test.h"
 #include "cc/test/skia_common.h"
 #include "cc/test/test_task_graph_runner.h"
-#include "cc/test/test_web_graphics_context_3d.h"
 #include "cc/trees/draw_property_utils.h"
 #include "cc/trees/effect_node.h"
 #include "cc/trees/latency_info_swap_promise.h"
@@ -71,7 +69,9 @@
 #include "components/viz/common/quads/tile_draw_quad.h"
 #include "components/viz/service/display/gl_renderer.h"
 #include "components/viz/test/begin_frame_args_test.h"
+#include "components/viz/test/fake_output_surface.h"
 #include "components/viz/test/test_layer_tree_frame_sink.h"
+#include "components/viz/test/test_web_graphics_context_3d.h"
 #include "media/base/media.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -93,6 +93,7 @@
 using ::testing::AtLeast;
 using ::testing::_;
 using media::VideoFrame;
+using viz::TestWebGraphicsContext3D;
 
 namespace cc {
 namespace {
@@ -8865,8 +8866,8 @@
 // submitted to the LayerTreeFrameSink, where it should request to swap only
 // the sub-buffer that is damaged.
 TEST_F(LayerTreeHostImplTest, PartialSwapReceivesDamageRect) {
-  scoped_refptr<TestContextProvider> context_provider(
-      TestContextProvider::Create());
+  scoped_refptr<viz::TestContextProvider> context_provider(
+      viz::TestContextProvider::Create());
   context_provider->BindToCurrentThread();
   context_provider->TestContext3d()->set_have_post_sub_buffer(true);
 
@@ -9637,7 +9638,8 @@
   std::unique_ptr<viz::OutputSurface> CreateDisplayOutputSurface(
       scoped_refptr<viz::ContextProvider> compositor_context_provider)
       override {
-    return FakeOutputSurface::Create3d(std::move(display_context_provider_));
+    return viz::FakeOutputSurface::Create3d(
+        std::move(display_context_provider_));
   }
 
   void DisplayReceivedLocalSurfaceId(
@@ -9654,17 +9656,18 @@
 };
 
 TEST_F(LayerTreeHostImplTest, ShutdownReleasesContext) {
-  scoped_refptr<TestContextProvider> context_provider =
-      TestContextProvider::Create();
+  scoped_refptr<viz::TestContextProvider> context_provider =
+      viz::TestContextProvider::Create();
   FrameSinkClient test_client(context_provider);
 
   constexpr bool synchronous_composite = true;
   constexpr bool disable_display_vsync = false;
   constexpr double refresh_rate = 60.0;
   auto layer_tree_frame_sink = std::make_unique<viz::TestLayerTreeFrameSink>(
-      context_provider, TestContextProvider::CreateWorker(), nullptr, nullptr,
-      viz::RendererSettings(), base::ThreadTaskRunnerHandle::Get().get(),
-      synchronous_composite, disable_display_vsync, refresh_rate);
+      context_provider, viz::TestContextProvider::CreateWorker(), nullptr,
+      nullptr, viz::RendererSettings(),
+      base::ThreadTaskRunnerHandle::Get().get(), synchronous_composite,
+      disable_display_vsync, refresh_rate);
   layer_tree_frame_sink->SetClient(&test_client);
 
   CreateHostImpl(DefaultSettings(), std::move(layer_tree_frame_sink));
diff --git a/cc/trees/layer_tree_host_unittest.cc b/cc/trees/layer_tree_host_unittest.cc
index 76ad86c4..8a680c1 100644
--- a/cc/trees/layer_tree_host_unittest.cc
+++ b/cc/trees/layer_tree_host_unittest.cc
@@ -30,7 +30,6 @@
 #include "cc/resources/ui_resource_manager.h"
 #include "cc/test/fake_content_layer_client.h"
 #include "cc/test/fake_layer_tree_host_client.h"
-#include "cc/test/fake_output_surface.h"
 #include "cc/test/fake_paint_image_generator.h"
 #include "cc/test/fake_painted_scrollbar_layer.h"
 #include "cc/test/fake_picture_layer.h"
@@ -46,7 +45,6 @@
 #include "cc/test/push_properties_counting_layer_impl.h"
 #include "cc/test/render_pass_test_utils.h"
 #include "cc/test/skia_common.h"
-#include "cc/test/test_web_graphics_context_3d.h"
 #include "cc/trees/clip_node.h"
 #include "cc/trees/effect_node.h"
 #include "cc/trees/frame_rate_counter.h"
@@ -67,7 +65,9 @@
 #include "components/viz/common/quads/tile_draw_quad.h"
 #include "components/viz/service/display/output_surface.h"
 #include "components/viz/test/begin_frame_args_test.h"
+#include "components/viz/test/fake_output_surface.h"
 #include "components/viz/test/test_layer_tree_frame_sink.h"
+#include "components/viz/test/test_web_graphics_context_3d.h"
 #include "gpu/GLES2/gl2extchromium.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "third_party/khronos/GLES2/gl2.h"
@@ -461,14 +461,14 @@
     // Create the main viz::ContextProvider with a MockContextSupport.
     auto main_support = std::make_unique<MockContextSupport>();
     mock_main_context_support_ = main_support.get();
-    auto test_main_context_provider = TestContextProvider::Create(
-        TestWebGraphicsContext3D::Create(), std::move(main_support));
+    auto test_main_context_provider = viz::TestContextProvider::Create(
+        viz::TestWebGraphicsContext3D::Create(), std::move(main_support));
 
     // Create the main viz::ContextProvider with a MockContextSupport.
     auto worker_support = std::make_unique<MockContextSupport>();
     mock_worker_context_support_ = worker_support.get();
-    auto test_worker_context_provider = TestContextProvider::CreateWorker(
-        TestWebGraphicsContext3D::Create(), std::move(worker_support));
+    auto test_worker_context_provider = viz::TestContextProvider::CreateWorker(
+        viz::TestWebGraphicsContext3D::Create(), std::move(worker_support));
 
     // At init, visibility is set to true, so SetAggressivelyFreeResources will
     // be disabled.
@@ -490,7 +490,7 @@
   void AfterTest() override {}
 
  protected:
-  class MockContextSupport : public TestContextSupport {
+  class MockContextSupport : public viz::TestContextSupport {
    public:
     MockContextSupport() = default;
     MOCK_METHOD1(SetAggressivelyFreeResources,
@@ -3991,7 +3991,7 @@
   }
 
   void DidActivateTreeOnThread(LayerTreeHostImpl* impl) override {
-    auto* context = static_cast<TestContextProvider*>(
+    auto* context = static_cast<viz::TestContextProvider*>(
                         impl->layer_tree_frame_sink()->context_provider())
                         ->TestContext3d();
 
@@ -6030,12 +6030,12 @@
       scoped_refptr<viz::ContextProvider> ignored_compositor_context_provider,
       scoped_refptr<viz::RasterContextProvider> ignored_worker_context_provider)
       override {
-    auto context_provider = TestContextProvider::Create();
+    auto context_provider = viz::TestContextProvider::Create();
     context_provider->UnboundTestContext3d()->SetMaxSamples(4);
     context_provider->UnboundTestContext3d()
         ->set_support_multisample_compatibility(false);
     context_provider->UnboundTestContext3d()->set_gpu_rasterization(true);
-    auto worker_context_provider = TestContextProvider::CreateWorker();
+    auto worker_context_provider = viz::TestContextProvider::CreateWorker();
     worker_context_provider->UnboundTestContext3d()->SetMaxSamples(4);
     worker_context_provider->UnboundTestContext3d()
         ->set_support_multisample_compatibility(false);
@@ -6894,9 +6894,9 @@
   std::unique_ptr<viz::OutputSurface> CreateDisplayOutputSurfaceOnThread(
       scoped_refptr<viz::ContextProvider> compositor_context_provider)
       override {
-    scoped_refptr<TestContextProvider> display_context_provider =
-        TestContextProvider::Create();
-    TestWebGraphicsContext3D* context3d =
+    scoped_refptr<viz::TestContextProvider> display_context_provider =
+        viz::TestContextProvider::Create();
+    viz::TestWebGraphicsContext3D* context3d =
         display_context_provider->UnboundTestContext3d();
     context3d->set_support_sync_query(true);
 #if defined(OS_MACOSX)
diff --git a/cc/trees/layer_tree_host_unittest_context.cc b/cc/trees/layer_tree_host_unittest_context.cc
index 7f73b18..9c7de67 100644
--- a/cc/trees/layer_tree_host_unittest_context.cc
+++ b/cc/trees/layer_tree_host_unittest_context.cc
@@ -29,15 +29,15 @@
 #include "cc/test/fake_video_frame_provider.h"
 #include "cc/test/layer_tree_test.h"
 #include "cc/test/render_pass_test_utils.h"
-#include "cc/test/test_context_provider.h"
-#include "cc/test/test_web_graphics_context_3d.h"
 #include "cc/trees/layer_tree_host.h"
 #include "cc/trees/layer_tree_host_impl.h"
 #include "cc/trees/layer_tree_impl.h"
 #include "cc/trees/single_thread_proxy.h"
 #include "components/viz/common/resources/single_release_callback.h"
+#include "components/viz/test/test_context_provider.h"
 #include "components/viz/test/test_layer_tree_frame_sink.h"
 #include "components/viz/test/test_shared_bitmap_manager.h"
+#include "components/viz/test/test_web_graphics_context_3d.h"
 #include "gpu/GLES2/gl2extchromium.h"
 #include "gpu/command_buffer/client/raster_interface.h"
 #include "media/base/media.h"
@@ -92,8 +92,8 @@
       override {
     base::AutoLock lock(context3d_lock_);
 
-    std::unique_ptr<TestWebGraphicsContext3D> compositor_context3d =
-        TestWebGraphicsContext3D::Create();
+    std::unique_ptr<viz::TestWebGraphicsContext3D> compositor_context3d =
+        viz::TestWebGraphicsContext3D::Create();
     if (context_should_support_io_surface_) {
       compositor_context3d->set_have_extension_io_surface(true);
       compositor_context3d->set_have_extension_egl_image(true);
@@ -109,7 +109,7 @@
 
     return LayerTreeTest::CreateLayerTreeFrameSink(
         renderer_settings, refresh_rate,
-        TestContextProvider::Create(std::move(compositor_context3d)),
+        viz::TestContextProvider::Create(std::move(compositor_context3d)),
         std::move(worker_context_provider));
   }
 
@@ -162,7 +162,7 @@
   // Protects use of context3d_ so LoseContext and
   // CreateDisplayLayerTreeFrameSink can both use it on different threads.
   base::Lock context3d_lock_;
-  TestWebGraphicsContext3D* context3d_;
+  viz::TestWebGraphicsContext3D* context3d_;
 
   int times_to_fail_create_;
   int times_to_lose_during_commit_;
@@ -882,7 +882,7 @@
   LayerTreeHostContextTestDontUseLostResources() : lost_context_(false) {
     context_should_support_io_surface_ = true;
 
-    child_context_provider_ = TestContextProvider::Create();
+    child_context_provider_ = viz::TestContextProvider::Create();
     auto result = child_context_provider_->BindToCurrentThread();
     CHECK_EQ(result, gpu::ContextResult::kSuccess);
     shared_bitmap_manager_ = std::make_unique<viz::TestSharedBitmapManager>();
@@ -1041,7 +1041,7 @@
   FakeContentLayerClient client_;
   bool lost_context_;
 
-  scoped_refptr<TestContextProvider> child_context_provider_;
+  scoped_refptr<viz::TestContextProvider> child_context_provider_;
   std::unique_ptr<viz::SharedBitmapManager> shared_bitmap_manager_;
   std::unique_ptr<ResourceProvider> child_resource_provider_;
 
diff --git a/cc/trees/layer_tree_host_unittest_copyrequest.cc b/cc/trees/layer_tree_host_unittest_copyrequest.cc
index ec54b7a9..c9470fe 100644
--- a/cc/trees/layer_tree_host_unittest_copyrequest.cc
+++ b/cc/trees/layer_tree_host_unittest_copyrequest.cc
@@ -10,14 +10,15 @@
 #include "base/threading/thread_task_runner_handle.h"
 #include "cc/layers/effect_tree_layer_list_iterator.h"
 #include "cc/test/fake_content_layer_client.h"
-#include "cc/test/fake_output_surface.h"
 #include "cc/test/fake_picture_layer.h"
 #include "cc/test/layer_tree_test.h"
 #include "cc/trees/layer_tree_impl.h"
 #include "components/viz/common/frame_sinks/copy_output_request.h"
 #include "components/viz/common/frame_sinks/copy_output_result.h"
 #include "components/viz/service/display/direct_renderer.h"
+#include "components/viz/test/fake_output_surface.h"
 #include "components/viz/test/test_layer_tree_frame_sink.h"
+#include "components/viz/test/test_web_graphics_context_3d.h"
 #include "gpu/GLES2/gl2extchromium.h"
 
 namespace cc {
@@ -138,17 +139,19 @@
       scoped_refptr<viz::ContextProvider> compositor_context_provider)
       override {
     if (!use_gl_renderer_) {
-      return FakeOutputSurface::CreateSoftware(
+      return viz::FakeOutputSurface::CreateSoftware(
           std::make_unique<viz::SoftwareOutputDevice>());
     }
 
-    scoped_refptr<TestContextProvider> display_context_provider =
-        TestContextProvider::Create();
-    TestContextSupport* context_support = display_context_provider->support();
+    scoped_refptr<viz::TestContextProvider> display_context_provider =
+        viz::TestContextProvider::Create();
+    viz::TestContextSupport* context_support =
+        display_context_provider->support();
     context_support->set_out_of_order_callbacks(out_of_order_callbacks_);
     display_context_provider->BindToCurrentThread();
 
-    return FakeOutputSurface::Create3d(std::move(display_context_provider));
+    return viz::FakeOutputSurface::Create3d(
+        std::move(display_context_provider));
   }
 
   bool use_gl_renderer_;
@@ -762,9 +765,9 @@
   std::unique_ptr<viz::OutputSurface> CreateDisplayOutputSurfaceOnThread(
       scoped_refptr<viz::ContextProvider> compositor_context_provider)
       override {
-    display_context_provider_ = TestContextProvider::Create();
+    display_context_provider_ = viz::TestContextProvider::Create();
     display_context_provider_->BindToCurrentThread();
-    return FakeOutputSurface::Create3d(display_context_provider_);
+    return viz::FakeOutputSurface::Create3d(display_context_provider_);
   }
 
   void SetupTree() override {
@@ -868,7 +871,7 @@
 
   void AfterTest() override {}
 
-  scoped_refptr<TestContextProvider> display_context_provider_;
+  scoped_refptr<viz::TestContextProvider> display_context_provider_;
   int num_swaps_ = 0;
   size_t num_textures_without_readback_ = 0;
   size_t num_textures_after_readback_ = 0;
@@ -890,10 +893,11 @@
     // the Display so that sync points are not needed and the texture counts
     // are visible together.
     // Since this test does not override CreateLayerTreeFrameSink, the
-    // |compositor_context_provider| will be a TestContextProvider.
-    display_context_provider_ =
-        static_cast<TestContextProvider*>(compositor_context_provider.get());
-    return FakeOutputSurface::Create3d(std::move(compositor_context_provider));
+    // |compositor_context_provider| will be a viz::TestContextProvider.
+    display_context_provider_ = static_cast<viz::TestContextProvider*>(
+        compositor_context_provider.get());
+    return viz::FakeOutputSurface::Create3d(
+        std::move(compositor_context_provider));
   }
 
   void SetupTree() override {
@@ -968,7 +972,7 @@
 
   virtual void DoEndTest() { EndTest(); }
 
-  scoped_refptr<TestContextProvider> display_context_provider_;
+  scoped_refptr<viz::TestContextProvider> display_context_provider_;
   int num_swaps_ = 0;
   size_t num_textures_without_readback_ = 0;
   size_t num_textures_with_readback_ = 0;
@@ -1017,7 +1021,7 @@
     : public LayerTreeHostCopyRequestTestCountTextures {
  protected:
   void BeginTest() override {
-    external_context_provider_ = TestContextProvider::Create();
+    external_context_provider_ = viz::TestContextProvider::Create();
     EXPECT_EQ(external_context_provider_->BindToCurrentThread(),
               gpu::ContextResult::kSuccess);
     LayerTreeHostCopyRequestTestCountTextures::BeginTest();
@@ -1064,7 +1068,7 @@
     EXPECT_EQ(num_textures_without_readback_, num_textures_with_readback_);
   }
 
-  scoped_refptr<TestContextProvider> external_context_provider_;
+  scoped_refptr<viz::TestContextProvider> external_context_provider_;
   gpu::SyncToken sync_token_;
 };
 
diff --git a/components/viz/client/client_layer_tree_frame_sink_unittest.cc b/components/viz/client/client_layer_tree_frame_sink_unittest.cc
index 9f8d960..a554f5c8 100644
--- a/components/viz/client/client_layer_tree_frame_sink_unittest.cc
+++ b/components/viz/client/client_layer_tree_frame_sink_unittest.cc
@@ -12,8 +12,8 @@
 #include "base/single_thread_task_runner.h"
 #include "base/threading/thread.h"
 #include "cc/test/fake_layer_tree_frame_sink_client.h"
-#include "cc/test/test_context_provider.h"
 #include "components/viz/client/local_surface_id_provider.h"
+#include "components/viz/test/test_context_provider.h"
 #include "components/viz/test/test_gpu_memory_buffer_manager.h"
 #include "mojo/public/cpp/bindings/interface_request.h"
 #include "services/viz/public/interfaces/compositing/compositor_frame_sink.mojom.h"
@@ -53,8 +53,7 @@
   base::Thread bg_thread("BG Thread");
   bg_thread.Start();
 
-  scoped_refptr<cc::TestContextProvider> provider =
-      cc::TestContextProvider::Create();
+  scoped_refptr<TestContextProvider> provider = TestContextProvider::Create();
   TestGpuMemoryBufferManager test_gpu_memory_buffer_manager;
 
   mojom::CompositorFrameSinkPtrInfo sink_info;
diff --git a/components/viz/client/hit_test_data_provider_draw_quad_unittest.cc b/components/viz/client/hit_test_data_provider_draw_quad_unittest.cc
index c06d4ee..85eea7f 100644
--- a/components/viz/client/hit_test_data_provider_draw_quad_unittest.cc
+++ b/components/viz/client/hit_test_data_provider_draw_quad_unittest.cc
@@ -12,10 +12,10 @@
 #include "base/single_thread_task_runner.h"
 #include "base/threading/thread.h"
 #include "cc/test/fake_layer_tree_frame_sink_client.h"
-#include "cc/test/test_context_provider.h"
 #include "components/viz/client/local_surface_id_provider.h"
 #include "components/viz/common/quads/surface_draw_quad.h"
 #include "components/viz/test/compositor_frame_helpers.h"
+#include "components/viz/test/test_context_provider.h"
 #include "components/viz/test/test_gpu_memory_buffer_manager.h"
 #include "mojo/public/cpp/bindings/interface_request.h"
 #include "services/viz/public/interfaces/compositing/compositor_frame_sink.mojom.h"
diff --git a/components/viz/common/gpu/context_cache_controller_unittest.cc b/components/viz/common/gpu/context_cache_controller_unittest.cc
index d6eb828e..1c2d0222 100644
--- a/components/viz/common/gpu/context_cache_controller_unittest.cc
+++ b/components/viz/common/gpu/context_cache_controller_unittest.cc
@@ -6,9 +6,7 @@
 
 #include "base/memory/ptr_util.h"
 #include "base/test/test_mock_time_task_runner.h"
-#include "cc/test/test_context_provider.h"
-#include "cc/test/test_context_support.h"
-#include "cc/test/test_web_graphics_context_3d.h"
+#include "components/viz/test/test_context_support.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -18,7 +16,7 @@
 namespace viz {
 namespace {
 
-class MockContextSupport : public cc::TestContextSupport {
+class MockContextSupport : public TestContextSupport {
  public:
   MockContextSupport() {}
   MOCK_METHOD1(SetAggressivelyFreeResources,
diff --git a/components/viz/service/display/display_perftest.cc b/components/viz/service/display/display_perftest.cc
index afdd443..ab7d0199 100644
--- a/components/viz/service/display/display_perftest.cc
+++ b/components/viz/service/display/display_perftest.cc
@@ -8,8 +8,6 @@
 #include "base/test/null_task_runner.h"
 #include "base/time/time.h"
 #include "cc/base/lap_timer.h"
-#include "cc/test/fake_output_surface.h"
-#include "cc/test/test_context_provider.h"
 #include "components/viz/common/display/renderer_settings.h"
 #include "components/viz/common/quads/compositor_frame.h"
 #include "components/viz/common/quads/draw_quad.h"
@@ -21,6 +19,7 @@
 #include "components/viz/service/display/display_scheduler.h"
 #include "components/viz/service/display/output_surface.h"
 #include "components/viz/service/display_embedder/server_shared_bitmap_manager.h"
+#include "components/viz/test/fake_output_surface.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "testing/perf/perf_test.h"
 
@@ -47,11 +46,8 @@
     auto scheduler = std::make_unique<DisplayScheduler>(&begin_frame_source_,
                                                         task_runner_.get(), 1);
 
-    std::unique_ptr<cc::FakeOutputSurface> output_surface;
-
-    auto provider = cc::TestContextProvider::Create();
-    provider->BindToCurrentThread();
-    output_surface = cc::FakeOutputSurface::Create3d(std::move(provider));
+    std::unique_ptr<FakeOutputSurface> output_surface =
+        FakeOutputSurface::Create3d();
 
     auto display = std::make_unique<Display>(
         &bitmap_manager_, RendererSettings(), frame_sink_id,
diff --git a/components/viz/service/display/display_unittest.cc b/components/viz/service/display/display_unittest.cc
index cb248f9..43ff2d8 100644
--- a/components/viz/service/display/display_unittest.cc
+++ b/components/viz/service/display/display_unittest.cc
@@ -9,7 +9,6 @@
 #include "base/run_loop.h"
 #include "base/test/null_task_runner.h"
 #include "cc/base/math_util.h"
-#include "cc/test/fake_output_surface.h"
 #include "cc/test/scheduler_test_common.h"
 #include "components/viz/common/frame_sinks/begin_frame_source.h"
 #include "components/viz/common/frame_sinks/copy_output_request.h"
@@ -29,8 +28,10 @@
 #include "components/viz/service/surfaces/surface.h"
 #include "components/viz/service/surfaces/surface_manager.h"
 #include "components/viz/test/compositor_frame_helpers.h"
+#include "components/viz/test/fake_output_surface.h"
 #include "components/viz/test/mock_compositor_frame_sink_client.h"
 #include "components/viz/test/test_shared_bitmap_manager.h"
+#include "components/viz/test/test_web_graphics_context_3d.h"
 #include "gpu/GLES2/gl2extchromium.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -107,18 +108,18 @@
   ~DisplayTest() override {}
 
   void SetUpDisplay(const RendererSettings& settings,
-                    std::unique_ptr<cc::TestWebGraphicsContext3D> context) {
+                    std::unique_ptr<TestWebGraphicsContext3D> context) {
     begin_frame_source_.reset(new StubBeginFrameSource);
 
-    std::unique_ptr<cc::FakeOutputSurface> output_surface;
+    std::unique_ptr<FakeOutputSurface> output_surface;
     if (context) {
-      auto provider = cc::TestContextProvider::Create(std::move(context));
+      auto provider = TestContextProvider::Create(std::move(context));
       provider->BindToCurrentThread();
-      output_surface = cc::FakeOutputSurface::Create3d(std::move(provider));
+      output_surface = FakeOutputSurface::Create3d(std::move(provider));
     } else {
       auto device = std::make_unique<TestSoftwareOutputDevice>();
       software_output_device_ = device.get();
-      output_surface = cc::FakeOutputSurface::CreateSoftware(std::move(device));
+      output_surface = FakeOutputSurface::CreateSoftware(std::move(device));
     }
     output_surface_ = output_surface.get();
     auto scheduler = std::make_unique<TestDisplayScheduler>(
@@ -174,7 +175,7 @@
   std::unique_ptr<BeginFrameSource> begin_frame_source_;
   std::unique_ptr<Display> display_;
   TestSoftwareOutputDevice* software_output_device_ = nullptr;
-  cc::FakeOutputSurface* output_surface_ = nullptr;
+  FakeOutputSurface* output_surface_ = nullptr;
   TestDisplayScheduler* scheduler_ = nullptr;
 };
 
@@ -531,7 +532,7 @@
   LatencyInfoCapTest(true);
 }
 
-class MockedContext : public cc::TestWebGraphicsContext3D {
+class MockedContext : public TestWebGraphicsContext3D {
  public:
   MOCK_METHOD0(shallowFinishCHROMIUM, void());
 };
@@ -618,7 +619,7 @@
 };
 
 TEST_F(DisplayTest, ContextLossInformsClient) {
-  SetUpDisplay(RendererSettings(), cc::TestWebGraphicsContext3D::Create());
+  SetUpDisplay(RendererSettings(), TestWebGraphicsContext3D::Create());
 
   CountLossDisplayClient client;
   display_->Initialize(&client, manager_.surface_manager());
@@ -655,7 +656,7 @@
   TestDisplayScheduler* scheduler2 = scheduler_for_display2.get();
   auto display2 = CreateDisplay(
       settings, kAnotherFrameSinkId, std::move(scheduler_for_display2),
-      cc::FakeOutputSurface::CreateSoftware(
+      FakeOutputSurface::CreateSoftware(
           std::make_unique<TestSoftwareOutputDevice>()));
   manager_.RegisterBeginFrameSource(begin_frame_source2.get(),
                                     kAnotherFrameSinkId);
@@ -691,7 +692,7 @@
 // Check if draw occlusion does not remove any DrawQuads when no quad is being
 // covered completely.
 TEST_F(DisplayTest, DrawOcclusionWithNonCoveringDrawQuad) {
-  SetUpDisplay(RendererSettings(), cc::TestWebGraphicsContext3D::Create());
+  SetUpDisplay(RendererSettings(), TestWebGraphicsContext3D::Create());
 
   StubDisplayClient client;
   display_->Initialize(&client, manager_.surface_manager());
@@ -912,7 +913,7 @@
 TEST_F(DisplayTest, CompositorFrameWithOverlapDrawQuad) {
   RendererSettings settings;
   settings.kMinimumDrawOcclusionSize.set_width(0);
-  SetUpDisplay(settings, cc::TestWebGraphicsContext3D::Create());
+  SetUpDisplay(settings, TestWebGraphicsContext3D::Create());
 
   StubDisplayClient client;
   display_->Initialize(&client, manager_.surface_manager());
@@ -1043,7 +1044,7 @@
 // skip_rect size, such that DrawQuads that are smaller than the |skip_rect|
 // are drawn on the screen regardless is shown or not.
 TEST_F(DisplayTest, DrawOcclusionWithSkipRect) {
-  SetUpDisplay(RendererSettings(), cc::TestWebGraphicsContext3D::Create());
+  SetUpDisplay(RendererSettings(), TestWebGraphicsContext3D::Create());
 
   StubDisplayClient client;
   display_->Initialize(&client, manager_.surface_manager());
@@ -1167,7 +1168,7 @@
 // skip_rect size, such that DrawQuads that are smaller than the |skip_rect|
 // cannot occlude other quads behind it.
 TEST_F(DisplayTest, OcclusionIgnoringSkipRect) {
-  SetUpDisplay(RendererSettings(), cc::TestWebGraphicsContext3D::Create());
+  SetUpDisplay(RendererSettings(), TestWebGraphicsContext3D::Create());
 
   StubDisplayClient client;
   display_->Initialize(&client, manager_.surface_manager());
@@ -1229,7 +1230,7 @@
 TEST_F(DisplayTest, CompositorFrameWithTransformer) {
   RendererSettings settings;
   settings.kMinimumDrawOcclusionSize.set_width(0);
-  SetUpDisplay(settings, cc::TestWebGraphicsContext3D::Create());
+  SetUpDisplay(settings, TestWebGraphicsContext3D::Create());
 
   StubDisplayClient client;
   display_->Initialize(&client, manager_.surface_manager());
@@ -1500,7 +1501,7 @@
 
 // Check if draw occlusion works with transform at epsilon scale.
 TEST_F(DisplayTest, CompositorFrameWithEpsilonScaleTransform) {
-  SetUpDisplay(RendererSettings(), cc::TestWebGraphicsContext3D::Create());
+  SetUpDisplay(RendererSettings(), TestWebGraphicsContext3D::Create());
 
   StubDisplayClient client;
   display_->Initialize(&client, manager_.surface_manager());
@@ -1612,7 +1613,7 @@
 
 // Check if draw occlusion works with transform at negative scale.
 TEST_F(DisplayTest, CompositorFrameWithNegativeScaleTransform) {
-  SetUpDisplay(RendererSettings(), cc::TestWebGraphicsContext3D::Create());
+  SetUpDisplay(RendererSettings(), TestWebGraphicsContext3D::Create());
 
   StubDisplayClient client;
   display_->Initialize(&client, manager_.surface_manager());
@@ -1737,7 +1738,7 @@
 TEST_F(DisplayTest, CompositorFrameWithRotation) {
   RendererSettings settings;
   settings.kMinimumDrawOcclusionSize.set_width(0);
-  SetUpDisplay(settings, cc::TestWebGraphicsContext3D::Create());
+  SetUpDisplay(settings, TestWebGraphicsContext3D::Create());
 
   StubDisplayClient client;
   display_->Initialize(&client, manager_.surface_manager());
@@ -1866,7 +1867,7 @@
 TEST_F(DisplayTest, CompositorFrameWithPerspective) {
   RendererSettings settings;
   settings.kMinimumDrawOcclusionSize.set_width(0);
-  SetUpDisplay(settings, cc::TestWebGraphicsContext3D::Create());
+  SetUpDisplay(settings, TestWebGraphicsContext3D::Create());
 
   StubDisplayClient client;
   display_->Initialize(&client, manager_.surface_manager());
@@ -1942,7 +1943,7 @@
 TEST_F(DisplayTest, CompositorFrameWithOpacityChange) {
   RendererSettings settings;
   settings.kMinimumDrawOcclusionSize.set_width(0);
-  SetUpDisplay(settings, cc::TestWebGraphicsContext3D::Create());
+  SetUpDisplay(settings, TestWebGraphicsContext3D::Create());
 
   StubDisplayClient client;
   display_->Initialize(&client, manager_.surface_manager());
@@ -2009,7 +2010,7 @@
 TEST_F(DisplayTest, CompositorFrameWithOpaquenessChange) {
   RendererSettings settings;
   settings.kMinimumDrawOcclusionSize.set_width(0);
-  SetUpDisplay(settings, cc::TestWebGraphicsContext3D::Create());
+  SetUpDisplay(settings, TestWebGraphicsContext3D::Create());
 
   StubDisplayClient client;
   display_->Initialize(&client, manager_.surface_manager());
@@ -2076,7 +2077,7 @@
 TEST_F(DisplayTest, CompositorFrameWithTranslateTransformer) {
   RendererSettings settings;
   settings.kMinimumDrawOcclusionSize.set_width(0);
-  SetUpDisplay(settings, cc::TestWebGraphicsContext3D::Create());
+  SetUpDisplay(settings, TestWebGraphicsContext3D::Create());
 
   StubDisplayClient client;
   display_->Initialize(&client, manager_.surface_manager());
@@ -2197,7 +2198,7 @@
 TEST_F(DisplayTest, CompositorFrameWithCombinedSharedQuadState) {
   RendererSettings settings;
   settings.kMinimumDrawOcclusionSize.set_width(0);
-  SetUpDisplay(settings, cc::TestWebGraphicsContext3D::Create());
+  SetUpDisplay(settings, TestWebGraphicsContext3D::Create());
 
   StubDisplayClient client;
   display_->Initialize(&client, manager_.surface_manager());
@@ -2325,7 +2326,7 @@
 TEST_F(DisplayTest, CompositorFrameWithMultipleRenderPass) {
   RendererSettings settings;
   settings.kMinimumDrawOcclusionSize.set_width(0);
-  SetUpDisplay(settings, cc::TestWebGraphicsContext3D::Create());
+  SetUpDisplay(settings, TestWebGraphicsContext3D::Create());
 
   StubDisplayClient client;
   display_->Initialize(&client, manager_.surface_manager());
@@ -2399,7 +2400,7 @@
 }
 
 TEST_F(DisplayTest, CompositorFrameWithCoveredRenderPass) {
-  SetUpDisplay(RendererSettings(), cc::TestWebGraphicsContext3D::Create());
+  SetUpDisplay(RendererSettings(), TestWebGraphicsContext3D::Create());
 
   StubDisplayClient client;
   display_->Initialize(&client, manager_.surface_manager());
@@ -2469,7 +2470,7 @@
 TEST_F(DisplayTest, CompositorFrameWithClip) {
   RendererSettings settings;
   settings.kMinimumDrawOcclusionSize.set_width(0);
-  SetUpDisplay(settings, cc::TestWebGraphicsContext3D::Create());
+  SetUpDisplay(settings, TestWebGraphicsContext3D::Create());
 
   StubDisplayClient client;
   display_->Initialize(&client, manager_.surface_manager());
@@ -2586,7 +2587,7 @@
 TEST_F(DisplayTest, CompositorFrameWithCopyRequest) {
   RendererSettings settings;
   settings.kMinimumDrawOcclusionSize.set_width(0);
-  SetUpDisplay(settings, cc::TestWebGraphicsContext3D::Create());
+  SetUpDisplay(settings, TestWebGraphicsContext3D::Create());
 
   StubDisplayClient client;
   display_->Initialize(&client, manager_.surface_manager());
@@ -2634,7 +2635,7 @@
 TEST_F(DisplayTest, CompositorFrameWithRenderPass) {
   RendererSettings settings;
   settings.kMinimumDrawOcclusionSize.set_width(0);
-  SetUpDisplay(settings, cc::TestWebGraphicsContext3D::Create());
+  SetUpDisplay(settings, TestWebGraphicsContext3D::Create());
 
   StubDisplayClient client;
   display_->Initialize(&client, manager_.surface_manager());
@@ -2814,7 +2815,7 @@
 TEST_F(DisplayTest, CompositorFrameWithMultipleDrawQuadInSharedQuadState) {
   RendererSettings settings;
   settings.kMinimumDrawOcclusionSize.set_width(0);
-  SetUpDisplay(settings, cc::TestWebGraphicsContext3D::Create());
+  SetUpDisplay(settings, TestWebGraphicsContext3D::Create());
 
   StubDisplayClient client;
   display_->Initialize(&client, manager_.surface_manager());
@@ -2991,7 +2992,7 @@
 TEST_F(DisplayTest, CompositorFrameWithNonInvertibleTransform) {
   RendererSettings settings;
   settings.kMinimumDrawOcclusionSize.set_width(0);
-  SetUpDisplay(settings, cc::TestWebGraphicsContext3D::Create());
+  SetUpDisplay(settings, TestWebGraphicsContext3D::Create());
 
   StubDisplayClient client;
   display_->Initialize(&client, manager_.surface_manager());
diff --git a/components/viz/service/display/gl_renderer_copier_unittest.cc b/components/viz/service/display/gl_renderer_copier_unittest.cc
index 0522bc1..18bbea05 100644
--- a/components/viz/service/display/gl_renderer_copier_unittest.cc
+++ b/components/viz/service/display/gl_renderer_copier_unittest.cc
@@ -10,9 +10,9 @@
 #include <memory>
 
 #include "base/bind.h"
-#include "cc/test/test_context_provider.h"
-#include "cc/test/test_gles2_interface.h"
 #include "components/viz/common/frame_sinks/copy_output_request.h"
+#include "components/viz/test/test_context_provider.h"
+#include "components/viz/test/test_gles2_interface.h"
 #include "gpu/GLES2/gl2extchromium.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/gfx/geometry/vector2d.h"
@@ -21,7 +21,7 @@
 
 namespace {
 
-class CopierTestGLES2Interface : public cc::TestGLES2Interface {
+class CopierTestGLES2Interface : public TestGLES2Interface {
  public:
   // Sets how GL will respond to queries regarding the implementation's internal
   // read-back format.
@@ -44,7 +44,7 @@
         params[0] = type_;
         break;
       default:
-        cc::TestGLES2Interface::GetIntegerv(pname, params);
+        TestGLES2Interface::GetIntegerv(pname, params);
         break;
     }
   }
@@ -59,7 +59,7 @@
 class GLRendererCopierTest : public testing::Test {
  public:
   void SetUp() override {
-    auto context_provider = cc::TestContextProvider::Create(
+    auto context_provider = TestContextProvider::Create(
         std::make_unique<CopierTestGLES2Interface>());
     context_provider->BindToCurrentThread();
     copier_ = std::make_unique<GLRendererCopier>(
diff --git a/components/viz/service/display/gl_renderer_unittest.cc b/components/viz/service/display/gl_renderer_unittest.cc
index 7bf54d5..de23d53e 100644
--- a/components/viz/service/display/gl_renderer_unittest.cc
+++ b/components/viz/service/display/gl_renderer_unittest.cc
@@ -18,14 +18,11 @@
 #include "cc/resources/resource_provider.h"
 #include "cc/test/fake_impl_task_runner_provider.h"
 #include "cc/test/fake_layer_tree_host_impl.h"
-#include "cc/test/fake_output_surface.h"
 #include "cc/test/fake_output_surface_client.h"
 #include "cc/test/fake_resource_provider.h"
 #include "cc/test/pixel_test.h"
 #include "cc/test/render_pass_test_utils.h"
 #include "cc/test/resource_provider_test_utils.h"
-#include "cc/test/test_gles2_interface.h"
-#include "cc/test/test_web_graphics_context_3d.h"
 #include "components/viz/common/display/renderer_settings.h"
 #include "components/viz/common/frame_sinks/copy_output_request.h"
 #include "components/viz/common/frame_sinks/copy_output_result.h"
@@ -33,7 +30,10 @@
 #include "components/viz/common/resources/transferable_resource.h"
 #include "components/viz/service/display/overlay_strategy_single_on_top.h"
 #include "components/viz/service/display/overlay_strategy_underlay.h"
+#include "components/viz/test/fake_output_surface.h"
+#include "components/viz/test/test_gles2_interface.h"
 #include "components/viz/test/test_shared_bitmap_manager.h"
+#include "components/viz/test/test_web_graphics_context_3d.h"
 #include "gpu/GLES2/gl2extchromium.h"
 #include "gpu/command_buffer/client/context_support.h"
 #include "testing/gmock/include/gmock/gmock.h"
@@ -491,7 +491,7 @@
 class GLRendererWithDefaultHarnessTest : public GLRendererTest {
  protected:
   GLRendererWithDefaultHarnessTest() {
-    output_surface_ = cc::FakeOutputSurface::Create3d();
+    output_surface_ = FakeOutputSurface::Create3d();
     output_surface_->BindToClient(&output_surface_client_);
 
     shared_bitmap_manager_ = std::make_unique<TestSharedBitmapManager>();
@@ -508,7 +508,7 @@
 
   RendererSettings settings_;
   cc::FakeOutputSurfaceClient output_surface_client_;
-  std::unique_ptr<cc::FakeOutputSurface> output_surface_;
+  std::unique_ptr<FakeOutputSurface> output_surface_;
   std::unique_ptr<SharedBitmapManager> shared_bitmap_manager_;
   std::unique_ptr<cc::DisplayResourceProvider> resource_provider_;
   std::unique_ptr<FakeRendererGL> renderer_;
@@ -522,7 +522,7 @@
 class GLRendererShaderTest : public GLRendererTest {
  protected:
   GLRendererShaderTest() {
-    output_surface_ = cc::FakeOutputSurface::Create3d();
+    output_surface_ = FakeOutputSurface::Create3d();
     output_surface_->BindToClient(&output_surface_client_);
 
     shared_bitmap_manager_ = std::make_unique<TestSharedBitmapManager>();
@@ -534,7 +534,7 @@
     renderer_->Initialize();
     renderer_->SetVisible(true);
 
-    child_context_provider_ = cc::TestContextProvider::Create();
+    child_context_provider_ = TestContextProvider::Create();
     child_context_provider_->BindToCurrentThread();
     child_resource_provider_ =
         cc::FakeResourceProvider::CreateLayerTreeResourceProvider(
@@ -626,10 +626,10 @@
 
   RendererSettings settings_;
   cc::FakeOutputSurfaceClient output_surface_client_;
-  std::unique_ptr<cc::FakeOutputSurface> output_surface_;
+  std::unique_ptr<FakeOutputSurface> output_surface_;
   std::unique_ptr<SharedBitmapManager> shared_bitmap_manager_;
   std::unique_ptr<cc::DisplayResourceProvider> resource_provider_;
-  scoped_refptr<cc::TestContextProvider> child_context_provider_;
+  scoped_refptr<TestContextProvider> child_context_provider_;
   std::unique_ptr<cc::LayerTreeResourceProvider> child_resource_provider_;
   std::unique_ptr<FakeRendererGL> renderer_;
 };
@@ -651,7 +651,7 @@
   EXPECT_TRUE(renderer_->stencil_enabled());
 }
 
-class ForbidSynchronousCallContext : public cc::TestWebGraphicsContext3D {
+class ForbidSynchronousCallContext : public TestWebGraphicsContext3D {
  public:
   ForbidSynchronousCallContext() {}
 
@@ -750,12 +750,12 @@
 };
 TEST_F(GLRendererTest, InitializationDoesNotMakeSynchronousCalls) {
   auto context = std::make_unique<ForbidSynchronousCallContext>();
-  auto provider = cc::TestContextProvider::Create(std::move(context));
+  auto provider = TestContextProvider::Create(std::move(context));
   provider->BindToCurrentThread();
 
   cc::FakeOutputSurfaceClient output_surface_client;
   std::unique_ptr<OutputSurface> output_surface(
-      cc::FakeOutputSurface::Create3d(std::move(provider)));
+      FakeOutputSurface::Create3d(std::move(provider)));
   output_surface->BindToClient(&output_surface_client);
 
   std::unique_ptr<SharedBitmapManager> shared_bitmap_manager =
@@ -769,7 +769,7 @@
                           resource_provider.get());
 }
 
-class LoseContextOnFirstGetContext : public cc::TestWebGraphicsContext3D {
+class LoseContextOnFirstGetContext : public TestWebGraphicsContext3D {
  public:
   LoseContextOnFirstGetContext() {}
 
@@ -786,12 +786,12 @@
 
 TEST_F(GLRendererTest, InitializationWithQuicklyLostContextDoesNotAssert) {
   auto context = std::make_unique<LoseContextOnFirstGetContext>();
-  auto provider = cc::TestContextProvider::Create(std::move(context));
+  auto provider = TestContextProvider::Create(std::move(context));
   provider->BindToCurrentThread();
 
   cc::FakeOutputSurfaceClient output_surface_client;
   std::unique_ptr<OutputSurface> output_surface(
-      cc::FakeOutputSurface::Create3d(std::move(provider)));
+      FakeOutputSurface::Create3d(std::move(provider)));
   output_surface->BindToClient(&output_surface_client);
 
   std::unique_ptr<SharedBitmapManager> shared_bitmap_manager =
@@ -805,7 +805,7 @@
                           resource_provider.get());
 }
 
-class ClearCountingContext : public cc::TestWebGraphicsContext3D {
+class ClearCountingContext : public TestWebGraphicsContext3D {
  public:
   ClearCountingContext() { test_capabilities_.discard_framebuffer = true; }
 
@@ -820,12 +820,12 @@
   std::unique_ptr<ClearCountingContext> context_owned(new ClearCountingContext);
   ClearCountingContext* context = context_owned.get();
 
-  auto provider = cc::TestContextProvider::Create(std::move(context_owned));
+  auto provider = TestContextProvider::Create(std::move(context_owned));
   provider->BindToCurrentThread();
 
   cc::FakeOutputSurfaceClient output_surface_client;
   std::unique_ptr<OutputSurface> output_surface(
-      cc::FakeOutputSurface::Create3d(std::move(provider)));
+      FakeOutputSurface::Create3d(std::move(provider)));
   output_surface->BindToClient(&output_surface_client);
 
   std::unique_ptr<SharedBitmapManager> shared_bitmap_manager =
@@ -864,12 +864,12 @@
   std::unique_ptr<ClearCountingContext> context_owned(new ClearCountingContext);
   ClearCountingContext* context = context_owned.get();
 
-  auto provider = cc::TestContextProvider::Create(std::move(context_owned));
+  auto provider = TestContextProvider::Create(std::move(context_owned));
   provider->BindToCurrentThread();
 
   cc::FakeOutputSurfaceClient output_surface_client;
   std::unique_ptr<OutputSurface> output_surface(
-      cc::FakeOutputSurface::Create3d(std::move(provider)));
+      FakeOutputSurface::Create3d(std::move(provider)));
   output_surface->BindToClient(&output_surface_client);
 
   std::unique_ptr<SharedBitmapManager> shared_bitmap_manager =
@@ -901,12 +901,12 @@
   std::unique_ptr<ClearCountingContext> context_owned(new ClearCountingContext);
   ClearCountingContext* context = context_owned.get();
 
-  auto provider = cc::TestContextProvider::Create(std::move(context_owned));
+  auto provider = TestContextProvider::Create(std::move(context_owned));
   provider->BindToCurrentThread();
 
   cc::FakeOutputSurfaceClient output_surface_client;
   std::unique_ptr<OutputSurface> output_surface(
-      cc::FakeOutputSurface::CreateOffscreen(std::move(provider)));
+      FakeOutputSurface::CreateOffscreen(std::move(provider)));
   output_surface->BindToClient(&output_surface_client);
 
   std::unique_ptr<SharedBitmapManager> shared_bitmap_manager =
@@ -933,7 +933,7 @@
   Mock::VerifyAndClearExpectations(context);
 }
 
-class TextureStateTrackingContext : public cc::TestWebGraphicsContext3D {
+class TextureStateTrackingContext : public TestWebGraphicsContext3D {
  public:
   TextureStateTrackingContext() : active_texture_(GL_INVALID_ENUM) {
     test_capabilities_.egl_image_external = true;
@@ -960,12 +960,12 @@
       new TextureStateTrackingContext);
   TextureStateTrackingContext* context = context_owned.get();
 
-  auto provider = cc::TestContextProvider::Create(std::move(context_owned));
+  auto provider = TestContextProvider::Create(std::move(context_owned));
   provider->BindToCurrentThread();
 
   cc::FakeOutputSurfaceClient output_surface_client;
   std::unique_ptr<OutputSurface> output_surface(
-      cc::FakeOutputSurface::Create3d(std::move(provider)));
+      FakeOutputSurface::Create3d(std::move(provider)));
   output_surface->BindToClient(&output_surface_client);
 
   std::unique_ptr<SharedBitmapManager> shared_bitmap_manager =
@@ -987,7 +987,7 @@
       new TextureStateTrackingContext);
 
   auto child_context_provider =
-      cc::TestContextProvider::Create(std::move(child_context_owned));
+      TestContextProvider::Create(std::move(child_context_owned));
   child_context_provider->BindToCurrentThread();
   auto child_resource_provider =
       cc::FakeResourceProvider::CreateLayerTreeResourceProvider(
@@ -1042,7 +1042,7 @@
   Mock::VerifyAndClearExpectations(context);
 }
 
-class NoClearRootRenderPassMockContext : public cc::TestWebGraphicsContext3D {
+class NoClearRootRenderPassMockContext : public TestWebGraphicsContext3D {
  public:
   MOCK_METHOD1(clear, void(GLbitfield mask));
   MOCK_METHOD4(drawElements,
@@ -1054,13 +1054,12 @@
       new NoClearRootRenderPassMockContext);
   NoClearRootRenderPassMockContext* mock_context = mock_context_owned.get();
 
-  auto provider =
-      cc::TestContextProvider::Create(std::move(mock_context_owned));
+  auto provider = TestContextProvider::Create(std::move(mock_context_owned));
   provider->BindToCurrentThread();
 
   cc::FakeOutputSurfaceClient output_surface_client;
   std::unique_ptr<OutputSurface> output_surface(
-      cc::FakeOutputSurface::Create3d(std::move(provider)));
+      FakeOutputSurface::Create3d(std::move(provider)));
   output_surface->BindToClient(&output_surface_client);
 
   std::unique_ptr<SharedBitmapManager> shared_bitmap_manager =
@@ -1122,7 +1121,7 @@
   Mock::VerifyAndClearExpectations(&mock_context);
 }
 
-class ScissorTestOnClearCheckingGLES2Interface : public cc::TestGLES2Interface {
+class ScissorTestOnClearCheckingGLES2Interface : public TestGLES2Interface {
  public:
   ScissorTestOnClearCheckingGLES2Interface() = default;
 
@@ -1145,12 +1144,12 @@
 TEST_F(GLRendererTest, ScissorTestWhenClearing) {
   auto gl_owned = std::make_unique<ScissorTestOnClearCheckingGLES2Interface>();
 
-  auto provider = cc::TestContextProvider::Create(std::move(gl_owned));
+  auto provider = TestContextProvider::Create(std::move(gl_owned));
   provider->BindToCurrentThread();
 
   cc::FakeOutputSurfaceClient output_surface_client;
   std::unique_ptr<OutputSurface> output_surface(
-      cc::FakeOutputSurface::Create3d(std::move(provider)));
+      FakeOutputSurface::Create3d(std::move(provider)));
   output_surface->BindToClient(&output_surface_client);
 
   std::unique_ptr<SharedBitmapManager> shared_bitmap_manager =
@@ -1195,11 +1194,11 @@
   DrawFrame(&renderer, viewport_size);
 }
 
-class DiscardCheckingGLES2Interface : public cc::TestGLES2Interface {
+class DiscardCheckingGLES2Interface : public TestGLES2Interface {
  public:
   DiscardCheckingGLES2Interface() = default;
 
-  void InitializeTestContext(cc::TestWebGraphicsContext3D* context) override {
+  void InitializeTestContext(TestWebGraphicsContext3D* context) override {
     context->set_have_post_sub_buffer(true);
     context->set_have_discard_framebuffer(true);
   }
@@ -1221,11 +1220,11 @@
   auto gl_owned = std::make_unique<DiscardCheckingGLES2Interface>();
   auto* gl = gl_owned.get();
 
-  auto provider = cc::TestContextProvider::Create(std::move(gl_owned));
+  auto provider = TestContextProvider::Create(std::move(gl_owned));
   provider->BindToCurrentThread();
 
   cc::FakeOutputSurfaceClient output_surface_client;
-  auto output_surface = cc::FakeOutputSurface::Create3d(std::move(provider));
+  auto output_surface = FakeOutputSurface::Create3d(std::move(provider));
   output_surface->BindToClient(&output_surface_client);
 
   std::unique_ptr<SharedBitmapManager> shared_bitmap_manager =
@@ -1291,7 +1290,7 @@
   }
 }
 
-class ResourceTrackingGLES2Interface : public cc::TestGLES2Interface {
+class ResourceTrackingGLES2Interface : public TestGLES2Interface {
  public:
   ResourceTrackingGLES2Interface() = default;
   ~ResourceTrackingGLES2Interface() override { CheckNoResources(); }
@@ -1421,11 +1420,11 @@
   auto gl_owned = std::make_unique<ResourceTrackingGLES2Interface>();
   auto* gl = gl_owned.get();
 
-  auto provider = cc::TestContextProvider::Create(std::move(gl_owned));
+  auto provider = TestContextProvider::Create(std::move(gl_owned));
   provider->BindToCurrentThread();
 
   cc::FakeOutputSurfaceClient output_surface_client;
-  auto output_surface = cc::FakeOutputSurface::Create3d(std::move(provider));
+  auto output_surface = FakeOutputSurface::Create3d(std::move(provider));
   output_surface->BindToClient(&output_surface_client);
 
   std::unique_ptr<SharedBitmapManager> shared_bitmap_manager =
@@ -1456,9 +1455,9 @@
   gl->CheckNoResources();
 }
 
-class DrawElementsGLES2Interface : public cc::TestGLES2Interface {
+class DrawElementsGLES2Interface : public TestGLES2Interface {
  public:
-  void InitializeTestContext(cc::TestWebGraphicsContext3D* context) override {
+  void InitializeTestContext(TestWebGraphicsContext3D* context) override {
     context->set_have_post_sub_buffer(true);
   }
 
@@ -1473,10 +1472,10 @@
     auto gl_owned = std::make_unique<StrictMock<DrawElementsGLES2Interface>>();
     gl_ = gl_owned.get();
 
-    auto provider = cc::TestContextProvider::Create(std::move(gl_owned));
+    auto provider = TestContextProvider::Create(std::move(gl_owned));
     provider->BindToCurrentThread();
 
-    output_surface_ = cc::FakeOutputSurface::Create3d(std::move(provider));
+    output_surface_ = FakeOutputSurface::Create3d(std::move(provider));
     output_surface_->BindToClient(&output_surface_client_);
 
     shared_bitmap_manager_ = std::make_unique<TestSharedBitmapManager>();
@@ -1493,7 +1492,7 @@
   StrictMock<DrawElementsGLES2Interface>* gl_;
   RendererSettings settings_;
   cc::FakeOutputSurfaceClient output_surface_client_;
-  std::unique_ptr<cc::FakeOutputSurface> output_surface_;
+  std::unique_ptr<FakeOutputSurface> output_surface_;
   std::unique_ptr<SharedBitmapManager> shared_bitmap_manager_;
   std::unique_ptr<cc::DisplayResourceProvider> resource_provider_;
   std::unique_ptr<FakeRendererGL> renderer_;
@@ -1562,8 +1561,8 @@
   // Note: there is one path that will set it to 0, but that is after the render
   // has finished.
   cc::FakeOutputSurfaceClient output_surface_client;
-  std::unique_ptr<cc::FakeOutputSurface> output_surface(
-      cc::FakeOutputSurface::Create3d());
+  std::unique_ptr<FakeOutputSurface> output_surface(
+      FakeOutputSurface::Create3d());
   output_surface->BindToClient(&output_surface_client);
 
   std::unique_ptr<SharedBitmapManager> shared_bitmap_manager =
@@ -1868,7 +1867,7 @@
   TestSolidColorProgramAA();
 }
 
-class OutputSurfaceMockContext : public cc::TestWebGraphicsContext3D {
+class OutputSurfaceMockContext : public TestWebGraphicsContext3D {
  public:
   OutputSurfaceMockContext() { test_capabilities_.post_sub_buffer = true; }
 
@@ -1919,7 +1918,7 @@
   void SetUp() override {
     auto context = std::make_unique<StrictMock<OutputSurfaceMockContext>>();
     context_ = context.get();
-    auto provider = cc::TestContextProvider::Create(std::move(context));
+    auto provider = TestContextProvider::Create(std::move(context));
     provider->BindToCurrentThread();
     output_surface_ =
         std::make_unique<StrictMock<MockOutputSurface>>(std::move(provider));
@@ -2043,8 +2042,8 @@
 
 TEST_F(GLRendererTest, DontOverlayWithCopyRequests) {
   cc::FakeOutputSurfaceClient output_surface_client;
-  std::unique_ptr<cc::FakeOutputSurface> output_surface(
-      cc::FakeOutputSurface::Create3d());
+  std::unique_ptr<FakeOutputSurface> output_surface(
+      FakeOutputSurface::Create3d());
   output_surface->BindToClient(&output_surface_client);
 
   std::unique_ptr<SharedBitmapManager> shared_bitmap_manager =
@@ -2053,7 +2052,7 @@
       cc::FakeResourceProvider::CreateDisplayResourceProvider(
           output_surface->context_provider(), shared_bitmap_manager.get());
 
-  auto child_context_provider = cc::TestContextProvider::Create();
+  auto child_context_provider = TestContextProvider::Create();
   child_context_provider->BindToCurrentThread();
   auto child_resource_provider =
       cc::FakeResourceProvider::CreateLayerTreeResourceProvider(
@@ -2207,7 +2206,7 @@
   SingleOverlayValidator validator_;
 };
 
-class WaitSyncTokenCountingContext : public cc::TestWebGraphicsContext3D {
+class WaitSyncTokenCountingContext : public TestWebGraphicsContext3D {
  public:
   MOCK_METHOD1(waitSyncToken, void(const GLbyte* sync_token));
 };
@@ -2227,7 +2226,7 @@
       new WaitSyncTokenCountingContext);
   WaitSyncTokenCountingContext* context = context_owned.get();
 
-  auto provider = cc::TestContextProvider::Create(std::move(context_owned));
+  auto provider = TestContextProvider::Create(std::move(context_owned));
   provider->BindToCurrentThread();
 
   MockOverlayScheduler overlay_scheduler;
@@ -2236,7 +2235,7 @@
 
   cc::FakeOutputSurfaceClient output_surface_client;
   std::unique_ptr<OutputSurface> output_surface(
-      cc::FakeOutputSurface::Create3d(std::move(provider)));
+      FakeOutputSurface::Create3d(std::move(provider)));
   output_surface->BindToClient(&output_surface_client);
 
   std::unique_ptr<SharedBitmapManager> shared_bitmap_manager =
@@ -2245,7 +2244,7 @@
       cc::FakeResourceProvider::CreateDisplayResourceProvider(
           output_surface->context_provider(), shared_bitmap_manager.get());
 
-  auto child_context_provider = cc::TestContextProvider::Create();
+  auto child_context_provider = TestContextProvider::Create();
   child_context_provider->BindToCurrentThread();
   auto child_resource_provider =
       cc::FakeResourceProvider::CreateLayerTreeResourceProvider(
@@ -2338,7 +2337,7 @@
                                                           ResourceIdSet());
 }
 
-class OutputColorMatrixMockGLES2Interface : public cc::TestGLES2Interface {
+class OutputColorMatrixMockGLES2Interface : public TestGLES2Interface {
  public:
   OutputColorMatrixMockGLES2Interface() = default;
 
@@ -2353,10 +2352,10 @@
   // Initialize the mock GL interface, the output surface and the renderer.
   auto gl_owned = std::make_unique<OutputColorMatrixMockGLES2Interface>();
   auto* gl = gl_owned.get();
-  auto provider = cc::TestContextProvider::Create(std::move(gl_owned));
+  auto provider = TestContextProvider::Create(std::move(gl_owned));
   provider->BindToCurrentThread();
-  std::unique_ptr<cc::FakeOutputSurface> output_surface(
-      cc::FakeOutputSurface::Create3d(std::move(provider)));
+  std::unique_ptr<FakeOutputSurface> output_surface(
+      FakeOutputSurface::Create3d(std::move(provider)));
   cc::FakeOutputSurfaceClient output_surface_client;
   output_surface->BindToClient(&output_surface_client);
   std::unique_ptr<cc::DisplayResourceProvider> resource_provider =
@@ -2420,7 +2419,7 @@
   EXPECT_TRUE(output_color_matrix_invoked);
 }
 
-class GenerateMipmapMockGLESInterface : public cc::TestGLES2Interface {
+class GenerateMipmapMockGLESInterface : public TestGLES2Interface {
  public:
   GenerateMipmapMockGLESInterface() = default;
 
@@ -2436,12 +2435,12 @@
   // Initialize the mock GL interface, the output surface and the renderer.
   auto gl_owned = std::make_unique<GenerateMipmapMockGLESInterface>();
   auto* gl = gl_owned.get();
-  auto provider = cc::TestContextProvider::Create(std::move(gl_owned));
+  auto provider = TestContextProvider::Create(std::move(gl_owned));
   provider->BindToCurrentThread();
   provider->TestContext3d()->set_support_texture_npot(true);
 
-  std::unique_ptr<cc::FakeOutputSurface> output_surface(
-      cc::FakeOutputSurface::Create3d(std::move(provider)));
+  std::unique_ptr<FakeOutputSurface> output_surface(
+      FakeOutputSurface::Create3d(std::move(provider)));
   cc::FakeOutputSurfaceClient output_surface_client;
   output_surface->BindToClient(&output_surface_client);
   std::unique_ptr<cc::DisplayResourceProvider> resource_provider =
@@ -2479,12 +2478,12 @@
   DrawFrame(&renderer, viewport_size);
 }
 
-class PartialSwapMockGLES2Interface : public cc::TestGLES2Interface {
+class PartialSwapMockGLES2Interface : public TestGLES2Interface {
  public:
   explicit PartialSwapMockGLES2Interface(bool support_dc_layers)
       : support_dc_layers_(support_dc_layers) {}
 
-  void InitializeTestContext(cc::TestWebGraphicsContext3D* context) override {
+  void InitializeTestContext(TestWebGraphicsContext3D* context) override {
     context->set_have_post_sub_buffer(true);
     context->set_enable_dc_layers(support_dc_layers_);
   }
@@ -2505,12 +2504,12 @@
         std::make_unique<PartialSwapMockGLES2Interface>(set_draw_rectangle);
     auto* gl = gl_owned.get();
 
-    auto provider = cc::TestContextProvider::Create(std::move(gl_owned));
+    auto provider = TestContextProvider::Create(std::move(gl_owned));
     provider->BindToCurrentThread();
 
     cc::FakeOutputSurfaceClient output_surface_client;
-    std::unique_ptr<cc::FakeOutputSurface> output_surface(
-        cc::FakeOutputSurface::Create3d(std::move(provider)));
+    std::unique_ptr<FakeOutputSurface> output_surface(
+        FakeOutputSurface::Create3d(std::move(provider)));
     output_surface->BindToClient(&output_surface_client);
 
     std::unique_ptr<cc::DisplayResourceProvider> resource_provider =
@@ -2618,19 +2617,19 @@
   auto gl_owned = std::make_unique<PartialSwapMockGLES2Interface>(true);
   auto* gl = gl_owned.get();
 
-  auto provider = cc::TestContextProvider::Create(std::move(gl_owned));
+  auto provider = TestContextProvider::Create(std::move(gl_owned));
   provider->BindToCurrentThread();
 
   cc::FakeOutputSurfaceClient output_surface_client;
-  std::unique_ptr<cc::FakeOutputSurface> output_surface(
-      cc::FakeOutputSurface::Create3d(std::move(provider)));
+  std::unique_ptr<FakeOutputSurface> output_surface(
+      FakeOutputSurface::Create3d(std::move(provider)));
   output_surface->BindToClient(&output_surface_client);
 
   auto parent_resource_provider =
       cc::FakeResourceProvider::CreateDisplayResourceProvider(
           output_surface->context_provider(), nullptr);
 
-  auto child_context_provider = cc::TestContextProvider::Create();
+  auto child_context_provider = TestContextProvider::Create();
   child_context_provider->BindToCurrentThread();
   auto child_resource_provider =
       cc::FakeResourceProvider::CreateLayerTreeResourceProvider(
@@ -2731,7 +2730,7 @@
 
 class GLRendererWithMockContextTest : public ::testing::Test {
  protected:
-  class MockContextSupport : public cc::TestContextSupport {
+  class MockContextSupport : public TestContextSupport {
    public:
     MockContextSupport() {}
     MOCK_METHOD1(SetAggressivelyFreeResources,
@@ -2741,12 +2740,11 @@
   void SetUp() override {
     auto context_support = std::make_unique<MockContextSupport>();
     context_support_ptr_ = context_support.get();
-    auto context_provider = cc::TestContextProvider::Create(
-        cc::TestWebGraphicsContext3D::Create(), std::move(context_support));
+    auto context_provider = TestContextProvider::Create(
+        TestWebGraphicsContext3D::Create(), std::move(context_support));
     ASSERT_EQ(context_provider->BindToCurrentThread(),
               gpu::ContextResult::kSuccess);
-    output_surface_ =
-        cc::FakeOutputSurface::Create3d(std::move(context_provider));
+    output_surface_ = FakeOutputSurface::Create3d(std::move(context_provider));
     output_surface_->BindToClient(&output_surface_client_);
     resource_provider_ =
         cc::FakeResourceProvider::CreateDisplayResourceProvider(
@@ -2775,9 +2773,9 @@
   Mock::VerifyAndClearExpectations(context_support_ptr_);
 }
 
-class SwapWithBoundsMockGLES2Interface : public cc::TestGLES2Interface {
+class SwapWithBoundsMockGLES2Interface : public TestGLES2Interface {
  public:
-  void InitializeTestContext(cc::TestWebGraphicsContext3D* context) override {
+  void InitializeTestContext(TestWebGraphicsContext3D* context) override {
     context->set_have_swap_buffers_with_bounds(true);
   }
 };
@@ -2824,12 +2822,12 @@
   void RunTest(const std::vector<gfx::Rect>& content_bounds) {
     auto gl_owned = std::make_unique<SwapWithBoundsMockGLES2Interface>();
 
-    auto provider = cc::TestContextProvider::Create(std::move(gl_owned));
+    auto provider = TestContextProvider::Create(std::move(gl_owned));
     provider->BindToCurrentThread();
 
     cc::FakeOutputSurfaceClient output_surface_client;
-    std::unique_ptr<cc::FakeOutputSurface> output_surface(
-        cc::FakeOutputSurface::Create3d(std::move(provider)));
+    std::unique_ptr<FakeOutputSurface> output_surface(
+        FakeOutputSurface::Create3d(std::move(provider)));
     output_surface->BindToClient(&output_surface_client);
 
     std::unique_ptr<cc::DisplayResourceProvider> resource_provider =
@@ -2888,7 +2886,7 @@
   void CheckOverlaySupport(cc::OverlayCandidateList* surfaces) override {}
 };
 
-class MockCALayerGLES2Interface : public cc::TestGLES2Interface {
+class MockCALayerGLES2Interface : public TestGLES2Interface {
  public:
   MOCK_METHOD5(ScheduleCALayerSharedStateCHROMIUM,
                void(GLfloat opacity,
@@ -2906,7 +2904,7 @@
   MOCK_METHOD2(ScheduleCALayerInUseQueryCHROMIUM,
                void(GLsizei count, const GLuint* textures));
 
-  void InitializeTestContext(cc::TestWebGraphicsContext3D* context) override {
+  void InitializeTestContext(TestWebGraphicsContext3D* context) override {
     // Support image storage for GpuMemoryBuffers, needed for
     // CALayers/IOSurfaces backed by textures.
     context->set_support_texture_storage_image(true);
@@ -2924,11 +2922,11 @@
     auto gles2_interface = std::make_unique<MockCALayerGLES2Interface>();
     gl_ = gles2_interface.get();
 
-    auto provider = cc::TestContextProvider::Create(std::move(gles2_interface));
+    auto provider = TestContextProvider::Create(std::move(gles2_interface));
     provider->BindToCurrentThread();
 
     cc::FakeOutputSurfaceClient output_surface_client;
-    output_surface_ = cc::FakeOutputSurface::Create3d(std::move(provider));
+    output_surface_ = FakeOutputSurface::Create3d(std::move(provider));
     output_surface_->BindToClient(&output_surface_client);
 
     // This validator allows the renderer to make CALayer overlays. If all
@@ -2963,12 +2961,12 @@
 
   MockCALayerGLES2Interface& gl() const { return *gl_; }
   FakeRendererGL& renderer() const { return *renderer_; }
-  cc::FakeOutputSurface& output_surface() const { return *output_surface_; }
+  FakeOutputSurface& output_surface() const { return *output_surface_; }
 
  private:
   MockCALayerGLES2Interface* gl_;
   CALayerValidator validator_;
-  std::unique_ptr<cc::FakeOutputSurface> output_surface_;
+  std::unique_ptr<FakeOutputSurface> output_surface_;
   std::unique_ptr<cc::DisplayResourceProvider> display_resource_provider_;
   std::unique_ptr<RendererSettings> settings_;
   std::unique_ptr<FakeRendererGL> renderer_;
@@ -3774,12 +3772,12 @@
 };
 
 TEST_F(GLRendererTest, UndamagedRenderPassStillDrawnWhenNoPartialSwap) {
-  auto provider = cc::TestContextProvider::Create();
+  auto provider = TestContextProvider::Create();
   provider->UnboundTestContext3d()->set_have_post_sub_buffer(true);
   provider->BindToCurrentThread();
 
   cc::FakeOutputSurfaceClient output_surface_client;
-  auto output_surface = cc::FakeOutputSurface::Create3d(std::move(provider));
+  auto output_surface = FakeOutputSurface::Create3d(std::move(provider));
   output_surface->BindToClient(&output_surface_client);
 
   std::unique_ptr<cc::DisplayResourceProvider> resource_provider =
diff --git a/components/viz/service/display/overlay_unittest.cc b/components/viz/service/display/overlay_unittest.cc
index af26b9a..176f210 100644
--- a/components/viz/service/display/overlay_unittest.cc
+++ b/components/viz/service/display/overlay_unittest.cc
@@ -16,8 +16,6 @@
 #include "cc/test/fake_resource_provider.h"
 #include "cc/test/geometry_test_utils.h"
 #include "cc/test/resource_provider_test_utils.h"
-#include "cc/test/test_context_provider.h"
-#include "cc/test/test_web_graphics_context_3d.h"
 #include "components/viz/common/quads/render_pass.h"
 #include "components/viz/common/quads/render_pass_draw_quad.h"
 #include "components/viz/common/quads/solid_color_draw_quad.h"
@@ -35,7 +33,9 @@
 #include "components/viz/service/display/overlay_strategy_single_on_top.h"
 #include "components/viz/service/display/overlay_strategy_underlay.h"
 #include "components/viz/service/display/overlay_strategy_underlay_cast.h"
+#include "components/viz/test/test_context_provider.h"
 #include "components/viz/test/test_shared_bitmap_manager.h"
+#include "components/viz/test/test_web_graphics_context_3d.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/gfx/geometry/rect_conversions.h"
@@ -179,7 +179,7 @@
 class OverlayOutputSurface : public OutputSurface {
  public:
   explicit OverlayOutputSurface(
-      scoped_refptr<cc::TestContextProvider> context_provider)
+      scoped_refptr<TestContextProvider> context_provider)
       : OutputSurface(std::move(context_provider)) {
     is_displayed_as_overlay_plane_ = true;
   }
@@ -499,7 +499,7 @@
 
  protected:
   void SetUp() override {
-    provider_ = cc::TestContextProvider::Create();
+    provider_ = TestContextProvider::Create();
     provider_->BindToCurrentThread();
     output_surface_ = std::make_unique<OutputSurfaceType>(provider_);
     output_surface_->BindToClient(&client_);
@@ -511,7 +511,7 @@
         cc::FakeResourceProvider::CreateDisplayResourceProvider(
             provider_.get(), shared_bitmap_manager_.get());
 
-    child_provider_ = cc::TestContextProvider::Create();
+    child_provider_ = TestContextProvider::Create();
     child_provider_->BindToCurrentThread();
     child_resource_provider_ =
         cc::FakeResourceProvider::CreateLayerTreeResourceProvider(
@@ -522,12 +522,12 @@
     overlay_processor_->Initialize();
   }
 
-  scoped_refptr<cc::TestContextProvider> provider_;
+  scoped_refptr<TestContextProvider> provider_;
   std::unique_ptr<OutputSurfaceType> output_surface_;
   cc::FakeOutputSurfaceClient client_;
   std::unique_ptr<SharedBitmapManager> shared_bitmap_manager_;
   std::unique_ptr<cc::DisplayResourceProvider> resource_provider_;
-  scoped_refptr<cc::TestContextProvider> child_provider_;
+  scoped_refptr<TestContextProvider> child_provider_;
   std::unique_ptr<cc::LayerTreeResourceProvider> child_resource_provider_;
   std::unique_ptr<OverlayProcessor> overlay_processor_;
   gfx::Rect damage_rect_;
@@ -541,8 +541,7 @@
 using CALayerOverlayTest = OverlayTest<CALayerValidator>;
 
 TEST(OverlayTest, NoOverlaysByDefault) {
-  scoped_refptr<cc::TestContextProvider> provider =
-      cc::TestContextProvider::Create();
+  scoped_refptr<TestContextProvider> provider = TestContextProvider::Create();
   OverlayOutputSurface<OverlayCandidateValidator> output_surface(provider);
   EXPECT_EQ(nullptr, output_surface.GetOverlayCandidateValidator());
 
@@ -551,8 +550,7 @@
 }
 
 TEST(OverlayTest, OverlaysProcessorHasStrategy) {
-  scoped_refptr<cc::TestContextProvider> provider =
-      cc::TestContextProvider::Create();
+  scoped_refptr<TestContextProvider> provider = TestContextProvider::Create();
   provider->BindToCurrentThread();
   OverlayOutputSurface<OverlayCandidateValidator> output_surface(provider);
   cc::FakeOutputSurfaceClient client;
@@ -2401,7 +2399,7 @@
 
  protected:
   GLRendererWithOverlaysTest() {
-    provider_ = cc::TestContextProvider::Create();
+    provider_ = TestContextProvider::Create();
     provider_->BindToCurrentThread();
     output_surface_ = std::make_unique<OutputSurfaceType>(provider_);
     output_surface_->BindToClient(&output_surface_client_);
@@ -2412,7 +2410,7 @@
     provider_->support()->SetScheduleOverlayPlaneCallback(base::Bind(
         &MockOverlayScheduler::Schedule, base::Unretained(&scheduler_)));
 
-    child_provider_ = cc::TestContextProvider::Create();
+    child_provider_ = TestContextProvider::Create();
     child_provider_->BindToCurrentThread();
     child_resource_provider_ =
         cc::FakeResourceProvider::CreateLayerTreeResourceProvider(
@@ -2456,8 +2454,8 @@
   std::unique_ptr<OutputSurfaceType> output_surface_;
   std::unique_ptr<cc::DisplayResourceProvider> resource_provider_;
   std::unique_ptr<OverlayInfoRendererGL> renderer_;
-  scoped_refptr<cc::TestContextProvider> provider_;
-  scoped_refptr<cc::TestContextProvider> child_provider_;
+  scoped_refptr<TestContextProvider> provider_;
+  scoped_refptr<TestContextProvider> child_provider_;
   std::unique_ptr<cc::LayerTreeResourceProvider> child_resource_provider_;
   MockOverlayScheduler scheduler_;
 };
diff --git a/components/viz/service/display/shader_unittest.cc b/components/viz/service/display/shader_unittest.cc
index 02c9382f..c05da25 100644
--- a/components/viz/service/display/shader_unittest.cc
+++ b/components/viz/service/display/shader_unittest.cc
@@ -4,8 +4,8 @@
 
 #include "components/viz/service/display/shader.h"
 
-#include "cc/test/test_gles2_interface.h"
-#include "cc/test/test_web_graphics_context_3d.h"
+#include "components/viz/test/test_gles2_interface.h"
+#include "components/viz/test/test_web_graphics_context_3d.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/gfx/geometry/point.h"
 #include "ui/gfx/geometry/size.h"
@@ -15,9 +15,9 @@
 TEST(ShaderTest, HighpThresholds) {
   // The test context always uses a mediump precision of 10 bits which
   // corresponds to a native highp threshold of 2^10 = 1024
-  std::unique_ptr<cc::TestWebGraphicsContext3D> test_context =
-      cc::TestWebGraphicsContext3D::Create();
-  cc::TestGLES2Interface test_gl;
+  std::unique_ptr<TestWebGraphicsContext3D> test_context =
+      TestWebGraphicsContext3D::Create();
+  TestGLES2Interface test_gl;
   test_gl.set_test_context(test_context.get());
 
   int threshold_cache = 0;
diff --git a/components/viz/service/display/software_renderer_unittest.cc b/components/viz/service/display/software_renderer_unittest.cc
index ab878f64..e7e0524b 100644
--- a/components/viz/service/display/software_renderer_unittest.cc
+++ b/components/viz/service/display/software_renderer_unittest.cc
@@ -10,7 +10,6 @@
 #include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "cc/test/animation_test_common.h"
-#include "cc/test/fake_output_surface.h"
 #include "cc/test/fake_output_surface_client.h"
 #include "cc/test/fake_resource_provider.h"
 #include "cc/test/geometry_test_utils.h"
@@ -25,6 +24,7 @@
 #include "components/viz/common/quads/solid_color_draw_quad.h"
 #include "components/viz/common/quads/tile_draw_quad.h"
 #include "components/viz/service/display/software_output_device.h"
+#include "components/viz/test/fake_output_surface.h"
 #include "components/viz/test/test_shared_bitmap_manager.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -39,8 +39,8 @@
  public:
   void InitializeRenderer(
       std::unique_ptr<SoftwareOutputDevice> software_output_device) {
-    output_surface_ = cc::FakeOutputSurface::CreateSoftware(
-        std::move(software_output_device));
+    output_surface_ =
+        FakeOutputSurface::CreateSoftware(std::move(software_output_device));
     output_surface_->BindToClient(&output_surface_client_);
 
     shared_bitmap_manager_ = std::make_unique<TestSharedBitmapManager>();
@@ -96,7 +96,7 @@
  protected:
   RendererSettings settings_;
   cc::FakeOutputSurfaceClient output_surface_client_;
-  std::unique_ptr<cc::FakeOutputSurface> output_surface_;
+  std::unique_ptr<FakeOutputSurface> output_surface_;
   std::unique_ptr<SharedBitmapManager> shared_bitmap_manager_;
   std::unique_ptr<cc::DisplayResourceProvider> resource_provider_;
   std::unique_ptr<cc::LayerTreeResourceProvider> child_resource_provider_;
diff --git a/components/viz/service/display/surface_aggregator_perftest.cc b/components/viz/service/display/surface_aggregator_perftest.cc
index 8d3881c..2cb18bf1 100644
--- a/components/viz/service/display/surface_aggregator_perftest.cc
+++ b/components/viz/service/display/surface_aggregator_perftest.cc
@@ -6,7 +6,6 @@
 #include "cc/resources/display_resource_provider.h"
 #include "cc/test/fake_output_surface_client.h"
 #include "cc/test/fake_resource_provider.h"
-#include "cc/test/test_context_provider.h"
 #include "components/viz/common/quads/compositor_frame.h"
 #include "components/viz/common/quads/surface_draw_quad.h"
 #include "components/viz/common/quads/texture_draw_quad.h"
@@ -15,6 +14,7 @@
 #include "components/viz/service/frame_sinks/frame_sink_manager_impl.h"
 #include "components/viz/service/surfaces/surface_manager.h"
 #include "components/viz/test/compositor_frame_helpers.h"
+#include "components/viz/test/test_context_provider.h"
 #include "components/viz/test/test_shared_bitmap_manager.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "testing/perf/perf_test.h"
@@ -31,7 +31,7 @@
 class SurfaceAggregatorPerfTest : public testing::Test {
  public:
   SurfaceAggregatorPerfTest() {
-    context_provider_ = cc::TestContextProvider::Create();
+    context_provider_ = TestContextProvider::Create();
     context_provider_->BindToCurrentThread();
     shared_bitmap_manager_ = std::make_unique<TestSharedBitmapManager>();
 
@@ -143,7 +143,7 @@
 
  protected:
   FrameSinkManagerImpl manager_;
-  scoped_refptr<cc::TestContextProvider> context_provider_;
+  scoped_refptr<TestContextProvider> context_provider_;
   std::unique_ptr<SharedBitmapManager> shared_bitmap_manager_;
   std::unique_ptr<cc::DisplayResourceProvider> resource_provider_;
   std::unique_ptr<SurfaceAggregator> aggregator_;
diff --git a/components/viz/service/display/texture_deleter_unittest.cc b/components/viz/service/display/texture_deleter_unittest.cc
index 6f951818..e33a26eac 100644
--- a/components/viz/service/display/texture_deleter_unittest.cc
+++ b/components/viz/service/display/texture_deleter_unittest.cc
@@ -6,9 +6,9 @@
 
 #include "base/single_thread_task_runner.h"
 #include "base/threading/thread_task_runner_handle.h"
-#include "cc/test/test_context_provider.h"
-#include "cc/test/test_web_graphics_context_3d.h"
 #include "components/viz/common/resources/single_release_callback.h"
+#include "components/viz/test/test_context_provider.h"
+#include "components/viz/test/test_web_graphics_context_3d.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace viz {
@@ -18,8 +18,8 @@
   auto deleter =
       std::make_unique<TextureDeleter>(base::ThreadTaskRunnerHandle::Get());
 
-  scoped_refptr<cc::TestContextProvider> context_provider =
-      cc::TestContextProvider::Create();
+  scoped_refptr<TestContextProvider> context_provider =
+      TestContextProvider::Create();
   context_provider->BindToCurrentThread();
 
   GLuint texture_id = 0u;
@@ -47,8 +47,8 @@
 TEST(TextureDeleterTest, NullTaskRunner) {
   auto deleter = std::make_unique<TextureDeleter>(nullptr);
 
-  scoped_refptr<cc::TestContextProvider> context_provider =
-      cc::TestContextProvider::Create();
+  scoped_refptr<TestContextProvider> context_provider =
+      TestContextProvider::Create();
   context_provider->BindToCurrentThread();
 
   GLuint texture_id = 0u;
diff --git a/components/viz/service/display_embedder/buffer_queue_unittest.cc b/components/viz/service/display_embedder/buffer_queue_unittest.cc
index 7a2e1dd..ff4221f1 100644
--- a/components/viz/service/display_embedder/buffer_queue_unittest.cc
+++ b/components/viz/service/display_embedder/buffer_queue_unittest.cc
@@ -12,10 +12,10 @@
 
 #include "base/memory/ptr_util.h"
 #include "build/build_config.h"
-#include "cc/test/test_context_provider.h"
-#include "cc/test/test_web_graphics_context_3d.h"
 #include "components/viz/common/gl_helper.h"
+#include "components/viz/test/test_context_provider.h"
 #include "components/viz/test/test_gpu_memory_buffer_manager.h"
+#include "components/viz/test/test_web_graphics_context_3d.h"
 #include "gpu/GLES2/gl2extchromium.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -115,12 +115,10 @@
  public:
   BufferQueueTest() : doublebuffering_(true), first_frame_(true) {}
 
-  void SetUp() override {
-    InitWithContext(cc::TestWebGraphicsContext3D::Create());
-  }
+  void SetUp() override { InitWithContext(TestWebGraphicsContext3D::Create()); }
 
-  void InitWithContext(std::unique_ptr<cc::TestWebGraphicsContext3D> context) {
-    context_provider_ = cc::TestContextProvider::Create(std::move(context));
+  void InitWithContext(std::unique_ptr<TestWebGraphicsContext3D> context) {
+    context_provider_ = TestContextProvider::Create(std::move(context));
     context_provider_->BindToCurrentThread();
     gpu_memory_buffer_manager_.reset(new StubGpuMemoryBufferManager);
     mock_output_surface_ = new MockBufferQueue(context_provider_->ContextGL(),
@@ -203,7 +201,7 @@
     return true;
   }
 
-  scoped_refptr<cc::TestContextProvider> context_provider_;
+  scoped_refptr<TestContextProvider> context_provider_;
   std::unique_ptr<StubGpuMemoryBufferManager> gpu_memory_buffer_manager_;
   std::unique_ptr<BufferQueue> output_surface_;
   MockBufferQueue* mock_output_surface_;
@@ -223,7 +221,7 @@
   return ++id;
 }
 
-class MockedContext : public cc::TestWebGraphicsContext3D {
+class MockedContext : public TestWebGraphicsContext3D {
  public:
   MockedContext() {
     ON_CALL(*this, createImageCHROMIUM(_, _, _, _))
@@ -243,19 +241,19 @@
  public:
   void SetUp() override {
     context_ = new MockedContext();
-    InitWithContext(std::unique_ptr<cc::TestWebGraphicsContext3D>(context_));
+    InitWithContext(std::unique_ptr<TestWebGraphicsContext3D>(context_));
   }
 
  protected:
   MockedContext* context_;
 };
 
-scoped_refptr<cc::TestContextProvider> CreateMockedContextProvider(
+scoped_refptr<TestContextProvider> CreateMockedContextProvider(
     MockedContext** context) {
   std::unique_ptr<MockedContext> owned_context(new MockedContext);
   *context = owned_context.get();
-  scoped_refptr<cc::TestContextProvider> context_provider =
-      cc::TestContextProvider::Create(std::move(owned_context));
+  scoped_refptr<TestContextProvider> context_provider =
+      TestContextProvider::Create(std::move(owned_context));
   context_provider->BindToCurrentThread();
   return context_provider;
 }
@@ -273,7 +271,7 @@
 
 TEST(BufferQueueStandaloneTest, FboInitialization) {
   MockedContext* context;
-  scoped_refptr<cc::TestContextProvider> context_provider =
+  scoped_refptr<TestContextProvider> context_provider =
       CreateMockedContextProvider(&context);
   std::unique_ptr<StubGpuMemoryBufferManager> gpu_memory_buffer_manager(
       new StubGpuMemoryBufferManager);
@@ -294,7 +292,7 @@
     GLenum target = targets[i];
 
     MockedContext* context;
-    scoped_refptr<cc::TestContextProvider> context_provider =
+    scoped_refptr<TestContextProvider> context_provider =
         CreateMockedContextProvider(&context);
     std::unique_ptr<StubGpuMemoryBufferManager> gpu_memory_buffer_manager(
         new StubGpuMemoryBufferManager);
@@ -322,8 +320,8 @@
 }
 
 TEST(BufferQueueStandaloneTest, CheckBoundFramebuffer) {
-  scoped_refptr<cc::TestContextProvider> context_provider =
-      cc::TestContextProvider::Create();
+  scoped_refptr<TestContextProvider> context_provider =
+      TestContextProvider::Create();
   context_provider->BindToCurrentThread();
   std::unique_ptr<StubGpuMemoryBufferManager> gpu_memory_buffer_manager;
   std::unique_ptr<BufferQueue> output_surface;
diff --git a/components/viz/service/frame_sinks/direct_layer_tree_frame_sink_unittest.cc b/components/viz/service/frame_sinks/direct_layer_tree_frame_sink_unittest.cc
index 1df3058f..55ed2397 100644
--- a/components/viz/service/frame_sinks/direct_layer_tree_frame_sink_unittest.cc
+++ b/components/viz/service/frame_sinks/direct_layer_tree_frame_sink_unittest.cc
@@ -7,8 +7,6 @@
 #include <memory>
 
 #include "cc/test/fake_layer_tree_frame_sink_client.h"
-#include "cc/test/fake_output_surface.h"
-#include "cc/test/test_context_provider.h"
 #include "components/viz/common/display/renderer_settings.h"
 #include "components/viz/common/frame_sinks/begin_frame_source.h"
 #include "components/viz/common/frame_sinks/delay_based_time_source.h"
@@ -22,7 +20,9 @@
 #include "components/viz/service/frame_sinks/frame_sink_manager_impl.h"
 #include "components/viz/test/begin_frame_args_test.h"
 #include "components/viz/test/compositor_frame_helpers.h"
+#include "components/viz/test/fake_output_surface.h"
 #include "components/viz/test/ordered_simple_task_runner.h"
+#include "components/viz/test/test_context_provider.h"
 #include "components/viz/test/test_gpu_memory_buffer_manager.h"
 #include "components/viz/test/test_shared_bitmap_manager.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -68,8 +68,8 @@
         display_size_(1920, 1080),
         display_rect_(display_size_),
         support_manager_(&frame_sink_manager_),
-        context_provider_(cc::TestContextProvider::Create()) {
-    auto display_output_surface = cc::FakeOutputSurface::Create3d();
+        context_provider_(TestContextProvider::Create()) {
+    auto display_output_surface = FakeOutputSurface::Create3d();
     display_output_surface_ = display_output_surface.get();
 
     begin_frame_source_ = std::make_unique<BackToBackBeginFrameSource>(
@@ -134,8 +134,8 @@
   TestSharedBitmapManager bitmap_manager_;
   TestGpuMemoryBufferManager gpu_memory_buffer_manager_;
 
-  scoped_refptr<cc::TestContextProvider> context_provider_;
-  cc::FakeOutputSurface* display_output_surface_ = nullptr;
+  scoped_refptr<TestContextProvider> context_provider_;
+  FakeOutputSurface* display_output_surface_ = nullptr;
   std::unique_ptr<BackToBackBeginFrameSource> begin_frame_source_;
   std::unique_ptr<Display> display_;
   cc::FakeLayerTreeFrameSinkClient layer_tree_frame_sink_client_;
diff --git a/components/viz/test/BUILD.gn b/components/viz/test/BUILD.gn
index ab07a851..df058f5 100644
--- a/components/viz/test/BUILD.gn
+++ b/components/viz/test/BUILD.gn
@@ -21,6 +21,8 @@
     "fake_external_begin_frame_source.h",
     "fake_host_frame_sink_client.cc",
     "fake_host_frame_sink_client.h",
+    "fake_output_surface.cc",
+    "fake_output_surface.h",
     "fake_surface_observer.cc",
     "fake_surface_observer.h",
     "mock_compositor_frame_sink_client.cc",
@@ -30,20 +32,32 @@
     "mock_helper.h",
     "ordered_simple_task_runner.cc",
     "ordered_simple_task_runner.h",
+    "ordered_texture_map.cc",
+    "ordered_texture_map.h",
     "paths.cc",
     "paths.h",
     "surface_hittest_test_helpers.cc",
     "surface_hittest_test_helpers.h",
+    "test_context_provider.cc",
+    "test_context_provider.h",
+    "test_context_support.cc",
+    "test_context_support.h",
     "test_frame_sink_manager.cc",
     "test_frame_sink_manager.h",
     "test_frame_sink_manager_client.cc",
     "test_frame_sink_manager_client.h",
+    "test_gles2_interface.cc",
+    "test_gles2_interface.h",
     "test_gpu_memory_buffer_manager.cc",
     "test_gpu_memory_buffer_manager.h",
     "test_layer_tree_frame_sink.cc",
     "test_layer_tree_frame_sink.h",
     "test_shared_bitmap_manager.cc",
     "test_shared_bitmap_manager.h",
+    "test_texture.cc",
+    "test_texture.h",
+    "test_web_graphics_context_3d.cc",
+    "test_web_graphics_context_3d.h",
   ]
   deps = [
     "//base",
@@ -51,10 +65,14 @@
     "//cc",
     "//components/viz/host",
     "//components/viz/service",
+    "//gpu:raster",
+    "//gpu:test_support",
+    "//gpu/skia_bindings",
     "//services/viz/privileged/interfaces/compositing",
     "//testing/gmock",
     "//testing/gtest",
     "//ui/gfx/geometry",
+    "//ui/gl",
   ]
 }
 
@@ -78,6 +96,7 @@
     "begin_frame_source_test_unittest.cc",
     "mock_helper_unittest.cc",
     "ordered_simple_task_runner_unittest.cc",
+    "test_web_graphics_context_3d_unittest.cc",
   ]
   deps = [
     ":test_support",
diff --git a/components/viz/test/DEPS b/components/viz/test/DEPS
index 9668c77..627f1e0 100644
--- a/components/viz/test/DEPS
+++ b/components/viz/test/DEPS
@@ -3,10 +3,22 @@
 include_rules = [
   "+cc",
   "+components/viz",
+  "+gpu/command_buffer/client/context_support.h",
+  "+gpu/command_buffer/client/gles2_interface_stub.h",
+  "+gpu/command_buffer/client/raster_implementation_gles.h",
+  "+gpu/command_buffer/common/capabilities.h",
+  "+gpu/command_buffer/common/sync_token.h",
+  "+gpu/config/gpu_feature_info.h",
+  "+gpu/GLES2",
+  "+gpu/skia_bindings/grcontext_for_gles2_interface.h",
   "+mojo/public/cpp/bindings",
   "+mojo/public/cpp/system",
   "+services/viz/privileged/interfaces",
   "+services/viz/public/interfaces",
+  "+third_party/khronos/GLES2/gl2.h",
+  "+third_party/khronos/GLES2/gl2ext.h",
+  "+third_party/skia/include",
+  "+ui/gl",
   "+ui/latency",
 ]
 
@@ -15,7 +27,7 @@
     "+ui/gl/test",
   ],
 
-  "test_gpu_memory_buffer_manager.h": [
+  "test_gpu_memory_buffer_manager\.h": [
     "+gpu/command_buffer/client/gpu_memory_buffer_manager.h",
   ],
 
diff --git a/cc/test/fake_output_surface.cc b/components/viz/test/fake_output_surface.cc
similarity index 85%
rename from cc/test/fake_output_surface.cc
rename to components/viz/test/fake_output_surface.cc
index f92d7af..929c1ae 100644
--- a/cc/test/fake_output_surface.cc
+++ b/components/viz/test/fake_output_surface.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "cc/test/fake_output_surface.h"
+#include "components/viz/test/fake_output_surface.h"
 
 #include "base/bind.h"
 #include "base/threading/thread_task_runner_handle.h"
@@ -13,16 +13,16 @@
 #include "ui/gfx/presentation_feedback.h"
 #include "ui/gl/gl_utils.h"
 
-namespace cc {
+namespace viz {
 
 FakeOutputSurface::FakeOutputSurface(
-    scoped_refptr<viz::ContextProvider> context_provider)
+    scoped_refptr<ContextProvider> context_provider)
     : OutputSurface(std::move(context_provider)), weak_ptr_factory_(this) {
   DCHECK(OutputSurface::context_provider());
 }
 
 FakeOutputSurface::FakeOutputSurface(
-    std::unique_ptr<viz::SoftwareOutputDevice> software_device)
+    std::unique_ptr<SoftwareOutputDevice> software_device)
     : OutputSurface(std::move(software_device)), weak_ptr_factory_(this) {
   DCHECK(OutputSurface::software_device());
 }
@@ -44,9 +44,8 @@
   last_reshape_color_space_ = color_space;
 }
 
-void FakeOutputSurface::SwapBuffers(viz::OutputSurfaceFrame frame) {
-  last_sent_frame_ =
-      std::make_unique<viz::OutputSurfaceFrame>(std::move(frame));
+void FakeOutputSurface::SwapBuffers(OutputSurfaceFrame frame) {
+  last_sent_frame_ = std::make_unique<OutputSurfaceFrame>(std::move(frame));
   ++num_sent_frames_;
 
   base::ThreadTaskRunnerHandle::Get()->PostTask(
@@ -75,7 +74,7 @@
     return GL_RGB;
 }
 
-void FakeOutputSurface::BindToClient(viz::OutputSurfaceClient* client) {
+void FakeOutputSurface::BindToClient(OutputSurfaceClient* client) {
   DCHECK(client);
   DCHECK(!client_);
   client_ = client;
@@ -89,8 +88,8 @@
   return suspended_for_recycle_;
 }
 
-viz::OverlayCandidateValidator*
-FakeOutputSurface::GetOverlayCandidateValidator() const {
+OverlayCandidateValidator* FakeOutputSurface::GetOverlayCandidateValidator()
+    const {
   return overlay_candidate_validator_;
 }
 
@@ -113,4 +112,4 @@
 }
 #endif
 
-}  // namespace cc
+}  // namespace viz
diff --git a/cc/test/fake_output_surface.h b/components/viz/test/fake_output_surface.h
similarity index 71%
rename from cc/test/fake_output_surface.h
rename to components/viz/test/fake_output_surface.h
index bf61733..d7f9fd2a 100644
--- a/cc/test/fake_output_surface.h
+++ b/components/viz/test/fake_output_surface.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef CC_TEST_FAKE_OUTPUT_SURFACE_H_
-#define CC_TEST_FAKE_OUTPUT_SURFACE_H_
+#ifndef COMPONENTS_VIZ_TEST_FAKE_OUTPUT_SURFACE_H_
+#define COMPONENTS_VIZ_TEST_FAKE_OUTPUT_SURFACE_H_
 
 #include <stddef.h>
 
@@ -11,17 +11,15 @@
 #include "base/logging.h"
 #include "base/memory/ptr_util.h"
 #include "base/time/time.h"
-#include "cc/test/test_context_provider.h"
-#include "cc/test/test_gles2_interface.h"
-#include "cc/test/test_web_graphics_context_3d.h"
 #include "components/viz/common/frame_sinks/begin_frame_args.h"
 #include "components/viz/service/display/output_surface.h"
 #include "components/viz/service/display/output_surface_frame.h"
 #include "components/viz/service/display/software_output_device.h"
+#include "components/viz/test/test_context_provider.h"
 
-namespace cc {
+namespace viz {
 
-class FakeOutputSurface : public viz::OutputSurface {
+class FakeOutputSurface : public OutputSurface {
  public:
   ~FakeOutputSurface() override;
 
@@ -32,17 +30,17 @@
   }
 
   static std::unique_ptr<FakeOutputSurface> Create3d(
-      scoped_refptr<viz::ContextProvider> context_provider) {
+      scoped_refptr<ContextProvider> context_provider) {
     return base::WrapUnique(new FakeOutputSurface(context_provider));
   }
 
   static std::unique_ptr<FakeOutputSurface> CreateSoftware(
-      std::unique_ptr<viz::SoftwareOutputDevice> software_device) {
+      std::unique_ptr<SoftwareOutputDevice> software_device) {
     return base::WrapUnique(new FakeOutputSurface(std::move(software_device)));
   }
 
   static std::unique_ptr<FakeOutputSurface> CreateOffscreen(
-      scoped_refptr<viz::ContextProvider> context_provider) {
+      scoped_refptr<ContextProvider> context_provider) {
     auto surface =
         base::WrapUnique(new FakeOutputSurface(std::move(context_provider)));
     surface->capabilities_.uses_default_gl_framebuffer = false;
@@ -53,12 +51,12 @@
     capabilities_.max_frames_pending = max;
   }
 
-  viz::OutputSurfaceFrame* last_sent_frame() { return last_sent_frame_.get(); }
+  OutputSurfaceFrame* last_sent_frame() { return last_sent_frame_.get(); }
   size_t num_sent_frames() { return num_sent_frames_; }
 
-  viz::OutputSurfaceClient* client() { return client_; }
+  OutputSurfaceClient* client() { return client_; }
 
-  void BindToClient(viz::OutputSurfaceClient* client) override;
+  void BindToClient(OutputSurfaceClient* client) override;
   void EnsureBackbuffer() override {}
   void DiscardBackbuffer() override {}
   void BindFramebuffer() override;
@@ -68,12 +66,12 @@
                const gfx::ColorSpace& color_space,
                bool has_alpha,
                bool use_stencil) override;
-  void SwapBuffers(viz::OutputSurfaceFrame frame) override;
+  void SwapBuffers(OutputSurfaceFrame frame) override;
   uint32_t GetFramebufferCopyTextureFormat() override;
   bool HasExternalStencilTest() const override;
   void ApplyExternalStencil() override {}
   bool SurfaceIsSuspendForRecycle() const override;
-  viz::OverlayCandidateValidator* GetOverlayCandidateValidator() const override;
+  OverlayCandidateValidator* GetOverlayCandidateValidator() const override;
   bool IsDisplayedAsOverlayPlane() const override;
   unsigned GetOverlayTextureId() const override;
   gfx::BufferFormat GetOverlayBufferFormat() const override;
@@ -86,7 +84,7 @@
     framebuffer_format_ = format;
   }
 
-  void SetOverlayCandidateValidator(viz::OverlayCandidateValidator* validator) {
+  void SetOverlayCandidateValidator(OverlayCandidateValidator* validator) {
     overlay_candidate_validator_ = validator;
   }
 
@@ -107,19 +105,18 @@
   }
 
  protected:
+  explicit FakeOutputSurface(scoped_refptr<ContextProvider> context_provider);
   explicit FakeOutputSurface(
-      scoped_refptr<viz::ContextProvider> context_provider);
-  explicit FakeOutputSurface(
-      std::unique_ptr<viz::SoftwareOutputDevice> software_device);
+      std::unique_ptr<SoftwareOutputDevice> software_device);
 
-  viz::OutputSurfaceClient* client_ = nullptr;
-  std::unique_ptr<viz::OutputSurfaceFrame> last_sent_frame_;
+  OutputSurfaceClient* client_ = nullptr;
+  std::unique_ptr<OutputSurfaceFrame> last_sent_frame_;
   size_t num_sent_frames_ = 0;
   bool has_external_stencil_test_ = false;
   bool suspended_for_recycle_ = false;
   GLint framebuffer_ = 0;
   GLenum framebuffer_format_ = 0;
-  viz::OverlayCandidateValidator* overlay_candidate_validator_ = nullptr;
+  OverlayCandidateValidator* overlay_candidate_validator_ = nullptr;
   gfx::ColorSpace last_reshape_color_space_;
   gfx::Rect last_set_draw_rectangle_;
 
@@ -129,6 +126,6 @@
   base::WeakPtrFactory<FakeOutputSurface> weak_ptr_factory_;
 };
 
-}  // namespace cc
+}  // namespace viz
 
-#endif  // CC_TEST_FAKE_OUTPUT_SURFACE_H_
+#endif  // COMPONENTS_VIZ_TEST_FAKE_OUTPUT_SURFACE_H_
diff --git a/cc/test/ordered_texture_map.cc b/components/viz/test/ordered_texture_map.cc
similarity index 77%
rename from cc/test/ordered_texture_map.cc
rename to components/viz/test/ordered_texture_map.cc
index 0a55b9c..861d619 100644
--- a/cc/test/ordered_texture_map.cc
+++ b/components/viz/test/ordered_texture_map.cc
@@ -2,23 +2,22 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "cc/test/ordered_texture_map.h"
+#include "components/viz/test/ordered_texture_map.h"
 
 #include <stddef.h>
 
 #include <algorithm>
 
 #include "base/logging.h"
-#include "cc/test/test_texture.h"
+#include "components/viz/test/test_texture.h"
 
-namespace cc {
+namespace viz {
 
 OrderedTextureMap::OrderedTextureMap() = default;
 
 OrderedTextureMap::~OrderedTextureMap() = default;
 
-void OrderedTextureMap::Append(GLuint id,
-                               scoped_refptr<TestTexture> texture) {
+void OrderedTextureMap::Append(GLuint id, scoped_refptr<TestTexture> texture) {
   DCHECK(texture.get());
   DCHECK(!ContainsId(id));
 
@@ -26,8 +25,7 @@
   ordered_textures_.push_back(id);
 }
 
-void OrderedTextureMap::Replace(GLuint id,
-                                scoped_refptr<TestTexture> texture) {
+void OrderedTextureMap::Replace(GLuint id, scoped_refptr<TestTexture> texture) {
   DCHECK(texture.get());
   DCHECK(ContainsId(id));
 
@@ -48,7 +46,9 @@
   ordered_textures_.erase(list_it);
 }
 
-size_t OrderedTextureMap::Size() { return ordered_textures_.size(); }
+size_t OrderedTextureMap::Size() {
+  return ordered_textures_.size();
+}
 
 bool OrderedTextureMap::ContainsId(GLuint id) {
   return textures_.find(id) != textures_.end();
@@ -66,4 +66,4 @@
   return ordered_textures_[index];
 }
 
-}  // namespace cc
+}  // namespace viz
diff --git a/cc/test/ordered_texture_map.h b/components/viz/test/ordered_texture_map.h
similarity index 82%
rename from cc/test/ordered_texture_map.h
rename to components/viz/test/ordered_texture_map.h
index 814c5979..7ec96d2 100644
--- a/cc/test/ordered_texture_map.h
+++ b/components/viz/test/ordered_texture_map.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef CC_TEST_ORDERED_TEXTURE_MAP_H_
-#define CC_TEST_ORDERED_TEXTURE_MAP_H_
+#ifndef COMPONENTS_VIZ_TEST_ORDERED_TEXTURE_MAP_H_
+#define COMPONENTS_VIZ_TEST_ORDERED_TEXTURE_MAP_H_
 
 #include <stddef.h>
 
@@ -13,7 +13,7 @@
 #include "base/memory/ref_counted.h"
 #include "third_party/khronos/GLES2/gl2.h"
 
-namespace cc {
+namespace viz {
 
 struct TestTexture;
 
@@ -41,6 +41,6 @@
   TextureList ordered_textures_;
 };
 
-}  // namespace cc
+}  // namespace viz
 
-#endif  // CC_TEST_ORDERED_TEXTURE_MAP_H_
+#endif  // COMPONENTS_VIZ_TEST_ORDERED_TEXTURE_MAP_H_
diff --git a/cc/test/test_context_provider.cc b/components/viz/test/test_context_provider.cc
similarity index 93%
rename from cc/test/test_context_provider.cc
rename to components/viz/test/test_context_provider.cc
index a3a2559b..0879486 100644
--- a/cc/test/test_context_provider.cc
+++ b/components/viz/test/test_context_provider.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "cc/test/test_context_provider.h"
+#include "components/viz/test/test_context_provider.h"
 
 #include <stddef.h>
 #include <stdint.h>
@@ -15,15 +15,15 @@
 #include "base/callback_helpers.h"
 #include "base/logging.h"
 #include "base/memory/ptr_util.h"
-#include "cc/test/test_gles2_interface.h"
-#include "cc/test/test_web_graphics_context_3d.h"
 #include "components/viz/common/gpu/context_cache_controller.h"
+#include "components/viz/test/test_gles2_interface.h"
+#include "components/viz/test/test_web_graphics_context_3d.h"
 #include "gpu/command_buffer/client/raster_implementation_gles.h"
 #include "gpu/skia_bindings/grcontext_for_gles2_interface.h"
 #include "third_party/skia/include/gpu/GrContext.h"
 #include "third_party/skia/include/gpu/gl/GrGLInterface.h"
 
-namespace cc {
+namespace viz {
 
 namespace {
 
@@ -195,11 +195,10 @@
   context3d_->set_test_support(support_.get());
   raster_context_ = std::make_unique<gpu::raster::RasterImplementationGLES>(
       context_gl_.get(), support_.get(), context3d_->test_capabilities());
-  // Just pass nullptr to the viz::ContextCacheController for its task runner.
-  // Idle handling is tested directly in viz::ContextCacheController's
+  // Just pass nullptr to the ContextCacheController for its task runner.
+  // Idle handling is tested directly in ContextCacheController's
   // unittests, and isn't needed here.
-  cache_controller_.reset(
-      new viz::ContextCacheController(support_.get(), nullptr));
+  cache_controller_.reset(new ContextCacheController(support_.get(), nullptr));
 }
 
 TestContextProvider::~TestContextProvider() {
@@ -281,7 +280,7 @@
   return gr_context_->get();
 }
 
-viz::ContextCacheController* TestContextProvider::CacheController() {
+ContextCacheController* TestContextProvider::CacheController() {
   CheckValidThreadOrLockAcquired();
   return cache_controller_.get();
 }
@@ -319,12 +318,12 @@
   return context3d_.get();
 }
 
-void TestContextProvider::AddObserver(viz::ContextLostObserver* obs) {
+void TestContextProvider::AddObserver(ContextLostObserver* obs) {
   observers_.AddObserver(obs);
 }
 
-void TestContextProvider::RemoveObserver(viz::ContextLostObserver* obs) {
+void TestContextProvider::RemoveObserver(ContextLostObserver* obs) {
   observers_.RemoveObserver(obs);
 }
 
-}  // namespace cc
+}  // namespace viz
diff --git a/cc/test/test_context_provider.h b/components/viz/test/test_context_provider.h
similarity index 83%
rename from cc/test/test_context_provider.h
rename to components/viz/test/test_context_provider.h
index 196826d..c2c395a 100644
--- a/cc/test/test_context_provider.h
+++ b/components/viz/test/test_context_provider.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef CC_TEST_TEST_CONTEXT_PROVIDER_H_
-#define CC_TEST_TEST_CONTEXT_PROVIDER_H_
+#ifndef COMPONENTS_VIZ_TEST_TEST_CONTEXT_PROVIDER_H_
+#define COMPONENTS_VIZ_TEST_TEST_CONTEXT_PROVIDER_H_
 
 #include <stddef.h>
 #include <stdint.h>
@@ -16,9 +16,9 @@
 #include "base/observer_list.h"
 #include "base/synchronization/lock.h"
 #include "base/threading/thread_checker.h"
-#include "cc/test/test_context_support.h"
 #include "components/viz/common/gpu/context_provider.h"
 #include "components/viz/common/gpu/raster_context_provider.h"
+#include "components/viz/test/test_context_support.h"
 #include "gpu/command_buffer/client/gles2_interface_stub.h"
 #include "gpu/config/gpu_feature_info.h"
 #include "third_party/skia/include/core/SkRefCnt.h"
@@ -27,18 +27,15 @@
 class GrContextForGLES2Interface;
 }
 
-namespace cc {
+namespace viz {
 class TestWebGraphicsContext3D;
 class TestGLES2Interface;
 
 class TestContextProvider
     : public base::RefCountedThreadSafe<TestContextProvider>,
-      public viz::ContextProvider,
-      public viz::RasterContextProvider {
+      public ContextProvider,
+      public RasterContextProvider {
  public:
-  typedef base::Callback<std::unique_ptr<TestWebGraphicsContext3D>(void)>
-      CreateCallback;
-
   static scoped_refptr<TestContextProvider> Create();
   // Creates a worker context provider that can be used on any thread. This is
   // equivalent to: Create(); BindToCurrentThread().
@@ -54,7 +51,7 @@
   static scoped_refptr<TestContextProvider> Create(
       std::unique_ptr<TestGLES2Interface> gl);
 
-  // viz::ContextProvider / viz::RasterContextProvider implementation.
+  // ContextProvider / RasterContextProvider implementation.
   void AddRef() const override;
   void Release() const override;
   gpu::ContextResult BindToCurrentThread() override;
@@ -64,11 +61,11 @@
   gpu::raster::RasterInterface* RasterInterface() override;
   gpu::ContextSupport* ContextSupport() override;
   class GrContext* GrContext() override;
-  viz::ContextCacheController* CacheController() override;
+  ContextCacheController* CacheController() override;
   void InvalidateGrContext(uint32_t state) override;
   base::Lock* GetLock() override;
-  void AddObserver(viz::ContextLostObserver* obs) override;
-  void RemoveObserver(viz::ContextLostObserver* obs) override;
+  void AddObserver(ContextLostObserver* obs) override;
+  void RemoveObserver(ContextLostObserver* obs) override;
 
   TestWebGraphicsContext3D* TestContext3d();
 
@@ -108,7 +105,7 @@
   std::unique_ptr<TestGLES2Interface> context_gl_;
   std::unique_ptr<gpu::raster::RasterInterface> raster_context_;
   std::unique_ptr<skia_bindings::GrContextForGLES2Interface> gr_context_;
-  std::unique_ptr<viz::ContextCacheController> cache_controller_;
+  std::unique_ptr<ContextCacheController> cache_controller_;
   const bool support_locking_ ALLOW_UNUSED_TYPE;
   bool bound_ = false;
 
@@ -119,13 +116,13 @@
 
   base::Lock context_lock_;
 
-  base::ObserverList<viz::ContextLostObserver> observers_;
+  base::ObserverList<ContextLostObserver> observers_;
 
   base::WeakPtrFactory<TestContextProvider> weak_ptr_factory_;
 
   DISALLOW_COPY_AND_ASSIGN(TestContextProvider);
 };
 
-}  // namespace cc
+}  // namespace viz
 
-#endif  // CC_TEST_TEST_CONTEXT_PROVIDER_H_
+#endif  // COMPONENTS_VIZ_TEST_TEST_CONTEXT_PROVIDER_H_
diff --git a/cc/test/test_context_support.cc b/components/viz/test/test_context_support.cc
similarity index 97%
rename from cc/test/test_context_support.cc
rename to components/viz/test/test_context_support.cc
index 2a4669a..2d525c94 100644
--- a/cc/test/test_context_support.cc
+++ b/components/viz/test/test_context_support.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "cc/test/test_context_support.h"
+#include "components/viz/test/test_context_support.h"
 
 #include <stddef.h>
 #include <stdint.h>
@@ -12,7 +12,7 @@
 #include "base/single_thread_task_runner.h"
 #include "base/threading/thread_task_runner_handle.h"
 
-namespace cc {
+namespace viz {
 
 TestContextSupport::TestContextSupport()
     : out_of_order_callbacks_(false), weak_ptr_factory_(this) {}
@@ -141,4 +141,4 @@
   return 0;
 }
 
-}  // namespace cc
+}  // namespace viz
diff --git a/cc/test/test_context_support.h b/components/viz/test/test_context_support.h
similarity index 84%
rename from cc/test/test_context_support.h
rename to components/viz/test/test_context_support.h
index 80ca821..3dcd97d 100644
--- a/cc/test/test_context_support.h
+++ b/components/viz/test/test_context_support.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef CC_TEST_TEST_CONTEXT_SUPPORT_H_
-#define CC_TEST_TEST_CONTEXT_SUPPORT_H_
+#ifndef COMPONENTS_VIZ_TEST_TEST_CONTEXT_SUPPORT_H_
+#define COMPONENTS_VIZ_TEST_TEST_CONTEXT_SUPPORT_H_
 
 #include <stdint.h>
 
@@ -18,9 +18,9 @@
 class GpuFence;
 class Rect;
 class RectF;
-}
+}  // namespace gfx
 
-namespace cc {
+namespace viz {
 
 class TestContextSupport : public gpu::ContextSupport {
  public:
@@ -67,12 +67,12 @@
 
   void CallAllSyncPointCallbacks();
 
-  typedef base::Callback<void(int plane_z_order,
-                              gfx::OverlayTransform plane_transform,
-                              unsigned overlay_texture_id,
-                              const gfx::Rect& display_bounds,
-                              const gfx::RectF& crop_rect)>
-      ScheduleOverlayPlaneCallback;
+  using ScheduleOverlayPlaneCallback =
+      base::RepeatingCallback<void(int plane_z_order,
+                                   gfx::OverlayTransform plane_transform,
+                                   unsigned overlay_texture_id,
+                                   const gfx::Rect& display_bounds,
+                                   const gfx::RectF& crop_rect)>;
   void SetScheduleOverlayPlaneCallback(
       const ScheduleOverlayPlaneCallback& schedule_overlay_plane_callback);
 
@@ -92,6 +92,6 @@
   DISALLOW_COPY_AND_ASSIGN(TestContextSupport);
 };
 
-}  // namespace cc
+}  // namespace viz
 
-#endif  // CC_TEST_TEST_CONTEXT_SUPPORT_H_
+#endif  // COMPONENTS_VIZ_TEST_TEST_CONTEXT_SUPPORT_H_
diff --git a/cc/test/test_gles2_interface.cc b/components/viz/test/test_gles2_interface.cc
similarity index 88%
rename from cc/test/test_gles2_interface.cc
rename to components/viz/test/test_gles2_interface.cc
index 9766c226..1ce6737 100644
--- a/cc/test/test_gles2_interface.cc
+++ b/components/viz/test/test_gles2_interface.cc
@@ -2,13 +2,13 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "cc/test/test_gles2_interface.h"
+#include "components/viz/test/test_gles2_interface.h"
 
 #include "base/logging.h"
-#include "cc/test/test_web_graphics_context_3d.h"
+#include "components/viz/test/test_web_graphics_context_3d.h"
 #include "gpu/GLES2/gl2extchromium.h"
 
-namespace cc {
+namespace viz {
 
 TestGLES2Interface::TestGLES2Interface() = default;
 TestGLES2Interface::~TestGLES2Interface() = default;
@@ -98,8 +98,8 @@
                                                   GLenum precisiontype,
                                                   GLint* range,
                                                   GLint* precision) {
-  test_context_->getShaderPrecisionFormat(
-      shadertype, precisiontype, range, precision);
+  test_context_->getShaderPrecisionFormat(shadertype, precisiontype, range,
+                                          precision);
 }
 
 void TestGLES2Interface::Viewport(GLint x,
@@ -132,8 +132,8 @@
                                       GLsizei count,
                                       GLenum type,
                                       const void* indices) {
-  test_context_->drawElements(
-      mode, count, type, reinterpret_cast<intptr_t>(indices));
+  test_context_->drawElements(mode, count, type,
+                              reinterpret_cast<intptr_t>(indices));
 }
 
 void TestGLES2Interface::ClearColor(GLclampf red,
@@ -147,11 +147,17 @@
   test_context_->clearStencil(s);
 }
 
-void TestGLES2Interface::Clear(GLbitfield mask) { test_context_->clear(mask); }
+void TestGLES2Interface::Clear(GLbitfield mask) {
+  test_context_->clear(mask);
+}
 
-void TestGLES2Interface::Flush() { test_context_->flush(); }
+void TestGLES2Interface::Flush() {
+  test_context_->flush();
+}
 
-void TestGLES2Interface::Finish() { test_context_->finish(); }
+void TestGLES2Interface::Finish() {
+  test_context_->finish();
+}
 
 void TestGLES2Interface::ShallowFinishCHROMIUM() {
   test_context_->shallowFinishCHROMIUM();
@@ -161,9 +167,13 @@
   test_context_->shallowFlushCHROMIUM();
 }
 
-void TestGLES2Interface::Enable(GLenum cap) { test_context_->enable(cap); }
+void TestGLES2Interface::Enable(GLenum cap) {
+  test_context_->enable(cap);
+}
 
-void TestGLES2Interface::Disable(GLenum cap) { test_context_->disable(cap); }
+void TestGLES2Interface::Disable(GLenum cap) {
+  test_context_->disable(cap);
+}
 
 void TestGLES2Interface::BindRenderbuffer(GLenum target, GLuint buffer) {
   test_context_->bindRenderbuffer(target, buffer);
@@ -190,15 +200,8 @@
                                     GLenum format,
                                     GLenum type,
                                     const void* pixels) {
-  test_context_->texImage2D(target,
-                            level,
-                            internalformat,
-                            width,
-                            height,
-                            border,
-                            format,
-                            type,
-                            pixels);
+  test_context_->texImage2D(target, level, internalformat, width, height,
+                            border, format, type, pixels);
 }
 
 void TestGLES2Interface::TexSubImage2D(GLenum target,
@@ -210,8 +213,8 @@
                                        GLenum format,
                                        GLenum type,
                                        const void* pixels) {
-  test_context_->texSubImage2D(
-      target, level, xoffset, yoffset, width, height, format, type, pixels);
+  test_context_->texSubImage2D(target, level, xoffset, yoffset, width, height,
+                               format, type, pixels);
 }
 
 void TestGLES2Interface::TexStorage2DEXT(GLenum target,
@@ -241,16 +244,16 @@
                                                  GLenum attachment,
                                                  GLenum renderbuffertarget,
                                                  GLuint renderbuffer) {
-  test_context_->framebufferRenderbuffer(
-      target, attachment, renderbuffertarget, renderbuffer);
+  test_context_->framebufferRenderbuffer(target, attachment, renderbuffertarget,
+                                         renderbuffer);
 }
 void TestGLES2Interface::FramebufferTexture2D(GLenum target,
                                               GLenum attachment,
                                               GLenum textarget,
                                               GLuint texture,
                                               GLint level) {
-  test_context_->framebufferTexture2D(
-      target, attachment, textarget, texture, level);
+  test_context_->framebufferTexture2D(target, attachment, textarget, texture,
+                                      level);
 }
 
 void TestGLES2Interface::RenderbufferStorage(GLenum target,
@@ -268,16 +271,16 @@
                                               GLint border,
                                               GLsizei image_size,
                                               const void* data) {
-  test_context_->compressedTexImage2D(
-      target, level, internalformat, width, height, border, image_size, data);
+  test_context_->compressedTexImage2D(target, level, internalformat, width,
+                                      height, border, image_size, data);
 }
 
 GLuint TestGLES2Interface::CreateImageCHROMIUM(ClientBuffer buffer,
                                                GLsizei width,
                                                GLsizei height,
                                                GLenum internalformat) {
-  return test_context_->createImageCHROMIUM(
-      buffer, width, height, internalformat);
+  return test_context_->createImageCHROMIUM(buffer, width, height,
+                                            internalformat);
 }
 
 void TestGLES2Interface::DestroyImageCHROMIUM(GLuint image_id) {
@@ -383,4 +386,4 @@
   InitializeTestContext(test_context_);
 }
 
-}  // namespace cc
+}  // namespace viz
diff --git a/cc/test/test_gles2_interface.h b/components/viz/test/test_gles2_interface.h
similarity index 96%
rename from cc/test/test_gles2_interface.h
rename to components/viz/test/test_gles2_interface.h
index 93e068f..eb7f76a 100644
--- a/cc/test/test_gles2_interface.h
+++ b/components/viz/test/test_gles2_interface.h
@@ -2,12 +2,13 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef CC_TEST_TEST_GLES2_INTERFACE_H_
-#define CC_TEST_TEST_GLES2_INTERFACE_H_
+#ifndef COMPONENTS_VIZ_TEST_TEST_GLES2_INTERFACE_H_
+#define COMPONENTS_VIZ_TEST_TEST_GLES2_INTERFACE_H_
 
 #include "gpu/command_buffer/client/gles2_interface_stub.h"
 
-namespace cc {
+namespace viz {
+
 class TestWebGraphicsContext3D;
 
 class TestGLES2Interface : public gpu::gles2::GLES2InterfaceStub {
@@ -167,6 +168,6 @@
   TestWebGraphicsContext3D* test_context_ = nullptr;
 };
 
-}  // namespace cc
+}  // namespace viz
 
-#endif  // CC_TEST_TEST_GLES2_INTERFACE_H_
+#endif  // COMPONENTS_VIZ_TEST_TEST_GLES2_INTERFACE_H_
diff --git a/cc/test/test_texture.cc b/components/viz/test/test_texture.cc
similarity index 77%
rename from cc/test/test_texture.cc
rename to components/viz/test/test_texture.cc
index 9433253..a73c931 100644
--- a/cc/test/test_texture.cc
+++ b/components/viz/test/test_texture.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "cc/test/test_texture.h"
+#include "components/viz/test/test_texture.h"
 
 #include <stddef.h>
 #include <stdint.h>
@@ -10,16 +10,16 @@
 #include "gpu/GLES2/gl2extchromium.h"
 #include "third_party/khronos/GLES2/gl2ext.h"
 
-namespace cc {
+namespace viz {
 
-size_t TextureSizeBytes(const gfx::Size& size, viz::ResourceFormat format) {
+size_t TextureSizeBytes(const gfx::Size& size, ResourceFormat format) {
   unsigned int components_per_pixel = 4;
   unsigned int bytes_per_component = 1;
   return size.width() * size.height() * components_per_pixel *
          bytes_per_component;
 }
 
-TestTexture::TestTexture() : format(viz::RGBA_8888) {
+TestTexture::TestTexture() : format(RGBA_8888) {
   // Initialize default parameter values.
   params[GL_TEXTURE_MAG_FILTER] = GL_LINEAR;
   params[GL_TEXTURE_MIN_FILTER] = GL_NEAREST_MIPMAP_LINEAR;
@@ -30,8 +30,7 @@
 
 TestTexture::~TestTexture() = default;
 
-void TestTexture::Reallocate(const gfx::Size& size,
-                             viz::ResourceFormat format) {
+void TestTexture::Reallocate(const gfx::Size& size, ResourceFormat format) {
   this->size = size;
   this->format = format;
   this->data.reset(new uint8_t[TextureSizeBytes(size, format)]);
@@ -41,4 +40,4 @@
   return params.find(pname) != params.end();
 }
 
-}  // namespace cc
+}  // namespace viz
diff --git a/cc/test/test_texture.h b/components/viz/test/test_texture.h
similarity index 69%
rename from cc/test/test_texture.h
rename to components/viz/test/test_texture.h
index 1ac63c15..e61e7af 100644
--- a/cc/test/test_texture.h
+++ b/components/viz/test/test_texture.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef CC_TEST_TEST_TEXTURE_H_
-#define CC_TEST_TEST_TEXTURE_H_
+#ifndef COMPONENTS_VIZ_TEST_TEST_TEXTURE_H_
+#define COMPONENTS_VIZ_TEST_TEST_TEXTURE_H_
 
 #include <stddef.h>
 #include <stdint.h>
@@ -16,18 +16,18 @@
 #include "third_party/khronos/GLES2/gl2.h"
 #include "ui/gfx/geometry/size.h"
 
-namespace cc {
+namespace viz {
 
-size_t TextureSizeBytes(const gfx::Size& size, viz::ResourceFormat format);
+size_t TextureSizeBytes(const gfx::Size& size, ResourceFormat format);
 
 struct TestTexture : public base::RefCounted<TestTexture> {
   TestTexture();
 
-  void Reallocate(const gfx::Size& size, viz::ResourceFormat format);
+  void Reallocate(const gfx::Size& size, ResourceFormat format);
   bool IsValidParameter(GLenum pname);
 
   gfx::Size size;
-  viz::ResourceFormat format;
+  ResourceFormat format;
   std::unique_ptr<uint8_t[]> data;
 
   using TextureParametersMap = std::unordered_map<GLenum, GLint>;
@@ -38,6 +38,6 @@
   ~TestTexture();
 };
 
-}  // namespace cc
+}  // namespace viz
 
-#endif  // CC_TEST_TEST_TEXTURE_H_
+#endif  // COMPONENTS_VIZ_TEST_TEST_TEXTURE_H_
diff --git a/cc/test/test_web_graphics_context_3d.cc b/components/viz/test/test_web_graphics_context_3d.cc
similarity index 88%
rename from cc/test/test_web_graphics_context_3d.cc
rename to components/viz/test/test_web_graphics_context_3d.cc
index 0208eed..3cd55e0 100644
--- a/cc/test/test_web_graphics_context_3d.cc
+++ b/components/viz/test/test_web_graphics_context_3d.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "cc/test/test_web_graphics_context_3d.h"
+#include "components/viz/test/test_web_graphics_context_3d.h"
 
 #include <stddef.h>
 #include <stdint.h>
@@ -16,19 +16,19 @@
 #include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/numerics/safe_conversions.h"
-#include "cc/test/test_context_support.h"
+#include "components/viz/test/test_context_support.h"
 #include "gpu/GLES2/gl2extchromium.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/khronos/GLES2/gl2ext.h"
 
-namespace cc {
+namespace viz {
 
 static unsigned s_context_id = 1;
 
 const GLuint TestWebGraphicsContext3D::kExternalTextureId = 1337;
 
-static base::LazyInstance<base::Lock>::Leaky
-    g_shared_namespace_lock = LAZY_INSTANCE_INITIALIZER;
+static base::LazyInstance<base::Lock>::Leaky g_shared_namespace_lock =
+    LAZY_INSTANCE_INITIALIZER;
 
 TestWebGraphicsContext3D::Namespace*
     TestWebGraphicsContext3D::shared_namespace_ = nullptr;
@@ -37,8 +37,7 @@
     : next_buffer_id(1),
       next_image_id(1),
       next_texture_id(1),
-      next_renderbuffer_id(1) {
-}
+      next_renderbuffer_id(1) {}
 
 TestWebGraphicsContext3D::Namespace::~Namespace() {
   g_shared_namespace_lock.Get().AssertAcquired();
@@ -90,8 +89,9 @@
   }
 }
 
-void TestWebGraphicsContext3D::reshapeWithScaleFactor(
-    int width, int height, float scale_factor) {
+void TestWebGraphicsContext3D::reshapeWithScaleFactor(int width,
+                                                      int height,
+                                                      float scale_factor) {
   reshape_called_ = true;
   width_ = width;
   height_ = height;
@@ -102,57 +102,47 @@
   return context_lost_;
 }
 
-GLenum TestWebGraphicsContext3D::checkFramebufferStatus(
-    GLenum target) {
+GLenum TestWebGraphicsContext3D::checkFramebufferStatus(GLenum target) {
   if (context_lost_)
     return GL_FRAMEBUFFER_UNDEFINED_OES;
   return GL_FRAMEBUFFER_COMPLETE;
 }
 
-GLint TestWebGraphicsContext3D::getUniformLocation(
-    GLuint program,
-    const GLchar* name) {
+GLint TestWebGraphicsContext3D::getUniformLocation(GLuint program,
+                                                   const GLchar* name) {
   return 0;
 }
 
-GLsizeiptr TestWebGraphicsContext3D::getVertexAttribOffset(
-    GLuint index,
-    GLenum pname) {
+GLsizeiptr TestWebGraphicsContext3D::getVertexAttribOffset(GLuint index,
+                                                           GLenum pname) {
   return 0;
 }
 
-GLboolean TestWebGraphicsContext3D::isBuffer(
-    GLuint buffer) {
+GLboolean TestWebGraphicsContext3D::isBuffer(GLuint buffer) {
   return false;
 }
 
-GLboolean TestWebGraphicsContext3D::isEnabled(
-    GLenum cap) {
+GLboolean TestWebGraphicsContext3D::isEnabled(GLenum cap) {
   return false;
 }
 
-GLboolean TestWebGraphicsContext3D::isFramebuffer(
-    GLuint framebuffer) {
+GLboolean TestWebGraphicsContext3D::isFramebuffer(GLuint framebuffer) {
   return false;
 }
 
-GLboolean TestWebGraphicsContext3D::isProgram(
-    GLuint program) {
+GLboolean TestWebGraphicsContext3D::isProgram(GLuint program) {
   return false;
 }
 
-GLboolean TestWebGraphicsContext3D::isRenderbuffer(
-    GLuint renderbuffer) {
+GLboolean TestWebGraphicsContext3D::isRenderbuffer(GLuint renderbuffer) {
   return false;
 }
 
-GLboolean TestWebGraphicsContext3D::isShader(
-    GLuint shader) {
+GLboolean TestWebGraphicsContext3D::isShader(GLuint shader) {
   return false;
 }
 
-GLboolean TestWebGraphicsContext3D::isTexture(
-    GLuint texture) {
+GLboolean TestWebGraphicsContext3D::isTexture(GLuint texture) {
   return false;
 }
 
@@ -161,14 +151,12 @@
     ids[i] = NextBufferId();
 }
 
-void TestWebGraphicsContext3D::genFramebuffers(
-    GLsizei count, GLuint* ids) {
+void TestWebGraphicsContext3D::genFramebuffers(GLsizei count, GLuint* ids) {
   for (int i = 0; i < count; ++i)
     ids[i] = NextFramebufferId();
 }
 
-void TestWebGraphicsContext3D::genRenderbuffers(
-    GLsizei count, GLuint* ids) {
+void TestWebGraphicsContext3D::genRenderbuffers(GLsizei count, GLuint* ids) {
   for (int i = 0; i < count; ++i)
     ids[i] = NextRenderbufferId();
 }
@@ -300,8 +288,8 @@
     ADD_FAILURE() << "useProgram called on unknown program " << program;
 }
 
-void TestWebGraphicsContext3D::bindFramebuffer(
-    GLenum target, GLuint framebuffer) {
+void TestWebGraphicsContext3D::bindFramebuffer(GLenum target,
+                                               GLuint framebuffer) {
   base::AutoLock lock_for_framebuffer_access(namespace_->lock);
   if (framebuffer != 0 &&
       framebuffer_set_.find(framebuffer) == framebuffer_set_.end()) {
@@ -314,14 +302,13 @@
   }
 }
 
-void TestWebGraphicsContext3D::bindRenderbuffer(
-      GLenum target, GLuint renderbuffer) {
+void TestWebGraphicsContext3D::bindRenderbuffer(GLenum target,
+                                                GLuint renderbuffer) {
   if (!renderbuffer)
     return;
   base::AutoLock lock_for_renderbuffer_access(namespace_->lock);
-  if (renderbuffer != 0 &&
-      namespace_->renderbuffer_set.find(renderbuffer) ==
-          namespace_->renderbuffer_set.end()) {
+  if (renderbuffer != 0 && namespace_->renderbuffer_set.find(renderbuffer) ==
+                               namespace_->renderbuffer_set.end()) {
     ADD_FAILURE() << "bindRenderbuffer called with unknown renderbuffer";
   } else if ((renderbuffer >> 16) != context_id_) {
     ADD_FAILURE()
@@ -329,8 +316,7 @@
   }
 }
 
-void TestWebGraphicsContext3D::bindTexture(
-    GLenum target, GLuint texture_id) {
+void TestWebGraphicsContext3D::bindTexture(GLenum target, GLuint texture_id) {
   if (times_bind_texture_succeeds_ >= 0) {
     if (!times_bind_texture_succeeds_) {
       loseContextCHROMIUM(GL_GUILTY_CONTEXT_RESET_ARB,
@@ -347,8 +333,7 @@
   used_textures_.insert(texture_id);
 }
 
-GLuint TestWebGraphicsContext3D::BoundTextureId(
-    GLenum target) {
+GLuint TestWebGraphicsContext3D::BoundTextureId(GLenum target) {
   return texture_targets_.BoundTexture(target);
 }
 
@@ -370,7 +355,9 @@
   DCHECK(BoundTextureId(target));
 }
 
-GLuint TestWebGraphicsContext3D::createQueryEXT() { return 1u; }
+GLuint TestWebGraphicsContext3D::createQueryEXT() {
+  return 1u;
+}
 
 void TestWebGraphicsContext3D::endQueryEXT(GLenum target) {
   if (times_end_query_succeeds_ >= 0) {
@@ -382,18 +369,15 @@
   }
 }
 
-void TestWebGraphicsContext3D::getQueryObjectuivEXT(
-    GLuint query,
-    GLenum pname,
-    GLuint* params) {
+void TestWebGraphicsContext3D::getQueryObjectuivEXT(GLuint query,
+                                                    GLenum pname,
+                                                    GLuint* params) {
   // If the context is lost, behave as if result is available.
   if (pname == GL_QUERY_RESULT_AVAILABLE_EXT)
     *params = 1;
 }
 
-void TestWebGraphicsContext3D::getIntegerv(
-    GLenum pname,
-    GLint* value) {
+void TestWebGraphicsContext3D::getIntegerv(GLenum pname, GLint* value) {
   if (pname == GL_MAX_TEXTURE_SIZE)
     *value = max_texture_size_;
   else if (pname == GL_ACTIVE_TEXTURE)
@@ -510,10 +494,11 @@
   return 0;
 }
 
-GLenum TestWebGraphicsContext3D::getError() { return GL_NO_ERROR; }
+GLenum TestWebGraphicsContext3D::getError() {
+  return GL_NO_ERROR;
+}
 
-void TestWebGraphicsContext3D::bindBuffer(GLenum target,
-                                          GLuint buffer) {
+void TestWebGraphicsContext3D::bindBuffer(GLenum target, GLuint buffer) {
   bound_buffer_[target] = buffer;
   if (!buffer)
     return;
@@ -594,8 +579,7 @@
   return buffers[bound_buffer_[target]]->pixels.get();
 }
 
-GLboolean TestWebGraphicsContext3D::unmapBufferCHROMIUM(
-    GLenum target) {
+GLboolean TestWebGraphicsContext3D::unmapBufferCHROMIUM(GLenum target) {
   base::AutoLock lock(namespace_->lock);
   std::unordered_map<unsigned, std::unique_ptr<Buffer>>& buffers =
       namespace_->buffers;
@@ -620,8 +604,7 @@
   return image_id;
 }
 
-void TestWebGraphicsContext3D::destroyImageCHROMIUM(
-    GLuint id) {
+void TestWebGraphicsContext3D::destroyImageCHROMIUM(GLuint id) {
   RetireImageId(id);
   base::AutoLock lock(namespace_->lock);
   std::unordered_set<unsigned>& images = namespace_->images;
@@ -791,9 +774,8 @@
 
 TestWebGraphicsContext3D::TextureTargets::~TextureTargets() = default;
 
-void TestWebGraphicsContext3D::TextureTargets::BindTexture(
-    GLenum target,
-    GLuint id) {
+void TestWebGraphicsContext3D::TextureTargets::BindTexture(GLenum target,
+                                                           GLuint id) {
   // Make sure this is a supported target by seeing if it was bound to before.
   DCHECK(bound_textures_.find(target) != bound_textures_.end());
   bound_textures_[target] = id;
@@ -821,19 +803,16 @@
     *value = it->second;
 }
 
-void TestWebGraphicsContext3D::TextureTargets::UnbindTexture(
-    GLuint id) {
+void TestWebGraphicsContext3D::TextureTargets::UnbindTexture(GLuint id) {
   // Bind zero to any targets that the id is bound to.
   for (TargetTextureMap::iterator it = bound_textures_.begin();
-       it != bound_textures_.end();
-       it++) {
+       it != bound_textures_.end(); it++) {
     if (it->second == id)
       it->second = 0;
   }
 }
 
-GLuint TestWebGraphicsContext3D::TextureTargets::BoundTexture(
-    GLenum target) {
+GLuint TestWebGraphicsContext3D::TextureTargets::BoundTexture(GLenum target) {
   DCHECK(bound_textures_.find(target) != bound_textures_.end());
   return bound_textures_[target];
 }
@@ -846,4 +825,4 @@
 
 TestWebGraphicsContext3D::Image::~Image() = default;
 
-}  // namespace cc
+}  // namespace viz
diff --git a/cc/test/test_web_graphics_context_3d.h b/components/viz/test/test_web_graphics_context_3d.h
similarity index 97%
rename from cc/test/test_web_graphics_context_3d.h
rename to components/viz/test/test_web_graphics_context_3d.h
index 5e4921f..61731ae8 100644
--- a/cc/test/test_web_graphics_context_3d.h
+++ b/components/viz/test/test_web_graphics_context_3d.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef CC_TEST_TEST_WEB_GRAPHICS_CONTEXT_3D_H_
-#define CC_TEST_TEST_WEB_GRAPHICS_CONTEXT_3D_H_
+#ifndef COMPONENTS_VIZ_TEST_TEST_WEB_GRAPHICS_CONTEXT_3D_H_
+#define COMPONENTS_VIZ_TEST_TEST_WEB_GRAPHICS_CONTEXT_3D_H_
 
 #include <stddef.h>
 #include <stdint.h>
@@ -21,8 +21,8 @@
 #include "base/memory/weak_ptr.h"
 #include "base/stl_util.h"
 #include "base/synchronization/lock.h"
-#include "cc/test/ordered_texture_map.h"
-#include "cc/test/test_texture.h"
+#include "components/viz/test/ordered_texture_map.h"
+#include "components/viz/test/test_texture.h"
 #include "gpu/command_buffer/common/capabilities.h"
 #include "gpu/command_buffer/common/sync_token.h"
 #include "third_party/khronos/GLES2/gl2.h"
@@ -30,7 +30,8 @@
 
 extern "C" typedef struct _ClientBuffer* ClientBuffer;
 
-namespace cc {
+namespace viz {
+
 class TestContextSupport;
 
 class TestWebGraphicsContext3D {
@@ -512,6 +513,6 @@
   base::WeakPtrFactory<TestWebGraphicsContext3D> weak_ptr_factory_;
 };
 
-}  // namespace cc
+}  // namespace viz
 
-#endif  // CC_TEST_TEST_WEB_GRAPHICS_CONTEXT_3D_H_
+#endif  // COMPONENTS_VIZ_TEST_TEST_WEB_GRAPHICS_CONTEXT_3D_H_
diff --git a/cc/test/test_web_graphics_context_3d_unittest.cc b/components/viz/test/test_web_graphics_context_3d_unittest.cc
similarity index 82%
rename from cc/test/test_web_graphics_context_3d_unittest.cc
rename to components/viz/test/test_web_graphics_context_3d_unittest.cc
index cc2a8ed..ad2b6ea5 100644
--- a/cc/test/test_web_graphics_context_3d_unittest.cc
+++ b/components/viz/test/test_web_graphics_context_3d_unittest.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "cc/test/test_web_graphics_context_3d.h"
+#include "components/viz/test/test_web_graphics_context_3d.h"
 
 #include <memory>
 
@@ -11,7 +11,7 @@
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/khronos/GLES2/gl2ext.h"
 
-namespace cc {
+namespace viz {
 namespace {
 
 static bool check_parameter_value(TestWebGraphicsContext3D* context,
@@ -24,8 +24,8 @@
 
 static void expect_default_parameter_values(TestWebGraphicsContext3D* context) {
   EXPECT_TRUE(check_parameter_value(context, GL_TEXTURE_MAG_FILTER, GL_LINEAR));
-  EXPECT_TRUE(check_parameter_value(
-      context, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_LINEAR));
+  EXPECT_TRUE(check_parameter_value(context, GL_TEXTURE_MIN_FILTER,
+                                    GL_NEAREST_MIPMAP_LINEAR));
   EXPECT_TRUE(
       check_parameter_value(context, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE));
   EXPECT_TRUE(
@@ -75,15 +75,15 @@
   // texture.
   GLuint second_texture = context->createTexture();
   context->bindTexture(GL_TEXTURE_2D, second_texture);
-  context->texParameteri(
-      GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST);
-  context->texParameteri(
-      GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR_MIPMAP_LINEAR);
+  context->texParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
+                         GL_LINEAR_MIPMAP_NEAREST);
+  context->texParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER,
+                         GL_LINEAR_MIPMAP_LINEAR);
 
-  EXPECT_TRUE(check_parameter_value(
-      context.get(), GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST));
-  EXPECT_TRUE(check_parameter_value(
-      context.get(), GL_TEXTURE_MAG_FILTER, GL_LINEAR_MIPMAP_LINEAR));
+  EXPECT_TRUE(check_parameter_value(context.get(), GL_TEXTURE_MIN_FILTER,
+                                    GL_LINEAR_MIPMAP_NEAREST));
+  EXPECT_TRUE(check_parameter_value(context.get(), GL_TEXTURE_MAG_FILTER,
+                                    GL_LINEAR_MIPMAP_LINEAR));
 
   // Get texture parameters on the first texture and verify they are still
   // intact.
@@ -110,4 +110,4 @@
 }
 
 }  // namespace
-}  // namespace cc
+}  // namespace viz
diff --git a/content/browser/compositor/reflector_impl_unittest.cc b/content/browser/compositor/reflector_impl_unittest.cc
index 52d26548..303535ab 100644
--- a/content/browser/compositor/reflector_impl_unittest.cc
+++ b/content/browser/compositor/reflector_impl_unittest.cc
@@ -10,12 +10,12 @@
 #include "base/run_loop.h"
 #include "base/single_thread_task_runner.h"
 #include "build/build_config.h"
-#include "cc/test/test_context_provider.h"
-#include "cc/test/test_web_graphics_context_3d.h"
 #include "components/viz/common/frame_sinks/begin_frame_source.h"
 #include "components/viz/common/frame_sinks/delay_based_time_source.h"
 #include "components/viz/service/display/output_surface_frame.h"
 #include "components/viz/service/display_embedder/compositor_overlay_candidate_validator.h"
+#include "components/viz/test/test_context_provider.h"
+#include "components/viz/test/test_web_graphics_context_3d.h"
 #include "content/browser/compositor/browser_compositor_output_surface.h"
 #include "content/browser/compositor/reflector_texture.h"
 #include "content/browser/compositor/test/test_image_transport_factory.h"
@@ -156,7 +156,7 @@
         false /* enable_pixel_canvas */));
     compositor_->SetAcceleratedWidget(gfx::kNullAcceleratedWidget);
 
-    auto context_provider = cc::TestContextProvider::Create();
+    auto context_provider = viz::TestContextProvider::Create();
     context_provider->BindToCurrentThread();
     output_surface_ =
         std::make_unique<TestOutputSurface>(std::move(context_provider));
diff --git a/content/browser/renderer_host/media/video_capture_buffer_pool_unittest.cc b/content/browser/renderer_host/media/video_capture_buffer_pool_unittest.cc
index 8a23265..a378c01 100644
--- a/content/browser/renderer_host/media/video_capture_buffer_pool_unittest.cc
+++ b/content/browser/renderer_host/media/video_capture_buffer_pool_unittest.cc
@@ -20,8 +20,6 @@
 #include "base/memory/ref_counted.h"
 #include "base/message_loop/message_loop.h"
 #include "build/build_config.h"
-#include "cc/test/test_context_provider.h"
-#include "cc/test/test_web_graphics_context_3d.h"
 #include "content/browser/renderer_host/media/video_capture_controller.h"
 #include "media/base/video_frame.h"
 #include "media/capture/video/video_capture_buffer_pool_impl.h"
diff --git a/content/renderer/gpu/render_widget_compositor_unittest.cc b/content/renderer/gpu/render_widget_compositor_unittest.cc
index 65810e5f..3855fcd 100644
--- a/content/renderer/gpu/render_widget_compositor_unittest.cc
+++ b/content/renderer/gpu/render_widget_compositor_unittest.cc
@@ -16,10 +16,9 @@
 #include "build/build_config.h"
 #include "cc/animation/animation_host.h"
 #include "cc/test/fake_layer_tree_frame_sink.h"
-#include "cc/test/test_context_provider.h"
-#include "cc/test/test_web_graphics_context_3d.h"
 #include "cc/trees/layer_tree_host.h"
 #include "components/viz/common/frame_sinks/copy_output_request.h"
+#include "components/viz/test/test_context_provider.h"
 #include "content/public/common/screen_info.h"
 #include "content/public/test/mock_render_thread.h"
 #include "content/renderer/render_widget.h"
@@ -85,7 +84,7 @@
       return;
     }
 
-    auto context_provider = cc::TestContextProvider::Create();
+    auto context_provider = viz::TestContextProvider::Create();
     if (num_failures_since_last_success_ < num_failures_before_success_) {
       context_provider->UnboundTestContext3d()->loseContextCHROMIUM(
           GL_GUILTY_CONTEXT_RESET_ARB, GL_INNOCENT_CONTEXT_RESET_ARB);
diff --git a/gpu/command_buffer/client/BUILD.gn b/gpu/command_buffer/client/BUILD.gn
index d75b361..383839d 100644
--- a/gpu/command_buffer/client/BUILD.gn
+++ b/gpu/command_buffer/client/BUILD.gn
@@ -193,7 +193,7 @@
 }
 
 source_set("raster_sources") {
-  # External code should depend on this via //gpu/raster above rather than
+  # External code should depend on this via //gpu:raster above rather than
   # depending on this directly or the component build will break.
   visibility = [ "//gpu/*" ]
   all_dependent_configs = [ "//third_party/khronos:khronos_headers" ]
diff --git a/media/blink/DEPS b/media/blink/DEPS
index 5ccf24e0..3ede8d7 100644
--- a/media/blink/DEPS
+++ b/media/blink/DEPS
@@ -2,7 +2,6 @@
   "+cc/blink/web_layer_impl.h",
   "+cc/layers/video_frame_provider.h",
   "+cc/layers/video_layer.h",
-  "+cc/test/test_context_provider.h",
   "+components/scheduler",  # Only allowed in tests.
   "+components/viz/common/gpu/context_provider.h",
   "+components/viz/common/resources/shared_bitmap_manager.h",
@@ -21,3 +20,9 @@
   # media/mojo is not part of "media" target and should not use MEDIA_EXPORT.
   "-media/base/media_export.h"
 ]
+
+specific_include_rules = {
+  "webmediaplayer_impl_unittest.cc": [
+    "+components/viz/test/test_context_provider.h",
+  ],
+}
diff --git a/media/blink/webmediaplayer_impl_unittest.cc b/media/blink/webmediaplayer_impl_unittest.cc
index 845b135..d8c0d9c 100644
--- a/media/blink/webmediaplayer_impl_unittest.cc
+++ b/media/blink/webmediaplayer_impl_unittest.cc
@@ -22,7 +22,7 @@
 #include "base/threading/thread.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "cc/blink/web_layer_impl.h"
-#include "cc/test/test_context_provider.h"
+#include "components/viz/test/test_context_provider.h"
 #include "media/base/media_log.h"
 #include "media/base/media_switches.h"
 #include "media/base/mock_media_log.h"
@@ -265,7 +265,7 @@
                                                   &web_frame_client_,
                                                   nullptr,
                                                   nullptr)),
-        context_provider_(cc::TestContextProvider::Create()),
+        context_provider_(viz::TestContextProvider::Create()),
         audio_parameters_(TestAudioParameters::Normal()) {
     media_thread_.StartAndWaitForTesting();
   }
@@ -311,7 +311,7 @@
         std::move(provider),
         base::Bind(&WebMediaPlayerImplTest::CreateMockSurfaceLayerBridge,
                    base::Unretained(this)),
-        cc::TestContextProvider::Create(),
+        viz::TestContextProvider::Create(),
         base::FeatureList::IsEnabled(media::kUseSurfaceLayerForVideo),
         base::BindRepeating(pip_surface_info_cb_.Get()));
 
@@ -517,7 +517,7 @@
   blink::WebView* web_view_;
   blink::WebLocalFrame* web_local_frame_;
 
-  scoped_refptr<cc::TestContextProvider> context_provider_;
+  scoped_refptr<viz::TestContextProvider> context_provider_;
   StrictMock<MockVideoFrameCompositor>* compositor_;
 
   std::unique_ptr<media::UrlIndex> url_index_;
diff --git a/third_party/WebKit/Source/platform/graphics/VideoFrameSubmitterTest.cpp b/third_party/WebKit/Source/platform/graphics/VideoFrameSubmitterTest.cpp
index bc4aec7..c2274ff2 100644
--- a/third_party/WebKit/Source/platform/graphics/VideoFrameSubmitterTest.cpp
+++ b/third_party/WebKit/Source/platform/graphics/VideoFrameSubmitterTest.cpp
@@ -12,10 +12,10 @@
 #include "base/threading/thread.h"
 #include "cc/layers/video_frame_provider.h"
 #include "cc/test/layer_test_common.h"
-#include "cc/test/test_context_provider.h"
 #include "cc/trees/layer_tree_settings.h"
 #include "cc/trees/task_runner_provider.h"
 #include "components/viz/test/fake_external_begin_frame_source.h"
+#include "components/viz/test/test_context_provider.h"
 #include "media/base/video_frame.h"
 #include "mojo/public/cpp/bindings/interface_request.h"
 #include "platform/graphics/VideoFrameResourceProvider.h"
@@ -127,7 +127,7 @@
       : now_src_(new base::SimpleTestTickClock()),
         begin_frame_source_(new viz::FakeExternalBeginFrameSource(0.f, false)),
         provider_(new StrictMock<MockVideoFrameProvider>()),
-        context_provider_(cc::TestContextProvider::CreateWorker()) {
+        context_provider_(viz::TestContextProvider::CreateWorker()) {
     context_provider_->BindToCurrentThread();
   }
 
@@ -158,7 +158,7 @@
   std::unique_ptr<StrictMock<MockCompositorFrameSink>> sink_;
   std::unique_ptr<StrictMock<MockVideoFrameProvider>> provider_;
   StrictMock<MockVideoFrameResourceProvider>* resource_provider_;
-  scoped_refptr<cc::TestContextProvider> context_provider_;
+  scoped_refptr<viz::TestContextProvider> context_provider_;
   std::unique_ptr<VideoFrameSubmitter> submitter_;
 };
 
diff --git a/ui/aura/test/aura_test_context_factory.cc b/ui/aura/test/aura_test_context_factory.cc
index 4782070..c287a8b 100644
--- a/ui/aura/test/aura_test_context_factory.cc
+++ b/ui/aura/test/aura_test_context_factory.cc
@@ -4,8 +4,8 @@
 
 #include "ui/aura/test/aura_test_context_factory.h"
 
-#include "cc/test/fake_output_surface.h"
-#include "cc/test/test_context_provider.h"
+#include "components/viz/test/fake_output_surface.h"
+#include "components/viz/test/test_context_provider.h"
 #include "components/viz/test/test_layer_tree_frame_sink.h"
 
 namespace aura {
@@ -22,7 +22,7 @@
   std::unique_ptr<viz::OutputSurface> CreateDisplayOutputSurface(
       scoped_refptr<viz::ContextProvider> compositor_context_provider)
       override {
-    return cc::FakeOutputSurface::Create3d(
+    return viz::FakeOutputSurface::Create3d(
         std::move(display_context_provider_));
   }
   void DisplayReceivedLocalSurfaceId(
@@ -48,15 +48,15 @@
 
 void AuraTestContextFactory::CreateLayerTreeFrameSink(
     base::WeakPtr<ui::Compositor> compositor) {
-  scoped_refptr<cc::TestContextProvider> context_provider =
-      cc::TestContextProvider::Create();
+  scoped_refptr<viz::TestContextProvider> context_provider =
+      viz::TestContextProvider::Create();
   std::unique_ptr<FrameSinkClient> frame_sink_client =
       std::make_unique<FrameSinkClient>(context_provider);
   constexpr bool synchronous_composite = false;
   constexpr bool disable_display_vsync = false;
   const double refresh_rate = GetRefreshRate();
   auto frame_sink = std::make_unique<viz::TestLayerTreeFrameSink>(
-      context_provider, cc::TestContextProvider::CreateWorker(), nullptr,
+      context_provider, viz::TestContextProvider::CreateWorker(), nullptr,
       GetGpuMemoryBufferManager(), renderer_settings(),
       base::ThreadTaskRunnerHandle::Get().get(), synchronous_composite,
       disable_display_vsync, refresh_rate);