diff --git a/gpu/GrBackendEffectFactory.h b/gpu/GrBackendEffectFactory.h
index 3a39dc0..77cf2cc 100644
--- a/gpu/GrBackendEffectFactory.h
+++ b/gpu/GrBackendEffectFactory.h
@@ -11,7 +11,7 @@
 #include "GrTypes.h"
 #include "SkTemplates.h"
 #include "SkThread_platform.h"
-#include "GrNoncopyable.h"
+#include "SkTypes.h"
 
 /** Given a GrEffect of a particular type, creates the corresponding graphics-backend-specific
     effect object. Also tracks equivalence of shaders generated via a key. Each factory instance
@@ -28,7 +28,7 @@
 class GrGLCaps;
 class GrDrawEffect;
 
-class GrBackendEffectFactory : public GrNoncopyable {
+class GrBackendEffectFactory : public SkNoncopyable {
 public:
     typedef uint32_t EffectKey;
     enum {
diff --git a/gpu/GrContext.h b/gpu/GrContext.h
index 42413fb..7a42677 100644
--- a/gpu/GrContext.h
+++ b/gpu/GrContext.h
@@ -8,14 +8,15 @@
 #ifndef GrContext_DEFINED
 #define GrContext_DEFINED
 
-#include "GrColor.h"
 #include "GrClipData.h"
-#include "SkMatrix.h"
+#include "GrColor.h"
 #include "GrPaint.h"
 #include "GrPathRendererChain.h"
 #include "GrPoint.h"
 #include "GrRenderTarget.h"
 #include "GrTexture.h"
+#include "SkMatrix.h"
+#include "SkTypes.h"
 
 class GrAARectRenderer;
 class GrAutoScratchTexture;
@@ -630,7 +631,7 @@
     ///////////////////////////////////////////////////////////////////////////
     // Helpers
 
-    class AutoRenderTarget : public ::GrNoncopyable {
+    class AutoRenderTarget : public ::SkNoncopyable {
     public:
         AutoRenderTarget(GrContext* context, GrRenderTarget* target) {
             fPrevTarget = context->getRenderTarget();
@@ -668,7 +669,7 @@
      * paint if necessary. Hint: use SkTCopyOnFirstWrite if the AutoMatrix is conditionally
      * initialized.
      */
-    class AutoMatrix : GrNoncopyable {
+    class AutoMatrix : public ::SkNoncopyable {
     public:
         AutoMatrix() : fContext(NULL) {}
 
@@ -761,7 +762,7 @@
         SkMatrix    fMatrix;
     };
 
-    class AutoClip : GrNoncopyable {
+    class AutoClip : public ::SkNoncopyable {
     public:
         // This enum exists to require a caller of the constructor to acknowledge that the clip will
         // initially be wide open. It also could be extended if there are other desirable initial
@@ -940,7 +941,7 @@
  * Gets and locks a scratch texture from a descriptor using either exact or approximate criteria.
  * Unlocks texture in the destructor.
  */
-class GrAutoScratchTexture : ::GrNoncopyable {
+class GrAutoScratchTexture : public ::SkNoncopyable {
 public:
     GrAutoScratchTexture()
         : fContext(NULL)
diff --git a/gpu/GrContextFactory.h b/gpu/GrContextFactory.h
index 3d9f1a3..389c398 100644
--- a/gpu/GrContextFactory.h
+++ b/gpu/GrContextFactory.h
@@ -28,7 +28,7 @@
  * factory is destroyed (though the caller can always grab a ref on the returned
  * GrContext to make it outlive the factory).
  */
-class GrContextFactory : GrNoncopyable {
+class GrContextFactory : public SkNoncopyable {
 public:
     /**
      * Types of GL contexts supported.
diff --git a/gpu/GrEffect.h b/gpu/GrEffect.h
index b0d336b..78ad28b 100644
--- a/gpu/GrEffect.h
+++ b/gpu/GrEffect.h
@@ -10,7 +10,6 @@
 
 #include "GrColor.h"
 #include "GrEffectUnitTest.h"
-#include "GrNoncopyable.h"
 #include "GrTexture.h"
 #include "GrTextureAccess.h"
 #include "GrTypesPriv.h"
diff --git a/gpu/GrEffectUnitTest.h b/gpu/GrEffectUnitTest.h
index 78506da..f0089c9 100644
--- a/gpu/GrEffectUnitTest.h
+++ b/gpu/GrEffectUnitTest.h
@@ -8,9 +8,9 @@
 #ifndef GrEffectUnitTest_DEFINED
 #define GrEffectUnitTest_DEFINED
 
-#include "GrNoncopyable.h"
 #include "SkRandom.h"
 #include "SkTArray.h"
+#include "SkTypes.h"
 
 class SkMatrix;
 class GrDrawTargetCaps;
@@ -35,7 +35,7 @@
 class GrEffectRef;
 class GrTexture;
 
-class GrEffectTestFactory : GrNoncopyable {
+class GrEffectTestFactory : public SkNoncopyable {
 public:
 
     typedef GrEffectRef* (*CreateProc)(SkRandom*,
diff --git a/gpu/GrNoncopyable.h b/gpu/GrNoncopyable.h
deleted file mode 100644
index d35f8d7..0000000
--- a/gpu/GrNoncopyable.h
+++ /dev/null
@@ -1,28 +0,0 @@
-
-/*
- * Copyright 2010 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef GrNoncopyable_DEFINED
-#define GrNoncopyable_DEFINED
-
-#include "GrTypes.h"
-
-/**
- *  Base for classes that want to disallow copying themselves. It makes its
- *  copy-constructor and assignment operators private (and unimplemented).
- */
-class SK_API GrNoncopyable {
-public:
-    GrNoncopyable() {}
-
-private:
-    // illegal
-    GrNoncopyable(const GrNoncopyable&);
-    GrNoncopyable& operator=(const GrNoncopyable&);
-};
-
-#endif
diff --git a/gpu/GrTextureAccess.h b/gpu/GrTextureAccess.h
index f8bb554..059800f 100644
--- a/gpu/GrTextureAccess.h
+++ b/gpu/GrTextureAccess.h
@@ -8,9 +8,9 @@
 #ifndef GrTextureAccess_DEFINED
 #define GrTextureAccess_DEFINED
 
-#include "GrNoncopyable.h"
 #include "SkRefCnt.h"
 #include "SkShader.h"
+#include "SkTypes.h"
 
 class GrTexture;
 
@@ -112,7 +112,7 @@
  *  key. However, if a GrEffect uses different swizzles based on its input then it must
  *  consider that variation in its key-generation.
  */
-class GrTextureAccess : GrNoncopyable {
+class GrTextureAccess : public SkNoncopyable {
 public:
     /**
      * A default GrTextureAccess must have reset() called on it in a GrEffect subclass's
@@ -182,7 +182,7 @@
     uint32_t                fSwizzleMask;
     char                    fSwizzle[5];
 
-    typedef GrNoncopyable INHERITED;
+    typedef SkNoncopyable INHERITED;
 };
 
 #endif
