diff --git a/tools/debugger/SkDrawCommand.cpp b/tools/debugger/SkDrawCommand.cpp
index a99ff6d..076dac5 100644
--- a/tools/debugger/SkDrawCommand.cpp
+++ b/tools/debugger/SkDrawCommand.cpp
@@ -10,7 +10,6 @@
 #include "png.h"
 
 #include "SkAutoMalloc.h"
-#include "SkBlurMaskFilter.h"
 #include "SkColorFilter.h"
 #include "SkDashPathEffect.h"
 #include "SkImageFilter.h"
@@ -1124,18 +1123,6 @@
                 default:
                     SkASSERT(false);
             }
-            switch (blurRec.fQuality) {
-                case SkBlurQuality::kLow_SkBlurQuality:
-                    blur[SKDEBUGCANVAS_ATTRIBUTE_QUALITY] = Json::Value(
-                                                                     SKDEBUGCANVAS_BLURQUALITY_LOW);
-                    break;
-                case SkBlurQuality::kHigh_SkBlurQuality:
-                    blur[SKDEBUGCANVAS_ATTRIBUTE_QUALITY] = Json::Value(
-                                                                    SKDEBUGCANVAS_BLURQUALITY_HIGH);
-                    break;
-                default:
-                    SkASSERT(false);
-            }
             (*target)[SKDEBUGCANVAS_ATTRIBUTE_BLUR] = blur;
         } else {
             Json::Value jsonMaskFilter;
@@ -1590,19 +1577,7 @@
             SkASSERT(false);
             style = SkBlurStyle::kNormal_SkBlurStyle;
         }
-        SkBlurMaskFilter::BlurFlags flags;
-        const char* jsonQuality = blur[SKDEBUGCANVAS_ATTRIBUTE_QUALITY].asCString();
-        if (!strcmp(jsonQuality, SKDEBUGCANVAS_BLURQUALITY_LOW)) {
-            flags = SkBlurMaskFilter::BlurFlags::kNone_BlurFlag;
-        }
-        else if (!strcmp(jsonQuality, SKDEBUGCANVAS_BLURQUALITY_HIGH)) {
-            flags = SkBlurMaskFilter::BlurFlags::kHighQuality_BlurFlag;
-        }
-        else {
-            SkASSERT(false);
-            flags = SkBlurMaskFilter::BlurFlags::kNone_BlurFlag;
-        }
-        target->setMaskFilter(SkBlurMaskFilter::Make(style, sigma, flags));
+        target->setMaskFilter(SkMaskFilter::MakeBlur(style, sigma));
     }
 }
 
