diff --git a/samplecode/SamplePictFile.cpp b/samplecode/SamplePictFile.cpp
index 3c1462e..014ae93 100644
--- a/samplecode/SamplePictFile.cpp
+++ b/samplecode/SamplePictFile.cpp
@@ -47,12 +47,12 @@
             if (stream.isValid()) {
                 pic = SkNEW_ARGS(SkPicture, (&stream));
             }
-            
+
             if (false) { // re-record
                 SkPicture p2;
                 pic->draw(p2.beginRecording(pic->width(), pic->height()));
                 p2.endRecording();
-                
+
                 SkString path2(path);
                 path2.append(".new.skp");
                 SkFILEWStream writer(path2.c_str());
diff --git a/src/core/SkPictureRecord.cpp b/src/core/SkPictureRecord.cpp
index b4c4bbc..10de946 100644
--- a/src/core/SkPictureRecord.cpp
+++ b/src/core/SkPictureRecord.cpp
@@ -60,7 +60,7 @@
     // record the offset to us, making it non-positive to distinguish a save
     // from a clip entry.
     fRestoreOffsetStack.push(-(int32_t)fWriter.size());
-    
+
     addDraw(SAVE);
     addInt(flags);
 
@@ -73,7 +73,7 @@
     // record the offset to us, making it non-positive to distinguish a save
     // from a clip entry.
     fRestoreOffsetStack.push(-(int32_t)fWriter.size());
-    
+
     addDraw(SAVE_LAYER);
     addRectPtr(bounds);
     addPaintPtr(paint);
@@ -190,7 +190,7 @@
         }
         offset += opSize;
     }
-    
+
 #ifdef TRACK_COLLAPSE_STATS
     gCollapseCount += 1;
     SkDebugf("Collapse [%d out of %d] %g%spn", gCollapseCount, gCollapseCalls,
@@ -300,7 +300,7 @@
         offset = *peek;
         *peek = restoreOffset;
     }
-    
+
 #ifdef SK_DEBUG
     // assert that the final offset value points to a save verb
     uint32_t drawOp = *fWriter.peek32(-offset);
diff --git a/tools/skdiff_main.cpp b/tools/skdiff_main.cpp
index cf83be8..aa31ec9 100644
--- a/tools/skdiff_main.cpp
+++ b/tools/skdiff_main.cpp
@@ -1164,7 +1164,7 @@
         "var fileMultiLineString = '';\n"
         "for (var i = 0; i < boxes.length; i++) {\n"
         "fileMultiLineString += boxes[i].name + '<br>';\n"
-        "fileCmdLineString += boxes[i].name + '&nbsp;';\n"  
+        "fileCmdLineString += boxes[i].name + '&nbsp;';\n"
         "}\n"
         "$(\"#checkedList\").html(fileCmdLineString + "
         "'<br><br>' + fileMultiLineString);\n"
