aboutsummaryrefslogtreecommitdiffhomepage
path: root/gyp/utils.gypi
Commit message (Collapse)AuthorAge
* deferred canvasGravatar reed2016-07-08
| | | | | | | | | tries to eliminate unneeded clipRects and concats (and their associated save/restores). BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2120333002 Review-Url: https://codereview.chromium.org/2120333002
* Move headers in include/utils/win to src/utils/win.Gravatar bungeman2016-06-16
| | | | | | These headers are not intended for external use and are only used in src. Review-Url: https://codereview.chromium.org/2070983002
* SkMultiPictureDocument & SkMultiPictureDocumentReaderGravatar halcanary2016-06-02
| | | | | | | | | | | | also, a new DM::Src. motivation: To be used to test the printing pipeline in Chromium. BUG=skia:5370 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2023593002 Review-Url: https://codereview.chromium.org/2023593002
* return 4x4 matrix from SkColorSpaceGravatar reed2016-05-03
| | | | | | | | | move SkMatrix44 into core (with alias in utils to transition chrome) BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1943833002 Review-Url: https://codereview.chromium.org/1943833002
* utils.gypi: remove empty file SkMD5.cppGravatar halcanary2016-04-22
| | | | Review URL: https://codereview.chromium.org/1905363002
* Templatize SkToXXX.Gravatar bungeman2016-03-19
| | | | | | | | | | | Makes the checked cast in debug more correct, avoiding new warnings in vs2015. BUG=skia:4553 Committed: https://skia.googlesource.com/skia/+/0be9e806af72b3e029e691eef5c891c90d3fd320 Review URL: https://codereview.chromium.org/1814153003
* Revert of Templatize SkToXXX. (patchset #2 id:20001 of ↵Gravatar bungeman2016-03-18
| | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1814153003/ ) Reason for revert: Chrome does not yet have std::underlying_type. Original issue's description: > Templatize SkToXXX. > > Makes the checked cast in debug more correct, avoiding new > warnings in vs2015. > > BUG=skia:4553 > > Committed: https://skia.googlesource.com/skia/+/0be9e806af72b3e029e691eef5c891c90d3fd320 TBR=reed@google.com,mtklein@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4553 Review URL: https://codereview.chromium.org/1820433002
* Templatize SkToXXX.Gravatar bungeman2016-03-18
| | | | | | | | | Makes the checked cast in debug more correct, avoiding new warnings in vs2015. BUG=skia:4553 Review URL: https://codereview.chromium.org/1814153003
* Remove SkImageGeneratorUtils. None of this code is used.Gravatar brianosman2016-03-08
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1778613002 Review URL: https://codereview.chromium.org/1778613002
* dead code: really kill these off againGravatar mtklein2016-02-17
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1702343002 Review URL: https://codereview.chromium.org/1702343002
* These files must be in the gypi for GN to remove them...Gravatar mtklein2016-02-16
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1696373005 Review URL: https://codereview.chromium.org/1696373005
* clean up more dead codeGravatar mtklein2016-02-16
| | | | | | | | | | - SkSHA1 is unused - SkRunnable is obsolete now that we have std::function BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1705583003 Review URL: https://codereview.chromium.org/1705583003
* Delete dead code. SkBitmapHasher has not been used since gm.Gravatar mtklein2016-02-16
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1704783002 Review URL: https://codereview.chromium.org/1704783002
* Add ability to extract YUV planes from SkImageGravatar bsalomon2016-02-01
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1513393002 Review URL: https://codereview.chromium.org/1513393002
* remove SkDebugUtils.h -- unusedGravatar reed2016-01-16
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1585553002 Review URL: https://codereview.chromium.org/1585553002
* remove unused SkCubicIntervalGravatar reed2015-12-23
| | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1533393005 TBR=scroggo Review URL: https://codereview.chromium.org/1533393005
* move SkParsePaint.h into viewsGravatar reed2015-12-22
| | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1547653002 TBR= Review URL: https://codereview.chromium.org/1547653002
* remove unused SkCullPointsGravatar reed2015-12-21
| | | | | | | | | | | | need to remove file references from chrome before landing this https://codereview.chromium.org/1547603002# BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1541933004 TBR=scroggo Review URL: https://codereview.chromium.org/1541933004
* Remove SkThread::setProcessorAffinity()Gravatar mtklein2015-10-20
| | | | | | | | | | It's only used by a couple unit tests. We have other ways of getting the same quality testing of our ref-count code now (e.g. TSAN). BUG=skia: CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot Review URL: https://codereview.chromium.org/1408213005
* Remove SkBitmapSourceGravatar fmalita2015-09-25
| | | | | | | | | To avoid breaking existing SKPs, add a deserialization stub which unflattens SkBitmapSource records to SkImageSources. R=reed@google.com,mtklein@google.com,robertphillips@google.com Review URL: https://codereview.chromium.org/1363913002
* Revert of Provides multiple implementations of Android's ↵Gravatar msarett2015-09-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | SkBitmapRegionDecoder (patchset #16 id:360001 of https://codereview.chromium.org/1288963002/ ) Reason for revert: Breaking Android bots Bad use of the utils folder Original issue's description: > Provides various implementations of Android's SkBitmapRegionDecoder. > > Implements testing in DM for these implementations. > > nanobench testing will follow after this. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/76f755e6d54a32f9887ad254ce59a3a62f28bde4 TBR=scroggo@google.com,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1322773004
* Provides various implementations of Android's SkBitmapRegionDecoder.Gravatar msarett2015-09-04
| | | | | | | | | | Implements testing in DM for these implementations. nanobench testing will follow after this. BUG=skia: Review URL: https://codereview.chromium.org/1288963002
* Suppress embedding fonts when the skp's fonts match the OS fonts.Gravatar caryclark2015-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The million SKPs generated require >5T of storage. A good deal of that are copies of system fonts. Chrome built with #DEFINE SK_WHITELIST_SERIALIZED_TYPEFACES will omit the font data if the font matches a precomputed checksum. The captured SKP prepends sk_ to the names of fonts that have their data omitted. The SKP consumer can either add renamed fonts from the recording machine, or add gDeserializeTypefaceDelegate = WhitelistDeserializeTypeface; which strips the sk_ prefix when deserializing typefaces. whitelist_typefaces --check Computes the checksums of fallback fonts and returns 0 if the checksums match the checked-in file SkWhitelistChecksum.cpp. whitelist_typefaces --generate Writes an updated version of SkWhitelistChecksum.cpp. (Added Mike since this modifies a public header) R=bungeman@google.com,rmistry@google.com,reed@google.com Review URL: https://codereview.chromium.org/1317913005
* add gm for image->newShaderGravatar reed2015-08-20
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/1302943004
* remove SkDeferredCanvasGravatar reed2015-08-19
| | | | | | | | Waiting a day or so to see if the blink-removal of SkDeferredCanvas sticks BUG=skia: Review URL: https://codereview.chromium.org/1269093002
* Adding debug SkScalerContext which returns random mask formatsGravatar joshualitt2015-07-29
| | | | | | | TBR=reed@google.com BUG=skia: Review URL: https://codereview.chromium.org/1260473004
* Move SkTHash.h to include/private.Gravatar mtklein2015-07-28
| | | | | | | | | | | | | | | include/views/SkOSWindow_Win.h includes it. To move SkTHash.h to include/private, SkChecksum.h needs to go there too. To move SkChecksum.h to include/private, SkTLogic needs to go there too. This adds a bunch of -Iinclude/private to tools.gyp I missed in the last CL. No public API changes. TBR=reed@google.com BUG=skia:4126 Review URL: https://codereview.chromium.org/1260613006
* Revert "Move headers used by headers in include/ to include/private."Gravatar Mike Klein2015-07-01
| | | | | | | | This reverts commit 928e16565f3e69cd6661e9ad300ac17e3f33c0c8. BUG=skia: Review URL: https://codereview.chromium.org/1213093004.
* Move headers used by headers in include/ to include/private.Gravatar mtklein2015-07-01
| | | | | | | | | | | Some of this is transitive, like SkRecords.h used by SkMiniRecorder.h used by (public) SkPictureRecorder.h. BUG=skia: Committed: https://skia.googlesource.com/skia/+/a89f55198bdc58f0b6f6196907ab25a6afc1a661 Review URL: https://codereview.chromium.org/1217293004
* Revert "Move headers used by headers in include/ to include/private."Gravatar jvanverth2015-07-01
| | | | | | | | | | | | | This reverts commit a89f55198bdc58f0b6f6196907ab25a6afc1a661. Reason: breaking the roll. TBR=mtklein@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1216033008
* Move headers used by headers in include/ to include/private.Gravatar mtklein2015-07-01
| | | | | | | | | Some of this is transitive, like SkRecords.h used by SkMiniRecorder.h used by (public) SkPictureRecorder.h. BUG=skia: Review URL: https://codereview.chromium.org/1217293004
* Add and use SkSemaphoreGravatar mtklein2015-06-17
| | | | | | | | | | | This allows a faster implementation of our SkTaskGroup thread pool. It also means we don't need SkCondVar (which, remember, isn't supported on XP.) Doing some testing with SampleApp, this really cuts down on the overhead from SkTaskGroup, e.g. 30% to 10%. BUG=skia: Review URL: https://codereview.chromium.org/1192573003
* Sketch splitting SkPicture into an interface and SkBigPicture.Gravatar mtklein2015-05-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds small pictures for drawRect(), drawTextBlob(), and drawPath(). These cover about 89% of draw calls from Blink SKPs, and about 25% of draw calls from our GMs. SkPicture handles: - serialization and deserialization - unique IDs Everything else is left to the subclasses: - playback(), cullRect() - hasBitmap(), hasText(), suitableForGPU(), etc. - LayerInfo / AccelData if applicable. The time to record a 1-op picture improves a good chunk (2 mallocs to 1), and the time to record a 0-op picture greatly improves (2 mallocs to none): picture_overhead_draw: 450ns -> 350ns picture_overhead_nodraw: 300ns -> 90ns BUG=skia: Committed: https://skia.googlesource.com/skia/+/c92c129ff85b05a714bd1bf921c02d5e14651f8b Latest blink_linux_rel: http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/61248 Committed: https://skia.googlesource.com/skia/+/15877b6eae33a9282458bdb904a6d00440eca0ec http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/62015 Review URL: https://codereview.chromium.org/1112523006
* Revert of Sketch splitting SkPicture into an interface and SkBigPicture. ↵Gravatar mtklein2015-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #25 id:480001 of https://codereview.chromium.org/1112523006/) Reason for revert: win_chromium_compile_dbg_ng FAILED: ninja -t msvc -e environment.x86 -- E:\b\build\goma/gomacc "E:\b\depot_tools\win_toolchain\vs2013_files\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\third_party\skia\src\core\skia.SkBitmapHeap.obj.rsp /c ..\..\third_party\skia\src\core\SkBitmapHeap.cpp /Foobj\third_party\skia\src\core\skia.SkBitmapHeap.obj /Fdobj\skia\skia.cc.pdb e:\b\build\slave\win\build\src\third_party\skia\include\core\skpicture.h(176) : error C2487: 'CURRENT_PICTURE_VERSION' : member of dll interface class may not be declared with dll interface Original issue's description: > Sketch splitting SkPicture into an interface and SkBigPicture. > > Adds small pictures for drawRect(), drawTextBlob(), and drawPath(). > These cover about 89% of draw calls from Blink SKPs, > and about 25% of draw calls from our GMs. > > SkPicture handles: > - serialization and deserialization > - unique IDs > > Everything else is left to the subclasses: > - playback(), cullRect() > - hasBitmap(), hasText(), suitableForGPU(), etc. > - LayerInfo / AccelData if applicable. > > The time to record a 1-op picture improves a good chunk > (2 mallocs to 1), and the time to record a 0-op picture > greatly improves (2 mallocs to none): > > picture_overhead_draw: 450ns -> 350ns > picture_overhead_nodraw: 300ns -> 90ns > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/c92c129ff85b05a714bd1bf921c02d5e14651f8b > > Latest blink_linux_rel: > > http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/61248 > > Committed: https://skia.googlesource.com/skia/+/15877b6eae33a9282458bdb904a6d00440eca0ec TBR=reed@google.com,robertphillips@google.com,fmalita@chromium.org,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1130283004
* Sketch splitting SkPicture into an interface and SkBigPicture.Gravatar mtklein2015-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds small pictures for drawRect(), drawTextBlob(), and drawPath(). These cover about 89% of draw calls from Blink SKPs, and about 25% of draw calls from our GMs. SkPicture handles: - serialization and deserialization - unique IDs Everything else is left to the subclasses: - playback(), cullRect() - hasBitmap(), hasText(), suitableForGPU(), etc. - LayerInfo / AccelData if applicable. The time to record a 1-op picture improves a good chunk (2 mallocs to 1), and the time to record a 0-op picture greatly improves (2 mallocs to none): picture_overhead_draw: 450ns -> 350ns picture_overhead_nodraw: 300ns -> 90ns BUG=skia: Committed: https://skia.googlesource.com/skia/+/c92c129ff85b05a714bd1bf921c02d5e14651f8b Latest blink_linux_rel: http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/61248 Review URL: https://codereview.chromium.org/1112523006
* Revert of Sketch splitting SkPicture into an interface and SkBigPicture. ↵Gravatar reed2015-05-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #22 id:420001 of https://codereview.chromium.org/1112523006/) Reason for revert: speculative revert to fix failures in DEPS roll Original issue's description: > Sketch splitting SkPicture into an interface and SkBigPicture. > > Adds small pictures for drawRect(), drawTextBlob(), and drawPath(). > These cover about 89% of draw calls from Blink SKPs, > and about 25% of draw calls from our GMs. > > SkPicture handles: > - serialization and deserialization > - unique IDs > > Everything else is left to the subclasses: > - playback(), cullRect() > - hasBitmap(), hasText(), suitableForGPU(), etc. > - LayerInfo / AccelData if applicable. > > The time to record a 1-op picture improves a good chunk > (2 mallocs to 1), and the time to record a 0-op picture > greatly improves (2 mallocs to none): > > picture_overhead_draw: 450ns -> 350ns > picture_overhead_nodraw: 300ns -> 90ns > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/c92c129ff85b05a714bd1bf921c02d5e14651f8b TBR=reed@google.com,robertphillips@google.com,mtklein@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1130333002
* Sketch splitting SkPicture into an interface and SkBigPicture.Gravatar mtklein2015-05-07
| | | | | | | | | | | | | | | | | | | | | | | | | | Adds small pictures for drawRect(), drawTextBlob(), and drawPath(). These cover about 89% of draw calls from Blink SKPs, and about 25% of draw calls from our GMs. SkPicture handles: - serialization and deserialization - unique IDs Everything else is left to the subclasses: - playback(), cullRect() - hasBitmap(), hasText(), suitableForGPU(), etc. - LayerInfo / AccelData if applicable. The time to record a 1-op picture improves a good chunk (2 mallocs to 1), and the time to record a 0-op picture greatly improves (2 mallocs to none): picture_overhead_draw: 450ns -> 350ns picture_overhead_nodraw: 300ns -> 90ns BUG=skia: Review URL: https://codereview.chromium.org/1112523006
* Revert of Revert of remove unused (by clients) SkPathUtils (patchset #1 id:1 ↵Gravatar reed2015-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1060703003/) Reason for revert: fix (removal from gypi/gn files) has landed in chrome. Original issue's description: > Revert of remove unused (by clients) SkPathUtils (patchset #1 id:1 of https://codereview.chromium.org/1088383003/) > > Reason for revert: > This change is causing the DEPS roll to fail: > > > http://build.chromium.org/p/tryserver.chromium.linux/builders/android_chromium_gn_compile_rel/builds/78771/steps/gn/logs/stdio > > Original issue's description: > > remove unused (by clients) SkPathUtils > > > > BUG=skia: > > > > Committed: https://skia.googlesource.com/skia/+/aab35d91b8b80acd1902594bbf542083fdfa4bb7 > > TBR=scroggo@google.com,reed@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/bdb0bf5f8858043878d8a4fa8130c6c87bef3fd4 TBR=scroggo@google.com,jcgregorio@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1091963002
* Revert of remove unused (by clients) SkPathUtils (patchset #1 id:1 of ↵Gravatar jcgregorio2015-04-16
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1088383003/) Reason for revert: This change is causing the DEPS roll to fail: http://build.chromium.org/p/tryserver.chromium.linux/builders/android_chromium_gn_compile_rel/builds/78771/steps/gn/logs/stdio Original issue's description: > remove unused (by clients) SkPathUtils > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/aab35d91b8b80acd1902594bbf542083fdfa4bb7 TBR=scroggo@google.com,reed@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1060703003
* remove unused (by clients) SkPathUtilsGravatar reed2015-04-16
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1088383003
* Add a paint filter utility canvas (SkPaintFilterCanvas)Gravatar fmalita2015-03-26
| | | | | | | | | | Introduce a paint filter proxy base class as a SkDrawFilter replacement, and convert SkDebugCanvas to use the new approach. BUG=skia:3587 R=reed@google.com,mtklein@google.com,robertphillips@google.com,tomhudson@google.com Review URL: https://codereview.chromium.org/1032173002
* Add copyright headers to remaining gyp files.Gravatar scroggo2015-03-25
| | | | | | | | Prevents some PRESUBMIT errors. TBR=mtklein@google.com Review URL: https://codereview.chromium.org/1035523003
* Remove SkProxyCanvas.Gravatar scroggo2015-01-29
| | | | | | | | | | | | | | SkProxyCanvas is redundant with SkNWayCanvas, and means another class we have to keep in sync with the SkCanvas interface. Remove tests which use an SkProxyCanvas. Requires a change to chromium. BUG=skia:3279 BUG=skia:500 Review URL: https://codereview.chromium.org/886813002
* remove (unused) GatherPixelRefsGravatar reed2015-01-22
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/869463002
* http://skbug.com/3130 step 4 (include/utils/SkWGL.h gone for good)Gravatar halcanary2014-11-18
| | | | | | BUG=skia:3130 Review URL: https://codereview.chromium.org/729363003
* http://skbug.com/3130 step 1 (to fix chromium roll)Gravatar halcanary2014-11-15
| | | | | | | BUG=skia:3130 TBR=djsollen@google.com, bsalomon@google.com Review URL: https://codereview.chromium.org/729173002
* Move WGL header from include to srcGravatar djsollen2014-11-14
| | | | | | NOTRY=true Review URL: https://codereview.chromium.org/728823002
* move SkTextBox into utilsGravatar reed2014-11-03
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/696293005
* Add utils to better quantize grayscale values to three bit indices whileGravatar pavel2014-10-23
| | | | | | | | | | compressing coverage masks. Signed-off-by: Pavel Krajcevski <pavel@cs.unc.edu> BUG=skia: Review URL: https://codereview.chromium.org/669243003
* SkThreadPool ~~> SkTaskGroupGravatar mtklein2014-09-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SkTaskGroup is like SkThreadPool except the threads stay in one global pool. Each SkTaskGroup itself is tiny (4 bytes) and its wait() method applies only to tasks add()ed to that instance, not the whole thread pool. This means we don't need to bring up new thread pools when tests themselves want to use multithreading (e.g. pathops, quilt). We just create a new SkTaskGroup and wait for that to complete. This should be more efficient, and allow us to expand where we use threads to really latency sensitive places. E.g. we can probably now use these in nanobench for CPU .skp rendering. Now that all threads are sharing the same pool, I think we can remove most of the custom mechanism pathops tests use to control threading. They'll just ride on the global pool with all other tests now. This (temporarily?) removes the GPU multithreading feature from DM, which we don't use. On my desktop, DM runs a little faster (57s -> 55s) in Debug, and a lot faster in Release (36s -> 24s). The bots show speedups of similar proportions, cutting more than a minute off the N4/Release and Win7/Debug runtimes. BUG=skia: Committed: https://skia.googlesource.com/skia/+/9c7207b5dc71dc5a96a2eb107d401133333d5b6f R=caryclark@google.com, bsalomon@google.com, bungeman@google.com, mtklein@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/531653002