C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla}

NOPRESUBMIT=true

BUG=skia:
DOCS_PREVIEW= https://skia.org/?cl=1037793002

Review URL: https://codereview.chromium.org/1037793002
diff --git a/gm/aaclip.cpp b/gm/aaclip.cpp
index e977f5f..e613af6 100644
--- a/gm/aaclip.cpp
+++ b/gm/aaclip.cpp
@@ -71,15 +71,15 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("aaclip");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(240, 120);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         // Initial pixel-boundary-aligned draw
         draw_rect_tests(canvas);
 
@@ -154,15 +154,15 @@
     CGImageGM() {}
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("cgimage");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(800, 250);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         const struct {
             SkColorType fCT;
             SkAlphaType fAT;
diff --git a/gm/aarectmodes.cpp b/gm/aarectmodes.cpp
index 83456a0..f4889a8 100644
--- a/gm/aarectmodes.cpp
+++ b/gm/aarectmodes.cpp
@@ -134,13 +134,13 @@
 
     protected:
 
-        SkString onShortName() SK_OVERRIDE {
+        SkString onShortName() override {
             return SkString("aarectmodes");
         }
 
-        SkISize onISize() SK_OVERRIDE { return SkISize::Make(640, 480); }
+        SkISize onISize() override { return SkISize::Make(640, 480); }
 
-        void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+        void onDraw(SkCanvas* canvas) override {
             if (false) { // avoid bit rot, suppress warning
                 test4(canvas);
             }
diff --git a/gm/addarc.cpp b/gm/addarc.cpp
index 8bdbca3..742f16f 100644
--- a/gm/addarc.cpp
+++ b/gm/addarc.cpp
@@ -16,11 +16,11 @@
     AddArcGM() : fRotate(0) {}
 
 protected:
-    SkString onShortName() SK_OVERRIDE { return SkString("addarc"); }
+    SkString onShortName() override { return SkString("addarc"); }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(1040, 1040); }
+    SkISize onISize() override { return SkISize::Make(1040, 1040); }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->translate(20, 20);
 
         SkRect r = SkRect::MakeWH(1000, 1000);
@@ -51,7 +51,7 @@
         }
     }
 
-    bool onAnimate(const SkAnimTimer& timer) SK_OVERRIDE {
+    bool onAnimate(const SkAnimTimer& timer) override {
         fRotate = timer.scaled(1, 360);
         return true;
     }
@@ -71,11 +71,11 @@
     AddArcMeasGM() {}
 
 protected:
-    SkString onShortName() SK_OVERRIDE { return SkString("addarc_meas"); }
+    SkString onShortName() override { return SkString("addarc_meas"); }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(2*R + 40, 2*R + 40); }
+    SkISize onISize() override { return SkISize::Make(2*R + 40, 2*R + 40); }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->translate(R + 20, R + 20);
 
         SkPaint paint;
@@ -122,11 +122,11 @@
     StrokeCircleGM() : fRotate(0) {}
     
 protected:
-    SkString onShortName() SK_OVERRIDE { return SkString("strokecircle"); }
+    SkString onShortName() override { return SkString("strokecircle"); }
     
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(520, 520); }
+    SkISize onISize() override { return SkISize::Make(520, 520); }
     
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->scale(20, 20);
         canvas->translate(13, 13);
 
@@ -151,7 +151,7 @@
         }
     }
 
-    bool onAnimate(const SkAnimTimer& timer) SK_OVERRIDE {
+    bool onAnimate(const SkAnimTimer& timer) override {
         fRotate = timer.scaled(60, 360);
         return true;
     }
@@ -178,11 +178,11 @@
     ManyArcsGM() {}
     
 protected:
-    SkString onShortName() SK_OVERRIDE { return SkString("manyarcs"); }
+    SkString onShortName() override { return SkString("manyarcs"); }
     
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(620, 330); }
+    SkISize onISize() override { return SkISize::Make(620, 330); }
     
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
         paint.setAntiAlias(true);
         paint.setStyle(SkPaint::kStroke_Style);
diff --git a/gm/alphagradients.cpp b/gm/alphagradients.cpp
index 304c523..426acaa 100644
--- a/gm/alphagradients.cpp
+++ b/gm/alphagradients.cpp
@@ -14,11 +14,11 @@
     AlphaGradientsGM() {}
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("alphagradients");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(640, 480);
     }
 
@@ -38,7 +38,7 @@
         canvas->drawRect(r, paint);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         static const struct {
             SkColor fColor0;
             SkColor fColor1;
diff --git a/gm/arcofzorro.cpp b/gm/arcofzorro.cpp
index 9aa4bb4..ef2a36b 100644
--- a/gm/arcofzorro.cpp
+++ b/gm/arcofzorro.cpp
@@ -21,15 +21,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("arcofzorro");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(1000, 1000);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkRandom rand;
 
         SkRect rect = SkRect::MakeXYWH(10, 10, 200, 200);
diff --git a/gm/astcbitmap.cpp b/gm/astcbitmap.cpp
index 808b23e..316bf88 100644
--- a/gm/astcbitmap.cpp
+++ b/gm/astcbitmap.cpp
@@ -53,15 +53,15 @@
     virtual ~ASTCBitmapGM() { }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("astcbitmap");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(kGMDimension, kGMDimension);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         for (int j = 0; j < 4; ++j) {
             for (int i = 0; i < 4; ++i) {
                 SkString filename = GetResourcePath(get_astc_filename(j*4+i));
diff --git a/gm/beziereffects.cpp b/gm/beziereffects.cpp
index d86a8b8..80f3c24 100644
--- a/gm/beziereffects.cpp
+++ b/gm/beziereffects.cpp
@@ -36,7 +36,7 @@
         SkRect fBounds;
     };
 
-    const char* name() const SK_OVERRIDE { return "BezierCubicOrConicTestBatch"; }
+    const char* name() const override { return "BezierCubicOrConicTestBatch"; }
 
     static GrBatch* Create(const GrGeometryProcessor* gp, const Geometry& geo,
                            const SkScalar klmEqs[9], SkScalar sign) {
@@ -60,12 +60,12 @@
         float   fKLM[4]; // The last value is ignored. The effect expects a vec4f.
     };
 
-    Geometry* geoData(int index) SK_OVERRIDE {
+    Geometry* geoData(int index) override {
         SkASSERT(0 == index);
         return &fGeometry;
     }
 
-    void onGenerateGeometry(GrBatchTarget* batchTarget, const GrPipeline* pipeline) SK_OVERRIDE {
+    void onGenerateGeometry(GrBatchTarget* batchTarget, const GrPipeline* pipeline) override {
         size_t vertexStride = this->geometryProcessor()->getVertexStride();
 
         const GrVertexBuffer* vertexBuffer;
@@ -124,15 +124,15 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("bezier_cubic_effects");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(800, 800);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         GrRenderTarget* rt = canvas->internal_private_accessTopLayerRenderTarget();
         if (NULL == rt) {
             this->drawGpuOnlyMessage(canvas);
@@ -270,16 +270,16 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("bezier_conic_effects");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(800, 800);
     }
 
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         GrRenderTarget* rt = canvas->internal_private_accessTopLayerRenderTarget();
         if (NULL == rt) {
             this->drawGpuOnlyMessage(canvas);
@@ -447,7 +447,7 @@
         SkRect fBounds;
     };
 
-    const char* name() const SK_OVERRIDE { return "BezierQuadTestBatch"; }
+    const char* name() const override { return "BezierQuadTestBatch"; }
 
     static GrBatch* Create(const GrGeometryProcessor* gp, const Geometry& geo,
                            const GrPathUtils::QuadUVMatrix& devToUV) {
@@ -467,12 +467,12 @@
         float   fKLM[4]; // The last value is ignored. The effect expects a vec4f.
     };
 
-    Geometry* geoData(int index) SK_OVERRIDE {
+    Geometry* geoData(int index) override {
         SkASSERT(0 == index);
         return &fGeometry;
     }
 
-    void onGenerateGeometry(GrBatchTarget* batchTarget, const GrPipeline* pipeline) SK_OVERRIDE {
+    void onGenerateGeometry(GrBatchTarget* batchTarget, const GrPipeline* pipeline) override {
         size_t vertexStride = this->geometryProcessor()->getVertexStride();
 
         const GrVertexBuffer* vertexBuffer;
@@ -528,16 +528,16 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("bezier_quad_effects");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(800, 800);
     }
 
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         GrRenderTarget* rt = canvas->internal_private_accessTopLayerRenderTarget();
         if (NULL == rt) {
             this->drawGpuOnlyMessage(canvas);
diff --git a/gm/beziers.cpp b/gm/beziers.cpp
index 5ad34fb..3dd8fa7 100755
--- a/gm/beziers.cpp
+++ b/gm/beziers.cpp
@@ -47,15 +47,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("beziers");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(W, H*2);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
         paint.setStyle(SkPaint::kStroke_Style);
         paint.setStrokeWidth(SkIntToScalar(9)/2);
diff --git a/gm/bigblurs.cpp b/gm/bigblurs.cpp
index 39713c5..2f1011b 100644
--- a/gm/bigblurs.cpp
+++ b/gm/bigblurs.cpp
@@ -23,15 +23,15 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("bigblurs");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(kWidth, kHeight);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         static const int kBig = 65536;
         static const SkScalar kSigma = SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(4));
 
diff --git a/gm/bigtext.cpp b/gm/bigtext.cpp
index 4fe77cc..c69d9b9 100644
--- a/gm/bigtext.cpp
+++ b/gm/bigtext.cpp
@@ -20,15 +20,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("bigtext");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(640, 480);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
         paint.setAntiAlias(true);
         sk_tool_utils::set_portable_typeface(&paint);
diff --git a/gm/bitmappremul.cpp b/gm/bitmappremul.cpp
index 975dd67..b87f749 100644
--- a/gm/bitmappremul.cpp
+++ b/gm/bitmappremul.cpp
@@ -109,15 +109,15 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("bitmap_premul");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(SLIDE_SIZE * 2, SLIDE_SIZE * 2);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkScalar slideSize = SkIntToScalar(SLIDE_SIZE);
         canvas->drawBitmap(make_argb8888_gradient(), 0, 0);
         canvas->drawBitmap(make_argb4444_gradient(), slideSize, 0);
diff --git a/gm/bitmaprect.cpp b/gm/bitmaprect.cpp
index 32eb7b1..ca5b26d 100644
--- a/gm/bitmaprect.cpp
+++ b/gm/bitmaprect.cpp
@@ -35,17 +35,17 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         SkString str;
         str.printf("bitmaprect_%s", fUseIRect ? "i" : "s");
         return str;
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(640, 480);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->drawColor(0xFFCCCCCC);
 
         const SkIRect src[] = {
@@ -124,17 +124,17 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         SkString str;
         str.printf("3x3bitmaprect");
         return str;
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(640, 480);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
 
         SkBitmap bitmap;
         make_3x3_bitmap(&bitmap);
@@ -183,21 +183,21 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         SkString str;
         str.printf("bigbitmaprect_%s", fUseIRect ? "i" : "s");
         return str;
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(640, 480);
     }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         make_big_bitmap(&fBigBitmap);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
 
         SkXfermode* mode = SkXfermode::Create(SkXfermode::kXor_Mode);
 
@@ -236,17 +236,17 @@
     BitmapRectRounding() {}
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         SkString str;
         str.printf("bitmaprect_rounding");
         return str;
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(640, 480);
     }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         fBM.allocN32Pixels(10, 10);
         fBM.eraseColor(SK_ColorBLUE);
     }
@@ -256,7 +256,7 @@
     // If it does, we may see a red-line at the bottom, instead of the bitmap exactly matching
     // the clip (in which case we should see all blue).
     // The correct image should be all blue.
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
         paint.setColor(SK_ColorRED);
 
diff --git a/gm/bitmaprecttest.cpp b/gm/bitmaprecttest.cpp
index dba6374..eaa7a3a 100644
--- a/gm/bitmaprecttest.cpp
+++ b/gm/bitmaprecttest.cpp
@@ -56,15 +56,15 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("bitmaprecttest");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(320, 240);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         test_bitmaprect(canvas);
     }
 
diff --git a/gm/bitmapscroll.cpp b/gm/bitmapscroll.cpp
index 9f8aaca..0603c3c 100644
--- a/gm/bitmapscroll.cpp
+++ b/gm/bitmapscroll.cpp
@@ -59,15 +59,15 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("bitmapscroll");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
       return SkISize::Make(800, 600);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         this->init();
         SkIRect scrollCenterRegion = SkIRect::MakeXYWH(
             quarterWidth, quarterHeight, quarterWidth*2+1, quarterHeight*2+1);
diff --git a/gm/bitmapshader.cpp b/gm/bitmapshader.cpp
index ac8bf66..1d866c6 100644
--- a/gm/bitmapshader.cpp
+++ b/gm/bitmapshader.cpp
@@ -43,7 +43,7 @@
 class BitmapShaderGM : public GM {
 
 protected:
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         this->setBGColor(SK_ColorGRAY);
         draw_bm(&fBitmap);
         draw_mask(&fMask);
diff --git a/gm/bitmapsource.cpp b/gm/bitmapsource.cpp
index 1c35a0b..d59524f 100644
--- a/gm/bitmapsource.cpp
+++ b/gm/bitmapsource.cpp
@@ -17,7 +17,7 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("bitmapsource");
     }
 
@@ -34,9 +34,9 @@
         canvas.drawText(str, strlen(str), SkIntToScalar(20), SkIntToScalar(70), paint);
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(500, 150); }
+    SkISize onISize() override { return SkISize::Make(500, 150); }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         this->makeBitmap();
     }
 
@@ -49,7 +49,7 @@
         canvas->restore();
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->clear(0x00000000);
         {
             SkRect srcRect = SkRect::MakeXYWH(20, 20, 30, 30);
diff --git a/gm/bleed.cpp b/gm/bleed.cpp
index 7fd2a15..75cf8ca 100644
--- a/gm/bleed.cpp
+++ b/gm/bleed.cpp
@@ -86,15 +86,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("bleed");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(kWidth, 780);
     }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         make_ringed_bitmap(&fBitmapSmall, kSmallTextureSize, kSmallTextureSize);
 
         // To exercise the GPU's tiling path we need a texture
@@ -173,7 +173,7 @@
         canvas->restore();
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
 
         canvas->clear(SK_ColorGRAY);
 
diff --git a/gm/blurcircles.cpp b/gm/blurcircles.cpp
index ee30200..e4f956f 100644
--- a/gm/blurcircles.cpp
+++ b/gm/blurcircles.cpp
@@ -20,15 +20,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return fName;
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(950, 950);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->scale(1.5f, 1.5f);
         canvas->translate(50,50);
 
diff --git a/gm/blurquickreject.cpp b/gm/blurquickreject.cpp
index c2fee72..11697fc 100644
--- a/gm/blurquickreject.cpp
+++ b/gm/blurquickreject.cpp
@@ -22,15 +22,15 @@
     BlurQuickRejectGM() {}
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("blurquickreject");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(kWidth, kHeight);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         static const SkScalar kBlurRadius = SkIntToScalar(20);
         static const SkScalar kBoxSize = SkIntToScalar(100);
 
diff --git a/gm/blurrect.cpp b/gm/blurrect.cpp
index fb3ee37..e6c6911 100644
--- a/gm/blurrect.cpp
+++ b/gm/blurrect.cpp
@@ -93,7 +93,7 @@
     }
 
 protected:
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         for (int i = 0; i <= kLastEnum_SkBlurStyle; ++i) {
             fMaskFilters[i].reset(SkBlurMaskFilter::Create((SkBlurStyle)i,
                                   SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(STROKE_WIDTH/2)),
@@ -101,15 +101,15 @@
         }
     }
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return fName;
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(860, 820);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->translate(STROKE_WIDTH*3/2, STROKE_WIDTH*3/2);
 
         SkRect  r = { 0, 0, 100, 50 };
@@ -329,7 +329,7 @@
         }
 
 protected:
