| Index: mojom/mojom_parser/serialization/serialization.go
|
| diff --git a/mojom/mojom_parser/serialization/serialization.go b/mojom/mojom_parser/serialization/serialization.go
|
| index 498f95ab8283a7bee2fd955c9e561b4c83cd20a4..9e13b963b0d7e6fc89e4cf4fe1831e5d0e80f768 100644
|
| --- a/mojom/mojom_parser/serialization/serialization.go
|
| +++ b/mojom/mojom_parser/serialization/serialization.go
|
| @@ -5,6 +5,9 @@
|
| package serialization
|
|
|
| import (
|
| + "bytes"
|
| + "compress/gzip"
|
| + "encoding/base64"
|
| "fmt"
|
| "mojo/public/go/bindings"
|
| "mojom/mojom_parser/generated/mojom_files"
|
| @@ -210,11 +213,23 @@ func translateMojomFile(f *mojom.MojomFile, fileGraph *mojom_files.MojomFileGrap
|
| encoder := bindings.NewEncoder()
|
| encoder.SetDeterministic(true)
|
| typeInfo.Encode(encoder)
|
| - bytes, _, err := encoder.Data()
|
| + byteSlice, _, err := encoder.Data()
|
| if err != nil {
|
| panic(fmt.Sprintf("Error while serializing runtimeTypeInfo: %s", err.Error()))
|
| }
|
| - file.SerializedRuntimeTypeInfo = &bytes
|
| + var compressedBytes bytes.Buffer
|
| + gzipWriter, _ := gzip.NewWriterLevel(&compressedBytes, gzip.BestCompression)
|
| + _, err = gzipWriter.Write(byteSlice)
|
| + if err != nil {
|
| + panic(fmt.Sprintf("Error while gzipping runtimeTypeInfo: %s", err.Error()))
|
| + }
|
| + err = gzipWriter.Close()
|
| + if err != nil {
|
| + panic(fmt.Sprintf("Error while gzipping runtimeTypeInfo: %s", err.Error()))
|
| + }
|
| + byteSlice = compressedBytes.Bytes()
|
| + encoded := base64.StdEncoding.EncodeToString(byteSlice)
|
| + file.SerializedRuntimeTypeInfo = &encoded
|
| }
|
|
|
| return
|
|
|