Remove TextureCache and TextureUploader.

These classes are now defunct and have no remaining clients.

BUG=

Review URL: https://codereview.chromium.org/1533753002 .
diff --git a/mojo/BUILD.gn b/mojo/BUILD.gn
index 261fc8d..5302355 100644
--- a/mojo/BUILD.gn
+++ b/mojo/BUILD.gn
@@ -66,7 +66,6 @@
     "//mojo/edk:tests",
     "//mojo/file_utils:file_utils_apptests",
     "//mojo/gles2:mgl_unittests",
-    "//mojo/gpu:apptests",
     "//mojo/public/cpp/bindings/tests:versioning_apptests",
     "//mojo/services/files/c:apptests",
     "//mojo/services/files/cpp:files_impl_apptests",
diff --git a/mojo/gpu/BUILD.gn b/mojo/gpu/BUILD.gn
index 27d2723..e0b3447 100644
--- a/mojo/gpu/BUILD.gn
+++ b/mojo/gpu/BUILD.gn
@@ -16,10 +16,6 @@
     "mojo_context_support.h",
     "mojo_gles2_impl_autogen.cc",
     "mojo_gles2_impl_autogen.h",
-    "texture_cache.cc",
-    "texture_cache.h",
-    "texture_uploader.cc",
-    "texture_uploader.h",
   ]
 
   public_deps = [
@@ -42,30 +38,5 @@
     "//mojo/services/geometry/cpp",
     "//mojo/services/geometry/interfaces",
     "//mojo/services/gpu/interfaces",
-    "//mojo/services/surfaces/cpp",
-    "//mojo/services/surfaces/interfaces",
-    "//mojo/services/surfaces/interfaces:surface_id",
-  ]
-}
-
-mojo_native_application("apptests") {
-  output_name = "texture_apptests"
-
-  testonly = true
-
-  sources = [
-    "texture_cache_unittest.cc",
-    "texture_uploader_unittest.cc",
-  ]
-
-  deps = [
-    ":gpu",
-    "//base",
-    "//mojo/application",
-    "//mojo/application:test_support",
-    "//mojo/public/cpp/bindings:callback",
-    "//mojo/services/geometry/interfaces",
-    "//mojo/services/surfaces/interfaces:surface_id",
-    "//testing/gtest",
   ]
 }