-    bool makeMask(SkMask *m, const SkRect& r) SK_OVERRIDE {
+    bool makeMask(SkMask *m, const SkRect& r) override {
         return SkBlurMask::BlurRect(SkBlurMask::ConvertRadiusToSigma(this->radius()),
                                     m, r, this->style());
     }
@@ -345,7 +345,7 @@
         }
 
 protected:
-    bool makeMask(SkMask *m, const SkRect& r) SK_OVERRIDE {
+    bool makeMask(SkMask *m, const SkRect& r) override {
         SkMask src;
         r.roundOut(&src.fBounds);
         src.fBounds.offset(-src.fBounds.fLeft, -src.fBounds.fTop);  // move to origin
@@ -376,7 +376,7 @@
         }
 
 protected:
-    SkBlurQuality getQuality() SK_OVERRIDE {
+    SkBlurQuality getQuality() override {
         return kLow_SkBlurQuality;
     }
 private:
@@ -391,7 +391,7 @@
         }
 
 protected:
-    bool makeMask(SkMask *m, const SkRect& r) SK_OVERRIDE {
+    bool makeMask(SkMask *m, const SkRect& r) override {
         SkMask src;
         r.roundOut(&src.fBounds);
         src.fBounds.offset(-src.fBounds.fLeft, -src.fBounds.fTop);  // move to origin
diff --git a/gm/blurroundrect.cpp b/gm/blurroundrect.cpp
index 45a1103..dcb0e97 100644
--- a/gm/blurroundrect.cpp
+++ b/gm/blurroundrect.cpp
@@ -42,16 +42,16 @@
         fRRect.setRectRadii(r, radii);
     }
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return fName;
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(SkScalarCeilToInt(fRRect.rect().width()),
                              SkScalarCeilToInt(fRRect.rect().height()));
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkLayerDrawLooper::Builder looperBuilder;
         {
             SkLayerDrawLooper::LayerInfo info;
@@ -127,15 +127,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return fName;
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(1000, 500);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->scale(1.5f, 1.5f);
         canvas->translate(50,50);
 
diff --git a/gm/blurs.cpp b/gm/blurs.cpp
index 96a9e30..fdf10be 100644
--- a/gm/blurs.cpp
+++ b/gm/blurs.cpp
@@ -17,15 +17,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("blurs");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(700, 500);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkBlurStyle NONE = SkBlurStyle(-999);
         static const struct {
             SkBlurStyle fStyle;
@@ -101,15 +101,15 @@
 //
 class Blur2RectsGM : public skiagm::GM {
 public:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("blur2rects");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(700, 500);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
 
         paint.setMaskFilter(SkBlurMaskFilter::Create(kNormal_SkBlurStyle,
@@ -133,15 +133,15 @@
 
 class Blur2RectsNonNinePatchGM : public skiagm::GM {
 public:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("blur2rectsnonninepatch");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(700, 500);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
         paint.setMaskFilter(SkBlurMaskFilter::Create(kNormal_SkBlurStyle,
                                                      4.3f))->unref();
diff --git a/gm/cgms.cpp b/gm/cgms.cpp
index 4f2c1b1..e3e84b0 100644
--- a/gm/cgms.cpp
+++ b/gm/cgms.cpp
@@ -15,15 +15,15 @@
     C_GM() {}
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("c_gms");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(640, 480);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         sk_test_c_api((sk_canvas_t*)canvas);
     }
 
diff --git a/gm/circles.cpp b/gm/circles.cpp
index c0503fd..a178ba9 100644
--- a/gm/circles.cpp
+++ b/gm/circles.cpp
@@ -26,11 +26,11 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("circles");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(1200, 900);
     }
 
@@ -152,7 +152,7 @@
         }
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         // Draw a giant AA circle as the background.
         SkISize size = this->getISize();
         SkScalar giantRadius = SkTMin(SkIntToScalar(size.fWidth),
diff --git a/gm/circularclips.cpp b/gm/circularclips.cpp
index 614ebb6..4a98de4 100644
--- a/gm/circularclips.cpp
+++ b/gm/circularclips.cpp
@@ -14,7 +14,7 @@
     SkPath   fCircle1, fCircle2;
 
 protected:
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         fX1 = 80;
         fX2 = 120;
         fY = 50;
@@ -25,17 +25,17 @@
     }
 
 
-    bool runAsBench() const SK_OVERRIDE { return true; }
+    bool runAsBench() const override { return true; }
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("circular-clips");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(800, 600);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkRegion::Op ops[] = {
             SkRegion::kDifference_Op,
             SkRegion::kIntersect_Op,
diff --git a/gm/clip_strokerect.cpp b/gm/clip_strokerect.cpp
index a0dc7fd..0175eda 100644
--- a/gm/clip_strokerect.cpp
+++ b/gm/clip_strokerect.cpp
@@ -16,15 +16,15 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("clip_strokerect");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(200, 400);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint p;
         p.setColor(SK_ColorRED);
         p.setAntiAlias(true);
diff --git a/gm/clipdrawdraw.cpp b/gm/clipdrawdraw.cpp
index 3846dc0..11561b2 100644
--- a/gm/clipdrawdraw.cpp
+++ b/gm/clipdrawdraw.cpp
@@ -23,9 +23,9 @@
     ClipDrawDrawGM() { this->setBGColor(0xFFCCCCCC); }
 
 protected:
-    SkString onShortName() SK_OVERRIDE { return SkString("clipdrawdraw"); }
+    SkString onShortName() override { return SkString("clipdrawdraw"); }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(512, 512); }
+    SkISize onISize() override { return SkISize::Make(512, 512); }
 
     static void Draw(SkCanvas* canvas, const SkRect& rect) {
         SkPaint p;
@@ -46,7 +46,7 @@
         canvas->restore();
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         // Vertical remnant
         const SkRect rect1 = SkRect::MakeLTRB(136.5f, 137.5f, 338.5f, 293.5f);
 
diff --git a/gm/cmykjpeg.cpp b/gm/cmykjpeg.cpp
index 75be712..851e9c7 100644
--- a/gm/cmykjpeg.cpp
+++ b/gm/cmykjpeg.cpp
@@ -22,7 +22,7 @@
     CMYKJpegGM() {}
 
 protected:
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         // parameters to the "decode" call
         bool dither = false;
 
@@ -42,15 +42,15 @@
         }
     }
 
-    virtual SkString onShortName() SK_OVERRIDE {
+    virtual SkString onShortName() override {
         return SkString("cmykjpeg");
     }
 
-    virtual SkISize onISize() SK_OVERRIDE {
+    virtual SkISize onISize() override {
         return SkISize::Make(640, 480);
     }
 
-    virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    virtual void onDraw(SkCanvas* canvas) override {
 
         canvas->translate(20*SK_Scalar1, 20*SK_Scalar1);
         canvas->drawBitmap(fBitmap, 0, 0);
diff --git a/gm/coloremoji.cpp b/gm/coloremoji.cpp
index 8276ea8..5a2703b 100644
--- a/gm/coloremoji.cpp
+++ b/gm/coloremoji.cpp
@@ -53,7 +53,7 @@
         SkTypeface* typeface;
         const char* text;
     } emojiFonts[2];
-    virtual void onOnceBeforeDraw() SK_OVERRIDE {
+    virtual void onOnceBeforeDraw() override {
         SkString filename = GetResourcePath("/Funkster.ttf");
         SkAutoTDelete<SkFILEStream> stream(new SkFILEStream(filename.c_str()));
         if (stream->isValid()) {
@@ -74,15 +74,15 @@
                              "\xF0\x9F\x87\xBA" "\xF0\x9F\x87\xB8" "\xF0\x9F\x87\xA6"; // 🇺🇸🇦
     }
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("coloremoji");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(650, 900);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
 
         canvas->drawColor(SK_ColorGRAY);
 
diff --git a/gm/colorfilters.cpp b/gm/colorfilters.cpp
index 2020806..bedb7f6 100644
--- a/gm/colorfilters.cpp
+++ b/gm/colorfilters.cpp
@@ -41,15 +41,15 @@
     }
 
 protected:
-    virtual SkString onShortName() SK_OVERRIDE {
+    virtual SkString onShortName() override {
         return fName;
     }
 
-    virtual SkISize onISize() SK_OVERRIDE {
+    virtual SkISize onISize() override {
         return SkISize::Make(640, 480);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
         SkRect r;
         r.setWH(600, 50);
diff --git a/gm/colortype.cpp b/gm/colortype.cpp
index c75a166..48e39d0 100644
--- a/gm/colortype.cpp
+++ b/gm/colortype.cpp
@@ -40,15 +40,15 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("colortype");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(640, 480);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
         paint.setAntiAlias(true);
         paint.setTypeface(fColorType);
diff --git a/gm/colortypexfermode.cpp b/gm/colortypexfermode.cpp
index 1b6e289..bf86565 100644
--- a/gm/colortypexfermode.cpp
+++ b/gm/colortypexfermode.cpp
@@ -18,7 +18,7 @@
 class ColorTypeXfermodeGM : public GM {
     SkBitmap    fBG;
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         fBG.installPixels(SkImageInfo::Make(2, 2, kARGB_4444_SkColorType,
                                             kOpaque_SkAlphaType), gData, 4);
     }
@@ -54,15 +54,15 @@
     }
 
 protected:
-    virtual SkString onShortName() SK_OVERRIDE {
+    virtual SkString onShortName() override {
         return SkString("colortype_xfermodes");
     }
 
-    virtual SkISize onISize() SK_OVERRIDE {
+    virtual SkISize onISize() override {
         return SkISize::Make(400, 640);
     }
 
-    virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    virtual void onDraw(SkCanvas* canvas) override {
         canvas->translate(SkIntToScalar(10), SkIntToScalar(20));
 
         const struct {
diff --git a/gm/complexclip2.cpp b/gm/complexclip2.cpp
index 361b1c0..dfec4e7 100644
--- a/gm/complexclip2.cpp
+++ b/gm/complexclip2.cpp
@@ -38,7 +38,7 @@
     }
 
 protected:
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         this->setBGColor(SkColorSetRGB(0xDD,0xA0,0xDD));
 
         // offset the rects a bit so we get antialiasing even in the rect case
diff --git a/gm/composeshader.cpp b/gm/composeshader.cpp
index 76ff8ed..8933cf3 100644
--- a/gm/composeshader.cpp
+++ b/gm/composeshader.cpp
@@ -49,15 +49,15 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("composeshader");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(120, 120);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
 
         SkPaint paint;
 
@@ -79,15 +79,15 @@
     ComposeShaderAlphaGM() {}
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("composeshader_alpha");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(220, 750);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkAutoTUnref<SkShader> shader0(make_shader(SkXfermode::kDstIn_Mode));
         SkAutoTUnref<SkShader> shader1(make_shader(SkXfermode::kSrcOver_Mode));
         SkShader* shaders[] = { shader0.get(), shader1.get() };
diff --git a/gm/concavepaths.cpp b/gm/concavepaths.cpp
index bc1b533..46b2ef4 100644
--- a/gm/concavepaths.cpp
+++ b/gm/concavepaths.cpp
@@ -344,15 +344,15 @@
     ConcavePathsGM() {}
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("concavepaths");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(WIDTH, HEIGHT);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
 
         paint.setAntiAlias(true);
diff --git a/gm/conicpaths.cpp b/gm/conicpaths.cpp
index 661f19f..717dd8e 100644
--- a/gm/conicpaths.cpp
+++ b/gm/conicpaths.cpp
@@ -12,15 +12,15 @@
 class ConicPathsGM : public skiagm::GM {
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("conicpaths");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(920, 960);
     }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         {
             const SkScalar w = SkScalarSqrt(2)/2;
             SkPath* conicCirlce = &fPaths.push_back();
@@ -88,7 +88,7 @@
         canvas->drawPath(fGiantCircle, paint);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         const SkAlpha kAlphaValue[] = { 0xFF, 0x40 };
 
         const SkScalar margin = 15;
diff --git a/gm/convexpolyclip.cpp b/gm/convexpolyclip.cpp
index 8d54b00..7e61673 100644
--- a/gm/convexpolyclip.cpp
+++ b/gm/convexpolyclip.cpp
@@ -79,11 +79,11 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("convex_poly_clip");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         // When benchmarking the saveLayer set of draws is skipped.
         int w = 435;
         if (kBench_Mode != this->getMode()) {
@@ -92,7 +92,7 @@
         return SkISize::Make(w, 540);
     }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         SkPath tri;
         tri.moveTo(5.f, 5.f);
         tri.lineTo(100.f, 20.f);
@@ -135,7 +135,7 @@
         fBmp = make_bmp(100, 100);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkScalar y = 0;
         static const SkScalar kMargin = 10.f;
 
@@ -214,7 +214,7 @@
         }
     }
 
-    bool runAsBench() const SK_OVERRIDE { return true; }
+    bool runAsBench() const override { return true; }
 
 private:
     class Clip {
diff --git a/gm/convexpolyeffect.cpp b/gm/convexpolyeffect.cpp
index f3335c9..03f4634 100644
--- a/gm/convexpolyeffect.cpp
+++ b/gm/convexpolyeffect.cpp
@@ -34,7 +34,7 @@
         SkRect fBounds;
     };
 
-    const char* name() const SK_OVERRIDE { return "ConvexPolyTestBatch"; }
+    const char* name() const override { return "ConvexPolyTestBatch"; }
 
     static GrBatch* Create(const GrGeometryProcessor* gp, const Geometry& geo) {
         return SkNEW_ARGS(ConvexPolyTestBatch, (gp, geo));
@@ -46,12 +46,12 @@
         , fGeometry(geo) {
     }
 
-    Geometry* geoData(int index) SK_OVERRIDE {
+    Geometry* geoData(int index) override {
         SkASSERT(0 == index);
         return &fGeometry;
     }
 
-    void onGenerateGeometry(GrBatchTarget* batchTarget, const GrPipeline* pipeline) SK_OVERRIDE {
+    void onGenerateGeometry(GrBatchTarget* batchTarget, const GrPipeline* pipeline) override {
         size_t vertexStride = this->geometryProcessor()->getVertexStride();
 
         const GrVertexBuffer* vertexBuffer;
@@ -104,15 +104,15 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("convex_poly_effect");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(720, 800);
     }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         SkPath tri;
         tri.moveTo(5.f, 5.f);
         tri.lineTo(100.f, 20.f);
@@ -162,7 +162,7 @@
         fRects.addToTail(SkRect::MakeLTRB(100.f, 50.5f, 5.f, 0.5f));
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         GrRenderTarget* rt = canvas->internal_private_accessTopLayerRenderTarget();
         if (NULL == rt) {
             this->drawGpuOnlyMessage(canvas);
diff --git a/gm/dashing.cpp b/gm/dashing.cpp
index ba3ede4..bd906cb 100644
--- a/gm/dashing.cpp
+++ b/gm/dashing.cpp
@@ -403,9 +403,9 @@
 
 protected:
 
-    bool runAsBench() const SK_OVERRIDE { return true; }
+    bool runAsBench() const override { return true; }
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         if (fDoAA) {
             return SkString("dashing5_aa");
         } else {
@@ -413,9 +413,9 @@
         }
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(400, 200); }
+    SkISize onISize() override { return SkISize::Make(400, 200); }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         static const int kOn = 4;
         static const int kOff = 4;
         static const int kIntervalLength = kOn + kOff;
diff --git a/gm/dcshader.cpp b/gm/dcshader.cpp
index 4b8f5ed..bbe035a 100644
--- a/gm/dcshader.cpp
+++ b/gm/dcshader.cpp
@@ -29,16 +29,16 @@
 
     SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(DCShader);
 
-    void flatten(SkWriteBuffer& buf) const SK_OVERRIDE {
+    void flatten(SkWriteBuffer& buf) const override {
         buf.writeMatrix(fDeviceMatrix);
     }
 
     bool asFragmentProcessor(GrContext*, const SkPaint& paint, const SkMatrix& viewM,
                              const SkMatrix* localMatrix, GrColor* color,
-                             GrFragmentProcessor** fp) const SK_OVERRIDE;
+                             GrFragmentProcessor** fp) const override;
 
 #ifndef SK_IGNORE_TO_STRING
-    void toString(SkString* str) const SK_OVERRIDE {
+    void toString(SkString* str) const override {
         str->appendf("DCShader: ()");
     }
 #endif
@@ -61,9 +61,9 @@
     }
 
     void getGLProcessorKey(const GrGLCaps& caps,
-                            GrProcessorKeyBuilder* b) const SK_OVERRIDE {}
+                            GrProcessorKeyBuilder* b) const override {}
 
-    GrGLFragmentProcessor* createGLInstance() const SK_OVERRIDE {
+    GrGLFragmentProcessor* createGLInstance() const override {
         class DCGLFP : public GrGLFragmentProcessor {
             void emitCode(GrGLFPBuilder* builder,
                             const GrFragmentProcessor& fp,
@@ -82,19 +82,19 @@
                                     "%s = color * %s;",
                                     outputColor, GrGLSLExpr4(inputColor).c_str());
             }
-            void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_OVERRIDE {}
+            void setData(const GrGLProgramDataManager&, const GrProcessor&) override {}
         };
         return SkNEW(DCGLFP);
     }
 
-    const char* name() const SK_OVERRIDE { return "DCFP"; }
+    const char* name() const override { return "DCFP"; }
 
-    void onComputeInvariantOutput(GrInvariantOutput* inout) const SK_OVERRIDE {
+    void onComputeInvariantOutput(GrInvariantOutput* inout) const override {
         inout->mulByUnknownFourComponents();
     }
 
 private:
-    bool onIsEqual(const GrFragmentProcessor&) const SK_OVERRIDE { return true; }
+    bool onIsEqual(const GrFragmentProcessor&) const override { return true; }
 
     GrCoordTransform fDeviceTransform;
 };
@@ -113,7 +113,7 @@
         this->setBGColor(0xFFAABBCC);
     }
 
-    ~DCShaderGM() SK_OVERRIDE {
+    ~DCShaderGM() override {
         for (int i = 0; i < fPrims.count(); ++i) {
             SkDELETE(fPrims[i]);
         }
@@ -121,15 +121,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("dcshader");
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(1000, 900); }
+    SkISize onISize() override { return SkISize::Make(1000, 900); }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         struct Rect : public Prim {
-            SkRect draw(SkCanvas* canvas, const SkPaint& paint) SK_OVERRIDE {
+            SkRect draw(SkCanvas* canvas, const SkPaint& paint) override {
                 SkRect rect = SkRect::MakeXYWH(0, 0, 50, 50);
                 canvas->drawRect(rect, paint);
                 return rect;
@@ -137,7 +137,7 @@
         };
 
         struct Circle : public Prim {
-            SkRect draw(SkCanvas* canvas, const SkPaint& paint) SK_OVERRIDE {
+            SkRect draw(SkCanvas* canvas, const SkPaint& paint) override {
                 static const SkScalar radius = 25;
                 canvas->drawCircle(radius, radius, radius, paint);
                 return SkRect::MakeXYWH(0, 0, 2 * radius, 2 * radius);
@@ -145,7 +145,7 @@
         };
 
         struct RRect : public Prim {
-            SkRect draw(SkCanvas* canvas, const SkPaint& paint) SK_OVERRIDE {
+            SkRect draw(SkCanvas* canvas, const SkPaint& paint) override {
                 SkRRect rrect;
                 rrect.setRectXY(SkRect::MakeXYWH(0, 0, 50, 50), 10, 10);
                 canvas->drawRRect(rrect, paint);
@@ -154,7 +154,7 @@
         };
 
         struct DRRect : public Prim {
-            SkRect draw(SkCanvas* canvas, const SkPaint& paint) SK_OVERRIDE {
+            SkRect draw(SkCanvas* canvas, const SkPaint& paint) override {
                 SkRRect outerRRect;
                 outerRRect.setRectXY(SkRect::MakeXYWH(0, 0, 50, 50), 5, 5);
                 SkRRect innerRRect;
@@ -164,7 +164,7 @@
             }
         };
         struct Path : public Prim {
-            SkRect draw(SkCanvas* canvas, const SkPaint& paint) SK_OVERRIDE {
+            SkRect draw(SkCanvas* canvas, const SkPaint& paint) override {
                 SkPath path;
                 path.addCircle(15, 15, 10);
                 path.addOval(SkRect::MakeXYWH(2, 2, 22, 37));
@@ -177,7 +177,7 @@
         struct Points : public Prim {
             Points(SkCanvas::PointMode mode) : fMode(mode) {}
 
-            SkRect draw(SkCanvas* canvas, const SkPaint& paint) SK_OVERRIDE {
+            SkRect draw(SkCanvas* canvas, const SkPaint& paint) override {
                 SkRandom random;
                 SkPoint points[500];
                 SkRect bounds = SkRect::MakeWH(50, 50);
@@ -196,7 +196,7 @@
         };
 
         struct Text : public Prim {
-            SkRect draw(SkCanvas* canvas, const SkPaint& origPaint) SK_OVERRIDE {
+            SkRect draw(SkCanvas* canvas, const SkPaint& origPaint) override {
                 SkPaint paint = origPaint;
                 paint.setTextSize(30.f);
                 this->setFont(&paint);
@@ -217,7 +217,7 @@
         };
 
         struct BmpText : public Text {
-           void setFont(SkPaint* paint) SK_OVERRIDE {
+           void setFont(SkPaint* paint) override {
                if (!fTypeface) {
                     SkString filename = GetResourcePath("/Funkster.ttf");
                     SkAutoTDelete<SkFILEStream> stream(new SkFILEStream(filename.c_str()));
@@ -231,7 +231,7 @@
                paint->setTypeface(fTypeface);
             }
 
-            const char* text() const SK_OVERRIDE { return "Hi, Skia!"; }
+            const char* text() const override { return "Hi, Skia!"; }
 
             SkAutoTUnref<SkTypeface> fTypeface;
         };
@@ -247,7 +247,7 @@
         fPrims.push_back(SkNEW(BmpText));
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         // This GM exists to test a specific feature of the GPU backend. It does not work with the
         // sw rasterizer, tile modes, etc.
         if (NULL == canvas->getGrContext()) {
diff --git a/gm/dftext.cpp b/gm/dftext.cpp
index f3d39e5..314ee71 100755
--- a/gm/dftext.cpp
+++ b/gm/dftext.cpp
@@ -23,7 +23,7 @@
     }
 
 protected:
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         SkString filename = GetResourcePath("/Funkster.ttf");
         SkAutoTDelete<SkFILEStream> stream(new SkFILEStream(filename.c_str()));
         if (!stream->isValid()) {
@@ -34,11 +34,11 @@
         fTypeface = SkTypeface::CreateFromStream(stream.detach());
     }
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("dftext");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(1024, 768);
     }
 
@@ -50,7 +50,7 @@
         canvas->translate(-px, -py);
     }
 
-    virtual void onDraw(SkCanvas* inputCanvas) SK_OVERRIDE {
+    virtual void onDraw(SkCanvas* inputCanvas) override {
 #ifdef SK_BUILD_FOR_ANDROID
         SkScalar textSizes[] = { 9.0f, 9.0f*2.0f, 9.0f*5.0f, 9.0f*2.0f*5.0f };
 #else
diff --git a/gm/discard.cpp b/gm/discard.cpp
index fc271d2..a762288 100644
--- a/gm/discard.cpp
+++ b/gm/discard.cpp
@@ -26,15 +26,15 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("discard");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(100, 100);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         GrContext* context = canvas->getGrContext();
         if (NULL == context) {
             return;
diff --git a/gm/downsamplebitmap.cpp b/gm/downsamplebitmap.cpp
index 9523e06..8decc69 100644
--- a/gm/downsamplebitmap.cpp
+++ b/gm/downsamplebitmap.cpp
@@ -57,11 +57,11 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return fName;
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         make_bitmap_wrapper();
         return SkISize::Make(fBM.width(), 4 * fBM.height());
     }
@@ -75,7 +75,7 @@
 
     virtual void make_bitmap() = 0;
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         make_bitmap_wrapper();
 
         int curY = 0;
@@ -116,7 +116,7 @@
   protected:
       float fTextSize;
 
-      void make_bitmap() SK_OVERRIDE {
+      void make_bitmap() override {
           fBM.allocN32Pixels(int(fTextSize * 8), int(fTextSize * 6));
           SkCanvas canvas(fBM);
           canvas.drawColor(SK_ColorWHITE);
@@ -151,7 +151,7 @@
       int fSize;
       int fNumChecks;
 
-      void make_bitmap() SK_OVERRIDE {
+      void make_bitmap() override {
           make_checker(&fBM, fSize, fNumChecks);
       }
   private:
@@ -170,7 +170,7 @@
       SkString fFilename;
       int fSize;
 
-      void make_bitmap() SK_OVERRIDE {
+      void make_bitmap() override {
           SkImageDecoder* codec = NULL;
           SkString resourcePath = GetResourcePath(fFilename.c_str());
           SkFILEStream stream(resourcePath.c_str());
@@ -208,15 +208,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("showmiplevels");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(fBM.width() + 8, 2 * fBM.height() + 80);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkScalar x = 4;
         SkScalar y = 4;
         canvas->drawBitmap(fBM, x, y, NULL);
diff --git a/gm/drawbitmaprect.cpp b/gm/drawbitmaprect.cpp
index 84766a9..715f45b 100644
--- a/gm/drawbitmaprect.cpp
+++ b/gm/drawbitmaprect.cpp
@@ -141,15 +141,15 @@
     SkString              fName;
 
 protected:
-    SkString onShortName() SK_OVERRIDE { return fName; }
+    SkString onShortName() override { return fName; }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(gSize, gSize); }
+    SkISize onISize() override { return SkISize::Make(gSize, gSize); }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         fImage.reset(makebm(&fLargeBitmap, gBmpSize, gBmpSize));
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkRect dstRect = { 0, 0, SkIntToScalar(64), SkIntToScalar(64)};
         static const int kMaxSrcRectSize = 1 << (SkNextLog2(gBmpSize) + 2);
 
diff --git a/gm/drawfilter.cpp b/gm/drawfilter.cpp
index 85bec15..40323c9 100644
--- a/gm/drawfilter.cpp
+++ b/gm/drawfilter.cpp
@@ -21,7 +21,7 @@
 
 class TestFilter : public SkDrawFilter {
 public:
-    bool filter(SkPaint* p, Type) SK_OVERRIDE {
+    bool filter(SkPaint* p, Type) override {
         p->setColor(SK_ColorRED);
         p->setMaskFilter(NULL);
         return true;
@@ -32,21 +32,21 @@
     SkAutoTUnref<SkMaskFilter> fBlur;
 
 protected:
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(320, 240);
     }
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("drawfilter");
     }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         fBlur.reset(SkBlurMaskFilter::Create(kNormal_SkBlurStyle,
                     SkBlurMask::ConvertRadiusToSigma(10.0f),
                     kLow_SkBlurQuality));
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint p;
         p.setColor(SK_ColorBLUE);
         p.setMaskFilter(fBlur.get());
diff --git a/gm/drawlooper.cpp b/gm/drawlooper.cpp
index 56b4125..5fcdc30 100644
--- a/gm/drawlooper.cpp
+++ b/gm/drawlooper.cpp
@@ -27,15 +27,15 @@
     }
 
 protected:
-    virtual SkISize onISize() SK_OVERRIDE {
+    virtual SkISize onISize() override {
         return SkISize::Make(520, 160);
     }
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("drawlooper");
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         this->init();
 
         SkPaint  paint;
diff --git a/gm/drrect.cpp b/gm/drrect.cpp
index fd5a936..e3d3e6e 100644
--- a/gm/drrect.cpp
+++ b/gm/drrect.cpp
@@ -16,15 +16,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("drrect");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(640, 480);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
         paint.setAntiAlias(true);
 
diff --git a/gm/dstreadshuffle.cpp b/gm/dstreadshuffle.cpp
index b98b10e..5a77685 100644
--- a/gm/dstreadshuffle.cpp
+++ b/gm/dstreadshuffle.cpp
@@ -33,11 +33,11 @@
         kNumShapeTypes
     };
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("dstreadshuffle");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(kWidth, kHeight);
     }
 
@@ -133,7 +133,7 @@
         }
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkRandom random;
         SkScalar y = 100;
         for (int i = 0; i < kNumShapeTypes; i++) {
diff --git a/gm/emboss.cpp b/gm/emboss.cpp
index a72e64d..d3a8937 100644
--- a/gm/emboss.cpp
+++ b/gm/emboss.cpp
@@ -29,15 +29,15 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("emboss");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(600, 120);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
         SkBitmap bm = make_bm();
         canvas->drawBitmap(bm, 10, 10, &paint);
diff --git a/gm/etc1bitmap.cpp b/gm/etc1bitmap.cpp
index e93ed1d..c66f7b2 100644
--- a/gm/etc1bitmap.cpp
+++ b/gm/etc1bitmap.cpp
@@ -81,19 +81,19 @@
     virtual ~ETC1BitmapGM() { }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         SkString str = SkString("etc1bitmap_");
         str.append(this->fileExtension());
         return str;
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(128, 128);
     }
 
     virtual SkString fileExtension() const = 0;
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkBitmap bm;
         SkString filename = GetResourcePath("mandrill_128.");
         filename.append(this->fileExtension());
@@ -123,7 +123,7 @@
 
 protected:
 
-    SkString fileExtension() const SK_OVERRIDE { return SkString("pkm"); }
+    SkString fileExtension() const override { return SkString("pkm"); }
 
 private:
     typedef ETC1BitmapGM INHERITED;
@@ -137,7 +137,7 @@
 
 protected:
 
-    SkString fileExtension() const SK_OVERRIDE { return SkString("ktx"); }
+    SkString fileExtension() const override { return SkString("ktx"); }
 
 private:
     typedef ETC1BitmapGM INHERITED;
@@ -151,7 +151,7 @@
 
 protected:
 
-    SkString fileExtension() const SK_OVERRIDE { return SkString("r11.ktx"); }
+    SkString fileExtension() const override { return SkString("r11.ktx"); }
 
 private:
     typedef ETC1BitmapGM INHERITED;
@@ -170,15 +170,15 @@
     virtual ~ETC1Bitmap_NPOT_GM() { }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("etc1bitmap_npot");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(124, 124);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkBitmap bm;
         SkString pkmFilename = GetResourcePath("mandrill_128.pkm");
         SkAutoDataUnref fileData(SkData::NewFromFileName(pkmFilename.c_str()));
diff --git a/gm/extractbitmap.cpp b/gm/extractbitmap.cpp
index c324483..1b9f018 100644
--- a/gm/extractbitmap.cpp
+++ b/gm/extractbitmap.cpp
@@ -32,15 +32,15 @@
 
 protected:
     // overrides from SkEventSink
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("extractbitmap");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(600, 600);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkBitmap bitmap;
         create_bitmap(&bitmap);
         int x = bitmap.width() / 2;
diff --git a/gm/factory.cpp b/gm/factory.cpp
index 08701d3..519b8ea 100644
--- a/gm/factory.cpp
+++ b/gm/factory.cpp
@@ -27,7 +27,7 @@
     FactoryGM() {}
 
 protected:
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         // Copyright-free file from http://openclipart.org/detail/29213/paper-plane-by-ddoo
         SkString pngFilename = GetResourcePath("plane.png");
         SkAutoDataUnref data(SkData::NewFromFileName(pngFilename.c_str()));
@@ -41,15 +41,15 @@
         }
     }
 
-    virtual SkString onShortName() SK_OVERRIDE {
+    virtual SkString onShortName() override {
         return SkString("factory");
     }
 
-    virtual SkISize onISize() SK_OVERRIDE {
+    virtual SkISize onISize() override {
         return SkISize::Make(640, 480);
     }
 
-    virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    virtual void onDraw(SkCanvas* canvas) override {
         canvas->drawBitmap(fBitmap, 0, 0);
     }
 
diff --git a/gm/filltypes.cpp b/gm/filltypes.cpp
index 19249b2..4ba3aeb 100644
--- a/gm/filltypes.cpp
+++ b/gm/filltypes.cpp
@@ -26,11 +26,11 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("filltypes");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(835, 840);
     }
 
@@ -61,7 +61,7 @@
                  scale, paint);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         this->makePath();
 
         canvas->translate(SkIntToScalar(20), SkIntToScalar(20));
diff --git a/gm/filltypespersp.cpp b/gm/filltypespersp.cpp
index c76a0fa..92fce3a 100644
--- a/gm/filltypespersp.cpp
+++ b/gm/filltypespersp.cpp
@@ -25,11 +25,11 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("filltypespersp");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(835, 840);
     }
 
@@ -73,7 +73,7 @@
                  scale, paint);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         this->makePath();
 
         // do perspective drawPaint as the background;
diff --git a/gm/filterbitmap.cpp b/gm/filterbitmap.cpp
index c76a70a..7d7c40f 100644
--- a/gm/filterbitmap.cpp
+++ b/gm/filterbitmap.cpp
@@ -43,7 +43,7 @@
 }
 
 class FilterBitmapGM : public skiagm::GM {
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
 
         this->makeBitmap();
 
@@ -71,18 +71,18 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return fName;
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(1024, 768);
     }
 
     virtual void makeBitmap() = 0;
     virtual SkScalar getScale() = 0;
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
 
         canvas->translate(10, 10);
         for (size_t i = 0; i < SK_ARRAY_COUNT(fMatrix); ++i) {
@@ -110,11 +110,11 @@
   protected:
       float fTextSize;
 
-      SkScalar getScale() SK_OVERRIDE {
+      SkScalar getScale() override {
           return 32.f/fTextSize;
       }
 
-      void makeBitmap() SK_OVERRIDE {
+      void makeBitmap() override {
           fBM.allocN32Pixels(int(fTextSize * 8), int(fTextSize * 6));
           SkCanvas canvas(fBM);
           canvas.drawColor(SK_ColorWHITE);
@@ -150,11 +150,11 @@
       int fSize;
       int fNumChecks;
 
-      SkScalar getScale() SK_OVERRIDE {
+      SkScalar getScale() override {
           return 192.f/fSize;
       }
 
-      void makeBitmap() SK_OVERRIDE {
+      void makeBitmap() override {
           fBM.allocN32Pixels(fSize, fSize);
           for (int y = 0; y < fSize; y ++) {
               for (int x = 0; x < fSize; x ++) {
@@ -191,11 +191,11 @@
       SkString fFilename;
       int fSize;
 
-      SkScalar getScale() SK_OVERRIDE {
+      SkScalar getScale() override {
           return 192.f/fSize;
       }
 
-      void makeBitmap() SK_OVERRIDE {
+      void makeBitmap() override {
           SkImageDecoder* codec = NULL;
           SkString resourcePath = GetResourcePath(fFilename.c_str());
           SkFILEStream stream(resourcePath.c_str());
diff --git a/gm/filterfastbounds.cpp b/gm/filterfastbounds.cpp
index d0fed52..5ff398e 100644
--- a/gm/filterfastbounds.cpp
+++ b/gm/filterfastbounds.cpp
@@ -159,9 +159,9 @@
     static const int kNumVertTiles = 6;
     static const int kNumXtraCols = 2;
 
-    SkString onShortName() SK_OVERRIDE{ return SkString("filterfastbounds"); }
+    SkString onShortName() override{ return SkString("filterfastbounds"); }
 
-    SkISize onISize() SK_OVERRIDE{
+    SkISize onISize() override{
         return SkISize::Make((SK_ARRAY_COUNT(gDrawMthds) + kNumXtraCols) * kTileWidth,
                              kNumVertTiles * kTileHeight);
     }
@@ -224,7 +224,7 @@
         canvas->restore();
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE{
+    void onDraw(SkCanvas* canvas) override{
 
         SkPaint blackFill;
 
diff --git a/gm/filterindiabox.cpp b/gm/filterindiabox.cpp
index 2c39a10..d2fc30b 100644
--- a/gm/filterindiabox.cpp
+++ b/gm/filterindiabox.cpp
@@ -43,7 +43,7 @@
 }
 
 class FilterIndiaBoxGM : public skiagm::GM {
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         this->makeBitmap();
 
         SkScalar cx = SkScalarHalf(fBM.width());
@@ -70,15 +70,15 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return fName;
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(1024, 768);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->translate(10, 10);
         for (size_t i = 0; i < SK_ARRAY_COUNT(fMatrix); ++i) {
             SkSize size = computeSize(fBM, fMatrix[i]);
diff --git a/gm/fontcache.cpp b/gm/fontcache.cpp
index 0f5080e..5f1141e 100644
--- a/gm/fontcache.cpp
+++ b/gm/fontcache.cpp
@@ -31,20 +31,20 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("fontcache");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(1280, 640);
     }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         fTypefaces[0] = sk_tool_utils::create_portable_typeface("serif", SkTypeface::kItalic);
         fTypefaces[1] = sk_tool_utils::create_portable_typeface("sans-serif", SkTypeface::kItalic);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
         paint.setAntiAlias(true);
         paint.setLCDRenderText(true);
diff --git a/gm/fontmgr.cpp b/gm/fontmgr.cpp
index e89e585..5ef5c6d 100644
--- a/gm/fontmgr.cpp
+++ b/gm/fontmgr.cpp
@@ -68,15 +68,15 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return fName;
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(1536, 768);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkScalar y = 20;
         SkPaint paint;
         paint.setAntiAlias(true);
@@ -130,11 +130,11 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("fontmgr_match");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(640, 1024);
     }
 
@@ -176,7 +176,7 @@
         }
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
         paint.setAntiAlias(true);
         paint.setLCDRenderText(true);
@@ -237,15 +237,15 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return fName;
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(1024, 850);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
         paint.setAntiAlias(true);
         paint.setSubpixelText(true);
diff --git a/gm/fontscaler.cpp b/gm/fontscaler.cpp
index 3fefd56..c3b2c87 100644
--- a/gm/fontscaler.cpp
+++ b/gm/fontscaler.cpp
@@ -20,11 +20,11 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("fontscaler");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(1450, 750);
     }
 
@@ -36,7 +36,7 @@
         canvas->translate(-px, -py);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
 
         paint.setAntiAlias(true);
diff --git a/gm/gammatext.cpp b/gm/gammatext.cpp
index 036d043..ed8c829 100644
--- a/gm/gammatext.cpp
+++ b/gm/gammatext.cpp
@@ -39,11 +39,11 @@
 
 class GammaTextGM : public skiagm::GM {
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("gammatext");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(1024, HEIGHT);
     }
 
@@ -58,7 +58,7 @@
         canvas->drawRect(r, paint);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         drawGrad(canvas);
 
         const SkColor fg[] = {
@@ -137,28 +137,28 @@
         }
     }
 
-    ~GammaShaderTextGM() SK_OVERRIDE {
+    ~GammaShaderTextGM() override {
         for (size_t i = 0; i < SK_ARRAY_COUNT(fShaders); ++i) {
             SkSafeUnref(fShaders[i]);
         }
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("gammagradienttext");
     }
     
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(300, 300);
     }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         for (size_t i = 0; i < SK_ARRAY_COUNT(fShaders); ++i) {
             fShaders[i] = make_gradient(fColors[i]);
         }
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
         paint.setAntiAlias(true);
         paint.setLCDRenderText(true);
diff --git a/gm/getpostextpath.cpp b/gm/getpostextpath.cpp
index db50969..2286602 100644
--- a/gm/getpostextpath.cpp
+++ b/gm/getpostextpath.cpp
@@ -17,11 +17,11 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("getpostextpath");
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(480, 780); }
+    SkISize onISize() override { return SkISize::Make(480, 780); }
 
     static void strokePath(SkCanvas* canvas, const SkPath& path) {
         SkPaint paint;
@@ -31,7 +31,7 @@
         canvas->drawPath(path, paint);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         // explicitly add spaces, to test a prev. bug
         const char* text = "Ham bur ge fons";
         int len = SkToInt(strlen(text));
diff --git a/gm/giantbitmap.cpp b/gm/giantbitmap.cpp
index bb9a655..2ee3797 100644
--- a/gm/giantbitmap.cpp
+++ b/gm/giantbitmap.cpp
@@ -72,7 +72,7 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         SkString str("giantbitmap_");
         switch (fMode) {
             case SkShader::kClamp_TileMode:
@@ -92,9 +92,9 @@
         return str;
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(640, 480); }
+    SkISize onISize() override { return SkISize::Make(640, 480); }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
 
         SkMatrix m;
diff --git a/gm/glyph_pos.cpp b/gm/glyph_pos.cpp
index 3f1ea35..0da59ac 100644
--- a/gm/glyph_pos.cpp
+++ b/gm/glyph_pos.cpp
@@ -28,7 +28,7 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         SkString str("glyph_pos");
         if (fStrokeWidth == 0.0f) {
             str.append("_h"); // h == Hairline.
@@ -45,9 +45,9 @@
         return str;
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(800, 600); }
+    SkISize onISize() override { return SkISize::Make(800, 600); }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         if (!fProp) {
             fProp.reset(sk_tool_utils::create_portable_typeface("Helvetica", SkTypeface::kNormal));
         }
diff --git a/gm/glyph_pos_align.cpp b/gm/glyph_pos_align.cpp
index 0314760..e852804 100644
--- a/gm/glyph_pos_align.cpp
+++ b/gm/glyph_pos_align.cpp
@@ -22,13 +22,13 @@
 class GlyphPosAlignGM : public GM {
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("glyph_pos_align");
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(kWidth, kHeight); }
+    SkISize onISize() override { return SkISize::Make(kWidth, kHeight); }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->clear(SK_ColorBLACK);
 
         SkPaint paint;
diff --git a/gm/gm.h b/gm/gm.h
index e263528..87ad927 100644
--- a/gm/gm.h
+++ b/gm/gm.h
@@ -126,9 +126,9 @@
                  const SkISize& size)
             : fName(name), fDrawProc(drawProc), fSize(size) {}
     protected:
-        void onDraw(SkCanvas* canvas) SK_OVERRIDE;
-        SkISize onISize() SK_OVERRIDE;
-        SkString onShortName() SK_OVERRIDE;
+        void onDraw(SkCanvas* canvas) override;
+        SkISize onISize() override;
+        SkString onShortName() override;
     private:
         SkString fName;
         void (*fDrawProc)(SkCanvas*);
diff --git a/gm/gm_expectations.h b/gm/gm_expectations.h
index 1cd6a1f..89ba385 100644
--- a/gm/gm_expectations.h
+++ b/gm/gm_expectations.h
@@ -193,7 +193,7 @@
          */
         explicit IndividualImageExpectationsSource(const char *rootDir) : fRootDir(rootDir) {}
 
-        Expectations get(const char *testName) const SK_OVERRIDE ;
+        Expectations get(const char *testName) const override ;
 
     private:
         const SkString fRootDir;
@@ -212,7 +212,7 @@
          */
         explicit JsonExpectationsSource(const char *jsonPath);
 
-        Expectations get(const char *testName) const SK_OVERRIDE;
+        Expectations get(const char *testName) const override;
 
     private:
 
diff --git a/gm/gradientDirtyLaundry.cpp b/gm/gradientDirtyLaundry.cpp
index 8c27b8f..ed5ad51 100644
--- a/gm/gradientDirtyLaundry.cpp
+++ b/gm/gradientDirtyLaundry.cpp
@@ -70,10 +70,10 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE { return SkString("gradient_dirty_laundry"); }
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(640, 615); }
+    SkString onShortName() override { return SkString("gradient_dirty_laundry"); }
+    SkISize onISize() override { return SkISize::Make(640, 615); }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPoint pts[2] = { { 0, 0 },
                            { SkIntToScalar(100), SkIntToScalar(100) }
         };
diff --git a/gm/gradient_matrix.cpp b/gm/gradient_matrix.cpp
index daeea37..77a0247 100644
--- a/gm/gradient_matrix.cpp
+++ b/gm/gradient_matrix.cpp
@@ -121,15 +121,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("gradient_matrix");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(800, 800);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         draw_gradients(canvas, &make_linear_gradient,
                       linearPts, SK_ARRAY_COUNT(linearPts));
 
diff --git a/gm/gradients.cpp b/gm/gradients.cpp
index 43f8c94..9b416fa 100644
--- a/gm/gradients.cpp
+++ b/gm/gradients.cpp
@@ -329,12 +329,12 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE { return SkString("radial_gradient"); }
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(1280, 1280); }
+    SkString onShortName() override { return SkString("radial_gradient"); }
+    SkISize onISize() override { return SkISize::Make(1280, 1280); }
     void drawBG(SkCanvas* canvas) {
         canvas->drawColor(0xFF000000);
     }
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         const SkISize dim = this->getISize();
 
         this->drawBG(canvas);
@@ -369,14 +369,14 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE { return SkString("radial_gradient2"); }
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(800, 400); }
+    SkString onShortName() override { return SkString("radial_gradient2"); }
+    SkISize onISize() override { return SkISize::Make(800, 400); }
     void drawBG(SkCanvas* canvas) {
         canvas->drawColor(0xFF000000);
     }
 
     // Reproduces the example given in bug 7671058.
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint1, paint2, paint3;
         paint1.setStyle(SkPaint::kFill_Style);
         paint2.setStyle(SkPaint::kFill_Style);
diff --git a/gm/gradients_no_texture.cpp b/gm/gradients_no_texture.cpp
index c180209..8b97b25 100644
--- a/gm/gradients_no_texture.cpp
+++ b/gm/gradients_no_texture.cpp
@@ -86,10 +86,10 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE { return SkString("gradients_no_texture"); }
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(640, 615); }
+    SkString onShortName() override { return SkString("gradients_no_texture"); }
+    SkISize onISize() override { return SkISize::Make(640, 615); }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         static const SkPoint kPts[2] = { { 0, 0 },
                                          { SkIntToScalar(50), SkIntToScalar(50) } };
         static const SkShader::TileMode kTM = SkShader::kClamp_TileMode;
@@ -209,10 +209,10 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE { return SkString("gradients_many"); }
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(850, 100); }
+    SkString onShortName() override { return SkString("gradients_many"); }
+    SkISize onISize() override { return SkISize::Make(850, 100); }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         const Proc procs[] = {
             make0, make1, make2,
         };
diff --git a/gm/gradtext.cpp b/gm/gradtext.cpp
index 87c3b38..eeaff56 100644
--- a/gm/gradtext.cpp
+++ b/gm/gradtext.cpp
@@ -102,11 +102,11 @@
     GradTextGM () {}
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("gradtext");
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(500, 480); }
+    SkISize onISize() override { return SkISize::Make(500, 480); }
 
     static void draw_text(SkCanvas* canvas, const SkPaint& paint) {
         const char* text = "When in the course of human events";
@@ -127,7 +127,7 @@
         draw_text(canvas, p);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
         sk_tool_utils::set_portable_typeface(&paint);
         paint.setTextSize(SkIntToScalar(26));
diff --git a/gm/hairlines.cpp b/gm/hairlines.cpp
index 8b0510c..e7e47c1 100644
--- a/gm/hairlines.cpp
+++ b/gm/hairlines.cpp
@@ -15,13 +15,13 @@
 protected:
 
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("hairlines");
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(1250, 1250); }
+    SkISize onISize() override { return SkISize::Make(1250, 1250); }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         {
             SkPath* lineAnglesPath = &fPaths.push_back();
             enum {
@@ -161,7 +161,7 @@
         }
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         static const SkAlpha kAlphaValue[] = { 0xFF, 0x40 };
         static const SkScalar kWidths[] = { 0, 0.5f, 1.5f };
 
diff --git a/gm/hairmodes.cpp b/gm/hairmodes.cpp
index aa1af03..06ae7ed 100644
--- a/gm/hairmodes.cpp
+++ b/gm/hairmodes.cpp
@@ -78,17 +78,17 @@
         SkPaint fBGPaint;
 
     protected:
-        SkString onShortName() SK_OVERRIDE {
+        SkString onShortName() override {
             return SkString("hairmodes");
         }
 
-        virtual SkISize onISize() SK_OVERRIDE { return SkISize::Make(640, 480); }
+        virtual SkISize onISize() override { return SkISize::Make(640, 480); }
 
-        void onOnceBeforeDraw() SK_OVERRIDE {
+        void onOnceBeforeDraw() override {
             fBGPaint.setShader(make_bg_shader())->unref();
         }
 
-        void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+        void onDraw(SkCanvas* canvas) override {
             const SkRect bounds = SkRect::MakeWH(W, H);
             static const SkAlpha gAlphaValue[] = { 0xFF, 0x88, 0x88 };
 
diff --git a/gm/hittestpath.cpp b/gm/hittestpath.cpp
index 11fe834..42e3671 100644
--- a/gm/hittestpath.cpp
+++ b/gm/hittestpath.cpp
@@ -35,13 +35,13 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("hittestpath");
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(700, 460); }
+    SkISize onISize() override { return SkISize::Make(700, 460); }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPath path;
         SkRandom rand;
 
diff --git a/gm/image.cpp b/gm/image.cpp
index ca28dd1..c420c95 100644
--- a/gm/image.cpp
+++ b/gm/image.cpp
@@ -122,15 +122,15 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("image-surface");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(960, 1200);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         drawJpeg(canvas, this->getISize());
 
         canvas->scale(2, 2);
@@ -202,9 +202,9 @@
     ImageResizeGM() {}
 
 protected:
-    SkString onShortName() SK_OVERRIDE { return SkString("image-resize"); }
+    SkString onShortName() override { return SkString("image-resize"); }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(510, 480); }
+    SkISize onISize() override { return SkISize::Make(510, 480); }
 
     void drawIntoImage(SkCanvas* canvas) {
         SkPaint paint;
@@ -260,7 +260,7 @@
         this->drawResized(canvas, image, W, H, &subset, fq);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->translate(10, 10);
 
         SkAutoTUnref<SkImage> image(this->makeImage(canvas));
diff --git a/gm/imagealphathreshold.cpp b/gm/imagealphathreshold.cpp
index a6b00e4..a418f0f 100644
--- a/gm/imagealphathreshold.cpp
+++ b/gm/imagealphathreshold.cpp
@@ -22,15 +22,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("imagealphathreshold");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(WIDTH, HEIGHT);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkIRect rects[2];
         rects[0] = SkIRect::MakeXYWH(0, 150, WIDTH, HEIGHT - 300);
         rects[1] = SkIRect::MakeXYWH(150, 0, WIDTH - 300, HEIGHT);
diff --git a/gm/imageblur.cpp b/gm/imageblur.cpp
index e424fbf..c7139b4 100644
--- a/gm/imageblur.cpp
+++ b/gm/imageblur.cpp
@@ -24,15 +24,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return fName;
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(WIDTH, HEIGHT);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
         paint.setImageFilter(SkBlurImageFilter::Create(fSigmaX, fSigmaY))->unref();
         canvas->saveLayer(NULL, &paint);
diff --git a/gm/imageblur2.cpp b/gm/imageblur2.cpp
index 978be7a..480f093 100644
--- a/gm/imageblur2.cpp
+++ b/gm/imageblur2.cpp
@@ -37,15 +37,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return fName;
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(WIDTH, HEIGHT);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         const int sigmaCount = SK_ARRAY_COUNT(kBlurSigmas);
         const int testStringCount = SK_ARRAY_COUNT(kTestStrings);
         SkScalar dx = WIDTH / sigmaCount;
diff --git a/gm/imagefiltersbase.cpp b/gm/imagefiltersbase.cpp
index b21f83d..6e8ac29 100644
--- a/gm/imagefiltersbase.cpp
+++ b/gm/imagefiltersbase.cpp
@@ -37,7 +37,7 @@
     FailImageFilter() : INHERITED(0, NULL) {}
 
     bool onFilterImage(Proxy*, const SkBitmap& src, const Context&,
-                       SkBitmap* result, SkIPoint* offset) const SK_OVERRIDE {
+                       SkBitmap* result, SkIPoint* offset) const override {
         return false;
     }
 
@@ -79,7 +79,7 @@
     IdentityImageFilter(SkImageFilter* input) : INHERITED(1, &input) {}
 
     bool onFilterImage(Proxy*, const SkBitmap& src, const Context&,
-                       SkBitmap* result, SkIPoint* offset) const SK_OVERRIDE {
+                       SkBitmap* result, SkIPoint* offset) const override {
         *result = src;
         offset->set(0, 0);
         return true;
@@ -194,11 +194,11 @@
     ImageFiltersBaseGM () {}
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("imagefiltersbase");
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(700, 500); }
+    SkISize onISize() override { return SkISize::Make(700, 500); }
 
     void draw_frame(SkCanvas* canvas, const SkRect& r) {
         SkPaint paint;
@@ -207,7 +207,7 @@
         canvas->drawRect(r, paint);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         void (*drawProc[])(SkCanvas*, const SkRect&, SkImageFilter*) = {
             draw_paint,
             draw_line, draw_rect, draw_path, draw_text,
@@ -268,13 +268,13 @@
     ImageFiltersTextBaseGM(const char suffix[]) : fSuffix(suffix) {}
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         SkString name;
         name.printf("%s_%s", "textfilter", fSuffix.c_str());
         return name;
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(512, 342); }
+    SkISize onISize() override { return SkISize::Make(512, 342); }
 
     void drawWaterfall(SkCanvas* canvas, const SkPaint& origPaint) {
         const uint32_t flags[] = {
@@ -295,7 +295,7 @@
 
     virtual void installFilter(SkPaint* paint) = 0;
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
 
         canvas->translate(20, 40);
@@ -331,7 +331,7 @@
 public:
     ImageFiltersText_IF() : ImageFiltersTextBaseGM("image") {}
 
-    void installFilter(SkPaint* paint) SK_OVERRIDE {
+    void installFilter(SkPaint* paint) override {
         paint->setImageFilter(SkBlurImageFilter::Create(1.5f, 1.5f))->unref();
     }
 };
@@ -341,7 +341,7 @@
 public:
     ImageFiltersText_CF() : ImageFiltersTextBaseGM("color") {}
 
-    void installFilter(SkPaint* paint) SK_OVERRIDE {
+    void installFilter(SkPaint* paint) override {
         paint->setColorFilter(SkColorFilter::CreateModeFilter(SK_ColorBLUE, SkXfermode::kSrcIn_Mode))->unref();
     }
 };
diff --git a/gm/imagefiltersclipped.cpp b/gm/imagefiltersclipped.cpp
index 9b91929..44510fb 100644
--- a/gm/imagefiltersclipped.cpp
+++ b/gm/imagefiltersclipped.cpp
@@ -32,11 +32,11 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("imagefiltersclipped");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(860, 500);
     }
 
@@ -59,7 +59,7 @@
         canvas.drawCircle(x, y, radius, paint);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         if (!fInitialized) {
             fCheckerboard.allocN32Pixels(64, 64);
             SkCanvas checkerboardCanvas(fCheckerboard);
diff --git a/gm/imagefilterscropped.cpp b/gm/imagefilterscropped.cpp
index 3db0b12..929f2fe 100644
--- a/gm/imagefilterscropped.cpp
+++ b/gm/imagefilterscropped.cpp
@@ -96,11 +96,11 @@
     ImageFiltersCroppedGM () {}
 
 protected:
-    virtual SkString onShortName() SK_OVERRIDE {
+    virtual SkString onShortName() override {
         return SkString("imagefilterscropped");
     }
 
-    virtual SkISize onISize() SK_OVERRIDE { return SkISize::Make(400, 880); }
+    virtual SkISize onISize() override { return SkISize::Make(400, 880); }
 
     void make_checkerboard() {
         fCheckerboard.allocN32Pixels(80, 80);
@@ -130,11 +130,11 @@
         canvas->drawRect(r, paint);
     }
 
-    virtual void onOnceBeforeDraw() SK_OVERRIDE{
+    virtual void onOnceBeforeDraw() override{
         make_checkerboard();
     }
 
-    virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    virtual void onDraw(SkCanvas* canvas) override {
         void (*drawProc[])(SkCanvas*, const SkRect&, SkImageFilter*) = {
             draw_sprite, draw_bitmap, draw_path, draw_paint, draw_text
         };
diff --git a/gm/imagefiltersgraph.cpp b/gm/imagefiltersgraph.cpp
index 4fa59a8..0511819 100644
--- a/gm/imagefiltersgraph.cpp
+++ b/gm/imagefiltersgraph.cpp
@@ -38,7 +38,7 @@
     }
 
     virtual bool onFilterImage(Proxy* proxy, const SkBitmap& src, const Context& ctx,
-                               SkBitmap* dst, SkIPoint* offset) const SK_OVERRIDE {
+                               SkBitmap* dst, SkIPoint* offset) const override {
         SkBitmap source = src;
         SkImageFilter* input = getInput(0);
         SkIPoint srcOffset = SkIPoint::Make(0, 0);
@@ -66,7 +66,7 @@
     SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SimpleOffsetFilter);
 
 protected:
-    void flatten(SkWriteBuffer& buffer) const SK_OVERRIDE {
+    void flatten(SkWriteBuffer& buffer) const override {
         this->INHERITED::flatten(buffer);
         buffer.writeScalar(fDX);
         buffer.writeScalar(fDY);
diff --git a/gm/imagefilterstransformed.cpp b/gm/imagefilterstransformed.cpp
index 3bac0e5..794a471 100644
--- a/gm/imagefilterstransformed.cpp
+++ b/gm/imagefilterstransformed.cpp
@@ -30,9 +30,9 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE { return SkString("imagefilterstransformed"); }
+    SkString onShortName() override { return SkString("imagefilterstransformed"); }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(420, 240); }
+    SkISize onISize() override { return SkISize::Make(420, 240); }
 
     void makeGradientCircle(int width, int height) {
         SkScalar x = SkIntToScalar(width / 2);
@@ -53,7 +53,7 @@
         canvas.drawCircle(x, y, radius, paint);
     }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         fCheckerboard.allocN32Pixels(64, 64);
         SkCanvas checkerboardCanvas(fCheckerboard);
         sk_tool_utils::draw_checkerboard(&checkerboardCanvas, 0xFFA0A0A0, 0xFF404040, 8);
@@ -61,7 +61,7 @@
         this->makeGradientCircle(64, 64);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkAutoTUnref<SkImageFilter> gradient(SkBitmapSource::Create(fGradientCircle));
         SkAutoTUnref<SkImageFilter> checkerboard(SkBitmapSource::Create(fCheckerboard));
         SkImageFilter* filters[] = {
diff --git a/gm/imagemagnifier.cpp b/gm/imagemagnifier.cpp
index 30be060..5e48350 100644
--- a/gm/imagemagnifier.cpp
+++ b/gm/imagemagnifier.cpp
@@ -22,15 +22,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("imagemagnifier");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(WIDTH, HEIGHT);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint filterPaint;
         filterPaint.setImageFilter(
             SkMagnifierImageFilter::Create(
diff --git a/gm/imageresizetiled.cpp b/gm/imageresizetiled.cpp
index 4899d35..bc640bc 100644
--- a/gm/imageresizetiled.cpp
+++ b/gm/imageresizetiled.cpp
@@ -23,15 +23,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("imageresizetiled");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(WIDTH, HEIGHT);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
         SkMatrix matrix;
         matrix.setScale(RESIZE_FACTOR, RESIZE_FACTOR);
diff --git a/gm/inversepaths.cpp b/gm/inversepaths.cpp
index 87a977a..ae54bee 100644
--- a/gm/inversepaths.cpp
+++ b/gm/inversepaths.cpp
@@ -71,15 +71,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("inverse_paths");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(800, 900);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkScalar cx = slideWidth / 2 + slideBoundary;
         SkScalar cy = slideHeight / 2 + slideBoundary;
         SkScalar dx = slideWidth + 2 * slideBoundary;
diff --git a/gm/lerpmode.cpp b/gm/lerpmode.cpp
index 7b567a2..b483c13 100644
--- a/gm/lerpmode.cpp
+++ b/gm/lerpmode.cpp
@@ -39,15 +39,15 @@
     LerpXfermodeGM() {}
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("lerpmode");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(240, 120);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         show_circlelayers(canvas, NULL);
         canvas->translate(150, 0);
         SkAutoTUnref<SkXfermode> mode(SkLerpXfermode::Create(0.5f));
diff --git a/gm/lighting.cpp b/gm/lighting.cpp
index 7abfbce..36c8ba0 100644
--- a/gm/lighting.cpp
+++ b/gm/lighting.cpp
@@ -21,7 +21,7 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("lighting");
     }
 
@@ -38,7 +38,7 @@
         canvas.drawText(str, strlen(str), SkIntToScalar(20), SkIntToScalar(70), paint);
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(WIDTH, HEIGHT);
     }
 
@@ -51,7 +51,7 @@
         canvas->restore();
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         if (!fInitialized) {
             make_bitmap();
             fInitialized = true;
diff --git a/gm/lumafilter.cpp b/gm/lumafilter.cpp
index e83f327..66221f8 100644
--- a/gm/lumafilter.cpp
+++ b/gm/lumafilter.cpp
@@ -99,15 +99,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("lumafilter");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(600, 420);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkXfermode::Mode modes[] = { SkXfermode::kSrcOver_Mode,
                                      SkXfermode::kDstOver_Mode,
                                      SkXfermode::kSrcATop_Mode,
diff --git a/gm/mipmap.cpp b/gm/mipmap.cpp
index 70543a9..2d4ee0d 100644
--- a/gm/mipmap.cpp
+++ b/gm/mipmap.cpp
@@ -53,11 +53,11 @@
     MipMapGM() {}
 
 protected:
-    SkString onShortName() SK_OVERRIDE { return SkString("mipmap"); }
+    SkString onShortName() override { return SkString("mipmap"); }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(400, 200); }
+    SkISize onISize() override { return SkISize::Make(400, 200); }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         test_mip(canvas);
     }
 
diff --git a/gm/mixedxfermodes.cpp b/gm/mixedxfermodes.cpp
index f818719..dc858cb 100644
--- a/gm/mixedxfermodes.cpp
+++ b/gm/mixedxfermodes.cpp
@@ -31,11 +31,11 @@
         kNumShapeTypes
     };
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("mixed_xfermodes");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(790, 640);
     }
 
@@ -87,7 +87,7 @@
         }
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         if (NULL == fBG.get()) {
             static uint32_t kCheckerPixelData[] = { 0xFFFFFFFF,
                                                     0xFFCCCCCC,
diff --git a/gm/multipicturedraw.cpp b/gm/multipicturedraw.cpp
index 97a5ffc..0625b5a 100644
--- a/gm/multipicturedraw.cpp
+++ b/gm/multipicturedraw.cpp
@@ -486,14 +486,14 @@
         Layout           fLayout;
         const SkPicture* fPictures[kNumPictures];
 
-        void onOnceBeforeDraw() SK_OVERRIDE {
+        void onOnceBeforeDraw() override {
             fPictures[0] = make_hex_plane_picture(SK_ColorWHITE);
             fPictures[1] = make_hex_plane_picture(SK_ColorGRAY);
             fPictures[2] = make_sierpinski_picture();
             fPictures[3] = make_single_layer_hex_plane_picture();
         }
 
-        void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+        void onDraw(SkCanvas* canvas) override {
             SkMultiPictureDraw mpd;
             SkTArray<ComposeStep> composeSteps;
 
@@ -514,9 +514,9 @@
             }
         }
 
-        SkISize onISize() SK_OVERRIDE { return SkISize::Make(kPicWidth, kPicHeight); }
+        SkISize onISize() override { return SkISize::Make(kPicWidth, kPicHeight); }
 
-        SkString onShortName() SK_OVERRIDE {
+        SkString onShortName() override {
             static const char* gContentNames[] = {
                 "noclip", "rectclip", "rrectclip", "pathclip", 
                 "invpathclip", "sierpinski", "biglayer"
@@ -534,7 +534,7 @@
             return name;
         }
 
-        bool runAsBench() const SK_OVERRIDE { return true; }
+        bool runAsBench() const override { return true; }
 
     private:
         typedef GM INHERITED;
diff --git a/gm/nested.cpp b/gm/nested.cpp
index 025bdce..3dd2c2c 100644
--- a/gm/nested.cpp
+++ b/gm/nested.cpp
@@ -20,7 +20,7 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         SkString name("nested");
         if (fDoAA) {
             name.append("_aa");
@@ -30,7 +30,7 @@
         return name;
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(kImageWidth, kImageHeight);
     }
 
@@ -60,7 +60,7 @@
         }
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
 
         SkPaint shapePaint;
         shapePaint.setColor(SK_ColorBLACK);
diff --git a/gm/nonclosedpaths.cpp b/gm/nonclosedpaths.cpp
index bf49ca0..a3d91b5 100644
--- a/gm/nonclosedpaths.cpp
+++ b/gm/nonclosedpaths.cpp
@@ -33,12 +33,12 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("nonclosedpaths");
     }
 
     // 12 * 18 + 3 cases, every case is 100 * 100 pixels.
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(1220, 1920);
     }
 
@@ -67,7 +67,7 @@
         canvas->translate(x, y);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         // Stroke widths are:
         // 0(may use hairline rendering), 10(common case for stroke-style)
         // 40 and 50(>= geometry width/height, make the contour filled in fact)
diff --git a/gm/ovals.cpp b/gm/ovals.cpp
index 7af996e..b0c207b 100755
--- a/gm/ovals.cpp
+++ b/gm/ovals.cpp
@@ -27,11 +27,11 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("ovals");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(1200, 900);
     }
 
@@ -135,7 +135,7 @@
         return SkHSVToColor(hsv);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkRandom rand(1);
         canvas->translate(20 * SK_Scalar1, 20 * SK_Scalar1);
         SkRect oval = SkRect::MakeLTRB(-20, -30, 20, 30);
diff --git a/gm/patch.cpp b/gm/patch.cpp
index 61a6cad..ea7954c 100644
--- a/gm/patch.cpp
+++ b/gm/patch.cpp
@@ -76,15 +76,15 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("patch_primitive");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(800, 800);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
 
         SkPaint paint;
         
diff --git a/gm/patchgrid.cpp b/gm/patchgrid.cpp
index 7c0ee9c..5c719bf 100644
--- a/gm/patchgrid.cpp
+++ b/gm/patchgrid.cpp
@@ -64,15 +64,15 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("patch_grid");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(800, 800);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
 
         SkPaint paint;
         
diff --git a/gm/patheffects.cpp b/gm/patheffects.cpp
index c51ac12..c71d32b 100644
--- a/gm/patheffects.cpp
+++ b/gm/patheffects.cpp
@@ -108,13 +108,13 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("patheffect");
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(800, 600); }
+    SkISize onISize() override { return SkISize::Make(800, 600); }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
         paint.setAntiAlias(true);
         paint.setStyle(SkPaint::kStroke_Style);
diff --git a/gm/pathfill.cpp b/gm/pathfill.cpp
index 461a4f5..1260654 100644
--- a/gm/pathfill.cpp
+++ b/gm/pathfill.cpp
@@ -118,22 +118,22 @@
     SkPath  fPath[N];
     SkScalar fDY[N];
 protected:
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         for (size_t i = 0; i < N; i++) {
             fDY[i] = gProcs[i](&fPath[i]);
         }
     }
 
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("pathfill");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(640, 480);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
         paint.setAntiAlias(true);
 
@@ -152,17 +152,17 @@
     SkPath  fPath[N];
     SkScalar fDY[N];
 protected:
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         for (size_t i = 0; i < N; i++) {
             fDY[i] = gProcs[i](&fPath[i]);
         }
     }
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("pathinvfill");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(450, 220);
     }
 
@@ -179,7 +179,7 @@
         canvas->restore();
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPath path;
 
         path.addCircle(SkIntToScalar(50), SkIntToScalar(50), SkIntToScalar(40));
diff --git a/gm/pathinterior.cpp b/gm/pathinterior.cpp
index a354513..f56681a 100644
--- a/gm/pathinterior.cpp
+++ b/gm/pathinterior.cpp
@@ -25,11 +25,11 @@
     }
 
 protected:
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(770, 770);
     }
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("pathinterior");
     }
 
@@ -57,7 +57,7 @@
         }
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->translate(8.5f, 8.5f);
 
         const SkRect rect = { 0, 0, 80, 80 };
diff --git a/gm/pathopsinverse.cpp b/gm/pathopsinverse.cpp
index 9fe7872..4b87778 100644
--- a/gm/pathopsinverse.cpp
+++ b/gm/pathopsinverse.cpp
@@ -19,7 +19,7 @@
     }
 
 protected:
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         const unsigned oneColor = 0xFF8080FF;
         const unsigned twoColor = 0x807F1f1f;
         SkColor blendColor = blend(oneColor, twoColor);
@@ -50,15 +50,15 @@
         paint->setColor(color);
     }
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("pathopsinverse");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(1200, 900);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPath one, two;
         int yPos = 0;
         for (int oneFill = 0; oneFill <= 1; ++oneFill) {
diff --git a/gm/pathopsskpclip.cpp b/gm/pathopsskpclip.cpp
index ee6765a..c9092f4 100644
--- a/gm/pathopsskpclip.cpp
+++ b/gm/pathopsskpclip.cpp
@@ -24,15 +24,15 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("pathopsskpclip");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(1200, 900);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPictureRecorder recorder;
         SkCanvas* rec = recorder.beginRecording(1200, 900, NULL, 0);
         SkPath p;
diff --git a/gm/pathreverse.cpp b/gm/pathreverse.cpp
index f304467..9f4deb4 100644
--- a/gm/pathreverse.cpp
+++ b/gm/pathreverse.cpp
@@ -69,15 +69,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("path-reverse");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(640, 480);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         if (false) test_rev(canvas); // avoid bit rot, suppress warning
         SkRect r = { 10, 10, 100, 60 };
 
diff --git a/gm/peekpixels.cpp b/gm/peekpixels.cpp
index 3a881ff..37ec32f 100644
--- a/gm/peekpixels.cpp
+++ b/gm/peekpixels.cpp
@@ -24,15 +24,15 @@
     PeekPixelsGM() {}
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("peekpixels");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(360, 120);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkImageInfo info = SkImageInfo::MakeN32Premul(100, 100);
         SkAutoTUnref<SkSurface> surface(canvas->newSurface(info));
         if (surface.get()) {
diff --git a/gm/picture.cpp b/gm/picture.cpp
index 5432fc9..f1d2a79 100644
--- a/gm/picture.cpp
+++ b/gm/picture.cpp
@@ -44,19 +44,19 @@
     {}
 
 protected:
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
          fPicture.reset(make_picture());
     }
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("pictures");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(450, 120);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->translate(10, 10);
 
         SkMatrix matrix;
diff --git a/gm/pictureimagefilter.cpp b/gm/pictureimagefilter.cpp
index 36b0817..a4cb6b3 100644
--- a/gm/pictureimagefilter.cpp
+++ b/gm/pictureimagefilter.cpp
@@ -18,7 +18,7 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("pictureimagefilter");
     }
 
@@ -36,9 +36,9 @@
         fPicture.reset(recorder.endRecording());
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(600, 300); }
+    SkISize onISize() override { return SkISize::Make(600, 300); }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         this->makePicture();
     }
 
@@ -51,7 +51,7 @@
         canvas->restore();
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->clear(0x00000000);
         {
             SkRect srcRect = SkRect::MakeXYWH(20, 20, 30, 30);
diff --git a/gm/pictureshader.cpp b/gm/pictureshader.cpp
index 3f184ec..220649b 100644
--- a/gm/pictureshader.cpp
+++ b/gm/pictureshader.cpp
@@ -30,7 +30,7 @@
     }
 
  protected:
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
        // Build the picture.
         SkPictureRecorder recorder;
         SkCanvas* pictureCanvas = recorder.beginRecording(fTileSize, fTileSize, NULL, 0);
@@ -45,15 +45,15 @@
     }
 
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("pictureshader");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(1400, 1450);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         this->drawSceneColumn(canvas, SkPoint::Make(0, 0), 1, 1, 0);
         this->drawSceneColumn(canvas, SkPoint::Make(0, fSceneSize * 6.4f), 1, 2, 0);
         this->drawSceneColumn(canvas, SkPoint::Make(fSceneSize * 2.4f, 0), 1, 1, 1);
diff --git a/gm/pictureshadertile.cpp b/gm/pictureshadertile.cpp
index 46a4386..11d6b34 100644
--- a/gm/pictureshadertile.cpp
+++ b/gm/pictureshadertile.cpp
@@ -83,15 +83,15 @@
 class PictureShaderTileGM : public skiagm::GM {
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("pictureshadertile");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(800, 600);
     }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         SkPictureRecorder recorder;
         SkCanvas* pictureCanvas = recorder.beginRecording(kPictureSize, kPictureSize);
         draw_scene(pictureCanvas, kPictureSize);
@@ -132,7 +132,7 @@
         }
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->clear(SK_ColorBLACK);
 
         SkPaint paint;
diff --git a/gm/points.cpp b/gm/points.cpp
index a634f3b..eda3121 100644
--- a/gm/points.cpp
+++ b/gm/points.cpp
@@ -16,11 +16,11 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("points");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(640, 490);
     }
 
@@ -35,7 +35,7 @@
         }
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->translate(SK_Scalar1, SK_Scalar1);
 
         SkRandom rand;
diff --git a/gm/poly2poly.cpp b/gm/poly2poly.cpp
index 823616e..e2563e2 100644
--- a/gm/poly2poly.cpp
+++ b/gm/poly2poly.cpp
@@ -180,11 +180,11 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("poly2poly");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(835, 840);
     }
 
@@ -222,7 +222,7 @@
         canvas->restore();
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         if (false) { test_stroke(canvas); return; }
 
         SkPaint paint;
diff --git a/gm/polygons.cpp b/gm/polygons.cpp
index 1751ead..a5756bb 100644
--- a/gm/polygons.cpp
+++ b/gm/polygons.cpp
@@ -23,18 +23,18 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("polygons");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         int width = kNumPolygons * kCellSize + 40;
         int height = (kNumJoins * kNumStrokeWidths + kNumExtraStyles) * kCellSize + 40;
         return SkISize::Make(width, height);
     }
 
     // Construct all polygons
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         SkPoint p0[] = {{0, 0}, {60, 0}, {90, 40}};  // triangle
         SkPoint p1[] = {{0, 0}, {0, 40}, {60, 40}, {40, 0}};  // trapezoid
         SkPoint p2[] = {{0, 0}, {40, 40}, {80, 40}, {40, 0}};  // diamond
@@ -94,7 +94,7 @@
         }
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         // Stroke widths are:
         // 0(may use hairline rendering), 10(common case for stroke-style)
         // 40(>= geometry width/height, make the contour filled in fact)
diff --git a/gm/quadpaths.cpp b/gm/quadpaths.cpp
index d9448b6..d5eb646 100644
--- a/gm/quadpaths.cpp
+++ b/gm/quadpaths.cpp
@@ -17,11 +17,11 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("quadpath");
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(1240, 390); }
+    SkISize onISize() override { return SkISize::Make(1240, 390); }
 
     void drawPath(SkPath& path,SkCanvas* canvas,SkColor color,
                   const SkRect& clip,SkPaint::Cap cap, SkPaint::Join join,
@@ -40,7 +40,7 @@
         canvas->restore();
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         struct FillAndName {
             SkPath::FillType fFill;
             const char*      fName;
@@ -162,11 +162,11 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("quadclosepath");
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(1240, 390); }
+    SkISize onISize() override { return SkISize::Make(1240, 390); }
 
     void drawPath(SkPath& path,SkCanvas* canvas,SkColor color,
                   const SkRect& clip,SkPaint::Cap cap, SkPaint::Join join,
@@ -185,7 +185,7 @@
         canvas->restore();
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         struct FillAndName {
             SkPath::FillType fFill;
             const char*      fName;
diff --git a/gm/rects.cpp b/gm/rects.cpp
index 686f03d..8fb113d 100644
--- a/gm/rects.cpp
+++ b/gm/rects.cpp
@@ -26,11 +26,11 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("rects");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(1200, 900);
     }
 
@@ -251,7 +251,7 @@
                           SK_Scalar1 * 100 * (testCount / 10) + 3 * SK_Scalar1 / 4);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkAutoCommentBlock acb(canvas, "onDraw");
 
         canvas->translate(20 * SK_Scalar1, 20 * SK_Scalar1);
diff --git a/gm/roundrects.cpp b/gm/roundrects.cpp
index b012e51..5e2813b 100644
--- a/gm/roundrects.cpp
+++ b/gm/roundrects.cpp
@@ -28,11 +28,11 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("roundrects");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(1200, 900);
     }
 
@@ -136,7 +136,7 @@
         return SkHSVToColor(hsv);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkRandom rand(1);
         canvas->translate(20 * SK_Scalar1, 20 * SK_Scalar1);
         SkRect rect = SkRect::MakeLTRB(-20, -30, 20, 30);
diff --git a/gm/rrect.cpp b/gm/rrect.cpp
index f174c96..4c55654 100644
--- a/gm/rrect.cpp
+++ b/gm/rrect.cpp
@@ -127,15 +127,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("rrect");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(820, 710);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         static const InsetProc insetProcs[] = {
             inset0, inset1, inset2, inset3
         };
diff --git a/gm/rrects.cpp b/gm/rrects.cpp
index 642376f..be46929 100644
--- a/gm/rrects.cpp
+++ b/gm/rrects.cpp
@@ -32,7 +32,7 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         SkString name("rrect");
         switch (fType) {
             case kBW_Draw_Type:
@@ -54,9 +54,9 @@
         return name;
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(kImageWidth, kImageHeight); }
+    SkISize onISize() override { return SkISize::Make(kImageWidth, kImageHeight); }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         GrContext* context = NULL;
 #if SK_SUPPORT_GPU
         GrRenderTarget* rt = canvas->internal_private_accessTopLayerRenderTarget();
diff --git a/gm/samplerstress.cpp b/gm/samplerstress.cpp
index 7f77463..ec07270 100644
--- a/gm/samplerstress.cpp
+++ b/gm/samplerstress.cpp
@@ -29,11 +29,11 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("gpusamplerstress");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(640, 480);
     }
 
@@ -88,7 +88,7 @@
         fMaskFilter.reset(SkBlurMaskFilter::Create(kNormal_SkBlurStyle, sigma));
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         createShader();
         createMaskFilter();
 
diff --git a/gm/shaderbounds.cpp b/gm/shaderbounds.cpp
index a7de479..e86ab05 100644
--- a/gm/shaderbounds.cpp
+++ b/gm/shaderbounds.cpp
@@ -35,13 +35,13 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return fName;
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(320, 240); }
+    SkISize onISize() override { return SkISize::Make(320, 240); }
 
-    SkMatrix onGetInitialTransform() const SK_OVERRIDE {
+    SkMatrix onGetInitialTransform() const override {
         SkMatrix result;
         SkScalar scale = 0.8f;
         result.setScale(scale, scale);
@@ -49,7 +49,7 @@
         return result;
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         // The PDF device has already clipped to the content area, but we
         // do it again here so that the raster and pdf results are consistent.
         canvas->clipRect(SkRect::MakeWH(SkIntToScalar(320),
diff --git a/gm/shadertext.cpp b/gm/shadertext.cpp
index fa8e2b5..79f7b86 100644
--- a/gm/shadertext.cpp
+++ b/gm/shadertext.cpp
@@ -92,13 +92,13 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("shadertext");
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(1450, 500); }
+    SkISize onISize() override { return SkISize::Make(1450, 500); }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         const char text[] = "Shaded Text";
         const int textLen = SK_ARRAY_COUNT(text) - 1;
         const int pointSize = 36;
diff --git a/gm/shadertext2.cpp b/gm/shadertext2.cpp
index b0637da..92a0138 100644
--- a/gm/shadertext2.cpp
+++ b/gm/shadertext2.cpp
@@ -48,13 +48,13 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("shadertext2");
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(1800, 900); }
+    SkISize onISize() override { return SkISize::Make(1800, 900); }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         static const char kText[] = "SKIA";
         static const int kTextLen = SK_ARRAY_COUNT(kText) - 1;
         static const int kPointSize = 55;
diff --git a/gm/shadertext3.cpp b/gm/shadertext3.cpp
index 1e0216e..49cdced 100644
--- a/gm/shadertext3.cpp
+++ b/gm/shadertext3.cpp
@@ -53,17 +53,17 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("shadertext3");
     }
 
-    SkISize onISize() SK_OVERRIDE{ return SkISize::Make(800, 1000); }
+    SkISize onISize() override{ return SkISize::Make(800, 1000); }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         makebm(&fBmp, kPointSize / 4, kPointSize / 4);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
 
         SkPaint bmpPaint;
         bmpPaint.setAntiAlias(true);
diff --git a/gm/shadows.cpp b/gm/shadows.cpp
index 66ad32e..adb34b6 100644
--- a/gm/shadows.cpp
+++ b/gm/shadows.cpp
@@ -29,7 +29,7 @@
     SkRect fRect;
 
 protected:
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         this->setBGColor(0xFFDDDDDD);
         fCirclePath.addCircle(SkIntToScalar(20), SkIntToScalar(20), SkIntToScalar(10) );
         fRect.set(SkIntToScalar(10), SkIntToScalar(10),
diff --git a/gm/shallowgradient.cpp b/gm/shallowgradient.cpp
index 2b7dfbd..415ed41 100644
--- a/gm/shallowgradient.cpp
+++ b/gm/shallowgradient.cpp
@@ -43,15 +43,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return fName;
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(800, 800);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         const SkColor colors[] = { 0xFF555555, 0xFF444444 };
         const int colorCount = SK_ARRAY_COUNT(colors);
 
diff --git a/gm/simpleaaclip.cpp b/gm/simpleaaclip.cpp
index 8a18f48..c232a25 100644
--- a/gm/simpleaaclip.cpp
+++ b/gm/simpleaaclip.cpp
@@ -52,7 +52,7 @@
     }
 
 protected:
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         // offset the rects a bit so we get anti-aliasing in the rect case
         fBase.set(100.65f,
                   100.65f,
diff --git a/gm/skbug1719.cpp b/gm/skbug1719.cpp
index 1093601..dc5de45 100644
--- a/gm/skbug1719.cpp
+++ b/gm/skbug1719.cpp
@@ -24,21 +24,21 @@
     SkBug1719GM() {}
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("skbug1719");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(300, 100);
     }
 
-    void onDrawBackground(SkCanvas* canvas) SK_OVERRIDE {
+    void onDrawBackground(SkCanvas* canvas) override {
         SkPaint bgPaint;
         bgPaint.setColor(0xFF303030);
         canvas->drawPaint(bgPaint);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->translate(SkIntToScalar(-800), SkIntToScalar(-650));
 
         // The data is lifted from an SKP that exhibited the bug.
diff --git a/gm/smallarc.cpp b/gm/smallarc.cpp
index ff7f07c..76611b7 100755
--- a/gm/smallarc.cpp
+++ b/gm/smallarc.cpp
@@ -19,15 +19,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("smallarc");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(762, 762);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint p;
         p.setColor(SK_ColorRED);
         p.setAntiAlias(true);
diff --git a/gm/spritebitmap.cpp b/gm/spritebitmap.cpp
index eeb4b73..7c8677d 100644
--- a/gm/spritebitmap.cpp
+++ b/gm/spritebitmap.cpp
@@ -63,15 +63,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("spritebitmap");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(640, 480);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkBitmap bm;
         make_bm(&bm);
 
diff --git a/gm/stlouisarch.cpp b/gm/stlouisarch.cpp
index 06f6078..176fb4b 100644
--- a/gm/stlouisarch.cpp
+++ b/gm/stlouisarch.cpp
@@ -14,13 +14,13 @@
 // this GM tests hairlines which fill nearly the entire render target
 class StLouisArchGM : public GM {
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("stlouisarch");
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make((int)kWidth, (int)kHeight); }
+    SkISize onISize() override { return SkISize::Make((int)kWidth, (int)kHeight); }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         {
             SkPath* bigQuad = &fPaths.push_back();
             bigQuad->moveTo(0, 0);
@@ -66,7 +66,7 @@
         }
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->save();
         canvas->scale(1, -1);
         canvas->translate(0, -kHeight);
diff --git a/gm/stringart.cpp b/gm/stringart.cpp
index fe69626..ed5fe0e 100644
--- a/gm/stringart.cpp
+++ b/gm/stringart.cpp
@@ -24,15 +24,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("stringart");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(kWidth, kHeight);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkScalar angle = kAngle*SK_ScalarPI + SkScalarHalf(SK_ScalarPI);
         SkScalar size = SkIntToScalar(SkMin32(kWidth, kHeight));
         SkPoint center = SkPoint::Make(SkScalarHalf(kWidth), SkScalarHalf(kHeight));
diff --git a/gm/strokefill.cpp b/gm/strokefill.cpp
index 256c7a2..b6e888b 100644
--- a/gm/strokefill.cpp
+++ b/gm/strokefill.cpp
@@ -20,11 +20,11 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("stroke-fill");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(640, 480);
     }
 
@@ -36,7 +36,7 @@
         canvas->drawText(text, len, x, y + SkIntToScalar(120), p);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkScalar x = SkIntToScalar(100);
         SkScalar y = SkIntToScalar(88);
 
diff --git a/gm/strokerect.cpp b/gm/strokerect.cpp
index da551e7..8854c6b 100644
--- a/gm/strokerect.cpp
+++ b/gm/strokerect.cpp
@@ -47,15 +47,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("strokerect");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(1024, 740);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->drawColor(SK_ColorWHITE);
         canvas->translate(STROKE_WIDTH*3/2, STROKE_WIDTH*3/2);
 
diff --git a/gm/strokerects.cpp b/gm/strokerects.cpp
index 5609c5f..f5167bb 100644
--- a/gm/strokerects.cpp
+++ b/gm/strokerects.cpp
@@ -26,11 +26,11 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("strokerects");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(W*2, H*2);
     }
 
@@ -46,7 +46,7 @@
         r->offset(-w/2 + woffset, -h/2 + hoffset);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
         paint.setStyle(SkPaint::kStroke_Style);
 
diff --git a/gm/strokes.cpp b/gm/strokes.cpp
index cadd0d6..a258dfe 100644
--- a/gm/strokes.cpp
+++ b/gm/strokes.cpp
@@ -40,15 +40,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("strokes_round");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(W, H*2);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
         paint.setStyle(SkPaint::kStroke_Style);
         paint.setStrokeWidth(SkIntToScalar(9)/2);
@@ -81,7 +81,7 @@
 class Strokes2GM : public skiagm::GM {
     SkPath fPath;
 protected:
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         SkRandom rand;
         fPath.moveTo(0, 0);
         for (int i = 0; i < 13; i++) {
@@ -92,11 +92,11 @@
     }
 
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("strokes_poly");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(W, H*2);
     }
 
@@ -106,7 +106,7 @@
         canvas->concat(matrix);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->drawColor(SK_ColorWHITE);
 
         SkPaint paint;
@@ -190,15 +190,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("strokes3");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(1500, 1500);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint origPaint;
         origPaint.setAntiAlias(true);
         origPaint.setStyle(SkPaint::kStroke_Style);
diff --git a/gm/stroketext.cpp b/gm/stroketext.cpp
index 914462c..6ec425b 100644
--- a/gm/stroketext.cpp
+++ b/gm/stroketext.cpp
@@ -72,15 +72,15 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("stroketext");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(1200, 480);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         if (true) { test_nulldev(canvas); }
         SkPaint paint;
         paint.setAntiAlias(true);
diff --git a/gm/surface.cpp b/gm/surface.cpp
index 5a4c09a..913de99 100644
--- a/gm/surface.cpp
+++ b/gm/surface.cpp
@@ -61,15 +61,15 @@
     SurfacePropsGM() {}
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("surfaceprops");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(W * 4, H * 5);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         GrContext* ctx = canvas->getGrContext();
 
         // must be opaque to have a hope of testing LCD text
@@ -118,11 +118,11 @@
     NewSurfaceGM() {}
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("surfacenew");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(300, 140);
     }
 
@@ -130,7 +130,7 @@
         canvas->drawColor(SK_ColorRED);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkImageInfo info = SkImageInfo::MakeN32Premul(100, 100);
 
         SkAutoTUnref<SkSurface> surf(canvas->newSurface(info, NULL));
diff --git a/gm/tallstretchedbitmaps.cpp b/gm/tallstretchedbitmaps.cpp
index e62c5d7..424aa3a 100644
--- a/gm/tallstretchedbitmaps.cpp
+++ b/gm/tallstretchedbitmaps.cpp
@@ -59,15 +59,15 @@
     TallStretchedBitmapsGM() {}
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("tall_stretched_bitmaps");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(750, 750);
     }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         for (size_t i = 0; i < SK_ARRAY_COUNT(fTallBmps); ++i) {
             int h = SkToInt((4 + i) * 1024);
 
@@ -75,7 +75,7 @@
         }
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->scale(1.3f, 1.3f);
         for (size_t i = 0; i < SK_ARRAY_COUNT(fTallBmps); ++i) {
             SkASSERT(fTallBmps[i].fItemCnt > 10);
diff --git a/gm/testimagefilters.cpp b/gm/testimagefilters.cpp
index b85c0aa..2c4fadb 100644
--- a/gm/testimagefilters.cpp
+++ b/gm/testimagefilters.cpp
@@ -97,13 +97,13 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("testimagefilters");
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(700, 460); }
+    SkISize onISize() override { return SkISize::Make(700, 460); }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
 //        this->drawSizeBounds(canvas, 0xFFCCCCCC);
 
         static SkImageFilter* (*gFilterProc[])() = {
diff --git a/gm/texdata.cpp b/gm/texdata.cpp
index 927bea5..88dbce9 100644
--- a/gm/texdata.cpp
+++ b/gm/texdata.cpp
@@ -27,15 +27,15 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("texdata");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(2*S, 2*S);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         GrRenderTarget* target = canvas->internal_private_accessTopLayerRenderTarget();
         GrContext* ctx = canvas->getGrContext();
         if (ctx && target) {
diff --git a/gm/textblob.cpp b/gm/textblob.cpp
index e802d9b..7c0fd87 100644
--- a/gm/textblob.cpp
+++ b/gm/textblob.cpp
@@ -78,15 +78,15 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("textblob");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(640, 480);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         for (unsigned b = 0; b < SK_ARRAY_COUNT(blobConfigs); ++b) {
             SkAutoTUnref<const SkTextBlob> blob(this->makeBlob(b));
 
diff --git a/gm/textblobshader.cpp b/gm/textblobshader.cpp
index 0738d82..5b9b2e9 100644
--- a/gm/textblobshader.cpp
+++ b/gm/textblobshader.cpp
@@ -27,7 +27,7 @@
 
 protected:
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         SkPaint p;
         p.setAntiAlias(true);
         p.setSubpixelText(true);
@@ -73,15 +73,15 @@
                                                      SkShader::kRepeat_TileMode));
     }
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("textblobshader");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(640, 480);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint p;
         p.setStyle(SkPaint::kFill_Style);
         p.setShader(fShader);
diff --git a/gm/texteffects.cpp b/gm/texteffects.cpp
index 3fce5db..03dbd68 100644
--- a/gm/texteffects.cpp
+++ b/gm/texteffects.cpp
@@ -175,15 +175,15 @@
     TextEffectsGM() {}
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("texteffects");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(460, 680);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->save();
 
         SkPaint     paint;
diff --git a/gm/texturedomaineffect.cpp b/gm/texturedomaineffect.cpp
index 72a5839..b85d208 100644
--- a/gm/texturedomaineffect.cpp
+++ b/gm/texturedomaineffect.cpp
@@ -30,18 +30,18 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("texture_domain_effect");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         const SkScalar canvasWidth = kDrawPad +
                 (kTargetWidth + 2 * kDrawPad) * GrTextureDomain::kModeCount +
                 kTestPad * GrTextureDomain::kModeCount;
         return SkISize::Make(SkScalarCeilToInt(canvasWidth), 800);
     }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         fBmp.allocN32Pixels(kTargetWidth, kTargetHeight);
         SkCanvas canvas(fBmp);
         canvas.clear(0x00000000);
@@ -68,7 +68,7 @@
                                          fBmp.width() + 10.f, fBmp.height() + 10.f), paint);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         GrRenderTarget* rt = canvas->internal_private_accessTopLayerRenderTarget();
         if (NULL == rt) {
             return;
diff --git a/gm/thinrects.cpp b/gm/thinrects.cpp
index 3facaa9..a25176c 100644
--- a/gm/thinrects.cpp
+++ b/gm/thinrects.cpp
@@ -17,15 +17,15 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("thinrects");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(240, 320);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
 
         SkPaint white;
         white.setColor(SK_ColorWHITE);
diff --git a/gm/thinstrokedrects.cpp b/gm/thinstrokedrects.cpp
index 40c23e1..8bde102 100644
--- a/gm/thinstrokedrects.cpp
+++ b/gm/thinstrokedrects.cpp
@@ -17,15 +17,15 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("thinstrokedrects");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(240, 320);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
 
         SkPaint paint;
         paint.setColor(SK_ColorWHITE);
diff --git a/gm/tiledscaledbitmap.cpp b/gm/tiledscaledbitmap.cpp
index 16935ed..79e1111 100644
--- a/gm/tiledscaledbitmap.cpp
+++ b/gm/tiledscaledbitmap.cpp
@@ -31,11 +31,11 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("tiledscaledbitmap");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(1016, 616);
     }
 
@@ -50,11 +50,11 @@
         return bm;
     }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         fBitmap = make_bm(360, 288);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
 
         paint.setAntiAlias(true);
diff --git a/gm/tilemodes.cpp b/gm/tilemodes.cpp
index 193f8a6..391d969 100644
--- a/gm/tilemodes.cpp
+++ b/gm/tilemodes.cpp
@@ -61,7 +61,7 @@
         kNPOTSize = 21,
     };
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         SkString name("tilemodes");
         if (!fPowerOfTwoSize) {
             name.append("_npot");
@@ -69,16 +69,16 @@
         return name;
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(880, 560); }
+    SkISize onISize() override { return SkISize::Make(880, 560); }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         int size = fPowerOfTwoSize ? kPOTSize : kNPOTSize;
         for (size_t i = 0; i < SK_ARRAY_COUNT(gColorTypes); i++) {
             makebm(&fTexture[i], gColorTypes[i], size, size);
         }
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
 
         int size = fPowerOfTwoSize ? kPOTSize : kNPOTSize;
 
@@ -195,13 +195,13 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return fName;
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(880, 560); }
+    SkISize onISize() override { return SkISize::Make(880, 560); }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->scale(SkIntToScalar(3)/2, SkIntToScalar(3)/2);
 
         const SkScalar w = SkIntToScalar(gWidth);
diff --git a/gm/tilemodes_scaled.cpp b/gm/tilemodes_scaled.cpp
index a8227a0..efb6f85 100644
--- a/gm/tilemodes_scaled.cpp
+++ b/gm/tilemodes_scaled.cpp
@@ -65,7 +65,7 @@
         kNPOTSize = 3,
     };
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         SkString name("scaled_tilemodes");
         if (!fPowerOfTwoSize) {
             name.append("_npot");
@@ -73,16 +73,16 @@
         return name;
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(880, 760); }
+    SkISize onISize() override { return SkISize::Make(880, 760); }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         int size = fPowerOfTwoSize ? kPOTSize : kNPOTSize;
         for (size_t i = 0; i < SK_ARRAY_COUNT(gColorTypes); i++) {
             makebm(&fTexture[i], gColorTypes[i], size, size);
         }
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         float scale = 32.f/kPOTSize;
 
         int size = fPowerOfTwoSize ? kPOTSize : kNPOTSize;
@@ -207,13 +207,13 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return fName;
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(880, 560); }
+    SkISize onISize() override { return SkISize::Make(880, 560); }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->scale(SkIntToScalar(3)/2, SkIntToScalar(3)/2);
 
         const SkScalar w = SkIntToScalar(gWidth);
diff --git a/gm/typeface.cpp b/gm/typeface.cpp
index 1606cef..4114d2c 100644
--- a/gm/typeface.cpp
+++ b/gm/typeface.cpp
@@ -36,15 +36,15 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("typeface");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(640, 480);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkString text("Typefaces are fun!");
         SkScalar y = 0;
 
@@ -171,7 +171,7 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         SkString name("typefacestyles");
         if (fApplyKerning) {
             name.append("_kerning");
@@ -179,11 +179,11 @@
         return name;
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(640, 480);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
         paint.setAntiAlias(true);
         paint.setTextSize(SkIntToScalar(30));
diff --git a/gm/variedtext.cpp b/gm/variedtext.cpp
index bbdbc8a..989bebd 100644
--- a/gm/variedtext.cpp
+++ b/gm/variedtext.cpp
@@ -31,7 +31,7 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         SkString name("varied_text");
         if (fEffectiveClip) {
             name.append("_clipped");
@@ -46,11 +46,11 @@
         return name;
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(640, 480);
     }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         fPaint.setAntiAlias(true);
         fPaint.setLCDRenderText(fLCD);
 
@@ -111,7 +111,7 @@
         }
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         for (int i = 0; i < kCnt; ++i) {
             fPaint.setColor(fColors[i]);
             fPaint.setTextSize(fPtSizes[i]);
@@ -136,7 +136,7 @@
         }
     }
 
-    bool runAsBench() const SK_OVERRIDE { return true; }
+    bool runAsBench() const override { return true; }
 
 private:
     static const int kCnt = 30;
diff --git a/gm/vertices.cpp b/gm/vertices.cpp
index 5d15633..2f7a9b9 100644
--- a/gm/vertices.cpp
+++ b/gm/vertices.cpp
@@ -39,7 +39,7 @@
 
 protected:
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         const SkScalar X = 150;
         const SkScalar Y = 150;
 
@@ -62,7 +62,7 @@
         }
     }
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         SkString name("vertices");
         if (0xFF != fAlpha) {
             name.appendf("_%02X", fAlpha);
@@ -70,11 +70,11 @@
         return name;
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(600, 600);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         // start with the center of a 3x3 grid
         static const uint16_t fan[] = {
             4,
diff --git a/gm/verttext.cpp b/gm/verttext.cpp
index ba355a5..9039685 100644
--- a/gm/verttext.cpp
+++ b/gm/verttext.cpp
@@ -50,11 +50,11 @@
 
 protected:
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("verttext");
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(640, 480); }
+    SkISize onISize() override { return SkISize::Make(640, 480); }
 
     static void drawBaseline(SkCanvas* canvas, const SkPaint& paint,
                              SkScalar x, SkScalar y) {
@@ -82,7 +82,7 @@
         canvas->drawCircle(x, y, SK_Scalar1 * 3 / 2, p);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         SkScalar x = SkIntToScalar(100);
         SkScalar y = SkIntToScalar(50);
 
diff --git a/gm/verttext2.cpp b/gm/verttext2.cpp
index 6cb5235..77bdc92 100644
--- a/gm/verttext2.cpp
+++ b/gm/verttext2.cpp
@@ -33,13 +33,13 @@
 protected:
 
 
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("verttext2");
     }
 
-    SkISize onISize() SK_OVERRIDE { return SkISize::Make(640, 480); }
+    SkISize onISize() override { return SkISize::Make(640, 480); }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         for (int i = 0; i < 3; ++i) {
             SkPaint paint;
             paint.setColor(SK_ColorRED);
diff --git a/gm/verylargebitmap.cpp b/gm/verylargebitmap.cpp
index 1cfecd8..753786b 100644
--- a/gm/verylargebitmap.cpp
+++ b/gm/verylargebitmap.cpp
@@ -59,15 +59,15 @@
     VeryLargeBitmapGM() {}
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("verylargebitmap");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(500, 600);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         int veryBig = 65*1024; // 64K < size
         int big = 33*1024;     // 32K < size < 64K
         // smaller than many max texture sizes, but large enough to gpu-tile for memory reasons.
diff --git a/gm/xfermodeimagefilter.cpp b/gm/xfermodeimagefilter.cpp
index 0134bd3..c764f1c 100644
--- a/gm/xfermodeimagefilter.cpp
+++ b/gm/xfermodeimagefilter.cpp
@@ -25,7 +25,7 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("xfermodeimagefilter");
     }
 
@@ -42,7 +42,7 @@
         canvas.drawText(str, strlen(str), SkIntToScalar(15), SkIntToScalar(65), paint);
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(WIDTH, HEIGHT);
     }
 
@@ -65,7 +65,7 @@
         canvas->restore();
     }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         make_bitmap();
 
         fCheckerboard.allocN32Pixels(80, 80);
@@ -73,7 +73,7 @@
         sk_tool_utils::draw_checkerboard(&checkerboardCanvas, 0xFFA0A0A0, 0xFF404040, 8);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->clear(0x00000000);
         SkPaint paint;
 
diff --git a/gm/xfermodes.cpp b/gm/xfermodes.cpp
index 82d1cef..066ad5b 100644
--- a/gm/xfermodes.cpp
+++ b/gm/xfermodes.cpp
@@ -154,7 +154,7 @@
         }
     }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         fBG.installPixels(SkImageInfo::Make(2, 2, kARGB_4444_SkColorType,
                                             kOpaque_SkAlphaType),
                           gData, 4);
