aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools
Commit message (Collapse)AuthorAge
* [skotty] Minor tools tweaksGravatar Florin Malita2018-01-09
| | | | | | | | | | | * fix "show inval" persistency in SkottySlide * add frame-stamp to DM film strip TBR= Change-Id: I965b28fa25b4d6ddfa1ddf80f5f9187dff3f943c Reviewed-on: https://skia-review.googlesource.com/92941 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* First version of SkQP app to run on Firebase TestlabGravatar Stephan Altmueller2018-01-08
| | | | | | | | | | | | | | | | | | Adds activities to the skqp app so it can run as an Android app (as opposed to just instrumentation tests). A user can trigger the tests via a button. Adds the an intent receiver so the tests can be triggered on Firebase Testlab via the gameloop option. It adds the run_testlab.go script to run an apk across devices on Firebase Testlab. Bug: skia: Change-Id: I3ff5c37d743fa47913a916a0fa1e7db3c2cc79c7 Reviewed-on: https://skia-review.googlesource.com/89163 Commit-Queue: Stephan Altmueller <stephana@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com> Reviewed-by: Derek Sollenberger <djsollen@google.com>
* make growToInclude privateGravatar Mike Reed2018-01-08
| | | | | | | | | Bug: skia: Change-Id: Id55344ba2f33563d22c2bf4d5829a9a31095a47d Reviewed-on: https://skia-review.googlesource.com/92143 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Cary Clark <caryclark@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* move largest apis into privateGravatar Mike Reed2018-01-08
| | | | | | | | | Related to https://skia-review.googlesource.com/c/skia/+/91860 Bug: skia: Change-Id: Ia8fd981b422bbab75541b078277d2e09e1fc9d41 Reviewed-on: https://skia-review.googlesource.com/91940 Reviewed-by: Brian Salomon <bsalomon@google.com>
* [skotty,sksg] Initial image supportGravatar Florin Malita2018-01-08
| | | | | | | | TBR= Change-Id: Ib3c918b1d746e4f190ae05708681f2d5519afdb2 Reviewed-on: https://skia-review.googlesource.com/91980 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* add skotty-dir slideGravatar Mike Reed2018-01-08
| | | | | | | | | | Shows a directory of skotties in a grid Bug: skia: Change-Id: I96b0700d8809c94a394cf517222123967afb20dc Reviewed-on: https://skia-review.googlesource.com/91407 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* SkQP: dump csv reportGravatar Hal Canary2018-01-07
| | | | | | | Change-Id: I7485ed3315acdc3dd3b795a42846ed3deedb6b25 Reviewed-on: https://skia-review.googlesource.com/91403 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* [Viewer] Preserve gesture transformation matrix on slide/backend changeGravatar Brian Salomon2018-01-05
| | | | | | | Change-Id: I417fb9b6d6b7c95884dff6871731883fe3736437 Reviewed-on: https://skia-review.googlesource.com/91460 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Separate compile task from calmbench taskGravatar Yuqian Li2018-01-05
| | | | | | | | | Bug: skia:7344 Change-Id: I019fe5e3178d13ccf3a510bdcf1c81915149def5 Reviewed-on: https://skia-review.googlesource.com/89900 Commit-Queue: Yuqian Li <liyuqian@google.com> Reviewed-by: Eric Boren <borenet@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
* update bookmakerGravatar Cary Clark2018-01-05
| | | | | | | | | | | | | | | | | | | | | change https://skia-review.googlesource.com/c/skia/+/91380 should have triggered a bookmaker failure but, while it reported the error it did not return that the check failed. See https://chromium-swarm.appspot.com/task?id=3adfe04df6f9ce10&refresh=10 Update bookmaker to detect and return error also, add some SkImage examples fixed some linefeeds TBR=bsalomon@google.com Docs-Preview: https://skia.org/?cl=90883 Bug: skia:6898 Change-Id: I3530c8d81785b71568f6229c2aad3259dded59d7 Reviewed-on: https://skia-review.googlesource.com/90883 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Cary Clark <caryclark@skia.org>
* Enable conditional-uninitialized flagGravatar Kevin Lubick2018-01-05
| | | | | | | | | Bug: skia:7462 Cq-Include-Trybots: skia.primary:Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Release-All-SKNX_NO_SIMD Change-Id: I1c0a09984bf28a5c620a89af56040f018bae6310 Reviewed-on: https://skia-review.googlesource.com/90941 Commit-Queue: Kevin Lubick <kjlubick@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* limit bookmaker status outputGravatar Cary Clark2018-01-04
| | | | | | | | | | | | | | streamline 'working as intended' output notify when output changed fix bug which appended output incorrectly to SkBitmap.h fix bug that hid bad SkSurface.h from detection Docs-Preview: https://skia.org/?cl=90162 Bug: skia:6898 Change-Id: I067cfe5bbad706345fb5cd540cdc3835ce22d822 Reviewed-on: https://skia-review.googlesource.com/90162 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Cary Clark <caryclark@skia.org>
* remove unneeded readbuffer flagsGravatar Mike Reed2018-01-03
| | | | | | | | | | | - buffers are always 'cross-process' - readbuffer is always validating Bug:796107 Change-Id: I59614e9c29490c0b029c60d2aafe2806671bc9e1 Reviewed-on: https://skia-review.googlesource.com/90560 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Reed <reed@google.com>
* support srgb flag in bookmakerGravatar Cary Clark2018-01-03
| | | | | | | | | | | | | | | allow examples to work with colorspace fix point array plural form fix spacing after private message add some SkImage documentation TBR=caryclark@google.com Docs-Preview: https://skia.org/?cl=90360 Bug: skia:6898 Change-Id: I045ee68e7dd9747ec5d40d95588bbc1594c45366 Reviewed-on: https://skia-review.googlesource.com/90360 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@skia.org>
* [skotty] Clip/scale/center animations in ViewerGravatar Florin Malita2018-01-02
| | | | | | | | | | | Animations have explicit bounds. Updated Viewer to map the animation to its full viewport. TBR= Change-Id: I5a016cace8ae97e9b4f0b93261fcfb4993ea2307 Reviewed-on: https://skia-review.googlesource.com/90263 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Do `gclient sync` before compileGravatar Yuqian Li2018-01-02
| | | | | | | | Bug: skia:7388 Change-Id: I8d68fe754ceeedea8ca7ff53ad9d2bb18a328288 Reviewed-on: https://skia-review.googlesource.com/90241 Reviewed-by: Eric Boren <borenet@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* use tool_utils to encapsulate checking for recording canvas and makeSurfaceGravatar Mike Reed2018-01-02
| | | | | | | | Bug: skia: Change-Id: Ia93ee09dd213b8d6ad5c18e887add5ff3448c824 Reviewed-on: https://skia-review.googlesource.com/90243 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* update image doc and minor bookmaker fixesGravatar Cary Clark2018-01-02
| | | | | | | | | | | | | | | | | | | | image doc is still a work in progress. Update online version to latest; updating include header is still a ways off. Remove SkPaint::flatten() example since parameter is not publicly accessible. Minor changes to fix typedef and std::function references. TBR=rmistry@google.com Docs-Preview: https://skia.org/?cl=87120 Bug: skia:6898 Change-Id: I3553bc5fca97c5997aa61ea034b5ca10cb10df75 Reviewed-on: https://skia-review.googlesource.com/87120 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@skia.org>
* [skotty] Add Json DM sourceGravatar Florin Malita2017-12-31
| | | | | | | | | | Generates a filmstrip with evenly distributed frames for a Skotty animation. TBR= Change-Id: Ia89e0d65d59fd5ab4ef221a231e9b3e0c033828a Reviewed-on: https://skia-review.googlesource.com/90025 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Initial Lottie loader impl (Skotty)Gravatar Florin Malita2017-12-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Coarse workflow: * Construction 1) build a Json tree 2) collect asset IDs (for preComp/image layer resolution) 3) "attach" pass - traverse the Json tree - build an SkSG dom, one fragment at a time - attach "animator" objects to the dom, for each animated prop 4) done, we can throw away the Json tree * For each animation tick 1) iterate over active animators and poke their respective dom nodes/attributes 2) revalidate the SkSG dom 3) draw the SkSG dom Note: post construction, things are super-simple - we just poke SkSG DOM attributes with interpolated values, and everything else is handled by SkSG (invalidation, revalidation, render). Change-Id: I96a02be7eb4fb4cb3831f59bf2b3908ea190c0dd Reviewed-on: https://skia-review.googlesource.com/89420 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* SkQP: more READMEGravatar Hal Canary2017-12-21
| | | | | | | Change-Id: Id22a094445ea75a7dc60270a195b9f42bb6849f1 Reviewed-on: https://skia-review.googlesource.com/88680 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* fix bookmaker return valueGravatar Cary Clark2017-12-21
| | | | | | | | | | | | | | | | | | | | | crosscheck in bookmaker allows discovery of multiple errors, but fails to return that an error occurred. Fix SkSurface so it is up to date with includes. Add include parameter name in SkSurface. Allow longer parameter descriptions. TBR=bsalomon@google.com,rmistry@google.com Docs-Preview: https://skia.org/?cl=88041 Bug: skia:6898 Change-Id: I9daf83f7f6753b3d1dc996a76e4693b3b8d6798c Reviewed-on: https://skia-review.googlesource.com/88041 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Ravi Mistry <rmistry@google.com> Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@google.com>
* add serialprocs to MultiDocument, hide redundant methodsGravatar Mike Reed2017-12-21
| | | | | | | | | Bug: skia: Change-Id: I6521e93af79439bd8c1d2f5130a68492044a2ee9 Reviewed-on: https://skia-review.googlesource.com/87788 Reviewed-by: Wei Li <weili@chromium.org> Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Mike Reed <reed@google.com>
* remove unused willPlayBackBitmaps from pictureGravatar Mike Reed2017-12-20
| | | | | | | | | | | and SkPictureAnalyzer Bug: skia: Change-Id: I394eca648234b1a69e6f9a0a88c407366a33d079 Reviewed-on: https://skia-review.googlesource.com/87791 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* make InternalOnly_ functions actually privateGravatar Mike Reed2017-12-20
| | | | | | | | Bug: skia: Change-Id: Id06ad4283a0cd9835b3349c783b705b30435855a Reviewed-on: https://skia-review.googlesource.com/87980 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* SkQP: better error report workflowGravatar Hal Canary2017-12-20
| | | | | | | | | | | | * Generate report in app after running all tests. * Add script to unpack backup.ab file. * Remove unused index file. * Streamline instructions in README.md. Change-Id: I44c80b17332eb4496ee31578287b691bd646d71a Reviewed-on: https://skia-review.googlesource.com/86742 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Hal Canary <halcanary@google.com>
* Avoid redrawing every time the mouse movesGravatar Brian Osman2017-12-20
| | | | | | | | Bug: skia: Change-Id: Idc74e6c7e50f8d416d716ee666b37b52792c7c4b Reviewed-on: https://skia-review.googlesource.com/87789 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Init executor in SetCtxOptionsFromCommonFlagsGravatar Chris Dalton2017-12-20
| | | | | | | | Bug: skia: Change-Id: I45501b6e32ac593d5d69c98c1455d9bde01b239f Reviewed-on: https://skia-review.googlesource.com/87603 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Move stats code to new layer (with configurable list of timers)Gravatar Brian Osman2017-12-20
| | | | | | | | Bug: skia: Change-Id: I3ca5c8c7047309983018339ec7b71b9aea5ee786 Reviewed-on: https://skia-review.googlesource.com/86921 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Add matrix stack to SkAtlasTextTarget.Gravatar Brian Salomon2017-12-20
| | | | | | | | | Makes SkAtlasTextRenderer::SDFVertex now has a 3 component position vector. Change-Id: I7ec1a8068fb84388a82e1748d6e9d02820d55abd Reviewed-on: https://skia-review.googlesource.com/84202 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* Update SkSurface MakeFromBackend* factories to take an SkColorType.Gravatar Greg Daniel2017-12-19
| | | | | | | | Bug: skia: Change-Id: Ib1b03b1181ec937843eac2e8d8cb03ebe53e32c1 Reviewed-on: https://skia-review.googlesource.com/86760 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Add a tools flag to suppress geometry shadersGravatar Chris Dalton2017-12-19
| | | | | | | | | Bug: skia: Change-Id: I38736c5d49e3b281c2d23af3908575274ff97b5c Reviewed-on: https://skia-review.googlesource.com/86282 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* GOOGLE3 -> SK_BUILD_FOR_GOOGLE3Gravatar Mike Klein2017-12-19
| | | | | | | | | | | | | This is more consistent with our other SK_BUILD_FOR_... macros, and less likely to collide with other preprocessor logic. (Luckily, this was defined in public.bzl, so we can do this all in one CL in the Skia repo.) Change-Id: I5f232888288c9c53fad445545d983d0fb0b4add8 Reviewed-on: https://skia-review.googlesource.com/86940 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Add new SkImage factory to create from GrBackendTexture with SkColorTypeGravatar Greg Daniel2017-12-18
| | | | | | | | Bug: skia: Change-Id: I46bdc54b6d9cdacc8f5a06644aa6b110837879f0 Reviewed-on: https://skia-review.googlesource.com/84342 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* remove append_from_srgb()Gravatar Mike Klein2017-12-18
| | | | | | | | | | | It's now no different than append(from_srgb). Bug: skia:7419 Change-Id: I97c59b6987f033ec2f1859db40ca3056b87b370a Reviewed-on: https://skia-review.googlesource.com/86741 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* SkQP: add junit appGravatar Hal Canary2017-12-18
| | | | | | | Change-Id: Ic32eaec6cce1509f07e7cf610717d3b12d335c89 Reviewed-on: https://skia-review.googlesource.com/83921 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Blacklist mail.google.com from top25_desk pagesetGravatar Ravi Mistry2017-12-18
| | | | | | | | | | | | This will not lose coverage because we already have mail.google.com in Skia's page sets. NoTry: true Bug: skia:7421 Change-Id: Ie3d335559e736e9177c9000f41dab25581230c8b Reviewed-on: https://skia-review.googlesource.com/86500 Reviewed-by: Ravi Mistry <rmistry@google.com> Commit-Queue: Ravi Mistry <rmistry@google.com>
* remove deprecated SkPixelSerializerGravatar Mike Reed2017-12-16
| | | | | | | | Bug: skia: Change-Id: I25d33517f1ec7c08551c79d03763c676d1a662f5 Reviewed-on: https://skia-review.googlesource.com/86360 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Remove unnecessary includes from ViewerGravatar Brian Osman2017-12-15
| | | | | | | | Bug: skia: Change-Id: I7b20db66a7eb5b549997fd4307e41937a8753921 Reviewed-on: https://skia-review.googlesource.com/86020 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* SkQP: make_gmkb, gm_knowledge (GM Knowledgebase)Gravatar Hal Canary2017-12-15
| | | | | | | | | | | | | | | | | | | Add a real implementation for gm_knowledge.h This depends on the presence of files in the form $GMK_DIR/foo/{max,min}.png The implementation also writes out failures in a report directory. Add a utility: experimental/make_gmkb which is a stand-alone go executable that generates the foo/{max,min}.png data. tools/skqp/README.md has instructions on running SkQP. Also: add SkFontMgrPriv.h Change-Id: Ibe1e9a7e7de143d14eee3877f5f2d2d8713f7f49 Reviewed-on: https://skia-review.googlesource.com/65380 Reviewed-by: Yuqian Li <liyuqian@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Moving extra options/parameters into PDFMetadataGravatar Mike Reed2017-12-14
| | | | | | | | Bug: skia: Change-Id: I29aa69e5765a7f8ba05b0361912d1f5276d77de3 Reviewed-on: https://skia-review.googlesource.com/84501 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Mike Reed <reed@google.com>
* pre-api change, preparing for expanding metadataGravatar Mike Reed2017-12-14
| | | | | | | | Bug: skia: Change-Id: I367c728172f24166fb7f06a6e22fe37adb8adc4f Reviewed-on: https://skia-review.googlesource.com/84880 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Add GrBackendTexture & GrBackendRenderTarget access methods to GrTexture and ↵Gravatar Robert Phillips2017-12-13
| | | | | | | | | GrRenderTarget Change-Id: I627fcc2cab1d04169f49e33a6c17e161e9a9772a Reviewed-on: https://skia-review.googlesource.com/84621 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert "Revert "impl SkSerial picture procs""Gravatar Mike Reed2017-12-13
| | | | | | | | | | | | This reverts commit 2a3009931d7bb0f5ca31490c4cf19eef205e4e7a. Implement SkSerialProcs for pictures Bug: skia: Change-Id: Icde2d912941a19999e204ac5213f519ed5387e12 Reviewed-on: https://skia-review.googlesource.com/84480 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Telemetry no longer supports credential files so remove supportGravatar Ravi Mistry2017-12-13
| | | | | | | | | NoTry: true Bug: skia:7401 Change-Id: I18b2dfe92b6e998d0799ed95cd5d735706428d1c Reviewed-on: https://skia-review.googlesource.com/84540 Commit-Queue: Ravi Mistry <rmistry@google.com> Reviewed-by: Eric Boren <borenet@google.com>
* Start removing uses of VkFormatToPixelConfig in vulkan backendGravatar Greg Daniel2017-12-13
| | | | | | | | Bug: skia: Change-Id: I2c8e86b9e8ca6a33913be347a3c65af963c5fd12 Reviewed-on: https://skia-review.googlesource.com/84341 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Revert "impl SkSerial picture procs"Gravatar Mike Reed2017-12-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c8226728541fdd6434a7f1b97678246202b0edc5. Reason for revert: broke old skps Original change's description: > impl SkSerial picture procs > > The picture serialization code is a bit of a mess, with duplicated functions for streams and buffers. > Could not see how to fix that and land this at the same time, but I will try to circle back and > simplify if possible afterwards. > > Bug: skia: > Change-Id: I9053fdc476c60f483df013d021e248258181c199 > Reviewed-on: https://skia-review.googlesource.com/83943 > Reviewed-by: Florin Malita <fmalita@chromium.org> > Commit-Queue: Mike Reed <reed@google.com> TBR=mtklein@google.com,fmalita@chromium.org,reed@google.com Change-Id: I68ae019a286691b65cc373cb29c941d6620fd34a No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/84460 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Fix red/blue swap with backend textures on fiddleGravatar Brian Osman2017-12-13
| | | | | | | | Bug: skia: Change-Id: I99962cdc909c785a2c5225fcc0ebe8cde3cd0358 Reviewed-on: https://skia-review.googlesource.com/83864 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* impl SkSerial picture procsGravatar Mike Reed2017-12-13
| | | | | | | | | | | | The picture serialization code is a bit of a mess, with duplicated functions for streams and buffers. Could not see how to fix that and land this at the same time, but I will try to circle back and simplify if possible afterwards. Bug: skia: Change-Id: I9053fdc476c60f483df013d021e248258181c199 Reviewed-on: https://skia-review.googlesource.com/83943 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Push much of the SkColorSpace_Base interface up to SkColorSpaceGravatar Brian Osman2017-12-12
| | | | | | | | | | | Some pieces still remain, but the next step looks less mechanical, so I wanted to land this piece independently. Bug: skia: Change-Id: Ie63afcfa08af2f6e4996911fa2225c43441dbfb2 Reviewed-on: https://skia-review.googlesource.com/84120 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com>