diff --git a/gpu/src/GrAAHairLinePathRenderer.cpp b/gpu/src/GrAAHairLinePathRenderer.cpp
index f836188..32a477b 100644
--- a/gpu/src/GrAAHairLinePathRenderer.cpp
+++ b/gpu/src/GrAAHairLinePathRenderer.cpp
@@ -98,9 +98,9 @@
     fQuadsIndexBuffer->unref();
 }
 
-bool GrAAHairLinePathRenderer::supportsAA(GrDrawTarget* target,
+bool GrAAHairLinePathRenderer::supportsAA(const GrDrawTarget* target,
                                           const SkPath& path,
-                                          GrPathFill fill) { 
+                                          GrPathFill fill) const {
     return kHairLine_PathFill == fill;
 }
 
diff --git a/gpu/src/GrAAHairLinePathRenderer.h b/gpu/src/GrAAHairLinePathRenderer.h
index 013e540..81cecf2 100644
--- a/gpu/src/GrAAHairLinePathRenderer.h
+++ b/gpu/src/GrAAHairLinePathRenderer.h
@@ -17,9 +17,9 @@
 
     static GrPathRenderer* Create(GrContext* context);
     // GrPathRenderer overrides
-    virtual bool supportsAA(GrDrawTarget* target,
+    virtual bool supportsAA(const GrDrawTarget* target,
                             const SkPath& path,
-                            GrPathFill fill);
+                            GrPathFill fill) const;
     virtual bool canDrawPath(const GrDrawTarget* target,
                              const SkPath& path,
                              GrPathFill fill) const;
@@ -39,7 +39,6 @@
 
     bool createGeom(GrDrawTarget::StageBitfield stages);
 
-    GrContext*                  fContext;
     const GrIndexBuffer*        fLinesIndexBuffer;
     const GrIndexBuffer*        fQuadsIndexBuffer;
 
diff --git a/gpu/src/GrPathRenderer.h b/gpu/src/GrPathRenderer.h
index b8e7a4c..d95cc85 100644
--- a/gpu/src/GrPathRenderer.h
+++ b/gpu/src/GrPathRenderer.h
@@ -108,7 +108,7 @@
      */
     virtual bool supportsAA(const GrDrawTarget* target,
                             const SkPath& path,
-                            GrPathFill fill) { return false; }
+                            GrPathFill fill) const { return false; }
 
     /**
      * Sets the path to render and target to render into. All calls to drawPath
diff --git a/gpu/src/GrTesselatedPathRenderer.cpp b/gpu/src/GrTesselatedPathRenderer.cpp
index a3da707..5d544f2 100644
--- a/gpu/src/GrTesselatedPathRenderer.cpp
+++ b/gpu/src/GrTesselatedPathRenderer.cpp
@@ -602,6 +602,6 @@
 
 bool GrTesselatedPathRenderer::supportsAA(const GrDrawTarget* target,
                                           const SkPath& path,
-                                          GrPathFill fill) {
+                                          GrPathFill fill) const {
     return true;
 }
diff --git a/gpu/src/GrTesselatedPathRenderer.h b/gpu/src/GrTesselatedPathRenderer.h
index d5bf157..d4f2243 100644
--- a/gpu/src/GrTesselatedPathRenderer.h
+++ b/gpu/src/GrTesselatedPathRenderer.h
@@ -27,7 +27,7 @@
     virtual void drawPathToStencil();
     virtual bool supportsAA(const GrDrawTarget* target,
                             const GrPath& path,
-                            GrPathFill fill);
+                            GrPathFill fill) const;
 };
 
 #endif
