Don't pretend we can draw MaskFilters, it produces artifacts that make the text unreadable when using CSS shadows.
Review URL: https://codereview.chromium.org/12989032
git-svn-id: http://skia.googlecode.com/svn/trunk@8351 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/pdf/SkPDFDevice.cpp b/src/pdf/SkPDFDevice.cpp
index 8f0f3d2..6865b0f 100644
--- a/src/pdf/SkPDFDevice.cpp
+++ b/src/pdf/SkPDFDevice.cpp
@@ -946,6 +946,12 @@
void SkPDFDevice::drawText(const SkDraw& d, const void* text, size_t len,
SkScalar x, SkScalar y, const SkPaint& paint) {
+ NOT_IMPLEMENTED(paint.getMaskFilter() != NULL, false);
+ if (paint.getMaskFilter() != NULL) {
+ // Don't pretend we support drawing MaskFilters, it makes for artifacts
+ // making text unreadable (e.g. same text twice when using CSS shadows).
+ return;
+ }
SkPaint textPaint = calculate_text_paint(paint);
ScopedContentEntry content(this, d, textPaint, true);
if (!content.entry()) {
@@ -985,6 +991,12 @@
void SkPDFDevice::drawPosText(const SkDraw& d, const void* text, size_t len,
const SkScalar pos[], SkScalar constY,
int scalarsPerPos, const SkPaint& paint) {
+ NOT_IMPLEMENTED(paint.getMaskFilter() != NULL, false);
+ if (paint.getMaskFilter() != NULL) {
+ // Don't pretend we support drawing MaskFilters, it makes for artifacts
+ // making text unreadable (e.g. same text twice when using CSS shadows).
+ return;
+ }
SkASSERT(1 == scalarsPerPos || 2 == scalarsPerPos);
SkPaint textPaint = calculate_text_paint(paint);
ScopedContentEntry content(this, d, textPaint, true);