Flesh out the list of includes, also fix up README markdown

Currently only pulls in 'core' and 'effects'. Will add in gpu once we add an option to render via Mesa.

BUG=skia:
R=mtklein@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14137 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/experimental/webtry/DESIGN.md b/experimental/webtry/DESIGN.md
index ddc26f5..66c7f1f 100644
--- a/experimental/webtry/DESIGN.md
+++ b/experimental/webtry/DESIGN.md
@@ -25,7 +25,7 @@
 
 User submitted code is also restricted in the following ways:
   * Limited to 10K of code total.
-  * No preprocessor use is allowed (no lines can begin with \s*#).
+  * No preprocessor use is allowed (no lines can begin with #includes).
 
 
 Architecture
@@ -34,36 +34,36 @@
 The server runs on GCE, and consists of a Go Web Server that calls out to the
 c++ compiler and executes code in a chroot jail. See the diagram below:
 
-                           
-   +–––––––––––––+         
-   |             |         
-   |  Browser    |         
-   |             |         
-   +––––––+––––––+         
-          |                
-   +––––––+––––––+         
-   |             |         
-   |             |         
-   | Web Server  |         
-   |             |         
-   |   (Go)      |         
-   |             |         
-   |             |         
-   +–––––––+–––––+         
-           |               
-   +–––––––+––––––––––+    
-   | chroot jail      |    
-   |  +––––––––––––––+|    
-   |  | seccomp      ||    
-   |  |  +––––––––––+||    
-   |  |  |User code |||    
-   |  |  |          |||    
-   |  |  +----------+||    
-   |  +––------------+|    
-   |                  |    
-   +––––––––––––––––––+    
-                           
-                           
+                             
+     +–––––––––––––+         
+     |             |         
+     |  Browser    |         
+     |             |         
+     +––––––+––––––+         
+            |                
+     +––––––+––––––+         
+     |             |         
+     |             |         
+     | Web Server  |         
+     |             |         
+     |   (Go)      |         
+     |             |         
+     |             |         
+     +–––––––+–––––+         
+             |               
+     +–––––––+––––––––––+    
+     | chroot jail      |    
+     |  +––––––––––––––+|    
+     |  | seccomp      ||    
+     |  |  +––––––––––+||    
+     |  |  |User code |||    
+     |  |  |          |||    
+     |  |  +––––––––––+||    
+     |  +––––––––––––––+|    
+     |                  |    
+     +––––––––––––––––––+    
+                             
+
 The user code is expanded into a simple template and linked against libskia
 and a couple other .o files that contain main() and the code that sets up the
 seccomp and rlimit restrictions. This code also sets up the SkCanvas that is
diff --git a/experimental/webtry/templates/template.cpp b/experimental/webtry/templates/template.cpp
index 3543b0c..d256cdc 100644
--- a/experimental/webtry/templates/template.cpp
+++ b/experimental/webtry/templates/template.cpp
@@ -1,12 +1,160 @@
+// To regenerate this list of includes run the following command from skia/include:
+//
+//     find core effects  -maxdepth 1 -name "*.h" | sed "s#^[^\/]*\/##g" | sed "s/\(.*\)/#include \"\1\"/" | sort
+//
+#include "Sk1DPathEffect.h"
+#include "Sk2DPathEffect.h"
+#include "SkAdvancedTypefaceMetrics.h"
+#include "SkAlphaThresholdFilter.h"
+#include "SkAnnotation.h"
+#include "SkArithmeticMode.h"
+#include "SkAvoidXfermode.h"
+#include "SkBicubicImageFilter.h"
+#include "SkBitmapDevice.h"
+#include "SkBitmap.h"
+#include "SkBitmapSource.h"
+#include "SkBlitRow.h"
+#include "SkBlurDrawLooper.h"
+#include "SkBlurImageFilter.h"
+#include "SkBlurMaskFilter.h"
+#include "SkBounder.h"
 #include "SkCanvas.h"
+#include "SkChecksum.h"
+#include "SkChunkAlloc.h"
+#include "SkClipStack.h"
+#include "SkColorFilter.h"
+#include "SkColorFilterImageFilter.h"
+#include "SkColor.h"
+#include "SkColorMatrixFilter.h"
+#include "SkColorMatrix.h"
+#include "SkColorPriv.h"
+#include "SkColorShader.h"
+#include "SkColorTable.h"
+#include "SkComposeImageFilter.h"
+#include "SkComposeShader.h"
+#include "SkCornerPathEffect.h"
+#include "SkDashPathEffect.h"
 #include "SkData.h"
-#include "SkForceLinking.h"
+#include "SkDataTable.h"
+#include "SkDeque.h"
+#include "SkDevice.h"
+#include "SkDeviceProperties.h"
+#include "SkDiscretePathEffect.h"
+#include "SkDisplacementMapEffect.h"
+#include "SkDither.h"
+#include "SkDocument.h"
+#include "SkDrawExtraPathEffect.h"
+#include "SkDrawFilter.h"
+#include "SkDraw.h"
+#include "SkDrawLooper.h"
+#include "SkDropShadowImageFilter.h"
+#include "SkDynamicAnnotations.h"
+#include "SkEmbossMaskFilter.h"
+#include "SkEmptyShader.h"
+#include "SkEndian.h"
+#include "SkError.h"
+#include "SkFixed.h"
+#include "SkFlate.h"
+#include "SkFlattenableBuffers.h"
+#include "SkFlattenable.h"
+#include "SkFlattenableSerialization.h"
+#include "SkFloatBits.h"
+#include "SkFloatingPoint.h"
+#include "SkFont.h"
+#include "SkFontHost.h"
+#include "SkFontLCDConfig.h"
+#include "SkGeometry.h"
+#include "SkGradientShader.h"
 #include "SkGraphics.h"
+#include "SkImageDecoder.h"
 #include "SkImageEncoder.h"
+#include "SkImageFilter.h"
+#include "SkImageGenerator.h"
+#include "SkImage.h"
 #include "SkImageInfo.h"
+#include "SkInstCnt.h"
+#include "SkKernel33MaskFilter.h"
+#include "SkLayerDrawLooper.h"
+#include "SkLayerRasterizer.h"
+#include "SkLerpXfermode.h"
+#include "SkLightingImageFilter.h"
+#include "SkLineClipper.h"
+#include "SkLumaColorFilter.h"
+#include "SkMagnifierImageFilter.h"
+#include "SkMallocPixelRef.h"
+#include "SkMaskFilter.h"
+#include "SkMask.h"
+#include "SkMath.h"
+#include "SkMatrixConvolutionImageFilter.h"
+#include "SkMatrix.h"
+#include "SkMatrixImageFilter.h"
+#include "SkMergeImageFilter.h"
+#include "SkMetaData.h"
+#include "SkMorphologyImageFilter.h"
+#include "SkOffsetImageFilter.h"
+#include "SkOnce.h"
+#include "SkOSFile.h"
+#include "SkPackBits.h"
+#include "SkPaintFlagsDrawFilter.h"
+#include "SkPaint.h"
+#include "SkPaintOptionsAndroid.h"
+#include "SkPathEffect.h"
+#include "SkPath.h"
+#include "SkPathMeasure.h"
+#include "SkPathRef.h"
+#include "SkPerlinNoiseShader.h"
+#include "SkPicture.h"
+#include "SkPictureImageFilter.h"
+#include "SkPixelRef.h"
+#include "SkPixelXorXfermode.h"
+#include "SkPoint.h"
+#include "SkPorterDuff.h"
+#include "SkPostConfig.h"
+#include "SkPreConfig.h"
+#include "SkRasterizer.h"
+#include "SkReadBuffer.h"
+#include "SkReader32.h"
+#include "SkRect.h"
+#include "SkRectShaderImageFilter.h"
+#include "SkRefCnt.h"
+#include "SkRegion.h"
+#include "SkRRect.h"
+#include "SkScalar.h"
+#include "SkShader.h"
+#include "SkSize.h"
+#include "SkStippleMaskFilter.h"
 #include "SkStream.h"
+#include "SkString.h"
+#include "SkStringUtils.h"
+#include "SkStrokeRec.h"
 #include "SkSurface.h"
-
+#include "SkTableColorFilter.h"
+#include "SkTableMaskFilter.h"
+#include "SkTArray.h"
+#include "SkTDArray.h"
+#include "SkTDict.h"
+#include "SkTDStack.h"
+#include "SkTemplates.h"
+#include "SkTestImageFilters.h"
+#include "SkThread.h"
+#include "SkTileGridPicture.h"
+#include "SkTileImageFilter.h"
+#include "SkTime.h"
+#include "SkTInternalLList.h"
+#include "SkTLazy.h"
+#include "SkTransparentShader.h"
+#include "SkTRegistry.h"
+#include "SkTSearch.h"
+#include "SkTypeface.h"
+#include "SkTypes.h"
+#include "SkUnitMapper.h"
+#include "SkUnPreMultiply.h"
+#include "SkUtils.h"
+#include "SkWeakRefCnt.h"
+#include "SkWriteBuffer.h"
+#include "SkWriter32.h"
+#include "SkXfermode.h"
+#include "SkXfermodeImageFilter.h"
 
 void draw(SkCanvas* canvas) {
 {{.UserCode}}