aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Ben Wagner <bungeman@google.com>2018-07-16 17:44:06 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-07-17 21:39:51 +0000
commitd5148e331436b69e3de1a35d4bfa8492e89b3cce (patch)
treefdf0a1dc5c8347ea75d57b0ed55af835f3a31d40
parent21a99d42c34f44dac4a71cace9572dc244cad583 (diff)
Move SkNoncopyable to include/private.
Change-Id: I62f60ea52faeebddecacf03d9429ac3f7c516b8e Reviewed-on: https://skia-review.googlesource.com/141823 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
-rw-r--r--gn/core.gni1
-rw-r--r--include/codec/SkCodec.h1
-rw-r--r--include/core/SkColorSpaceXform.h1
-rw-r--r--include/core/SkDeque.h1
-rw-r--r--include/core/SkDrawLooper.h1
-rw-r--r--include/core/SkPictureRecorder.h1
-rw-r--r--include/core/SkTypeface.h1
-rw-r--r--include/core/SkTypes.h19
-rw-r--r--include/encode/SkEncoder.h3
-rw-r--r--include/gpu/GrGpuResource.h1
-rw-r--r--include/private/GrSurfaceProxy.h1
-rw-r--r--include/private/GrSurfaceProxyRef.h1
-rw-r--r--include/private/SkAtomics.h1
-rw-r--r--include/private/SkChecksum.h1
-rw-r--r--include/private/SkMessageBus.h1
-rw-r--r--include/private/SkNoncopyable.h30
-rw-r--r--include/private/SkTInternalLList.h1
-rw-r--r--include/utils/SkCamera.h1
-rw-r--r--include/utils/SkInterpolator.h1
-rw-r--r--modules/skottie/include/Skottie.h5
-rw-r--r--modules/skottie/src/SkottieTool.cpp6
-rw-r--r--modules/sksg/include/SkSGInvalidationController.h6
-rw-r--r--modules/sksg/include/SkSGScene.h13
-rw-r--r--src/core/SkAutoMalloc.h1
-rw-r--r--src/core/SkBigPicture.h1
-rw-r--r--src/core/SkBuffer.h5
-rw-r--r--src/core/SkCachedData.h1
-rw-r--r--src/core/SkDescriptor.h1
-rw-r--r--src/core/SkMaskFilterBase.h1
-rw-r--r--src/core/SkMaskGamma.h3
-rw-r--r--src/core/SkTaskGroup.h1
-rw-r--r--src/gpu/GrAllocator.h1
-rw-r--r--src/gpu/GrAutoLocaleSetter.h1
-rw-r--r--src/gpu/GrBufferAllocPool.h3
-rw-r--r--src/gpu/GrGpuResourceRef.h1
-rw-r--r--src/gpu/GrNonAtomicRef.h1
-rw-r--r--src/gpu/GrPathRendererChain.h1
-rw-r--r--src/gpu/GrTextureProducer.h1
-rw-r--r--src/gpu/glsl/GrGLSLProgramDataManager.h1
-rw-r--r--src/ports/SkOSFile_win.cpp1
-rw-r--r--src/shaders/SkShaderBase.h1
-rw-r--r--src/shaders/gradients/SkGradientBitmapCache.h1
-rw-r--r--src/utils/SkJSON.h1
-rw-r--r--src/utils/SkJSONWriter.h1
-rw-r--r--src/utils/win/SkAutoCoInitialize.h1
-rw-r--r--src/xml/SkDOM.h3
-rw-r--r--tools/Registry.h1
-rw-r--r--tools/gpu/TestContext.h3
48 files changed, 95 insertions, 40 deletions
diff --git a/gn/core.gni b/gn/core.gni
index a226d37f47..66595af406 100644
--- a/gn/core.gni
+++ b/gn/core.gni
@@ -468,6 +468,7 @@ skia_core_sources = [
"$_include/private/SkMalloc.h",
"$_include/private/SkMessageBus.h",
"$_include/private/SkMutex.h",
+ "$_include/private/SkNoncopyable.h",
"$_include/private/SkOnce.h",
"$_include/private/SkPathRef.h",
"$_include/private/SkSemaphore.h",
diff --git a/include/codec/SkCodec.h b/include/codec/SkCodec.h
index 36f557e603..37f01fd4ba 100644
--- a/include/codec/SkCodec.h
+++ b/include/codec/SkCodec.h
@@ -8,6 +8,7 @@
#ifndef SkCodec_DEFINED
#define SkCodec_DEFINED
+#include "../private/SkNoncopyable.h"
#include "../private/SkTemplates.h"
#include "../private/SkEncodedInfo.h"
#include "SkCodecAnimation.h"
diff --git a/include/core/SkColorSpaceXform.h b/include/core/SkColorSpaceXform.h
index bb838a264e..39c83d6c12 100644
--- a/include/core/SkColorSpaceXform.h
+++ b/include/core/SkColorSpaceXform.h
@@ -8,6 +8,7 @@
#ifndef SkColorSpaceXform_DEFINED
#define SkColorSpaceXform_DEFINED
+#include "../private/SkNoncopyable.h"
#include "SkImageInfo.h"
class SkColorSpace;
diff --git a/include/core/SkDeque.h b/include/core/SkDeque.h
index a00e3c2dfe..43023b8f5d 100644
--- a/include/core/SkDeque.h
+++ b/include/core/SkDeque.h
@@ -10,6 +10,7 @@
#ifndef SkDeque_DEFINED
#define SkDeque_DEFINED
+#include "../private/SkNoncopyable.h"
#include "SkTypes.h"
/*
diff --git a/include/core/SkDrawLooper.h b/include/core/SkDrawLooper.h
index fb7def7878..c6b2d6682c 100644
--- a/include/core/SkDrawLooper.h
+++ b/include/core/SkDrawLooper.h
@@ -10,6 +10,7 @@
#ifndef SkDrawLooper_DEFINED
#define SkDrawLooper_DEFINED
+#include "../private/SkNoncopyable.h"
#include "SkBlurTypes.h"
#include "SkFlattenable.h"
#include "SkPoint.h"
diff --git a/include/core/SkPictureRecorder.h b/include/core/SkPictureRecorder.h
index cadd193afc..d28544c48c 100644
--- a/include/core/SkPictureRecorder.h
+++ b/include/core/SkPictureRecorder.h
@@ -8,6 +8,7 @@
#ifndef SkPictureRecorder_DEFINED
#define SkPictureRecorder_DEFINED
+#include "../private/SkNoncopyable.h"
#include "SkBBHFactory.h"
#include "SkPicture.h"
#include "SkRefCnt.h"
diff --git a/include/core/SkTypeface.h b/include/core/SkTypeface.h
index 51f339ccfa..5604ce9c94 100644
--- a/include/core/SkTypeface.h
+++ b/include/core/SkTypeface.h
@@ -8,6 +8,7 @@
#ifndef SkTypeface_DEFINED
#define SkTypeface_DEFINED
+#include "../private/SkNoncopyable.h"
#include "../private/SkOnce.h"
#include "../private/SkWeakRefCnt.h"
#include "SkFontArguments.h"
diff --git a/include/core/SkTypes.h b/include/core/SkTypes.h
index be51e20bac..01480509d6 100644
--- a/include/core/SkTypes.h
+++ b/include/core/SkTypes.h
@@ -237,23 +237,4 @@ enum class SkBackingFit {
kExact
};
-////////////////////////////////////////////////////////////////////////////////
-
-/** \class SkNoncopyable
-
- SkNoncopyable is the base class for objects that do not want to
- be copied. It hides its copy-constructor and its assignment-operator.
-*/
-class SK_API SkNoncopyable {
-public:
- SkNoncopyable() = default;
-
- SkNoncopyable(SkNoncopyable&&) = default;
- SkNoncopyable& operator =(SkNoncopyable&&) = default;
-
-private:
- SkNoncopyable(const SkNoncopyable&) = delete;
- SkNoncopyable& operator=(const SkNoncopyable&) = delete;
-};
-
#endif
diff --git a/include/encode/SkEncoder.h b/include/encode/SkEncoder.h
index 3acfb97108..1b4f5594f5 100644
--- a/include/encode/SkEncoder.h
+++ b/include/encode/SkEncoder.h
@@ -8,8 +8,9 @@
#ifndef SkEncoder_DEFINED
#define SkEncoder_DEFINED
-#include "SkPixmap.h"
+#include "../private/SkNoncopyable.h"
#include "../private/SkTemplates.h"
+#include "SkPixmap.h"
class SK_API SkEncoder : SkNoncopyable {
public:
diff --git a/include/gpu/GrGpuResource.h b/include/gpu/GrGpuResource.h
index 38545dd821..57e52b4e78 100644
--- a/include/gpu/GrGpuResource.h
+++ b/include/gpu/GrGpuResource.h
@@ -9,6 +9,7 @@
#define GrGpuResource_DEFINED
#include "../private/GrTypesPriv.h"
+#include "../private/SkNoncopyable.h"
#include "GrResourceKey.h"
class GrContext;
diff --git a/include/private/GrSurfaceProxy.h b/include/private/GrSurfaceProxy.h
index 9499edfde3..94626265ac 100644
--- a/include/private/GrSurfaceProxy.h
+++ b/include/private/GrSurfaceProxy.h
@@ -8,6 +8,7 @@
#ifndef GrSurfaceProxy_DEFINED
#define GrSurfaceProxy_DEFINED
+#include "../private/SkNoncopyable.h"
#include "GrGpuResource.h"
#include "GrSurface.h"
diff --git a/include/private/GrSurfaceProxyRef.h b/include/private/GrSurfaceProxyRef.h
index 2319357251..38d5827614 100644
--- a/include/private/GrSurfaceProxyRef.h
+++ b/include/private/GrSurfaceProxyRef.h
@@ -8,6 +8,7 @@
#ifndef GrSurfaceProxyRef_DEFINED
#define GrSurfaceProxyRef_DEFINED
+#include "../private/SkNoncopyable.h"
#include "GrTypesPriv.h"
class GrSurfaceProxy;
diff --git a/include/private/SkAtomics.h b/include/private/SkAtomics.h
index 56272e25e6..075d4c0695 100644
--- a/include/private/SkAtomics.h
+++ b/include/private/SkAtomics.h
@@ -9,6 +9,7 @@
#define SkAtomics_DEFINED
// This file is not part of the public Skia API.
+#include "../private/SkNoncopyable.h"
#include "SkTypes.h"
#include <atomic>
diff --git a/include/private/SkChecksum.h b/include/private/SkChecksum.h
index 8a04c89ae7..fceb86bc30 100644
--- a/include/private/SkChecksum.h
+++ b/include/private/SkChecksum.h
@@ -8,6 +8,7 @@
#ifndef SkChecksum_DEFINED
#define SkChecksum_DEFINED
+#include "../private/SkNoncopyable.h"
#include "SkString.h"
#include "SkTLogic.h"
#include "SkTypes.h"
diff --git a/include/private/SkMessageBus.h b/include/private/SkMessageBus.h
index 418235d68e..9fe060d12f 100644
--- a/include/private/SkMessageBus.h
+++ b/include/private/SkMessageBus.h
@@ -8,6 +8,7 @@
#ifndef SkMessageBus_DEFINED
#define SkMessageBus_DEFINED
+#include "../private/SkNoncopyable.h"
#include "SkMutex.h"
#include "SkOnce.h"
#include "SkTArray.h"
diff --git a/include/private/SkNoncopyable.h b/include/private/SkNoncopyable.h
new file mode 100644
index 0000000000..518b3eeb92
--- /dev/null
+++ b/include/private/SkNoncopyable.h
@@ -0,0 +1,30 @@
+/*
+ * Copyright 2006 The Android Open Source Project
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef SkNoncopyable_DEFINED
+#define SkNoncopyable_DEFINED
+
+#include "SkTypes.h"
+
+/** \class SkNoncopyable
+
+ SkNoncopyable is the base class for objects that do not want to
+ be copied. It hides its copy-constructor and its assignment-operator.
+*/
+class SK_API SkNoncopyable {
+public:
+ SkNoncopyable() = default;
+
+ SkNoncopyable(SkNoncopyable&&) = default;
+ SkNoncopyable& operator =(SkNoncopyable&&) = default;
+
+private:
+ SkNoncopyable(const SkNoncopyable&) = delete;
+ SkNoncopyable& operator=(const SkNoncopyable&) = delete;
+};
+
+#endif
diff --git a/include/private/SkTInternalLList.h b/include/private/SkTInternalLList.h
index 2f43f1c1eb..547befe694 100644
--- a/include/private/SkTInternalLList.h
+++ b/include/private/SkTInternalLList.h
@@ -8,6 +8,7 @@
#ifndef SkTInternalLList_DEFINED
#define SkTInternalLList_DEFINED
+#include "../private/SkNoncopyable.h"
#include "SkTypes.h"
/**
diff --git a/include/utils/SkCamera.h b/include/utils/SkCamera.h
index db7235f0b8..405ae5a8df 100644
--- a/include/utils/SkCamera.h
+++ b/include/utils/SkCamera.h
@@ -10,6 +10,7 @@
#ifndef SkCamera_DEFINED
#define SkCamera_DEFINED
+#include "../private/SkNoncopyable.h"
#include "SkMatrix.h"
class SkCanvas;
diff --git a/include/utils/SkInterpolator.h b/include/utils/SkInterpolator.h
index f426263be7..7eedb4f25d 100644
--- a/include/utils/SkInterpolator.h
+++ b/include/utils/SkInterpolator.h
@@ -9,6 +9,7 @@
#ifndef SkInterpolator_DEFINED
#define SkInterpolator_DEFINED
+#include "../private/SkNoncopyable.h"
#include "../private/SkTo.h"
#include "SkScalar.h"
diff --git a/modules/skottie/include/Skottie.h b/modules/skottie/include/Skottie.h
index 54f293c849..428a3a6de0 100644
--- a/modules/skottie/include/Skottie.h
+++ b/modules/skottie/include/Skottie.h
@@ -24,9 +24,12 @@ namespace sksg { class Scene; }
namespace skottie {
-class SK_API ResourceProvider : public SkNoncopyable {
+class SK_API ResourceProvider {
public:
+ ResourceProvider() = default;
virtual ~ResourceProvider() = default;
+ ResourceProvider(const ResourceProvider&) = delete;
+ ResourceProvider& operator=(const ResourceProvider&) = delete;
virtual std::unique_ptr<SkStream> openStream(const char resource[]) const = 0;
};
diff --git a/modules/skottie/src/SkottieTool.cpp b/modules/skottie/src/SkottieTool.cpp
index 5e819b17e9..b62102ab42 100644
--- a/modules/skottie/src/SkottieTool.cpp
+++ b/modules/skottie/src/SkottieTool.cpp
@@ -32,9 +32,11 @@ DEFINE_int32(height, 600, "Render height.");
namespace {
-class Sink : public SkNoncopyable {
+class Sink {
public:
virtual ~Sink() = default;
+ Sink(const Sink&) = delete;
+ Sink& operator=(const Sink&) = delete;
bool handleFrame(const sk_sp<skottie::Animation>& anim, size_t idx) const {
const auto frame_file = SkStringPrintf("0%06d.%s", idx, fExtension.c_str());
@@ -56,8 +58,6 @@ protected:
private:
const SkString fExtension;
-
- using INHERITED = SkNoncopyable;
};
class PNGSink final : public Sink {
diff --git a/modules/sksg/include/SkSGInvalidationController.h b/modules/sksg/include/SkSGInvalidationController.h
index df3857c1fe..d6f7bd3019 100644
--- a/modules/sksg/include/SkSGInvalidationController.h
+++ b/modules/sksg/include/SkSGInvalidationController.h
@@ -21,9 +21,11 @@ namespace sksg {
*
* Tracks dirty regions for repaint.
*/
-class InvalidationController : public SkNoncopyable {
+class InvalidationController {
public:
InvalidationController();
+ InvalidationController(const InvalidationController&) = delete;
+ InvalidationController& operator=(const InvalidationController&) = delete;
void inval(const SkRect&, const SkMatrix& ctm = SkMatrix::I());
@@ -34,8 +36,6 @@ public:
private:
SkTDArray<SkRect> fRects;
SkRect fBounds;
-
- typedef SkNoncopyable INHERITED;
};
} // namespace sksg
diff --git a/modules/sksg/include/SkSGScene.h b/modules/sksg/include/SkSGScene.h
index 2081c1d747..95bee3029b 100644
--- a/modules/sksg/include/SkSGScene.h
+++ b/modules/sksg/include/SkSGScene.h
@@ -24,9 +24,11 @@ class RenderNode;
* Base class for animators.
*
*/
-class Animator : public SkNoncopyable {
+class Animator {
public:
virtual ~Animator();
+ Animator(const Animator&) = delete;
+ Animator& operator=(const Animator&) = delete;
void tick(float t);
@@ -34,9 +36,6 @@ protected:
Animator();
virtual void onTick(float t) = 0;
-
-private:
- using INHERITED = SkNoncopyable;
};
using AnimatorList = std::vector<std::unique_ptr<Animator>>;
@@ -59,10 +58,12 @@ private:
* Provides high-level mehods for driving rendering and animations.
*
*/
-class Scene final : SkNoncopyable {
+class Scene final {
public:
static std::unique_ptr<Scene> Make(sk_sp<RenderNode> root, AnimatorList&& animators);
~Scene();
+ Scene(const Scene&) = delete;
+ Scene& operator=(const Scene&) = delete;
void render(SkCanvas*) const;
void animate(float t);
@@ -76,8 +77,6 @@ private:
const AnimatorList fAnimators;
bool fShowInval = false;
-
- using INHERITED = SkNoncopyable;
};
} // namespace sksg
diff --git a/src/core/SkAutoMalloc.h b/src/core/SkAutoMalloc.h
index 9c6dad959e..4e6be68094 100644
--- a/src/core/SkAutoMalloc.h
+++ b/src/core/SkAutoMalloc.h
@@ -10,6 +10,7 @@
#include "SkMacros.h"
#include "SkMalloc.h"
+#include "SkNoncopyable.h"
#include "SkTypes.h"
#include <memory>
diff --git a/src/core/SkBigPicture.h b/src/core/SkBigPicture.h
index cbe492cc22..dbb7d5300c 100644
--- a/src/core/SkBigPicture.h
+++ b/src/core/SkBigPicture.h
@@ -8,6 +8,7 @@
#ifndef SkBigPicture_DEFINED
#define SkBigPicture_DEFINED
+#include "SkNoncopyable.h"
#include "SkOnce.h"
#include "SkPicture.h"
#include "SkRect.h"
diff --git a/src/core/SkBuffer.h b/src/core/SkBuffer.h
index 0338e7601e..a9ac955e37 100644
--- a/src/core/SkBuffer.h
+++ b/src/core/SkBuffer.h
@@ -8,12 +8,13 @@
#ifndef SkBuffer_DEFINED
#define SkBuffer_DEFINED
-#include <limits>
-
+#include "SkNoncopyable.h"
#include "SkSafeMath.h"
#include "SkScalar.h"
#include "SkTypes.h"
+#include <limits>
+
/** \class SkRBuffer
Light weight class for reading data from a memory block.
diff --git a/src/core/SkCachedData.h b/src/core/SkCachedData.h
index 739be72182..932fbc298f 100644
--- a/src/core/SkCachedData.h
+++ b/src/core/SkCachedData.h
@@ -9,6 +9,7 @@
#define SkCachedData_DEFINED
#include "SkMutex.h"
+#include "SkNoncopyable.h"
#include "SkTypes.h"
class SkDiscardableMemory;
diff --git a/src/core/SkDescriptor.h b/src/core/SkDescriptor.h
index 7f1939dcc2..c0aff735d7 100644
--- a/src/core/SkDescriptor.h
+++ b/src/core/SkDescriptor.h
@@ -9,6 +9,7 @@
#define SkDescriptor_DEFINED
#include "SkMacros.h"
+#include "SkNoncopyable.h"
#include "SkOpts.h"
#include "SkTo.h"
#include "SkTypes.h"
diff --git a/src/core/SkMaskFilterBase.h b/src/core/SkMaskFilterBase.h
index 16f96451aa..3e9a9a3cfb 100644
--- a/src/core/SkMaskFilterBase.h
+++ b/src/core/SkMaskFilterBase.h
@@ -12,6 +12,7 @@
#include "SkFlattenable.h"
#include "SkMask.h"
#include "SkMaskFilter.h"
+#include "SkNoncopyable.h"
#include "SkPaint.h"
#include "SkStrokeRec.h"
diff --git a/src/core/SkMaskGamma.h b/src/core/SkMaskGamma.h
index 89e062e7cc..4bd95b5e5c 100644
--- a/src/core/SkMaskGamma.h
+++ b/src/core/SkMaskGamma.h
@@ -8,10 +8,11 @@
#ifndef SkMaskGamma_DEFINED
#define SkMaskGamma_DEFINED
-#include "SkTypes.h"
#include "SkColor.h"
#include "SkColorData.h"
+#include "SkNoncopyable.h"
#include "SkRefCnt.h"
+#include "SkTypes.h"
/**
* SkColorSpaceLuminance is used to convert luminances to and from linear and
diff --git a/src/core/SkTaskGroup.h b/src/core/SkTaskGroup.h
index d33f1458cb..fcf882063a 100644
--- a/src/core/SkTaskGroup.h
+++ b/src/core/SkTaskGroup.h
@@ -9,6 +9,7 @@
#define SkTaskGroup_DEFINED
#include "SkExecutor.h"
+#include "SkNoncopyable.h"
#include "SkTypes.h"
#include <atomic>
#include <functional>
diff --git a/src/gpu/GrAllocator.h b/src/gpu/GrAllocator.h
index b879b846d2..72df8b6df1 100644
--- a/src/gpu/GrAllocator.h
+++ b/src/gpu/GrAllocator.h
@@ -10,6 +10,7 @@
#include "GrConfig.h"
#include "GrTypes.h"
+#include "SkNoncopyable.h"
#include "SkTArray.h"
#include "SkTypes.h"
#include <new>
diff --git a/src/gpu/GrAutoLocaleSetter.h b/src/gpu/GrAutoLocaleSetter.h
index 8c7d9d4ab3..f6a10e5b7d 100644
--- a/src/gpu/GrAutoLocaleSetter.h
+++ b/src/gpu/GrAutoLocaleSetter.h
@@ -9,6 +9,7 @@
#define GrAutoLocaleSetter_DEFINED
#include "GrTypes.h"
+#include "SkNoncopyable.h"
#if defined(SK_BUILD_FOR_WIN)
#include "SkString.h"
diff --git a/src/gpu/GrBufferAllocPool.h b/src/gpu/GrBufferAllocPool.h
index 1b58ef45e4..23759caff8 100644
--- a/src/gpu/GrBufferAllocPool.h
+++ b/src/gpu/GrBufferAllocPool.h
@@ -8,10 +8,11 @@
#ifndef GrBufferAllocPool_DEFINED
#define GrBufferAllocPool_DEFINED
+#include "GrTypesPriv.h"
+#include "SkNoncopyable.h"
#include "SkTArray.h"
#include "SkTDArray.h"
#include "SkTypes.h"
-#include "GrTypesPriv.h"
class GrBuffer;
class GrGpu;
diff --git a/src/gpu/GrGpuResourceRef.h b/src/gpu/GrGpuResourceRef.h
index 410513944f..672865329b 100644
--- a/src/gpu/GrGpuResourceRef.h
+++ b/src/gpu/GrGpuResourceRef.h
@@ -9,6 +9,7 @@
#define GrGpuResourceRef_DEFINED
#include "GrGpuResource.h"
+#include "SkNoncopyable.h"
#include "SkRefCnt.h"
/**
diff --git a/src/gpu/GrNonAtomicRef.h b/src/gpu/GrNonAtomicRef.h
index c23637f467..5a4e8d1dbb 100644
--- a/src/gpu/GrNonAtomicRef.h
+++ b/src/gpu/GrNonAtomicRef.h
@@ -8,6 +8,7 @@
#ifndef GrNonAtomicRef_DEFINED
#define GrNonAtomicRef_DEFINED
+#include "SkNoncopyable.h"
#include "SkRefCnt.h"
#include "SkTArray.h"
diff --git a/src/gpu/GrPathRendererChain.h b/src/gpu/GrPathRendererChain.h
index de17e53d81..14200cecce 100644
--- a/src/gpu/GrPathRendererChain.h
+++ b/src/gpu/GrPathRendererChain.h
@@ -11,6 +11,7 @@
#include "GrPathRenderer.h"
#include "GrTypesPriv.h"
+#include "SkNoncopyable.h"
#include "SkTypes.h"
#include "SkTArray.h"
diff --git a/src/gpu/GrTextureProducer.h b/src/gpu/GrTextureProducer.h
index 176247b67e..b42bbcfc9a 100644
--- a/src/gpu/GrTextureProducer.h
+++ b/src/gpu/GrTextureProducer.h
@@ -11,6 +11,7 @@
#include "GrResourceKey.h"
#include "GrSamplerState.h"
#include "SkImageInfo.h"
+#include "SkNoncopyable.h"
class GrContext;
class GrFragmentProcessor;
diff --git a/src/gpu/glsl/GrGLSLProgramDataManager.h b/src/gpu/glsl/GrGLSLProgramDataManager.h
index 8d58fc8b9d..6492c0a0dc 100644
--- a/src/gpu/glsl/GrGLSLProgramDataManager.h
+++ b/src/gpu/glsl/GrGLSLProgramDataManager.h
@@ -9,6 +9,7 @@
#define GrGLSLProgramDataManager_DEFINED
#include "GrResourceHandle.h"
+#include "SkNoncopyable.h"
#include "SkTypes.h"
class SkMatrix;
diff --git a/src/ports/SkOSFile_win.cpp b/src/ports/SkOSFile_win.cpp
index f76b0bced4..03647142e9 100644
--- a/src/ports/SkOSFile_win.cpp
+++ b/src/ports/SkOSFile_win.cpp
@@ -10,6 +10,7 @@
#include "SkLeanWindows.h"
#include "SkMalloc.h"
+#include "SkNoncopyable.h"
#include "SkOSFile.h"
#include "SkStringUtils.h"
#include "SkTFitsIn.h"
diff --git a/src/shaders/SkShaderBase.h b/src/shaders/SkShaderBase.h
index 9cfca4c6ba..c92beecf4f 100644
--- a/src/shaders/SkShaderBase.h
+++ b/src/shaders/SkShaderBase.h
@@ -12,6 +12,7 @@
#include "SkFlattenablePriv.h"
#include "SkMask.h"
#include "SkMatrix.h"
+#include "SkNoncopyable.h"
#include "SkShader.h"
#include "SkTLazy.h"
diff --git a/src/shaders/gradients/SkGradientBitmapCache.h b/src/shaders/gradients/SkGradientBitmapCache.h
index 0dcd32272e..22ab31ff27 100644
--- a/src/shaders/gradients/SkGradientBitmapCache.h
+++ b/src/shaders/gradients/SkGradientBitmapCache.h
@@ -10,6 +10,7 @@
#define SkGradientBitmapCache_DEFINED
#include "SkBitmap.h"
+#include "SkNoncopyable.h"
class SkGradientBitmapCache : SkNoncopyable {
public:
diff --git a/src/utils/SkJSON.h b/src/utils/SkJSON.h
index 8baf9fb8fc..762c17219f 100644
--- a/src/utils/SkJSON.h
+++ b/src/utils/SkJSON.h
@@ -9,6 +9,7 @@
#define SkJSON_DEFINED
#include "SkArenaAlloc.h"
+#include "SkNoncopyable.h"
#include "SkTo.h"
#include "SkTypes.h"
diff --git a/src/utils/SkJSONWriter.h b/src/utils/SkJSONWriter.h
index 6e579a5f69..09db543c86 100644
--- a/src/utils/SkJSONWriter.h
+++ b/src/utils/SkJSONWriter.h
@@ -8,6 +8,7 @@
#ifndef SkJSONWriter_DEFINED
#define SkJSONWriter_DEFINED
+#include "SkNoncopyable.h"
#include "SkStream.h"
#include "SkTArray.h"
diff --git a/src/utils/win/SkAutoCoInitialize.h b/src/utils/win/SkAutoCoInitialize.h
index f11cf856c5..17fb1f5361 100644
--- a/src/utils/win/SkAutoCoInitialize.h
+++ b/src/utils/win/SkAutoCoInitialize.h
@@ -13,6 +13,7 @@
#ifdef SK_BUILD_FOR_WIN
#include "SkLeanWindows.h"
+#include "SkNoncopyable.h"
/**
* An instance of this class initializes COM on creation
diff --git a/src/xml/SkDOM.h b/src/xml/SkDOM.h
index c3862a3ada..d3b7b95133 100644
--- a/src/xml/SkDOM.h
+++ b/src/xml/SkDOM.h
@@ -8,9 +8,10 @@
#ifndef SkDOM_DEFINED
#define SkDOM_DEFINED
-#include "../private/SkTemplates.h"
#include "SkArenaAlloc.h"
+#include "SkNoncopyable.h"
#include "SkScalar.h"
+#include "SkTemplates.h"
#include "SkTypes.h"
struct SkDOMNode;
diff --git a/tools/Registry.h b/tools/Registry.h
index 6a1e24a303..4184e4999e 100644
--- a/tools/Registry.h
+++ b/tools/Registry.h
@@ -8,6 +8,7 @@
#ifndef sk_tools_Registry_DEFINED
#define sk_tools_Registry_DEFINED
+#include "SkNoncopyable.h"
#include "SkTypes.h"
namespace sk_tools {
diff --git a/tools/gpu/TestContext.h b/tools/gpu/TestContext.h
index 2949cc709e..8e939a6ace 100644
--- a/tools/gpu/TestContext.h
+++ b/tools/gpu/TestContext.h
@@ -9,11 +9,12 @@
#ifndef TestContext_DEFINED
#define TestContext_DEFINED
-#include "../private/SkTemplates.h"
#include "FenceSync.h"
#include "GrTypes.h"
+#include "SkNoncopyable.h"
#include "SkRefCnt.h"
#include "SkScopeExit.h"
+#include "SkTemplates.h"
class GrContext;
struct GrContextOptions;