remove device field from SkDraw

BUG=skia:6214

Change-Id: I5d57feb3e92f2c1691231c982e74020560febeca
Reviewed-on: https://skia-review.googlesource.com/8837
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
index 6edf536..d2bfb59 100644
--- a/src/core/SkCanvas.cpp
+++ b/src/core/SkCanvas.cpp
@@ -327,7 +327,7 @@
 
 class SkDrawIter : public SkDraw {
 public:
-    SkDrawIter(SkCanvas* canvas) {
+    SkDrawIter(SkCanvas* canvas) : fDevice(nullptr) {
         canvas->updateDeviceCMCache();
 
         fClipStack = canvas->getClipStack();
@@ -380,13 +380,14 @@
         return false;
     }
 
-    SkBaseDevice* getDevice() const { return fDevice; }
     const SkRasterClip& getClip() const { return *fRC; }
     int getX() const { return fDevice->getOrigin().x(); }
     int getY() const { return fDevice->getOrigin().y(); }
     const SkMatrix& getMatrix() const { return *fMatrix; }
     const SkPaint* getPaint() const { return fPaint; }
 
+    SkBaseDevice*   fDevice;
+
 private:
     const DeviceCM* fCurrLayer;
     const SkPaint*  fPaint;     // May be null.
@@ -1145,7 +1146,6 @@
     draw.fMatrix = &SkMatrix::I();
     draw.fRC = &rc;
     draw.fClipStack = clipStack;
-    draw.fDevice = dst;
 
     SkPaint p;
     p.setImageFilter(filter->makeWithLocalMatrix(ctm));
@@ -3318,7 +3318,7 @@
 }
 
 SkBaseDevice* SkCanvas::LayerIter::device() const {
-    return fImpl->getDevice();
+    return fImpl->fDevice;
 }
 
 const SkMatrix& SkCanvas::LayerIter::matrix() const {