diff --git a/mojo/gpu/texture_cache.cc b/mojo/gpu/texture_cache.cc
deleted file mode 100644
index a76fedb..0000000
--- a/mojo/gpu/texture_cache.cc
+++ /dev/null
@@ -1,104 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef GL_GLEXT_PROTOTYPES
-#define GL_GLEXT_PROTOTYPES
-#endif
-#include <GLES2/gl2extmojo.h>
-
-#include "mojo/gpu/gl_context.h"
-#include "mojo/gpu/gl_texture.h"
-#include "mojo/gpu/texture_cache.h"
-#include "mojo/services/geometry/interfaces/geometry.mojom.h"
-
-namespace mojo {
-
-TextureCache::TextureInfo::TextureInfo() : texture_(), resource_id_(0u) {}
-TextureCache::TextureInfo::TextureInfo(scoped_ptr<mojo::GLTexture> texture,
-                                       uint32_t resource_id)
-    : texture_(texture.Pass()), resource_id_(resource_id) {}
-TextureCache::TextureInfo::~TextureInfo() {}
-
-TextureCache::TextureCache(base::WeakPtr<mojo::GLContext> gl_context,
-                           mojo::ResourceReturnerPtr* out_resource_returner)
-    : gl_context_(gl_context), returner_binding_(this), next_resource_id_(0u) {
-  if (out_resource_returner) {
-    returner_binding_.Bind(GetProxy(out_resource_returner));
-  }
-}
-
-TextureCache::~TextureCache() {}
-
-scoped_ptr<TextureCache::TextureInfo> TextureCache::GetTexture(
-    const mojo::Size& requested_size) {
-  // Sift through our available textures to find one the correct size.  If one
-  // exists use it.  As we find textures of the wrong size, clean them up.
-  while (!available_textures_.empty()) {
-    // Get the next available texture's resource id.
-    uint32_t available_resource_id = available_textures_.front();
-    available_textures_.pop_front();
-
-    // Get the texture information from the texture map.
-    auto texture_iterator =
-        resource_to_texture_map_.find(available_resource_id);
-    mojo::Size texture_size = texture_iterator->second->size();
-    scoped_ptr<TextureInfo> texture_info(new TextureInfo(
-        texture_iterator->second.Pass(), texture_iterator->first));
-    resource_to_texture_map_.erase(texture_iterator);
-
-    // Get the sync point from the sync point map.
-    auto sync_point_iterator =
-        resource_to_sync_point_map_.find(available_resource_id);
-    int sync_point = sync_point_iterator->second;
-    resource_to_sync_point_map_.erase(sync_point_iterator);
-
-    // If the texture is the right size, use it.
-    if (texture_size.width == requested_size.width &&
-        texture_size.height == requested_size.height) {
-      gl_context_->MakeCurrent();
-      glWaitSyncPointCHROMIUM(sync_point);
-      return texture_info;
-    }
-  }
-
-  // If our context is invalid return an empty scoped ptr.
-  if (!gl_context_) {
-    return scoped_ptr<TextureInfo>();
-  }
-
-  // We couldn't find an existing texture to reuse, create a new one!
-  scoped_ptr<mojo::GLTexture> new_texture(
-      new mojo::GLTexture(gl_context_, requested_size));
-  next_resource_id_++;
-  scoped_ptr<TextureInfo> texture_info(
-      new TextureInfo(new_texture.Pass(), next_resource_id_));
-  return texture_info;
-}
-
-void TextureCache::NotifyPendingResourceReturn(
-    uint32_t resource_id,
-    scoped_ptr<mojo::GLTexture> texture) {
-  resource_to_texture_map_[resource_id] = texture.Pass();
-}
-
-// mojo::ResourceReturner
-void TextureCache::ReturnResources(
-    mojo::Array<mojo::ReturnedResourcePtr> resources) {
-  if (!gl_context_) {
-    return;
-  }
-  gl_context_->MakeCurrent();
-  for (size_t i = 0u; i < resources.size(); ++i) {
-    mojo::ReturnedResourcePtr resource = resources[i].Pass();
-    DCHECK_EQ(1, resource->count);
-    auto it = resource_to_texture_map_.find(resource->id);
-    // Ignore the returned resource if we haven't been notified of its pending
-    // return.
-    if (it != resource_to_texture_map_.end()) {
-      available_textures_.push_back(resource->id);
-      resource_to_sync_point_map_[resource->id] = resource->sync_point;
-    }
-  }
-}
-}  // namespace mojo
diff --git a/mojo/gpu/texture_cache.h b/mojo/gpu/texture_cache.h
deleted file mode 100644
index 347d7c5..0000000
--- a/mojo/gpu/texture_cache.h
+++ /dev/null
@@ -1,81 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef MOJO_GPU_TEXTURE_CACHE_H_
-#define MOJO_GPU_TEXTURE_CACHE_H_
-
-#include <GLES2/gl2.h>
-
-#include <deque>
-#include <map>
-
-#include "base/macros.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/memory/weak_ptr.h"
-#include "mojo/public/cpp/bindings/binding.h"
-#include "mojo/services/surfaces/interfaces/surfaces.mojom.h"
-
-namespace mojo {
-
-class GLContext;
-class GLTexture;
-class Size;
-
-// Represents a cache of textures which can be drawn to and submitted to a
-// surface.
-// Each |texture| in the cache has an associated |resource_id| which must be
-// used when the texture is submitted to a surface via a
-// TransferableResourcePtr.  This class must also be hooked up to the surface as
-// a ResourceReturner such that the resources are properly marked as available
-// to be used again.
-class TextureCache : public mojo::ResourceReturner {
- public:
-  class TextureInfo {
-   public:
-    TextureInfo();
-    TextureInfo(scoped_ptr<mojo::GLTexture> texture, uint32_t resource_id);
-    ~TextureInfo();
-    scoped_ptr<mojo::GLTexture> TakeTexture() { return texture_.Pass(); }
-    uint32_t resource_id() { return resource_id_; }
-
-   private:
-    scoped_ptr<mojo::GLTexture> texture_;
-    uint32_t resource_id_;
-
-    DISALLOW_COPY_AND_ASSIGN(TextureInfo);
-  };
-
-  // Returns the ResourceReturner to be given to the surface the textures will
-  // be uploaded to via |out_resource_returner|.
-  TextureCache(base::WeakPtr<mojo::GLContext> gl_context,
-               mojo::ResourceReturnerPtr* out_resource_returner);
-  ~TextureCache() override;
-
-  // Returns a texture for the given size.  If no texture is available the
-  // scoped_ptr will be empty.
-  scoped_ptr<TextureInfo> GetTexture(const mojo::Size& requested_size);
-
-  // Notifies the TextureCache to expect the given resource to be returned
-  // shortly.
-  void NotifyPendingResourceReturn(uint32_t resource_id,
-                                   scoped_ptr<mojo::GLTexture> texture);
-
- private:
-  // mojo::ResourceReturner
-  void ReturnResources(
-      mojo::Array<mojo::ReturnedResourcePtr> resources) override;
-
-  base::WeakPtr<mojo::GLContext> gl_context_;
-  mojo::Binding<mojo::ResourceReturner> returner_binding_;
-  std::deque<uint32_t> available_textures_;
-  std::map<uint32_t, scoped_ptr<mojo::GLTexture>> resource_to_texture_map_;
-  std::map<uint32_t, GLuint> resource_to_sync_point_map_;
-  uint32_t next_resource_id_;
-
-  DISALLOW_COPY_AND_ASSIGN(TextureCache);
-};
-
-}  // namespace mojo
-
-#endif  // MOJO_GPU_TEXTURE_CACHE_H_
diff --git a/mojo/gpu/texture_cache_unittest.cc b/mojo/gpu/texture_cache_unittest.cc
deleted file mode 100644
index 1be7415..0000000
--- a/mojo/gpu/texture_cache_unittest.cc
+++ /dev/null
@@ -1,208 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "mojo/gpu/texture_cache.h"
-
-#include "base/bind.h"
-#include "base/message_loop/message_loop.h"
-#include "mojo/gpu/gl_context.h"
-#include "mojo/gpu/gl_texture.h"
-#include "mojo/public/cpp/application/application_impl.h"
-#include "mojo/public/cpp/application/application_test_base.h"
-#include "mojo/services/geometry/interfaces/geometry.mojom.h"
-#include "mojo/services/surfaces/interfaces/surface_id.mojom.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace {
-
-static const base::TimeDelta kDefaultMessageDelay =
-    base::TimeDelta::FromMilliseconds(20);
-
-class TextureCacheTest : public mojo::test::ApplicationTestBase {
- public:
-  TextureCacheTest() : weak_factory_(this) {}
-  ~TextureCacheTest() override {}
-
-  void SetUp() override {
-    mojo::test::ApplicationTestBase::SetUp();
-    gl_context_ = mojo::GLContext::Create(application_impl()->shell());
-    quit_message_loop_callback_ = base::Bind(
-        &TextureCacheTest::QuitMessageLoopCallback, weak_factory_.GetWeakPtr());
-  }
-
-  void QuitMessageLoopCallback() { base::MessageLoop::current()->Quit(); }
-
-  void KickMessageLoop() {
-    base::MessageLoop::current()->PostDelayedTask(
-        FROM_HERE, quit_message_loop_callback_, kDefaultMessageDelay);
-    base::MessageLoop::current()->Run();
-  }
-
- protected:
-  base::WeakPtr<mojo::GLContext> gl_context_;
-  base::Closure quit_message_loop_callback_;
-  base::WeakPtrFactory<TextureCacheTest> weak_factory_;
-
- private:
-  DISALLOW_COPY_AND_ASSIGN(TextureCacheTest);
-};
-
-TEST_F(TextureCacheTest, GetTextureOnce) {
-  mojo::TextureCache texture_cache(gl_context_, nullptr);
-  mojo::Size size;
-  size.width = 100;
-  size.height = 100;
-  scoped_ptr<mojo::TextureCache::TextureInfo> texture_info(
-      texture_cache.GetTexture(size).Pass());
-  EXPECT_NE(texture_info->TakeTexture().get(), nullptr);
-}
-
-TEST_F(TextureCacheTest, GetTextureTwice) {
-  mojo::TextureCache texture_cache(gl_context_, nullptr);
-  mojo::Size size;
-  size.width = 100;
-  size.height = 100;
-  scoped_ptr<mojo::TextureCache::TextureInfo> texture_info_1(
-      texture_cache.GetTexture(size).Pass());
-  scoped_ptr<mojo::GLTexture> texture_1(texture_info_1->TakeTexture().Pass());
-  scoped_ptr<mojo::TextureCache::TextureInfo> texture_info_2(
-      texture_cache.GetTexture(size).Pass());
-  scoped_ptr<mojo::GLTexture> texture_2(texture_info_2->TakeTexture().Pass());
-
-  EXPECT_NE(texture_1.get(), nullptr);
-  EXPECT_NE(texture_2.get(), nullptr);
-  EXPECT_NE(texture_1.get(), texture_2.get());
-  EXPECT_NE(texture_info_1->resource_id(), texture_info_2->resource_id());
-}
-
-TEST_F(TextureCacheTest, GetTextureAfterReturnSameSize) {
-  mojo::ResourceReturnerPtr resource_returner;
-  mojo::TextureCache texture_cache(gl_context_, &resource_returner);
-  mojo::Size size;
-  size.width = 100;
-  size.height = 100;
-
-  // get a texture
-  scoped_ptr<mojo::TextureCache::TextureInfo> texture_info_1(
-      texture_cache.GetTexture(size).Pass());
-  scoped_ptr<mojo::GLTexture> texture(texture_info_1->TakeTexture().Pass());
-  mojo::GLTexture* texture_ptr = texture.get();
-  EXPECT_NE(texture_ptr, nullptr);
-
-  mojo::Array<mojo::ReturnedResourcePtr> resources;
-  mojo::ReturnedResourcePtr returnedResource = mojo::ReturnedResource::New();
-  returnedResource->id = texture_info_1->resource_id();
-  returnedResource->sync_point = 0u;
-  returnedResource->count = 1u;
-  returnedResource->lost = false;
-  resources.push_back(returnedResource.Pass());
-
-  // return the texture via resource id
-  texture_cache.NotifyPendingResourceReturn(texture_info_1->resource_id(),
-                                            texture.Pass());
-  resource_returner->ReturnResources(resources.Pass());
-
-  KickMessageLoop();
-
-  // get a texture of the same size - it should be the same one as before
-  scoped_ptr<mojo::TextureCache::TextureInfo> texture_info_2(
-      texture_cache.GetTexture(size).Pass());
-  scoped_ptr<mojo::GLTexture> texture_2(texture_info_2->TakeTexture().Pass());
-
-  EXPECT_NE(texture_2.get(), nullptr);
-  EXPECT_EQ(size.width, texture_2->size().width);
-  EXPECT_EQ(size.height, texture_2->size().height);
-  EXPECT_EQ(texture_info_1->resource_id(), texture_info_2->resource_id());
-}
-
-TEST_F(TextureCacheTest, GetTextureAfterReturnDifferentSize) {
-  mojo::ResourceReturnerPtr resource_returner;
-  mojo::TextureCache texture_cache(gl_context_, &resource_returner);
-  mojo::Size size;
-  size.width = 100;
-  size.height = 100;
-
-  // get a texture
-  scoped_ptr<mojo::TextureCache::TextureInfo> texture_info_1(
-      texture_cache.GetTexture(size).Pass());
-  scoped_ptr<mojo::GLTexture> texture(texture_info_1->TakeTexture().Pass());
-  mojo::GLTexture* texture_ptr = texture.get();
-  EXPECT_NE(texture_ptr, nullptr);
-
-  mojo::Array<mojo::ReturnedResourcePtr> resources;
-  mojo::ReturnedResourcePtr returnedResource = mojo::ReturnedResource::New();
-  returnedResource->id = texture_info_1->resource_id();
-  returnedResource->sync_point = 0u;
-  returnedResource->count = 1u;
-  returnedResource->lost = false;
-  resources.push_back(returnedResource.Pass());
-
-  // return the texture via resource id
-  texture_cache.NotifyPendingResourceReturn(texture_info_1->resource_id(),
-                                            texture.Pass());
-  resource_returner->ReturnResources(resources.Pass());
-
-  KickMessageLoop();
-
-  mojo::Size different_size;
-  different_size.width = size.width - 1;
-  different_size.height = size.height - 1;
-
-  // get a texture of the different size - it should not be the same one as
-  // before
-  scoped_ptr<mojo::TextureCache::TextureInfo> texture_info_2(
-      texture_cache.GetTexture(different_size).Pass());
-  scoped_ptr<mojo::GLTexture> texture_2(texture_info_2->TakeTexture().Pass());
-
-  EXPECT_NE(texture_2.get(), nullptr);
-  EXPECT_NE(size.width, texture_2->size().width);
-  EXPECT_NE(size.height, texture_2->size().height);
-  EXPECT_EQ(different_size.width, texture_2->size().width);
-  EXPECT_EQ(different_size.height, texture_2->size().height);
-  EXPECT_NE(texture_info_1->resource_id(), texture_info_2->resource_id());
-}
-
-TEST_F(TextureCacheTest, GetTextureReleasedGlContext) {
-  gl_context_.reset();
-  mojo::TextureCache texture_cache(gl_context_, nullptr);
-  mojo::Size size;
-  size.width = 100;
-  size.height = 100;
-
-  EXPECT_EQ(texture_cache.GetTexture(size).get(), nullptr);
-}
-
-TEST_F(TextureCacheTest, ReturnResourcesReleasedGlContext) {
-  mojo::ResourceReturnerPtr resource_returner;
-  mojo::TextureCache texture_cache(gl_context_, &resource_returner);
-  mojo::Size size;
-  size.width = 100;
-  size.height = 100;
-
-  // get a texture
-  scoped_ptr<mojo::TextureCache::TextureInfo> texture_info(
-      texture_cache.GetTexture(size).Pass());
-  scoped_ptr<mojo::GLTexture> texture(texture_info->TakeTexture().Pass());
-  mojo::GLTexture* texture_ptr = texture.get();
-  EXPECT_NE(texture_ptr, nullptr);
-
-  gl_context_.reset();
-
-  mojo::Array<mojo::ReturnedResourcePtr> resources;
-  mojo::ReturnedResourcePtr returnedResource = mojo::ReturnedResource::New();
-  returnedResource->id = texture_info->resource_id();
-  returnedResource->sync_point = 0u;
-  returnedResource->count = 1u;
-  returnedResource->lost = false;
-  resources.push_back(returnedResource.Pass());
-
-  // return the texture via resource id
-  texture_cache.NotifyPendingResourceReturn(texture_info->resource_id(),
-                                            texture.Pass());
-  resource_returner->ReturnResources(resources.Pass());
-
-  KickMessageLoop();
-}
-
-}  // namespace
diff --git a/mojo/gpu/texture_uploader.cc b/mojo/gpu/texture_uploader.cc
deleted file mode 100644
index 5424f25..0000000
--- a/mojo/gpu/texture_uploader.cc
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "mojo/gpu/texture_uploader.h"
-
-#ifndef GL_GLEXT_PROTOTYPES
-#define GL_GLEXT_PROTOTYPES
-#endif
-
-#include <GLES2/gl2.h>
-#include <GLES2/gl2extmojo.h>
-
-#include "mojo/services/geometry/cpp/geometry_util.h"
-#include "mojo/services/surfaces/cpp/surfaces_utils.h"
-
-namespace mojo {
-
-mojo::FramePtr TextureUploader::GetUploadFrame(
-    base::WeakPtr<mojo::GLContext> context,
-    uint32_t resource_id,
-    const scoped_ptr<mojo::GLTexture>& texture) {
-  if (!context) {
-    return mojo::FramePtr();
-  }
-
-  mojo::Size size = texture->size();
-
-  mojo::FramePtr frame = mojo::Frame::New();
-  frame->resources.resize(0u);
-
-  mojo::Rect bounds;
-  bounds.width = size.width;
-  bounds.height = size.height;
-  mojo::PassPtr pass = mojo::CreateDefaultPass(1, bounds);
-  pass->quads.resize(0u);
-  pass->shared_quad_states.push_back(mojo::CreateDefaultSQS(size));
-
-  context->MakeCurrent();
-  glBindTexture(GL_TEXTURE_2D, texture->texture_id());
-  GLbyte mailbox[GL_MAILBOX_SIZE_CHROMIUM];
-  glGenMailboxCHROMIUM(mailbox);
-  glProduceTextureCHROMIUM(GL_TEXTURE_2D, mailbox);
-  GLuint sync_point = glInsertSyncPointCHROMIUM();
-
-  mojo::TransferableResourcePtr resource = mojo::TransferableResource::New();
-  resource->id = resource_id;
-  resource->format = mojo::ResourceFormat::RGBA_8888;
-  resource->filter = GL_LINEAR;
-  resource->size = size.Clone();
-  mojo::MailboxHolderPtr mailbox_holder = mojo::MailboxHolder::New();
-  mailbox_holder->mailbox = mojo::Mailbox::New();
-  for (int i = 0; i < GL_MAILBOX_SIZE_CHROMIUM; ++i)
-    mailbox_holder->mailbox->name.push_back(mailbox[i]);
-  mailbox_holder->texture_target = GL_TEXTURE_2D;
-  mailbox_holder->sync_point = sync_point;
-  resource->mailbox_holder = mailbox_holder.Pass();
-  resource->is_repeated = false;
-  resource->is_software = false;
-
-  mojo::QuadPtr quad = mojo::Quad::New();
-  quad->material = mojo::Material::TEXTURE_CONTENT;
-
-  mojo::RectPtr rect = mojo::Rect::New();
-  rect->width = size.width;
-  rect->height = size.height;
-  quad->rect = rect.Clone();
-  quad->opaque_rect = rect.Clone();
-  quad->visible_rect = rect.Clone();
-  quad->needs_blending = true;
-  quad->shared_quad_state_index = 0u;
-
-  mojo::TextureQuadStatePtr texture_state = mojo::TextureQuadState::New();
-  texture_state->resource_id = resource->id;
-  texture_state->premultiplied_alpha = true;
-  texture_state->uv_top_left = mojo::PointF::New();
-  texture_state->uv_bottom_right = mojo::PointF::New();
-  texture_state->uv_bottom_right->x = 1.f;
-  texture_state->uv_bottom_right->y = 1.f;
-  texture_state->background_color = mojo::Color::New();
-  texture_state->background_color->rgba = 0;
-  for (int i = 0; i < 4; ++i)
-    texture_state->vertex_opacity.push_back(1.f);
-  texture_state->flipped = false;
-
-  frame->resources.push_back(resource.Pass());
-  quad->texture_quad_state = texture_state.Pass();
-  pass->quads.push_back(quad.Pass());
-
-  frame->passes.push_back(pass.Pass());
-  return frame;
-}
-
-}  // namespace mojo
diff --git a/mojo/gpu/texture_uploader.h b/mojo/gpu/texture_uploader.h
deleted file mode 100644
index 29ab680..0000000
--- a/mojo/gpu/texture_uploader.h
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef MOJO_GPU_TEXTURE_UPLOADER_H_
-#define MOJO_GPU_TEXTURE_UPLOADER_H_
-
-#include "base/memory/scoped_ptr.h"
-#include "base/memory/weak_ptr.h"
-#include "mojo/gpu/gl_context.h"
-#include "mojo/gpu/gl_texture.h"
-#include "mojo/services/surfaces/interfaces/surfaces.mojom.h"
-
-namespace mojo {
-
-// Utility class for uploading textures to a surface.
-class TextureUploader {
- public:
-  // Gets a FramePtr for uploading to a to a SurfacePtr using |texture| as a
-  // transferable resource with id |resource_id|.
-  static mojo::FramePtr GetUploadFrame(
-      base::WeakPtr<mojo::GLContext> context,
-      uint32_t resource_id,
-      const scoped_ptr<mojo::GLTexture>& texture);
-
- private:
-  TextureUploader();
-  ~TextureUploader();
-  DISALLOW_COPY_AND_ASSIGN(TextureUploader);
-};
-
-}  // namespace mojo
-
-#endif  // MOJO_GPU_TEXTURE_UPLOADER_H_
diff --git a/mojo/gpu/texture_uploader_unittest.cc b/mojo/gpu/texture_uploader_unittest.cc
deleted file mode 100644
index b8c553e..0000000
--- a/mojo/gpu/texture_uploader_unittest.cc
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "mojo/gpu/texture_uploader.h"
-
-#include "base/bind.h"
-#include "base/message_loop/message_loop.h"
-#include "mojo/gpu/texture_cache.h"
-#include "mojo/public/cpp/application/application_impl.h"
-#include "mojo/public/cpp/application/application_test_base.h"
-#include "mojo/public/cpp/application/connect.h"
-#include "mojo/services/surfaces/interfaces/surface_id.mojom.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace {
-
-class TextureUploaderTest : public mojo::test::ApplicationTestBase {
- public:
-  TextureUploaderTest() : surface_id_(1u), weak_factory_(this) {}
-  ~TextureUploaderTest() override {}
-
-  void SetUp() override {
-    mojo::test::ApplicationTestBase::SetUp();
-
-    mojo::ServiceProviderPtr surfaces_service_provider;
-    application_impl()->shell()->ConnectToApplication(
-        "mojo:surfaces_service", mojo::GetProxy(&surfaces_service_provider),
-        nullptr);
-    mojo::ConnectToService(surfaces_service_provider.get(), &surface_);
-    gl_context_ = mojo::GLContext::Create(application_impl()->shell());
-    surface_->CreateSurface(surface_id_);
-    texture_cache_.reset(new mojo::TextureCache(gl_context_, nullptr));
-  }
-
-  void OnFrameCompleteExit() { base::MessageLoop::current()->Quit(); }
-
- protected:
-  uint32_t surface_id_;
-  base::WeakPtr<mojo::GLContext> gl_context_;
-  scoped_ptr<mojo::TextureCache> texture_cache_;
-  mojo::SurfacePtr surface_;
-  base::WeakPtrFactory<TextureUploaderTest> weak_factory_;
-
- private:
-  DISALLOW_COPY_AND_ASSIGN(TextureUploaderTest);
-};
-
-TEST_F(TextureUploaderTest, Base) {
-  mojo::Size size;
-  size.width = 100;
-  size.height = 100;
-  scoped_ptr<mojo::TextureCache::TextureInfo> texture_info(
-      texture_cache_->GetTexture(size).Pass());
-  mojo::FramePtr frame = mojo::TextureUploader::GetUploadFrame(
-      gl_context_, texture_info->resource_id(), texture_info->TakeTexture());
-  EXPECT_FALSE(frame.is_null());
-}
-
-}  // namespace