@@ -168,15 +168,15 @@
     XfermodesGM() {}
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("xfermodes");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(1990, 640);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->translate(SkIntToScalar(10), SkIntToScalar(20));
 
         const struct {
diff --git a/gm/xfermodes2.cpp b/gm/xfermodes2.cpp
index 98e6f3a..493a0c0 100644
--- a/gm/xfermodes2.cpp
+++ b/gm/xfermodes2.cpp
@@ -18,15 +18,15 @@
     Xfermodes2GM() {}
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("xfermodes2");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(455, 475);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->translate(SkIntToScalar(10), SkIntToScalar(20));
 
         const SkScalar w = SkIntToScalar(kSize);
@@ -86,7 +86,7 @@
     }
 
 private:
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         static const uint32_t kCheckData[] = {
             SkPackARGB32(0xFF, 0x40, 0x40, 0x40),
             SkPackARGB32(0xFF, 0xD0, 0xD0, 0xD0),
diff --git a/gm/xfermodes3.cpp b/gm/xfermodes3.cpp
index ffbee1c..003b771 100644
--- a/gm/xfermodes3.cpp
+++ b/gm/xfermodes3.cpp
@@ -27,21 +27,21 @@
     Xfermodes3GM() {}
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("xfermodes3");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(630, 1215);
     }
 
