diff --git a/samplecode/SampleChineseFling.cpp b/samplecode/SampleChineseFling.cpp
index 84181aa..b123942 100644
--- a/samplecode/SampleChineseFling.cpp
+++ b/samplecode/SampleChineseFling.cpp
@@ -160,19 +160,19 @@
             GrContext* grContext = canvas->getGrContext();
             if (grContext) {
                 sk_sp<SkImage> image =
-                grContext->priv().getFontAtlasImage_ForTesting(
+                grContext->priv().testingOnly_getFontAtlasImage(
                                                             GrMaskFormat::kA8_GrMaskFormat, 0);
                 canvas->drawImageRect(image,
                                       SkRect::MakeXYWH(10.0f, 10.0f, 512.0f, 512.0), &paint);
-                image = grContext->priv().getFontAtlasImage_ForTesting(
+                image = grContext->priv().testingOnly_getFontAtlasImage(
                                                             GrMaskFormat::kA8_GrMaskFormat, 1);
                 canvas->drawImageRect(image,
                                       SkRect::MakeXYWH(522.0f, 10.0f, 512.f, 512.0f), &paint);
-                image = grContext->priv().getFontAtlasImage_ForTesting(
+                image = grContext->priv().testingOnly_getFontAtlasImage(
                                                             GrMaskFormat::kA8_GrMaskFormat, 2);
                 canvas->drawImageRect(image,
                                       SkRect::MakeXYWH(10.0f, 522.0f, 512.0f, 512.0f), &paint);
-                image = grContext->priv().getFontAtlasImage_ForTesting(
+                image = grContext->priv().testingOnly_getFontAtlasImage(
                                                             GrMaskFormat::kA8_GrMaskFormat, 3);
                 canvas->drawImageRect(image,
                                       SkRect::MakeXYWH(522.0f, 522.0f, 512.0f, 512.0f), &paint);
