[svgcanvas] Add flag to suppress newlines and tabs in XML

Bug: skia:9343
Change-Id: Id82f998ac57fc787aeb4435a6907047ea680d2fc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236157
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
diff --git a/src/xml/SkXMLWriter.h b/src/xml/SkXMLWriter.h
index 49fb4be..a189169 100644
--- a/src/xml/SkXMLWriter.h
+++ b/src/xml/SkXMLWriter.h
@@ -63,7 +63,11 @@
 
 class SkXMLStreamWriter : public SkXMLWriter {
 public:
-    SkXMLStreamWriter(SkWStream*);
+    enum : uint32_t {
+        kNoPretty_Flag = 0x01,
+    };
+
+    SkXMLStreamWriter(SkWStream*, uint32_t flags = 0);
     ~SkXMLStreamWriter() override;
     void writeHeader() override;
 
@@ -74,7 +78,11 @@
     void onAddText(const char text[], size_t length) override;
 
 private:
+    void newline();
+    void tab(int lvl);
+
     SkWStream&      fStream;
+    const uint32_t  fFlags;
 };
 
 class SkXMLParserWriter : public SkXMLWriter {