aboutsummaryrefslogtreecommitdiffhomepage
path: root/experimental
Commit message (Collapse)AuthorAge
* Add SkFloat2Bits and Region stubGravatar Kevin Lubick2018-07-17
| | | | | | | | Bug: skia: Change-Id: I5ab9a4d42e9eec6563499a09e08ed8b183ac91b2 Reviewed-on: https://skia-review.googlesource.com/141426 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com>
* PathKit/WASM tweaksGravatar Florin Malita2018-07-12
| | | | | | | | | | | | | | | | | | The most interesting part is using variadic calls to push all verb data in one native -> JS go. This speeds up SkPathToVerbsArgsArray and SkPathToCmdArray by 30-35%. Other misc changes: * use SkPath::RawIter instead of Iter * add a VisitPath helper to cut down on boiler plate * use uintptr_t for pointer arguments (just in case we get to wasm64 some day) Change-Id: Ia0240f0e00e81db78eb1e9b48b31abbb3e33bfaf Reviewed-on: https://skia-review.googlesource.com/140984 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Adventures with Skia, WASM and a JS API for PathkitGravatar Kevin Lubick2018-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See shell.html::entrypoint() for the JS side of things. See wasm_main.cpp for the C++ side of things (EMSCRIPTEN_BINDINGS at the bottom is what glues the two parts together - in general the strings are for JS and the not strings are the C++) To build this yourself, follow the getting started instructions: https://kripken.github.io/emscripten-site/docs/getting_started/downloads.html and download this patch. Then, update compile.sh to point at your sdk and run it (e.g. $SKIA_ROOT/experimental/wasm/compile.sh) Then navigate a browser (e.g. Chrome) to http://localhost:8000/out/wasm/pathkit.html So far, can compile with compile.sh, but not really with GN/ninja (the compilation into many object files and a link at the end seems to mess emscripten up) Bug: skia: Change-Id: If6b300e2b102469e17841265c7866f1a81094d70 Reviewed-on: https://skia-review.googlesource.com/137422 Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Revert "Revert "SkTypes: extract SkTo""Gravatar Hal Canary2018-06-14
| | | | | | | | | | | | | | | | This reverts commit fdcfb8b7c23fbf18f872d2c31d27978235033876. > Original change's description: > > SkTypes: extract SkTo > > > > Change-Id: I8de790d5013db2105ad885fa2683303d7c250b09 > > Reviewed-on: https://skia-review.googlesource.com/133620 > > Reviewed-by: Mike Klein <mtklein@google.com> Change-Id: Ida74fbc5c21248a724a5edbf9fae18a33bcb23aa Reviewed-on: https://skia-review.googlesource.com/134506 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Revert "SkTypes: extract SkTo"Gravatar Hal Canary2018-06-13
| | | | | | | | | | | | | | | | | | | | | | | This reverts commit 2a2f67592602b18527bc3fd449132d420cd5b62e. Reason for revert: this appears to be what is holding up the Chrome roll. Original change's description: > SkTypes: extract SkTo > > Change-Id: I8de790d5013db2105ad885fa2683303d7c250b09 > Reviewed-on: https://skia-review.googlesource.com/133620 > Reviewed-by: Mike Klein <mtklein@google.com> TBR=mtklein@google.com,halcanary@google.com No-Presubmit: true No-Tree-Checks: true No-Try: true Change-Id: Iafd738aedfb679a23c061a51afe4b98a8d4cdfae Reviewed-on: https://skia-review.googlesource.com/134504 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* SkTypes: extract SkToGravatar Hal Canary2018-06-12
| | | | | | Change-Id: I8de790d5013db2105ad885fa2683303d7c250b09 Reviewed-on: https://skia-review.googlesource.com/133620 Reviewed-by: Mike Klein <mtklein@google.com>
* [skottie] Relocate to modules/skottieGravatar Florin Malita2018-05-27
| | | | | | | | TBR= Change-Id: I218d251ca56578a3a7fd4fb86cba9abdc10fb3bd Reviewed-on: https://skia-review.googlesource.com/130322 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* "Modularize" SkSGGravatar Florin Malita2018-05-25
| | | | | | | | | | | * relocate all SkSG-related files under modules/sksg/ * fix various tidbits to make non-sksg builds possible * drop obsolete SampleSGInval.cpp Change-Id: I54e6c5bb1a09f45030fa8d607b3eb3f7cba78957 Reviewed-on: https://skia-review.googlesource.com/130025 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Mike Klein <mtklein@google.com>
* [skottie] SK_API-export public classesGravatar Florin Malita2018-05-23
| | | | | | | | TBR= Change-Id: I14fcbf0932ff5c6de6fc4b500647f74d55d72266 Reviewed-on: https://skia-review.googlesource.com/129463 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Sanitize polystar point countsGravatar Florin Malita2018-05-14
| | | | | | | | | | | | - limit the maximum number of points - round instead of trunc (more accurate when interpolating) - reserve the path verb/pts space upfront Bug: oss-fuzz:8223 Change-Id: Ib6fb83e56c05b16e292789be81f1a48a9c529211 Reviewed-on: https://skia-review.googlesource.com/128017 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Guard against asset cyclesGravatar Florin Malita2018-05-11
| | | | | | | | | | Track assets being attached, and break cycles. Bug: oss-fuzz:8220 Change-Id: I146cf35eba8cfea487c00544fe82f89c3a859803 Reviewed-on: https://skia-review.googlesource.com/127381 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Clean up AttachLayerContextGravatar Florin Malita2018-05-10
| | | | | | | | | | | Avoid double "ind" lookups, avoid repeated AttachParentLayerMatrix calls, hide private functions. TBR= Change-Id: I78f11593ffe241de3cdfabf7b3a88e8f4e62aa0c Reviewed-on: https://skia-review.googlesource.com/127327 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Florin Malita <fmalita@chromium.org>
* [skottie] Allow divide-by-zero in PolyStarAdapter::applyGravatar Florin Malita2018-05-10
| | | | | | | | | | This is safe because count == 0 will produce an empty path. Bug: oss-fuzz:8213 Change-Id: Ie3b546c614ba22eef1ba16a182016c2edd0bd641 Reviewed-on: https://skia-review.googlesource.com/127323 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* allow divide by zeroGravatar Mike Reed2018-05-10
| | | | | | | | Bug: oss-fuzz:8214 Change-Id: Ieb2e61b23f88e399df3bfb284742d4604b7d27fa Reviewed-on: https://skia-review.googlesource.com/127322 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* [skottie] Simplify AttachOpacityGravatar Florin Malita2018-05-09
| | | | | | | | | | | BindProperty can already check for no-op static props, so let's use it. TBR= Change-Id: If1c327871702b57ad9e6db9a8b112c6775cb7f53 Reviewed-on: https://skia-review.googlesource.com/127140 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Json cleanup passGravatar Florin Malita2018-05-09
| | | | | | | | | | | | | | | Assorted Json tweaks: - more defensive internal object access - drop unneeded isObject checks - drop unneeded namespace - restrict the iterator to arrays TBR= Change-Id: I02f1c5d84c429cf5206bc2a0a7843097b92bac94 Reviewed-on: https://skia-review.googlesource.com/126930 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Null value crash in json::ValueRef::toString()Gravatar Florin Malita2018-05-09
| | | | | | | | Bug: skia:7935 Change-Id: Ibe99ccbf5b8dcf889a71acf1fb52063001fd7612 Reviewed-on: https://skia-review.googlesource.com/126923 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] More defensive array indexingGravatar Florin Malita2018-05-07
| | | | | | | | | | | Rapidjson's array [] operator asserts the index is valid (instead of returning a null value when out-of-range) -> we must check. Bug: skia:7918 Change-Id: Ice4a6e6670a824da0d423da4a6f92414cd0dc252 Reviewed-on: https://skia-review.googlesource.com/126441 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Switch to RapidJSONGravatar Florin Malita2018-05-04
| | | | | | | | | | | | | | | | | | | | | | - pull latest RapidJSON under third_party/externals/rapidjson (note: and older RS version is already pulled as part of angle2, and it is also checked in G3) - add a thin Json porting layer (SkottieJson) to isolate RS idiosyncrasies - convert Skottie to use the new helpers - parse the DOM in-place (based on local experiments this is the fastest method) Ta-da: Skottie now parses JSON ~10x faster! Change-Id: Ida9099638f88ed025fee83055c8cd8680ee27176 Reviewed-on: https://skia-review.googlesource.com/125744 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Mike Reed <reed@google.com>
* [skottie] Add support for round-corners geometry effectsGravatar Florin Malita2018-05-01
| | | | | | | | TBR= Change-Id: I5505561df28d5953526662d60fe2300cb112bc37 Reviewed-on: https://skia-review.googlesource.com/124769 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Power-reduce paths (cubicTo -> lineTo)Gravatar Florin Malita2018-05-01
| | | | | | | | | | | | | | | | | For straight lines, Lottie exports control points conincident with the vertices. We can detect this case and emit more efficient lineTo's. One wrinkle: we can only apply this power-reduction post-interpolation (otherwise the path verbs and point count would not be guaranteed to match). Hence we store explicit shape data and defer the SkPath conversion. TBR= Change-Id: I7818be464eabee6096d2078440843243a55c6e98 Reviewed-on: https://skia-review.googlesource.com/124800 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Show load stats in SkottieSlideGravatar Florin Malita2018-04-30
| | | | | | | | TBR= Change-Id: Ie3a1036d9a90cb16d2795134c453759aeff06e3c Reviewed-on: https://skia-review.googlesource.com/124461 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Apply opaque masks as clipsGravatar Florin Malita2018-04-27
| | | | | | | | | | | When the mask stack contains exactly one opaque mask path, we can apply as a clip. TBR= Change-Id: Iadff7534bfa4925557bfbddd59529113f4958d0d Reviewed-on: https://skia-review.googlesource.com/124000 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Add support for inverse mask pathsGravatar Florin Malita2018-04-26
| | | | | | | | TBR= Change-Id: I442033b2e82777c90ee497d8a5b2310af1d2e631 Reviewed-on: https://skia-review.googlesource.com/123840 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Fix many return-std-move-in-c++11 warningsGravatar Kevin Lubick2018-04-16
| | | | | | | | | Change-Id: Ib0042cf412fe3c5fa600b7ae644d16740457535e Reviewed-on: https://skia-review.googlesource.com/121354 Commit-Queue: Kevin Lubick <kjlubick@google.com> Commit-Queue: Mike Klein <mtklein@google.com> Auto-Submit: Kevin Lubick <kjlubick@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* [skottie] Harden json string parsingGravatar Florin Malita2018-04-13
| | | | | | | | TBR= Change-Id: I538d1a86c1adc4a00deffc254c8bfde8d5d6794b Reviewed-on: https://skia-review.googlesource.com/121324 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* experimental/tools: minor code cleanupGravatar Hal Canary2018-04-05
| | | | | | | Change-Id: I4d84dfed284aea9746808bf8a22f45e5bd9c519f Reviewed-on: https://skia-review.googlesource.com/118597 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* [skottie] Clean up SkottiePropertiesGravatar Florin Malita2018-03-23
| | | | | | | | | | | | Split into Adapter and Value CUs. No real changes, just shuffling things around. TBR= Change-Id: I50eaeb3950f4c59e7d7027955b3f49ca2a346e59 Reviewed-on: https://skia-review.googlesource.com/116186 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [sksg] Simplify TrimEffectGravatar Florin Malita2018-03-22
| | | | | | | | | | | | Move the Lottie-specific bits to Skottie and keep TrimEffect as a thin SkTrimPathEffect wrapper. TBR= Change-Id: Iecc6624d01ba61eb96a2056ef8e9e24e731f8979 Reviewed-on: https://skia-review.googlesource.com/115923 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Fix go syntax for Debian compileGravatar Heather Miller2018-03-19
| | | | | | | | | Bug: skia:7688 Change-Id: I5b4f9b3aba7d696d09c1c2f0634c8c866e5ba99d Reviewed-on: https://skia-review.googlesource.com/115077 Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Stephan Altmueller <stephana@google.com> Commit-Queue: Heather Miller <hcm@google.com>
* [sksg] Use SkTrimPathEffect for path trimmingGravatar Florin Malita2018-03-13
| | | | | | | | | | Refactor TrimEffect using SkTrimPathEffect instead of SkDashPathEffect. TBR= Change-Id: I1415b30b58db28cb74b70fb176307634ab0774e8 Reviewed-on: https://skia-review.googlesource.com/114264 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* scripts to generate [m]skps, documentationGravatar Hal Canary2018-03-13
| | | | | | | | NoTry: true Change-Id: Ibd5244fa7099cbbe18e5f68e5a28abb52e03127d Reviewed-on: https://skia-review.googlesource.com/114086 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* [skottie] Reduce parser verbosityGravatar Florin Malita2018-03-07
| | | | | | | | | TBR= Change-Id: I2fafa08cd86533526c829dcf3104577ebec6098f Reviewed-on: https://skia-review.googlesource.com/112940 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [sksg] Cache transformed TrimEffect geometryGravatar Florin Malita2018-03-07
| | | | | | | | | | | Apply the effect at revalidation time, and cache the result. TBR= Change-Id: I166fc0e4e2869bea51e5e45e5a2a50df2f034691 Reviewed-on: https://skia-review.googlesource.com/112801 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Inverted matte supportGravatar Florin Malita2018-03-05
| | | | | | | | | TBR= Change-Id: I761d80d27d9a737710123a183af37135c270b8a7 Reviewed-on: https://skia-review.googlesource.com/112162 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Nested animation supportGravatar Florin Malita2018-02-23
| | | | | | | | | | | | | | | | Extend composition layers to support referencing external .json animations ("$"<PATH> syntax). This is a custom extension (not supported in BM/Lottie). Also make skottie::Animation ref-counted, to facilitate sharing. TBR= Change-Id: I062d031e5868d759f3930dea9b261f9b3ec81684 Reviewed-on: https://skia-review.googlesource.com/109806 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [sksg] Add 'plane' geometry nodeGravatar Florin Malita2018-02-20
| | | | | | | | | | | SG geometry corresponding to SkCanvas::drawPaint(). TBR= Change-Id: I3b368adda187fb92f524756496a3694c03a3113d Reviewed-on: https://skia-review.googlesource.com/108562 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Guard ignored SVG attribute logging with SK_VERBOSE_SVG_PARSINGGravatar Florin Malita2018-02-16
| | | | | | | Change-Id: I01bb8c70dfcd3180aaf620f987b99ae0286cc48c Reviewed-on: https://skia-review.googlesource.com/108160 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* report ignore attr once onlyGravatar Cary Clark2018-02-16
| | | | | | | | | | | | | | bots like this one https://chromium-swarm.appspot.com/task?id=3bb84dda02fc0e10 fill its log with this debug message, so just write it once R=fmalita@chromium.org Bug: skia: Change-Id: Ia82d89aa23c3a5984080f5d9efdc03ff18b6515e Reviewed-on: https://skia-review.googlesource.com/108100 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Delete GLFWTestGravatar Jim Van Verth2018-02-08
| | | | | | | Change-Id: Ia303259e0e157d6066428183002748752fad3a7c Reviewed-on: https://skia-review.googlesource.com/105606 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* [skottie] FMA-friendlier lerpGravatar Florin Malita2018-02-05
| | | | | | | | | TBR= Change-Id: Id43e463da99bb0478c48ba48a909cead817e4498 Reviewed-on: https://skia-review.googlesource.com/103600 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Split-position supportGravatar Florin Malita2018-02-01
| | | | | | | | | TBR= Change-Id: I82433bc9a73f89956c2b25146e1521412d125945 Reviewed-on: https://skia-review.googlesource.com/102622 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Clamp SkCubicMap results to [0,1]Gravatar Florin Malita2018-01-31
| | | | | | | | | | | | | | Looks like SkCubicMap can produce slightly out-of-range values. That's prolly some unimportant precision artifact, but since we're asserting t is in [0,1] down the line it'd be nice to not crash in debug. TBR= Change-Id: I048b691d1c0f0977556d5b25893a6dab2b9986cc Reviewed-on: https://skia-review.googlesource.com/102480 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [sksg] Initial text supportGravatar Florin Malita2018-01-31
| | | | | | | | | | | Use the new node type for SkottieSlide2 labels. TBR= Change-Id: Icd6a4faf1c281bd83a2331c0072d1a6ed71acc09 Reviewed-on: https://skia-review.googlesource.com/102441 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Anti-alias masksGravatar Florin Malita2018-01-30
| | | | | | | | | TBR= Change-Id: I16eca80b515fde8ad87a79c01ffd0ea2b3e31259 Reviewed-on: https://skia-review.googlesource.com/101740 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Layer clip supportGravatar Florin Malita2018-01-29
| | | | | | | | | TBR= Change-Id: Ibf65efc69031f8f6e19f4f28cccab29c357e704d Reviewed-on: https://skia-review.googlesource.com/101540 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Time start, time stretchGravatar Florin Malita2018-01-29
| | | | | | | | | | | | Pre-compositions (only) can have their timelines adjusted via bias and scale. TBR= Change-Id: I519fa1d7cf210f7f152dcabcbe004119a2cf08d9 Reviewed-on: https://skia-review.googlesource.com/101460 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Hierarchical animatorsGravatar Florin Malita2018-01-29
| | | | | | | | | | | | | | Instead of a flat animator space, introduce animator groups. This allows us to encapsulate layer animators and only dispatch ticks when their owning layer is active. TBR= Change-Id: I1fc8a55abf68a712b71969bb1a11275dbe54c236 Reviewed-on: https://skia-review.googlesource.com/101201 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Revert "[skottie] Cache attached assets"Gravatar Florin Malita2018-01-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit ba3ed69a4ee4125750cd56ca9141c2b78fd65d22. Reason for revert: Looks like asset references can manipulate the timeline (preComps), so we do need distinct instances for each ref. May revisit in the future for cases where all instances share the same timeline. Original change's description: > [skottie] Cache attached assets > > This avoids redundant instantiations for assets referenced multiple > times. > > TBR= > > Change-Id: I8f61f73e695f0d567e55ef077c7d3fb344399f12 > Reviewed-on: https://skia-review.googlesource.com/101002 > Reviewed-by: Florin Malita <fmalita@chromium.org> > Commit-Queue: Florin Malita <fmalita@chromium.org> TBR=fmalita@chromium.org Change-Id: I3e537ace9dfbf69a11f421992db033a0f8ad2aa9 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/101220 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Reduce parser verbosityGravatar Florin Malita2018-01-29
| | | | | | | | | TBR= Change-Id: I9a949cfb9e7625b93988d9fc251c8696ae99007a Reviewed-on: https://skia-review.googlesource.com/101080 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>