-    void onDrawBackground(SkCanvas* canvas) SK_OVERRIDE {
+    void onDrawBackground(SkCanvas* canvas) override {
         SkPaint bgPaint;
         bgPaint.setColor(0xFF70D0E0);
         canvas->drawPaint(bgPaint);
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         canvas->translate(SkIntToScalar(10), SkIntToScalar(20));
 
         SkPaint labelP;
@@ -179,7 +179,7 @@
         canvas->restore();
     }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         static const uint32_t kCheckData[] = {
             SkPackARGB32(0xFF, 0x40, 0x40, 0x40),
             SkPackARGB32(0xFF, 0xD0, 0xD0, 0xD0),
diff --git a/gm/yuvtorgbeffect.cpp b/gm/yuvtorgbeffect.cpp
index 4448265..62855cf 100644
--- a/gm/yuvtorgbeffect.cpp
+++ b/gm/yuvtorgbeffect.cpp
@@ -34,15 +34,15 @@
     }
 
 protected:
-    SkString onShortName() SK_OVERRIDE {
+    SkString onShortName() override {
         return SkString("yuv_to_rgb_effect");
     }
 
-    SkISize onISize() SK_OVERRIDE {
+    SkISize onISize() override {
         return SkISize::Make(238, 84);
     }
 
-    void onOnceBeforeDraw() SK_OVERRIDE {
+    void onOnceBeforeDraw() override {
         SkImageInfo yinfo = SkImageInfo::MakeA8(YSIZE, YSIZE);
         fBmp[0].allocPixels(yinfo);
         SkImageInfo uinfo = SkImageInfo::MakeA8(USIZE, USIZE);
@@ -66,7 +66,7 @@
         }
     }
 
-    void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+    void onDraw(SkCanvas* canvas) override {
         GrRenderTarget* rt = canvas->internal_private_accessTopLayerRenderTarget();
         if (NULL == rt) {
             return;