Fixing deferred canvas bug caused by SkTwoPointConicalGradient declaring itself as opaque.

BUG=https://code.google.com/p/chromium/issues/detail?id=222140
TEST=DeferredCanvas unit test + DRT with --enable-deferred-2d-canvas

Author: junov@chromium.org

Reviewed By: bsalomon@chromium.org

Review URL: https://chromiumcodereview.appspot.com/12879005

git-svn-id: http://skia.googlecode.com/svn/trunk@8247 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/effects/gradients/SkTwoPointConicalGradient.cpp b/src/effects/gradients/SkTwoPointConicalGradient.cpp
index d3fb4dd..38aa60c 100644
--- a/src/effects/gradients/SkTwoPointConicalGradient.cpp
+++ b/src/effects/gradients/SkTwoPointConicalGradient.cpp
@@ -190,6 +190,12 @@
     this->init();
 }
 
+bool SkTwoPointConicalGradient::isOpaque() const {
+    // Because areas outside the cone are left untouched, we cannot treat the
+    // shader as opaque even if the gradient itself is opaque.
+    return false;
+}
+
 void SkTwoPointConicalGradient::shadeSpan(int x, int y, SkPMColor* dstCParam,
                                           int count) {
     int toggle = init_dither_toggle(x, y);