Revert of Add factory class for generating various flavors of GrTextContext. (https://codereview.chromium.org/144283002/)

Reason for revert:
Breaks Chrome. Need to fix template issue.

Original issue's description:
> Add factory class for generating various flavors of GrTextContext.
>
> This is the first pass of making Gr*TextContext more generic and easily
> subclassed. The next stage will be making GrBitmapTextContext and
> GrDistanceFieldTextContext more similar by moving the SkDraw loop into
> each subclass.
>
> BUG=skia:2018
>
> Committed: http://code.google.com/p/skia/source/detail?r=13142

R=bsalomon@google.com, reed@google.com
TBR=bsalomon@google.com, reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2018

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/145023006

git-svn-id: http://skia.googlecode.com/svn/trunk@13143 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp
index 0e91182..5ba174c 100644
--- a/src/gpu/SkGpuDevice.cpp
+++ b/src/gpu/SkGpuDevice.cpp
@@ -200,12 +200,6 @@
     fContext = context;
     fContext->ref();
 
-#if SK_DISTANCEFIELD_FONTS
-    fTextContextManager = SkNEW(GrTTextContextManager<GrDistanceFieldTextContext>);
-#else
-    fTextContextManager = SkNEW(GrTTextContextManager<GrBitmapTextContext>);
-#endif
-
     fRenderTarget = NULL;
     fNeedClear = false;
 
@@ -241,12 +235,6 @@
     fContext = context;
     fContext->ref();
 
-#if SK_DISTANCEFIELD_FONTS
-    fTextContextManager = SkNEW(GrTTextContextManager<GrDistanceFieldTextContext>);
-#else
-    fTextContextManager = SkNEW(GrTTextContextManager<GrBitmapTextContext>);
-#endif
-
     fRenderTarget = NULL;
     fNeedClear = false;
 
@@ -291,8 +279,6 @@
     if (fDrawProcs) {
         delete fDrawProcs;
     }
-    
-    delete fTextContextManager;
 
     // The GrContext takes a ref on the target. We don't want to cause the render
     // target to be unnecessarily kept alive.
@@ -1834,15 +1820,13 @@
 
         SkDEBUGCODE(this->validate();)
 
-        SkAutoTDelete<GrTextContext> context(fTextContextManager->create(fContext, grPaint, paint));
-        GrDistanceFieldTextContext* dfContext =
-                                            static_cast<GrDistanceFieldTextContext*>(context.get());
+        GrDistanceFieldTextContext context(fContext, grPaint, paint);
 
-        SkAutoGlyphCache    autoCache(dfContext->getSkPaint(), &this->fLeakyProperties, NULL);
+        SkAutoGlyphCache    autoCache(context.getSkPaint(), &this->fLeakyProperties, NULL);
         SkGlyphCache*       cache = autoCache.getCache();
         GrFontScaler*       fontScaler = get_gr_font_scaler(cache);
 
-        dfContext->drawText((const char *)text, byteLength, x, y, cache, fontScaler);
+        context.drawText((const char *)text, byteLength, x, y, cache, fontScaler);
 #endif
     } else {
         SkDraw myDraw(draw);
@@ -1852,8 +1836,8 @@
             return;
         }
 
-        SkAutoTDelete<GrTextContext> context(fTextContextManager->create(fContext, grPaint, paint));
-        myDraw.fProcs = this->initDrawForText(context.get());
+        GrBitmapTextContext context(fContext, grPaint, paint.getColor());
+        myDraw.fProcs = this->initDrawForText(&context);
         this->INHERITED::drawText(myDraw, text, byteLength, x, y, paint);
     }
 }
@@ -1877,15 +1861,13 @@
 
         SkDEBUGCODE(this->validate();)
 
-        SkAutoTDelete<GrTextContext> context(fTextContextManager->create(fContext, grPaint, paint));
-        GrDistanceFieldTextContext* dfContext =
-                                            static_cast<GrDistanceFieldTextContext*>(context.get());
-        
-        SkAutoGlyphCache    autoCache(dfContext->getSkPaint(), &this->fLeakyProperties, NULL);
+        GrDistanceFieldTextContext context(fContext, grPaint, paint);
+
+        SkAutoGlyphCache    autoCache(context.getSkPaint(), &this->fLeakyProperties, NULL);
         SkGlyphCache*       cache = autoCache.getCache();
         GrFontScaler*       fontScaler = get_gr_font_scaler(cache);
-        
-        dfContext->drawPosText((const char *)text, byteLength, pos, constY, scalarsPerPos,
+
+        context.drawPosText((const char *)text, byteLength, pos, constY, scalarsPerPos,
                             cache, fontScaler);
 #endif
     } else {
@@ -1895,9 +1877,8 @@
         if (!skPaint2GrPaintShader(this, paint, true, &grPaint)) {
             return;
         }
-
-        SkAutoTDelete<GrTextContext> context(fTextContextManager->create(fContext, grPaint, paint));
-        myDraw.fProcs = this->initDrawForText(context.get());
+        GrBitmapTextContext context(fContext, grPaint, paint.getColor());
+        myDraw.fProcs = this->initDrawForText(&context);
         this->INHERITED::drawPosText(myDraw, text, byteLength, pos, constY,
                                         scalarsPerPos, paint);
     }