Index: src/core/SkCanvas.cpp |
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp |
index e53a104c47fa28406f1d440dbcd670365d877a24..5d517801e4affc11b864c5b4edc1430f291f22a6 100644 |
--- a/src/core/SkCanvas.cpp |
+++ b/src/core/SkCanvas.cpp |
@@ -3013,6 +3013,9 @@ void SkCanvas::drawDrawable(SkDrawable* dr, const SkMatrix* matrix) { |
} |
void SkCanvas::onDrawDrawable(SkDrawable* dr, const SkMatrix* matrix) { |
+// b/31304115 |
+// We cannot trust that the clip bounds are set correctly by the framework. |
+#ifndef SK_BUILD_FOR_ANDROID_FRAMEWORK |
SkRect bounds = dr->getBounds(); |
if (matrix) { |
matrix->mapRect(&bounds); |
@@ -3020,6 +3023,8 @@ void SkCanvas::onDrawDrawable(SkDrawable* dr, const SkMatrix* matrix) { |
if (this->quickReject(bounds)) { |
return; |
} |
+#endif |
+ |
dr->draw(this, matrix); |
} |