move files out of private, and fix up callers to IWYU

Realized that a pending CL needed to add (yet another) private type to SkRecords.h, but w/o this CL I'd be forced to move that header also into private. This change frees us up to not have transitive exposure for types that need to be recorded.

Bug: skia:
Change-Id: Id79f1c2e44ba85e063c1360cf96c92de6397ca2b
Reviewed-on: https://skia-review.googlesource.com/17031
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
diff --git a/fuzz/FilterFuzz.cpp b/fuzz/FilterFuzz.cpp
index cf65701..b2d99b7 100644
--- a/fuzz/FilterFuzz.cpp
+++ b/fuzz/FilterFuzz.cpp
@@ -39,6 +39,7 @@
 #include "SkPictureRecorder.h"
 #include "SkPoint3.h"
 #include "SkRandom.h"
+#include "SkRegion.h"
 #include "SkTableColorFilter.h"
 #include "SkTileImageFilter.h"
 #include "SkTypeface.h"
diff --git a/fuzz/FuzzCanvas.cpp b/fuzz/FuzzCanvas.cpp
index 3796812..aec9173 100644
--- a/fuzz/FuzzCanvas.cpp
+++ b/fuzz/FuzzCanvas.cpp
@@ -54,6 +54,7 @@
 #include "SkPictureImageFilter.h"
 #include "SkRRectsGaussianEdgeMaskFilter.h"
 #include "SkTableColorFilter.h"
+#include "SkTextBlob.h"
 #include "SkTileImageFilter.h"
 #include "SkXfermodeImageFilter.h"
 
diff --git a/gm/distantclip.cpp b/gm/distantclip.cpp
index 24fbaca..fa75265 100644
--- a/gm/distantclip.cpp
+++ b/gm/distantclip.cpp
@@ -8,6 +8,7 @@
 
 #include "gm.h"
 #include "SkCanvas.h"
+#include "SkPath.h"
 #include "SkPicture.h"
 #include "SkPictureRecorder.h"
 
diff --git a/gm/filterfastbounds.cpp b/gm/filterfastbounds.cpp
index 5102b86..ad042ac 100644
--- a/gm/filterfastbounds.cpp
+++ b/gm/filterfastbounds.cpp
@@ -11,6 +11,7 @@
 #include "SkDropShadowImageFilter.h"
 #include "SkImageSource.h"
 #include "SkOffsetImageFilter.h"
+#include "SkPath.h"
 #include "SkPictureImageFilter.h"
 #include "SkPictureRecorder.h"
 #include "SkRandom.h"
diff --git a/gm/multipicturedraw.cpp b/gm/multipicturedraw.cpp
index fe2281a..b18fb8a 100644
--- a/gm/multipicturedraw.cpp
+++ b/gm/multipicturedraw.cpp
@@ -10,6 +10,7 @@
 
 #include "SkColorFilter.h"
 #include "SkMultiPictureDraw.h"
+#include "SkPath.h"
 #include "SkPictureRecorder.h"
 #include "SkSurface.h"
 
diff --git a/gm/picture.cpp b/gm/picture.cpp
index 72d4159..5b3cdfb 100644
--- a/gm/picture.cpp
+++ b/gm/picture.cpp
@@ -7,6 +7,7 @@
 
 #include "gm.h"
 #include "SkPaint.h"
