Add svg parsing to CanvasKit viewer.html

Also enables ccpr and makes flags parsing more robust.

Change-Id: Ia98467403de87423a63167681b2ee635b0fa593a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292690
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
diff --git a/tools/viewer/SvgSlide.h b/tools/viewer/SvgSlide.h
index ccc840e..6a15a30 100644
--- a/tools/viewer/SvgSlide.h
+++ b/tools/viewer/SvgSlide.h
@@ -15,6 +15,7 @@
 class SvgSlide final : public Slide {
 public:
     SvgSlide(const SkString& name, const SkString& path);
+    SvgSlide(const SkString& name, std::unique_ptr<SkStream>);
 
     void load(SkScalar winWidth, SkScalar winHeight) override;
     void unload() override;
@@ -24,9 +25,8 @@
 
     void draw(SkCanvas*) override;
 private:
-    const SkString  fPath;
-
-    SkSize          fWinSize = SkSize::MakeEmpty();
+    std::unique_ptr<SkStream> fStream;
+    SkSize fWinSize = SkSize::MakeEmpty();
     sk_sp<SkSVGDOM> fDom;
 
     typedef Slide INHERITED;