diff --git a/include/gpu/GrContext.h b/include/gpu/GrContext.h
index 16eab66..71665cc 100644
--- a/include/gpu/GrContext.h
+++ b/include/gpu/GrContext.h
@@ -731,7 +731,7 @@
             kWideOpen_InitialClip,
         };
 
-        AutoClip(GrContext* context, InitialClip initialState) 
+        AutoClip(GrContext* context, InitialClip initialState)
         : fContext(context) {
             GrAssert(kWideOpen_InitialClip == initialState);
             fNewClipData.fClipStack = &fNewClipStack;
diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp
index 408f2db..1d71fa7 100644
--- a/src/gpu/SkGpuDevice.cpp
+++ b/src/gpu/SkGpuDevice.cpp
@@ -916,7 +916,7 @@
         // If we're doing a normal blur, we can clobber the pathTexture in the
         // gaussianBlur.  Otherwise, we need to save it for later compositing.
         bool isNormalBlur = blurType == SkMaskFilter::kNormal_BlurType;
-        blurTexture.reset(context->gaussianBlur(pathTexture, isNormalBlur, 
+        blurTexture.reset(context->gaussianBlur(pathTexture, isNormalBlur,
                                                 srcRect, sigma, sigma));
 
         if (!isNormalBlur) {
@@ -1363,7 +1363,7 @@
                 // now offset it to make it "local" to our tmp bitmap
                 tileR.offset(SkIntToScalar(-iTileR.fLeft), SkIntToScalar(-iTileR.fTop));
                 SkMatrix tmpM(m);
-                tmpM.preTranslate(SkIntToScalar(iTileR.fLeft), 
+                tmpM.preTranslate(SkIntToScalar(iTileR.fLeft),
                                   SkIntToScalar(iTileR.fTop));
 
                 this->internalDrawBitmap(draw, tmpB, tileR, tmpM, params, grPaint);
