Make "priv" classes for GrTexure and GrSurface.

R=robertphillips@google.com, egdaniel@google.com, joshualitt@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/596053002
diff --git a/src/gpu/GrSurface.cpp b/src/gpu/GrSurface.cpp
index d15cbdf..37fd73f 100644
--- a/src/gpu/GrSurface.cpp
+++ b/src/gpu/GrSurface.cpp
@@ -6,6 +6,7 @@
  */
 
 #include "GrSurface.h"
+#include "GrSurfacePriv.h"
 
 #include "SkBitmap.h"
 #include "SkGr.h"
@@ -20,14 +21,16 @@
     return SkImageInfo::Make(this->width(), this->height(), colorType, kPremul_SkAlphaType);
 }
 
+// TODO: This should probably be a non-member helper function. It might only be needed in
+// debug or developer builds.
 bool GrSurface::savePixels(const char* filename) {
     SkBitmap bm;
     if (!bm.tryAllocPixels(SkImageInfo::MakeN32Premul(this->width(), this->height()))) {
         return false;
     }
 
-    bool result = readPixels(0, 0, this->width(), this->height(), kSkia8888_GrPixelConfig,
-                             bm.getPixels());
+    bool result = this->readPixels(0, 0, this->width(), this->height(), kSkia8888_GrPixelConfig,
+                                   bm.getPixels());
     if (!result) {
         SkDebugf("------ failed to read pixels for %s\n", filename);
         return false;
@@ -80,3 +83,14 @@
     }
     return false;
 }
+
+bool GrSurface::isSameAs(const GrSurface* other) const {
+    const GrRenderTarget* thisRT = this->asRenderTarget();
+    if (thisRT) {
+        return thisRT == other->asRenderTarget();
+    } else {
+        const GrTexture* thisTex = this->asTexture();
+        SkASSERT(thisTex); // We must be one or the other
+        return thisTex == other->asTexture();
+    }
+}