IWYU

BUG=skia:

Change-Id: Ib6b4d52841dbe3fa69a86ddb6b97d6a5d0f004ee
Reviewed-on: https://skia-review.googlesource.com/8231
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
diff --git a/gm/drawregion.cpp b/gm/drawregion.cpp
index a2633f9..2230f09 100644
--- a/gm/drawregion.cpp
+++ b/gm/drawregion.cpp
@@ -7,6 +7,7 @@
 
 #include "gm.h"
 #include "SkCanvas.h"
+#include "SkRegion.h"
 
 /**
  *  This is very similar to the RectGrid macrobench in Android.
diff --git a/gm/drawregionmodes.cpp b/gm/drawregionmodes.cpp
index be1c2d2..efccc88 100644
--- a/gm/drawregionmodes.cpp
+++ b/gm/drawregionmodes.cpp
@@ -11,6 +11,7 @@
 #include "SkDashPathEffect.h"
 #include "SkGradientShader.h"
 #include "SkImageFilter.h"
+#include "SkRegion.h"
 
 class DrawRegionModesGM : public skiagm::GM {
 public:
diff --git a/gm/imagealphathreshold.cpp b/gm/imagealphathreshold.cpp
index 547e812..4a35018 100644
--- a/gm/imagealphathreshold.cpp
+++ b/gm/imagealphathreshold.cpp
@@ -8,6 +8,7 @@
 #include "gm.h"
 #include "SkAlphaThresholdFilter.h"
 #include "SkOffsetImageFilter.h"
+#include "SkRegion.h"
 #include "SkSurface.h"
 
 #define WIDTH 500
diff --git a/include/core/SkBitmap.h b/include/core/SkBitmap.h
index 08faaaf..c404481 100644
--- a/include/core/SkBitmap.h
+++ b/include/core/SkBitmap.h
@@ -21,7 +21,6 @@
 class SkPaint;
 class SkPixelRef;
 class SkPixelRefFactory;
-class SkRegion;
 class SkString;
 
 /** \class SkBitmap
diff --git a/include/core/SkCanvas.h b/include/core/SkCanvas.h
index d58b7ea..193d1af 100644
--- a/include/core/SkCanvas.h
+++ b/include/core/SkCanvas.h
@@ -8,16 +8,11 @@
 #ifndef SkCanvas_DEFINED
 #define SkCanvas_DEFINED
 
-#include "SkTypes.h"
 #include "SkBlendMode.h"
-#include "SkBitmap.h"
 #include "SkClipOp.h"
 #include "SkDeque.h"
-#include "SkImage.h"
 #include "SkPaint.h"
 #include "SkRasterHandleAllocator.h"
-#include "SkRefCnt.h"
-#include "SkRegion.h"
 #include "SkSurfaceProps.h"
 #include "SkLights.h"
 #include "../private/SkShadowParams.h"
@@ -25,18 +20,21 @@
 class GrContext;
 class GrRenderTargetContext;
 class SkBaseDevice;
+class SkBitmap;
 class SkCanvasClipVisitor;
 class SkClipStack;
 class SkData;
 class SkDraw;
 class SkDrawable;
 class SkDrawFilter;
+class SkImage;
 class SkImageFilter;
 class SkMetaData;
 class SkPath;
 class SkPicture;
 class SkPixmap;
 class SkRasterClip;
+class SkRegion;
 class SkRRect;
 struct SkRSXform;
 class SkSurface;
diff --git a/include/private/SkRecords.h b/include/private/SkRecords.h
index d1fadc3..b81bca8 100644
--- a/include/private/SkRecords.h
+++ b/include/private/SkRecords.h
@@ -16,6 +16,7 @@
 #include "SkPath.h"
 #include "SkPicture.h"
 #include "SkRect.h"
+#include "SkRegion.h"
 #include "SkRRect.h"
 #include "SkRSXform.h"
 #include "SkString.h"
diff --git a/samplecode/SampleDitherBitmap.cpp b/samplecode/SampleDitherBitmap.cpp
index 34241c5..676d4c3 100644
--- a/samplecode/SampleDitherBitmap.cpp
+++ b/samplecode/SampleDitherBitmap.cpp
@@ -10,6 +10,7 @@
 #include "SkColorPriv.h"
 #include "SkGradientShader.h"
 #include "SkPath.h"
+#include "SkRegion.h"
 #include "SkUtils.h"
 #include "SkView.h"
 
diff --git a/src/core/SkLiteDL.cpp b/src/core/SkLiteDL.cpp
index 2548a81..95e801a 100644
--- a/src/core/SkLiteDL.cpp
+++ b/src/core/SkLiteDL.cpp
@@ -12,6 +12,7 @@
 #include "SkLiteDL.h"
 #include "SkMath.h"
 #include "SkPicture.h"
+#include "SkRegion.h"
 #include "SkRSXform.h"
 #include "SkTextBlob.h"
 
diff --git a/src/utils/SkCanvasStack.h b/src/utils/SkCanvasStack.h
index 73a3386..cdeeb84 100644
--- a/src/utils/SkCanvasStack.h
+++ b/src/utils/SkCanvasStack.h
@@ -9,6 +9,7 @@
 #define SkCanvasStack_DEFINED
 
 #include "SkNWayCanvas.h"
+#include "SkRegion.h"
 #include "SkTArray.h"
 
 /**
diff --git a/src/utils/SkDumpCanvas.cpp b/src/utils/SkDumpCanvas.cpp
index 85e0243..dc42013 100644
--- a/src/utils/SkDumpCanvas.cpp
+++ b/src/utils/SkDumpCanvas.cpp
@@ -10,6 +10,7 @@
 #include "SkPatchUtils.h"
 #include "SkPicture.h"
 #include "SkPixelRef.h"
+#include "SkRegion.h"
 #include "SkRRect.h"
 #include "SkString.h"
 #include "SkTextBlob.h"
diff --git a/tests/PathOpsExtendedTest.cpp b/tests/PathOpsExtendedTest.cpp
index d70deb3..279faa4 100644
--- a/tests/PathOpsExtendedTest.cpp
+++ b/tests/PathOpsExtendedTest.cpp
@@ -12,6 +12,7 @@
 #include "SkMatrix.h"
 #include "SkMutex.h"
 #include "SkPaint.h"
+#include "SkRegion.h"
 #include "SkStream.h"
 
 #include <stdlib.h>
diff --git a/tests/SurfaceTest.cpp b/tests/SurfaceTest.cpp
index dd71943..b85ac81 100644
--- a/tests/SurfaceTest.cpp
+++ b/tests/SurfaceTest.cpp
@@ -13,6 +13,7 @@
 #include "SkImage_Base.h"
 #include "SkOverdrawCanvas.h"
 #include "SkPath.h"
+#include "SkRegion.h"
 #include "SkRRect.h"
 #include "SkSurface.h"
 #include "SkUtils.h"
diff --git a/tools/debugger/SkDrawCommand.h b/tools/debugger/SkDrawCommand.h
index 266fc99..964badc 100644
--- a/tools/debugger/SkDrawCommand.h
+++ b/tools/debugger/SkDrawCommand.h
@@ -11,6 +11,7 @@
 #include "SkCanvas.h"
 #include "SkTLazy.h"
 #include "SkPath.h"
+#include "SkRegion.h"
 #include "SkRRect.h"
 #include "SkRSXform.h"
 #include "SkString.h"