Commit Graph

12814 Commits

Author SHA1 Message Date
egdaniel
0b99de05b9 Add Instant Trace Event for shader compilation in gpu which outputs shader text as attribute
BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/368943002
2014-07-07 06:17:13 -07:00
reed
82cb86f613 Revert of Add SSE4 version of BlurImage optimizations. (https://codereview.chromium.org/366593004/)
Reason for revert:
breaks linker on chrome

[04:36:09.966000] [503/5965] LIB obj\chrome\installer_util.lib
[04:36:10.466000] FAILED: C:\Users\chrome-bot\buildbot\third_party\depot_tools\python276_bin\python.exe gyp-win-tool link-with-manifests environment.x86 True skia.dll "C:\Users\chrome-bot\buildbot\third_party\depot_tools\python276_bin\python.exe gyp-win-tool link-wrapper environment.x86 False link.exe /nologo /IMPLIB:skia.dll.lib /DLL /OUT:skia.dll @skia.dll.rsp" 2 mt.exe rc.exe "obj\skia\skia.skia.dll.intermediate.manifest" obj\skia\skia.skia.dll.generated.manifest
[04:36:10.466000] skia.opts_check_x86.obj : error LNK2019: unresolved external symbol "bool __cdecl SkBoxBlurGetPlatformProcs_SSE4(void (__cdecl**)(unsigned int const *,int,unsigned int *,int,int,int,int,int),void (__cdecl**)(unsigned int const *,int,unsigned int *,int,int,int,int,int),void (__cdecl**)(unsigned int const *,int,unsigned int *,int,int,int,int,int),void (__cdecl**)(unsigned int const *,int,unsigned int *,int,int,int,int,int))" (?SkBoxBlurGetPlatformProcs_SSE4@@YA_NPAP6AXPBIHPAIHHHHH@Z222@Z) referenced in function "bool __cdecl SkBoxBlurGetPlatformProcs(void (__cdecl**)(unsigned int const *,int,unsigned int *,int,int,int,int,int),void (__cdecl**)(unsigned int const *,int,unsigned int *,int,int,int,int,int),void (__cdecl**)(unsigned int const *,int,unsigned int *,int,int,int,int,int),void (__cdecl**)(unsigned int const *,int,unsigned int *,int,int,int,int,int))" (?SkBoxBlurGetPlatformProcs@@YA_NPAP6AXPBIHPAIHHHHH@Z222@Z)
[04:36:10.466000]
[04:36:10.466000] skia.dll : fatal error LNK1120: 1 unresolved externals

Original issue's description:
> Add SSE4 version of BlurImage optimizations.
>
> Adds an SSE4.1 version of the existing BlurImage optimizations.
> Performance of blur_image_filter_* benchmarks show a 10-50%
> improvement on Linux/Ubuntu Core i7.
>
> Signed-off-by: Henrik Smiding <henrik.smiding@intel.com>
>
> Committed: https://skia.googlesource.com/skia/+/2830632ce93c97ed7647b13348365ea92e4ea665

R=mtklein@google.com, henrik.smiding@intel.com
TBR=henrik.smiding@intel.com, mtklein@google.com
NOTREECHECKS=true
NOTRY=true

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/375503003
2014-07-06 18:51:29 -07:00
tomhudson
d930511ee7 Linear-time implementation of willPlaybackBitmaps(), computed & cached
on construction in SkPicture. Unit test.

Template trickery thanks to mtklein@.

BUG=skia:2702
R=mtklein@google.com, reed@android.com, reed@google.com, tomhudson@google.com, mtklein, reed

Author: tomhudson@chromium.org

Review URL: https://codereview.chromium.org/366443002
2014-07-05 13:37:53 -07:00
henrik.smiding
2830632ce9 Add SSE4 version of BlurImage optimizations.
Adds an SSE4.1 version of the existing BlurImage optimizations.
Performance of blur_image_filter_* benchmarks show a 10-50%
improvement on Linux/Ubuntu Core i7.

Signed-off-by: Henrik Smiding <henrik.smiding@intel.com>

R=mtklein@google.com

Author: henrik.smiding@intel.com

Review URL: https://codereview.chromium.org/366593004
2014-07-04 04:23:17 -07:00
senorblanco
3df05015ef Fix SkColorFilterImageFilter matrix optimization.
The order of matrices passed to multiplication was wrong (apparently,
this optimization was only being tested with matrices which commute).

See Chrome bug http://crbug.com/378362

R=sugoi@chromium.org

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/371523002
2014-07-03 11:13:09 -07:00
epoger
46e51e10ae rebaseline_server: if urlSchemaVersion is not specified, assume current
Modification to https://codereview.chromium.org/368933002/ ('rebaseline_server: add urlSchemaVersion parameter')

Means we don't need https://codereview.chromium.org/367173002/ ('add urlSchemaVersion to rebaseline_server link on buildbot console page')

NOTREECHECKS=True
NOTRY=True
R=borenet@google.com
TBR=borenet

Author: epoger@google.com

Review URL: https://codereview.chromium.org/364253003
2014-07-03 10:50:30 -07:00
sugoi
c197c8a47e Adding 64 bit checks
Added a few more checks to avoid overflowing 32 bit sizes while computing convolutions.

I also changed a dangerously misleading INHERITED typedef.

BUG=389570
R=senorblanco@google.com, senorblanco@chromium.org

Author: sugoi@chromium.org

Review URL: https://codereview.chromium.org/361403006
2014-07-03 10:44:26 -07:00
reed
2fe7b466c1 Revert of Caching the result of readPixelsSupported (https://codereview.chromium.org/364193004/)
Reason for revert:
appears to crash GM on Ubuntu and Win8

http://108.170.220.120:10117/builders/Test-Ubuntu12-ShuttleA-GTX660-x86-Release/builds/1237/steps/GenerateGMs/logs/stdio

Original issue's description:
> Caching the result of readPixelsSupported
>
> The call was calling GR_GL_GetIntegerv 2 times for each readPixels
> and thus was causing a loss of performance
>
> (resubmit of issue 344793008)
>
> Benchmark url: http://packages.gkny.fr/tst/index.html
>
> BUG=skia:2681
>
> Committed: https://skia.googlesource.com/skia/+/753a2964afe5661ce9b2a8ca77ca9d0aabd3173c

R=junov@chromium.org, piotaixr@chromium.org
TBR=junov@chromium.org, piotaixr@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:2681

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/367323003
2014-07-03 07:54:08 -07:00
reed
e1085e0381 move SkChecksum and SkEmptyShader to private
TBR=reed@google.com

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/366133002
2014-07-03 07:26:01 -07:00
piotaixr
753a2964af Caching the result of readPixelsSupported
The call was calling GR_GL_GetIntegerv 2 times for each readPixels
and thus was causing a loss of performance

(resubmit of issue 344793008)

Benchmark url: http://packages.gkny.fr/tst/index.html

BUG=skia:2681
R=junov@chromium.org

Author: piotaixr@chromium.org

Review URL: https://codereview.chromium.org/364193004
2014-07-03 06:50:51 -07:00
kkinnunen
32b9a3b02e Add functions to support NV_path_rendering in OpenGL ES
Add OpenGL ES extension functions needed to support NV_path_rendering in OpenGL
ES.

The added glProgramPathFragmentInputGenNV call is defined in NV_path_rendering
revision 30, similar to following:

    Append to the end of the "Shader Inputs" subsection of Section 3.12.2
    "Shader Execution":

    The command

        void ProgramPathFragmentInputGenNV(uint program,
                                           int location,
                                           enum genMode,
                                           int components,
                                           const float *coeffs);

    controls how a user-defined (non-built-in) fragment input of a
    GLSL program object is computed for fragment shading operations that
    occur as a result of CoverFillPathNV or CoverStrokePathNV.

    /program/ names a GLSL program object.  If /program/ has not been
    successfully linked, the error INVALID_OPERATION is generated.

    The given fragment input generation state is loaded into the fragment
    input variable location identified by /location/.  This location
    is a value returned either by GetProgramResourceLocation with a
    /programInterface/ of FRAGMENT_INPUT_NV and a given fragment shader
    input variable name or by GetProgramResourceiv with FRAGMENT_INPUT_NV
    for the /programInterface/ and LOCATION for the property for a given
    fragment input resource index.

    ....

glProgramPathFragmentInputGenNV will be used instead of glPathTexGen,
because the latter depends on fixed function pipeline that is not
exposed in ES.

Also add glGetProgramResourceLocation from OpenGL 4.3 or
ARB_program_interface_query.

Also add FRAGMENT_INPUT define to be used with glGetProgramResourceLocation.

The added functions are not used yet, but they're needed when implementing
NV_path_rendering support for OpenGL ES. They can also be used on OpenGL.

Remove uncalled NV_path_rendering functions, so they do not cause confusion
or take space in the interface definition. The ones that are later used
can be re-added when needed.

Remove definitions NV_path_rendering that are for NV_path_rendering function
parameters that are not used. The ones that are later used
can be re-added when needed.

Committed: https://skia.googlesource.com/skia/+/4a995dfff2ecf91e8bf999d77e3218cec596232c

R=bsalomon@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/345723002
2014-07-02 22:56:36 -07:00
jvanverth
c6bbd82210 Ignore some GM images for https://codereview.chromium.org/337603008.
R=bungeman@google.com
TBR=bungeman@google.com

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/361333002
2014-07-02 15:54:24 -07:00
scroggo
c2dcf4a4a5 Check pixelRef before attempting to ktx encode.
If there is no pixelRef, do not attempt to dereference it.

This was caught running on Android, where we don't have the resources
folder (tracked in b/14406768). We fail to decode anything, and then
attempt to encode an SkBitmap without a pixelRef.

R=krajcevski@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/362413005
2014-07-02 15:00:07 -07:00
mtklein
0e3fac215d Gate CrashHandler with SK_CRASH_HANDLER.
BUG=skia:
R=bsalomon@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/364033002
2014-07-02 14:30:47 -07:00
jvanverth
23ff2a5d46 More expectation updates for https://codereview.chromium.org/337603008.
R=bungeman@google.com
TBR=bungeman@google.com

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/368073002
2014-07-02 14:15:37 -07:00
epoger
e5481eca7e rebaseline_server: add urlSchemaVersion parameter
In https://codereview.chromium.org/369473005 ('rebaseline_server: handle category filtering more generically'), I am changing the meaning of some URL parameters.  If a user pastes an old URL into an updated rebaseline_server instance, they may get unexpected results.  Adding a urlSchemaVersion parameter allows us to automatically convert the URL, or at least warn the user.

BUG=skia:2230
NOTRY=True
R=jcgregorio@google.com

Author: epoger@google.com

Review URL: https://codereview.chromium.org/368933002
2014-07-02 13:51:47 -07:00
bsalomon
e1bc1c6958 Make GrAllocator Iter return non-const T
R=egdaniel@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/362333004
2014-07-02 13:44:58 -07:00
Ben Wagner
a5c08447cb Remove SK_IGNORE_FASTER_TEXT_FIX.
This flag is no longer defined, so remove its use and guarded code.
2014-07-02 16:09:00 -04:00
Ben Wagner
9504dd5a09 Remove SK_IGNORE_DWRITE_RENDERING_FIX.
This flag is no longer defined anywhere, so remove it's use.
2014-07-02 16:04:09 -04:00
mtklein
217daa7ec5 Revert of Remove the AA requirement for selecting GrEffect-based clipping. (https://codereview.chromium.org/367013003/)
Reason for revert:
We think this is breaking the roll.

Original issue's description:
> Remove the AA requirement for selecting GrEffect-based clipping.
>
> Also, optionally use the scissor for a bw clip rect element instead of an effect.
>
> Committed: https://skia.googlesource.com/skia/+/a73218bbbdcbe458651d10815e8d3b73d71b8e11
>
> Committed: https://skia.googlesource.com/skia/+/e9a729cb4d3f05b9c750dc1f63a9cc65b5659f04

R=robertphillips@google.com, bsalomon@google.com
TBR=bsalomon@google.com, robertphillips@google.com
NOTREECHECKS=true
NOTRY=true

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/361313002
2014-07-02 12:55:21 -07:00
borenet
4621788761 gen_bench_expectations: use subprocess instead of shell_utils due to buildbot-side name collision
BUG=skia:2714
R=rmistry@google.com
TBR=rmistry
NOTRY=true

Author: borenet@google.com

Review URL: https://codereview.chromium.org/368043002
2014-07-02 12:52:34 -07:00
mtklein
3fa56b322a Exclude Clang on Windows too. Comment this up a bit.
BUG=391016
R=tomhudson@chromium.org, mtklein@google.com, rnk@chromium.org, thakis@chromium.org

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/363983004
2014-07-02 12:38:38 -07:00
bsalomon
f0480b1e69 Combine clip stack and clip origin into one struct in GrIODB.
R=egdaniel@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/364823004
2014-07-02 12:11:26 -07:00
bsalomon
e9a729cb4d Remove the AA requirement for selecting GrEffect-based clipping.
Also, optionally use the scissor for a bw clip rect element instead of an effect.

Committed: https://skia.googlesource.com/skia/+/a73218bbbdcbe458651d10815e8d3b73d71b8e11

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/367013003
2014-07-02 11:42:29 -07:00
Mike Klein
6a7fdeffa4 Disable assembly code in MemorySanitizer builds.
MemorySanitizer is an unitialized memory use detector which is used in
Chromium, and does not presently support assembly code.

BUG=chromium:344505, chromium:373739
R=mtklein@google.com

Review URL: https://codereview.chromium.org/367973005
2014-07-02 14:37:29 -04:00
jvanverth
5c76a0f1d1 Update some expectations for https://codereview.chromium.org/337603008.
R=bungeman@google.com
TBR=bungeman@google.com

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/362373002
2014-07-02 11:33:07 -07:00
bsalomon
e1593862fe Revert of Remove the AA requirement for selecting GrEffect-based clipping. (https://codereview.chromium.org/367013003/)
Reason for revert:
Assertion failing.

Original issue's description:
> Remove the AA requirement for selecting GrEffect-based clipping.
>
> Also, optionally use the scissor for a bw clip rect element instead of an effect.
>
> Committed: https://skia.googlesource.com/skia/+/a73218bbbdcbe458651d10815e8d3b73d71b8e11

R=robertphillips@google.com
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/369613002
2014-07-02 11:11:30 -07:00
halcanary
fa37a21be5 Fix no previous prototype for function error
BUG=skia:2720
R=scroggo@google.com, caryclark@google.com

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/363983002
2014-07-02 10:43:50 -07:00
bsalomon
a73218bbbd Remove the AA requirement for selecting GrEffect-based clipping.
Also, optionally use the scissor for a bw clip rect element instead of an effect.

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/367013003
2014-07-02 10:40:52 -07:00
borenet
b26130af2f Fix RecreateSkps
- Use shell_utils to auto-print all subprocesses.
- Only download bench_pictures data.
- Skip or error out on bots which failed BenchPictures, PostBench, or UploadBenchResults.

BUG=skia:2714
R=rmistry@google.com
TBR=rmistry
NOTRY=true

Author: borenet@google.com

Review URL: https://codereview.chromium.org/363833004
2014-07-02 09:37:03 -07:00
bungeman
256b351fb1 CTFontCopy*Name may return NULL.
BUG=skia:2708
R=caryclark@google.com, reed@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/365683004
2014-07-02 07:57:59 -07:00
bsalomon
bce3d6dbb9 Reduce integer divides in GrAllocator
R=egdaniel@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/362023002
2014-07-02 07:54:42 -07:00
epoger
54f1ad8bb5 rebaseline_server: use just skpdiff, not Python Image Library
BUG=skia:2414
R=djsollen@google.com, borenet@google.com

Author: epoger@google.com

Review URL: https://codereview.chromium.org/325413003
2014-07-02 07:43:04 -07:00
egdaniel
a887026421 Fix int to float bug in shader on gpu Dotted Line cl
NOTRY=True
NOTREECHECKS=True
R=bsalomon@google.com
TBR=bsalomon@google.com
BUG=skia:

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/361253002
2014-07-02 06:56:30 -07:00
borenet
1c0acee19b Revert of Update SKP version to 39 (https://codereview.chromium.org/367863003/)
Reason for revert:
Deleted expectations again. https://code.google.com/p/skia/issues/detail?id=2714

Original issue's description:
> Update SKP version to 39
>
> Automatic commit by the RecreateSKPs bot.
>
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/50b3dab100a6537ace504357d38e49ba0a14de43

TBR=
NOTREECHECKS=true
NOTRY=true

Author: borenet@google.com

Review URL: https://codereview.chromium.org/367983002
2014-07-02 06:54:31 -07:00
egdaniel
f767e792b9 Add the ability for gpu to render dotted lines (dashed line, 0 on interval, round caps)
BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/345113003
2014-07-02 06:21:34 -07:00
reed
7a7c3163f0 return early instead of crashing if fileData fails
BUG=skia:
R=krajcevski@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/362833004
2014-07-02 05:57:51 -07:00
borenet
50b3dab100 Update SKP version to 39
Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

Review URL: https://codereview.chromium.org/367863003
2014-07-01 23:46:11 -07:00
tomhudson
e438ddbc74 Uses optional mutex to guard construction of the singleton, which
initializes the non-threadsafe libfontconfig. Without this change,
Skia's parallel path ops test runner crashes 6/10 and hangs 2/10 on
startup; with this change, 0/10 problems.

BUG=skia:2693
R=mtklein@google.com, bungeman@google.com, reed@google.com

Committed: https://skia.googlesource.com/skia/+/df022f5972ae6a2a1d96d15c50eca52cade3abd8

Committed: https://skia.googlesource.com/skia/+/60b08a0adfe73f593af62c8d3f55958438360e1b

Author: tomhudson@chromium.org

Review URL: https://codereview.chromium.org/355573006
2014-07-01 18:54:41 -07:00
jvanverth
dc1cf66483 Remove A8_LCD luminance hack.
It no longer appears to be necessary, and the powf function is slowing down
Android text rendering.

R=bungeman@google.com, bsalomon@google.com

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/337603008
2014-07-01 13:43:00 -07:00
mtklein
e41f3886ea Revert of Fix race condition in parallel font initialization. (https://codereview.chromium.org/355573006/)
Reason for revert:
canaries still slightly broken

Original issue's description:
> Fix race condition in parallel font initialization.
>
> Uses a mutex to guard construction of the singleton, which initialies
> the non-threadsafe libfontconfig.  Without this change, the parallel
> path ops test runner crashes 6/10 and hangs 2/10 on startup; with this
> change, 0/10 problems.
>
> BUG=skia:2693
> R=mtklein@google.com,bungeman@google.com
>
> Committed: https://skia.googlesource.com/skia/+/df022f5972ae6a2a1d96d15c50eca52cade3abd8
>
> Committed: https://skia.googlesource.com/skia/+/60b08a0adfe73f593af62c8d3f55958438360e1b

R=bungeman@google.com, reed@google.com, tomhudson@google.com, tomhudson@chromium.org
TBR=bungeman@google.com, reed@google.com, tomhudson@chromium.org, tomhudson@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2693

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/354133004
2014-07-01 13:33:32 -07:00
reed
f0aed97aec correctly plumb through explicit rowbytes for allocPixels
BUG=skia:
R=caryclark@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/357073003
2014-07-01 12:48:11 -07:00
tfarina
c846f4a96b Cleanup usage of GetResourcePath() after commit bcbc1788b4.
There was a clean up opportunity left over after
https://skia.googlesource.com/skia/+/bcbc1788b478b1e54079318ad073e8490aa66fae, that could make use of the default parameter of GetResourcePath() function to make some call sites cleaner.

We decided to make it in a separate CL to make reviewer's and author's life easier, so we could catch errors and/or mistakes easily.

BUG=None
TEST=make all && out/Debug/dm && out/Debug/SampleApp
R=mtklein@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/351133003
2014-07-01 12:35:49 -07:00
fmalita
696d361176 Temporarily resurface matrix/clip save flags enum values.
Pending Android build fixes.

R=reed@google.com, scroggo@google.com

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/365463005
2014-07-01 11:55:41 -07:00
mtklein
9bc86ed052 Hey, maybe we should _call_ glFinish.
BUG=skia:

CQ_EXTRA_TRYBOTS=tryserver.skia:Build-Mac10.7-Clang-x86-Debug-Trybot
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/345063004
2014-07-01 10:02:43 -07:00
robertphillips
db539905bb Rename SkPicturePlayback to SkPictureData
This is in preparation for splitting the playback portion of the new SkPictureData class into a new SkPicturePlayback class.

R=reed@google.com, mtklein@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/362773002
2014-07-01 08:47:04 -07:00
mtklein
bb6a028239 draft gpu support in nanobench
BUG=skia:
R=bsalomon@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/359473004
2014-07-01 08:43:42 -07:00
tomhudson
60b08a0adf Fix race condition in parallel font initialization.
Uses a mutex to guard construction of the singleton, which initialies
the non-threadsafe libfontconfig.  Without this change, the parallel
path ops test runner crashes 6/10 and hangs 2/10 on startup; with this
change, 0/10 problems.

BUG=skia:2693
R=mtklein@google.com, bungeman@google.com, reed@google.com, tomhudson@google.com

Committed: https://skia.googlesource.com/skia/+/df022f5972ae6a2a1d96d15c50eca52cade3abd8

Author: tomhudson@chromium.org

Review URL: https://codereview.chromium.org/355573006
2014-07-01 08:06:14 -07:00
scroggo
950f89dd20 Specify the name of tool for creating a makefile.
When generating tool Android.mks from gyp files, specify the name
of the target needed.

This fixes a bug where nanobench was being added to the same
makefile as bench, which would not compile.

TODO: Make gyp_to_android more general, so that it handles this
case better. See http://skbug.com/2709

R=mtklein@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/366653002
2014-07-01 08:02:30 -07:00
mtklein
ec2ae5878d Add multithreaded mode to quilt mode in DM.
Default off for now.  Something to work toward.

BUG=skia:
R=robertphillips@google.com, tomhudson@chromium.org, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/360793002
2014-07-01 07:46:50 -07:00