+#include "SkPath.h"
 #include "SkPictureRecorder.h"
 
 static sk_sp<SkPicture> make_picture() {
diff --git a/gm/pictureimagegenerator.cpp b/gm/pictureimagegenerator.cpp
index a54fa64..4e465d1 100644
--- a/gm/pictureimagegenerator.cpp
+++ b/gm/pictureimagegenerator.cpp
@@ -12,6 +12,7 @@
 #include "SkGradientShader.h"
 #include "SkImageGenerator.h"
 #include "SkPaint.h"
+#include "SkPath.h"
 #include "SkPathOps.h"
 #include "SkPicture.h"
 #include "SkPictureRecorder.h"
diff --git a/gn/core.gni b/gn/core.gni
index 1d88821..5566dde 100644
--- a/gn/core.gni
+++ b/gn/core.gni
@@ -207,6 +207,7 @@
   "$_src/core/SkMipMap.cpp",
   "$_src/core/SkMipMap.h",
   "$_src/core/SkMiniRecorder.cpp",
+  "$_src/core/SkMiniRecorder.h",
   "$_src/core/SkModeColorFilter.cpp",
   "$_src/core/SkMultiPictureDraw.cpp",
   "$_src/core/SkNextID.h",
@@ -271,6 +272,7 @@
   "$_src/core/SkReader32.h",
   "$_src/core/SkRecord.cpp",
   "$_src/core/SkRecords.cpp",
+  "$_src/core/SkRecords.h",
   "$_src/core/SkRecordDraw.cpp",
   "$_src/core/SkRecordOpts.cpp",
   "$_src/core/SkRecordOpts.h",
@@ -456,10 +458,8 @@
   "$_include/private/SkFloatingPoint.h",
   "$_include/private/SkMalloc.h",
   "$_include/private/SkMessageBus.h",
-  "$_include/private/SkMiniRecorder.h",
   "$_include/private/SkMutex.h",
   "$_include/private/SkOnce.h",
-  "$_include/private/SkRecords.h",
   "$_include/private/SkSemaphore.h",
   "$_include/private/SkShadowFlags.h",
   "$_include/private/SkSpinlock.h",
diff --git a/include/core/SkPictureRecorder.h b/include/core/SkPictureRecorder.h
index d898b91..09839cb 100644
--- a/include/core/SkPictureRecorder.h
+++ b/include/core/SkPictureRecorder.h
@@ -8,7 +8,6 @@
 #ifndef SkPictureRecorder_DEFINED
 #define SkPictureRecorder_DEFINED
 
-#include "../private/SkMiniRecorder.h"
 #include "SkBBHFactory.h"
 #include "SkPicture.h"
 #include "SkRefCnt.h"
@@ -22,6 +21,7 @@
 class GrContext;
 class SkCanvas;
 class SkDrawable;
+class SkMiniRecorder;
 class SkPictureRecord;
 class SkRecord;
 class SkRecorder;
@@ -116,7 +116,7 @@
     sk_sp<SkBBoxHierarchy>      fBBH;
     std::unique_ptr<SkRecorder> fRecorder;
     sk_sp<SkRecord>             fRecord;
-    SkMiniRecorder              fMiniRecorder;
+    std::unique_ptr<SkMiniRecorder> fMiniRecorder;
 
     typedef SkNoncopyable INHERITED;
 };
diff --git a/samplecode/GMSampleView.cpp b/samplecode/GMSampleView.cpp
index 19cbcc8..ffa33ce 100644
--- a/samplecode/GMSampleView.cpp
+++ b/samplecode/GMSampleView.cpp
@@ -6,6 +6,7 @@
  */
 
 #include "GMSampleView.h"
+#include "SkData.h"
 
 GMSampleView::GMSampleView(GM* gm) : fShowSize(false), fGM(gm) {}
 
diff --git a/samplecode/SampleFilterFuzz.cpp b/samplecode/SampleFilterFuzz.cpp
index 3690612..7254192 100644
--- a/samplecode/SampleFilterFuzz.cpp
+++ b/samplecode/SampleFilterFuzz.cpp
@@ -39,6 +39,7 @@
 #include "SkPictureRecorder.h"
 #include "SkPoint3.h"
 #include "SkRandom.h"
+#include "SkRegion.h"
 #include "SkTableColorFilter.h"
 #include "SkTileImageFilter.h"
 #include "SkTypeface.h"
