Change clear() to respect the clip

patch from issue 769703002 at patchset 1 (http://crrev.com/769703002#ps1)

BUG=skia:

Review URL: https://codereview.chromium.org/772533004
diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp
index 9a78048..e6c8343 100644
--- a/src/gpu/SkGpuDevice.cpp
+++ b/src/gpu/SkGpuDevice.cpp
@@ -68,7 +68,7 @@
 #define DO_DEFERRED_CLEAR()             \
     do {                                \
         if (fFlags & kNeedClear_Flag) {  \
-            this->clear(SK_ColorTRANSPARENT); \
+            this->clearAll(); \
         }                               \
     } while (false)                     \
 
@@ -294,6 +294,14 @@
     return fRenderTarget;
 }
 
+void SkGpuDevice::clearAll() {
+    GrColor color = 0;
+    GR_CREATE_TRACE_MARKER_CONTEXT("SkGpuDevice::clearAll", fContext);
+    SkIRect rect = SkIRect::MakeWH(this->width(), this->height());
+    fContext->clear(&rect, color, true, fRenderTarget);
+    fFlags &= ~kNeedClear_Flag;
+}
+
 ///////////////////////////////////////////////////////////////////////////////
 
 SK_COMPILE_ASSERT(SkShader::kNone_BitmapType == 0, shader_type_mismatch);
@@ -309,13 +317,6 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 
-void SkGpuDevice::clear(SkColor color) {
-    GR_CREATE_TRACE_MARKER_CONTEXT("SkGpuDevice::clear", fContext);
-    SkIRect rect = SkIRect::MakeWH(this->width(), this->height());
-    fContext->clear(&rect, SkColor2GrColor(color), true, fRenderTarget);
-    fFlags &= ~kNeedClear_Flag;
-}
-
 void SkGpuDevice::drawPaint(const SkDraw& draw, const SkPaint& paint) {
     CHECK_SHOULD_DRAW(draw, false);
     GR_CREATE_TRACE_MARKER_CONTEXT("SkGpuDevice::drawPaint", fContext);
@@ -1481,7 +1482,7 @@
     SkGpuDevice* dev = static_cast<SkGpuDevice*>(device);
     if (dev->fFlags & kNeedClear_Flag) {
         // TODO: could check here whether we really need to draw at all
-        dev->clear(0x0);
+        dev->clearAll();
     }
 
     // drawDevice is defined to be in device coords.