diff --git a/include/private/SkMiniRecorder.h b/src/core/SkMiniRecorder.h
similarity index 100%
rename from include/private/SkMiniRecorder.h
rename to src/core/SkMiniRecorder.h
diff --git a/src/core/SkPictureRecorder.cpp b/src/core/SkPictureRecorder.cpp
index 7abb12b..a37cd48 100644
--- a/src/core/SkPictureRecorder.cpp
+++ b/src/core/SkPictureRecorder.cpp
@@ -8,6 +8,7 @@
 #include "SkBigPicture.h"
 #include "SkData.h"
 #include "SkDrawable.h"
+#include "SkMiniRecorder.h"
 #include "SkPictureRecorder.h"
 #include "SkRecord.h"
 #include "SkRecordDraw.h"
@@ -18,7 +19,8 @@
 
 SkPictureRecorder::SkPictureRecorder() {
     fActivelyRecording = false;
-    fRecorder.reset(new SkRecorder(nullptr, SkRect::MakeEmpty(), &fMiniRecorder));
+    fMiniRecorder.reset(new SkMiniRecorder);
+    fRecorder.reset(new SkRecorder(nullptr, SkRect::MakeEmpty(), fMiniRecorder.get()));
 }
 
 SkPictureRecorder::~SkPictureRecorder() {}
@@ -42,7 +44,7 @@
     SkRecorder::DrawPictureMode dpm = (recordFlags & kPlaybackDrawPicture_RecordFlag)
         ? SkRecorder::Playback_DrawPictureMode
         : SkRecorder::Record_DrawPictureMode;
-    fRecorder->reset(fRecord.get(), cullRect, dpm, &fMiniRecorder);
+    fRecorder->reset(fRecord.get(), cullRect, dpm, fMiniRecorder.get());
     fActivelyRecording = true;
     return this->getRecordingCanvas();
 }
@@ -56,7 +58,7 @@
     fRecorder->restoreToCount(1);  // If we were missing any restores, add them now.
 
     if (fRecord->count() == 0) {
-        auto pic = fMiniRecorder.detachAsPicture(fBBH ? nullptr : &fCullRect);
+        auto pic = fMiniRecorder->detachAsPicture(fBBH ? nullptr : &fCullRect);
         fBBH.reset(nullptr);
         return pic;
     }
diff --git a/include/private/SkRecords.h b/src/core/SkRecords.h
similarity index 100%
rename from include/private/SkRecords.h
rename to src/core/SkRecords.h
diff --git a/tests/ImageGeneratorTest.cpp b/tests/ImageGeneratorTest.cpp
index d79b434..3d82534 100644
--- a/tests/ImageGeneratorTest.cpp
+++ b/tests/ImageGeneratorTest.cpp
@@ -6,6 +6,7 @@
  */
 
 #include "SkData.h"
+#include "SkCanvas.h"
 #include "SkGraphics.h"
 #include "SkImageGenerator.h"
 #include "Test.h"
diff --git a/tests/ImageIsOpaqueTest.cpp b/tests/ImageIsOpaqueTest.cpp
index 81f1d76..bf3dea6 100644
--- a/tests/ImageIsOpaqueTest.cpp
+++ b/tests/ImageIsOpaqueTest.cpp
@@ -12,6 +12,7 @@
 #if SK_SUPPORT_GPU
 #include "GrContext.h"
 #endif
+#include "SkCanvas.h"
 #include "SkColorSpace_Base.h"
 #include "SkImage.h"
 #include "SkSurface.h"
diff --git a/tests/RecordingXfermodeTest.cpp b/tests/RecordingXfermodeTest.cpp
index db4262c..20dccc6 100644
--- a/tests/RecordingXfermodeTest.cpp
+++ b/tests/RecordingXfermodeTest.cpp
@@ -7,6 +7,7 @@
 
 #include "Test.h"
 
+#include "../include/core/SkBitmap.h"
 #include "../include/core/SkCanvas.h"
 #include "../include/core/SkPicture.h"
 #include "../include/core/SkStream.h"