| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The goal is to hint the baseline when hinting is possible, which is
to say when the glyphs are be aligned with the pixel grid. The
current code has three shortcomings.
1. correctly snaps when the horizontal baseline is on the x-axis but
not when on the y-axis. Instead it is snapping the horizontal
baseline when there is y-skew.
2. tests against the full device matrix instead of the relaxed
matrix used by the scaler context.
3. has range issues when relaxing the matrix.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1740163002
Review URL: https://codereview.chromium.org/1740163002
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1745063002
Review URL: https://codereview.chromium.org/1745063002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For us to take advantage of immutable texture storage, we would need to
know in advance that the texture will not be changing allocated size.
In some cases we cannot know this in advance: we will sometimes later
need mipmaps to be allocated and generated. However, in the cases where
we know in advance that we are allocating mipmaps we can take advantage
of immutable storage.
BUG=476416
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1570173004
Review URL: https://codereview.chromium.org/1570173004
|
|
|
|
|
|
|
|
|
| |
TBR=rmistry
NOTRY=true
BUG=skia:4763
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1749873002
Review URL: https://codereview.chromium.org/1749873002
|
|
|
|
|
|
|
|
|
| |
TBR=rmistry
NOTRY=true
BUG=skia:4763
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1751463002
Review URL: https://codereview.chromium.org/1751463002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Use std::atomic directly.
- No more need for SkPODSpinlock or SK_DECLARE_STATIC_SPINLOCK.
Now simple code like this works as you'd hope:
static SkSpinlock gLock;
That is, it starts unlocked and there's no static initializer.
std::atomic_flag would make this terser and standard-guaranteed,
but ATOMIC_FLAG_INIT caused not-yet-implemented errors on MSVC 2013.
The generated code for this approach is identical.
It appears the implicit constructor is constexpr when all the member
initializers are. I'm hoping this way of producing constexpr constructors
without typing "constexpr" gives us a way to eliminate more SkFoo / SkBaseFoo
distinctions and SK_DECLARE_STATIC_FOO. This was certainly the easiest.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1734383002
Review URL: https://codereview.chromium.org/1734383002
|
|
|
|
|
|
|
|
|
| |
TBR=rmistry
NOTRY=true
BUG=skia:4763
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1743353002
Review URL: https://codereview.chromium.org/1743353002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
id:1 of https://codereview.chromium.org/1745073002/ )
Reason for revert:
remote-8888 just caught a bug. I am disproved.
Original issue's description:
> DM: disable ignored and very niche configs on bots.
>
> These are all probably just wasting time:
> - upright-matrix-{8888,gpu} and remote[_cache] are ignored in Gold
> - sp and 2ndpic test very niche areas of SkPicture
> that are not under active change
> - twice-8888 was never useful... the twice- via was meant for local
> testing of GPU batching / caching. Drawing into 8888 was moot.
>
> These configs are all useful to keep around for local testing, but probably are
> not worth the extra runtime or especially burden to have to think about them.
>
> If we should happen to stumble into bugs these configs would have caught,
> let's add them back with a note about those bugs to justify their need to run.
> I'm not convinced any exist today.
>
> This cuts ~30s off the CQ.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1745073002
>
> Committed: https://skia.googlesource.com/skia/+/7b6d3a30cf18377935c800603fc00fe0966d15de
TBR=halcanary@google.com,mtklein@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1749583003
|
|
|
|
|
|
|
|
|
|
| |
To avoid rounding to zero for very small tiles.
BUG=chromium:590447
R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1749763002
Review URL: https://codereview.chromium.org/1749763002
|
|
|
|
|
|
|
|
| |
CQ_INCLUDE_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-Mips64-Release-Android-Trybot
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1743273002
Review URL: https://codereview.chromium.org/1743273002
|
|
|
|
|
|
|
|
|
|
| |
Remove all #include SkXMLParser.h from SampleApp samples.
R=tomhudson@google.com
BUG=skia:309
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1737383002
Review URL: https://codereview.chromium.org/1737383002
|
|
|
|
|
|
|
|
|
|
|
|
| |
I couldn't get the version at head to give me any images,
so I decided to rewrite it. Does something like this work
for you?
BUG=skia:5010,skia:5005
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1737593003
Review URL: https://codereview.chromium.org/1737593003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These are all probably just wasting time:
- upright-matrix-{8888,gpu} and remote[_cache] are ignored in Gold
- sp and 2ndpic test very niche areas of SkPicture
that are not under active change
- twice-8888 was never useful... the twice- via was meant for local
testing of GPU batching / caching. Drawing into 8888 was moot.
These configs are all useful to keep around for local testing, but probably are
not worth the extra runtime or especially burden to have to think about them.
If we should happen to stumble into bugs these configs would have caught,
let's add them back with a note about those bugs to justify their need to run.
I'm not convinced any exist today.
This cuts ~30s off the CQ.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1745073002
Review URL: https://codereview.chromium.org/1745073002
|
|
|
|
|
|
|
|
|
| |
TBR=rmistry
NOTRY=true
BUG=skia:4763
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1749623003
Review URL: https://codereview.chromium.org/1749623003
|
|
|
|
|
|
|
|
|
| |
TBR=rmistry
NOTRY=true
BUG=skia:4763
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1746063002
Review URL: https://codereview.chromium.org/1746063002
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1719333002
Review URL: https://codereview.chromium.org/1719333002
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1745513002
Committed: https://skia.googlesource.com/skia/+/9b48a6e3f862076018cc7d63b180b6340f4873cd
Review URL: https://codereview.chromium.org/1745513002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
E.g.
{
"max_rss_MB" : 23,
"results" : [
{
"key" : {
"config" : "pdf",
"name" : "gamma",
"source_type" : "gm"
},
"md5" : "c5dfb531f4d76c77c3305b6a04733262",
"options" : {
"ext" : "pdf",
"gamma_correct" : false
}
},
{
"key" : {
"config" : "8888",
"name" : "gamma",
"source_type" : "gm"
},
"md5" : "6177860ed24106446d3a9087527e67bf",
"options" : {
"ext" : "png",
"gamma_correct" : false
}
},
{
"key" : {
"config" : "f16",
"name" : "gamma",
"source_type" : "gm"
},
"md5" : "213f80145953ecd4c71e0612447b2ad9",
"options" : {
"ext" : "png",
"gamma_correct" : true
}
}
]
}
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1741973002
Review URL: https://codereview.chromium.org/1741973002
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix the exception catching
* Set preprocessor differently for MSVC
BUG=skia:4889(b/26958348)
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1738913002
Committed: https://skia.googlesource.com/skia/+/474e4c3dd28b67f590851321f15d9983ef7fd031
Review URL: https://codereview.chromium.org/1738913002
|
|
|
|
|
|
|
| |
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1743233002
Review URL: https://codereview.chromium.org/1743233002
|
|
|
|
|
|
|
|
|
|
|
| |
- try to guard against reentrant signals.
- re-raise the signal with the default handler when done printing.
- support Windows
BUG=589654
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1744553002
Review URL: https://codereview.chromium.org/1744553002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
#4 id:60001 of https://codereview.chromium.org/1745513002/ )
Reason for revert:
kInvalidID conflicts with an older xCode #define
Original issue's description:
> Add abilitly to query audit trail for batches by draw op
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1745513002
>
> Committed: https://skia.googlesource.com/skia/+/9b48a6e3f862076018cc7d63b180b6340f4873cd
TBR=ethannicholas@google.com,jcgregorio@google.com,joshualitt@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1747893002
|
|
|
|
|
|
|
|
|
|
| |
This enables running DM through Swarming.
NOTRY=true
BUG=skia:4763
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1743113003
Review URL: https://codereview.chromium.org/1743113003
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1741043003
Review URL: https://codereview.chromium.org/1741043003
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1745513002
Review URL: https://codereview.chromium.org/1745513002
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1747753002
TBR=caryclark@google.com
Review URL: https://codereview.chromium.org/1747753002
|
|
|
|
|
|
|
|
|
|
| |
Automatic commit by the RecreateSKPs bot.
TBR=
NO_MERGE_BUILDS
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1742243002
Review URL: https://codereview.chromium.org/1742243002
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1744043002
TBR=
Review URL: https://codereview.chromium.org/1744043002
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1749483002
CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot
NOTRY=True
TBR=
Review URL: https://codereview.chromium.org/1749483002
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1745813002
TBR=
Review URL: https://codereview.chromium.org/1745813002
|
|
|
|
|
|
|
|
|
|
|
|
| |
no doubt, more deletes will follow...
goodbye old friends
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1740383002
TBR=
Review URL: https://codereview.chromium.org/1740383002
|
|
|
|
|
|
|
|
|
| |
TBR=borenet
BUG=skia:5024
NOTRY=true
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1747623002
Review URL: https://codereview.chromium.org/1747623002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/1738913002/ )
Reason for revert:
I don't think there's anything wrong with this per-se, but the 32-bit Windows bots are running out of memory while running these tests now.
(You'll see something like c:\0\build\slave\workdir\build\skia\include\core\skbitmap.h:247: fatal error: ""sk_throw"" in the log.)
We run these tests in parallel, and sometimes these 32-bit processes try to use more than the 2-3G RAM they can allocate. Seems like this is a particularly memory-intense process?
If we reland this, we might want to blacklist these tests on the 32-bit Windows bots. The 64-bit bots should have access to tons and tons of RAM and let us keep testing for Windows.
Original issue's description:
> Enable RAW codec for Windows
>
> * Fix the exception catching
> * Set preprocessor differently for MSVC
>
> BUG=skia:4889(b/26958348)
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1738913002
>
> Committed: https://skia.googlesource.com/skia/+/474e4c3dd28b67f590851321f15d9983ef7fd031
TBR=scroggo@google.com,msarett@google.com,yujieqin@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4889(b/26958348)
Review URL: https://codereview.chromium.org/1747443003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(patchset #2 id:20001 of https://codereview.chromium.org/1676833002/ )
Reason for revert:
This workaround should no longer be needed, per comment#16 from
thakis@ on the original CL.
Original issue's description:
> Add non-inline SkRTreeFactory constructor to fix clang-cl
>
> When Chromium is switched to build with VS 2015 that switches clang-cl
> to build in -fmsc-version=1900 mode. This causes some changes in
> importing of constructors and vftables which leads to link errors in
> blink_platform.dll. Adding a non-inline constructor makes 1900 mode
> behave consistently with 1800 mode and avoids the link error.
>
> The root cause needs investigation but this will unblock the VS 2015
> switch.
>
> BUG=440500,498544
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1676833002
>
> Committed: https://skia.googlesource.com/skia/+/964eec67760196585954203ba625e440607f7e92
TBR=reed@google.com,bsalomon@google.com,mtklein@chromium.org,thakis@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=440500,498544
Review URL: https://codereview.chromium.org/1739363002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We called JsonWriter::DumpJson() every once in a while,
but this did not necssarily wait for offloaded PNG encoding to finish.
This means we might have been dropping some DM results for a while now.
Fix by one more JsonWriter::DumpJson() call after joining back to the
main thread.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1744723002
Review URL: https://codereview.chromium.org/1744723002
|
|
|
|
|
|
|
|
|
|
|
|
| |
Will need to follow up with enabling f16 and srgb configs.
They're still assert-y.
The GMs 'gamma' and 'gradients' look reassuringly good on f16 and srgb backends.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1711143002
Review URL: https://codereview.chromium.org/1711143002
|
|
|
|
|
|
| |
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1745613002
Review URL: https://codereview.chromium.org/1745613002
|
|
|
|
|
|
|
| |
BUG=476416
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1249543003
Review URL: https://codereview.chromium.org/1249543003
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1735283004
Review URL: https://codereview.chromium.org/1735283004
|
|
|
|
|
|
|
| |
BUG=skia:5021
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1737593005
Review URL: https://codereview.chromium.org/1737593005
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replaces fWillReadFragmentPosition on GrProcessor with a
"RequiredFeatures" bitfield. This will allow us to add additional
built-in features. Completely removes information about reading the
fragment position from GrPipeline and GrProcOptInfo.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1734163002
Review URL: https://codereview.chromium.org/1734163002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Attempts to render 50% grey through many different techniques. Only the first one (black/white dither) is guaranteed to be correct. This serves as ground-truth for all the others (independent of whatever your display may or may not be doing when viewing the output of the GM).
Current tests:
- Texture bilerp
- Texture scale (ie mipmaps)
- Simple paint color
- Gradient
- A handful of Xfer modes
- 50% grey bitmaps, both linear and sRGB
- Bitmaps wrapped in shaders, which hits a different raster code path
TODO:
- Test coverage (rather than alpha)?
- Text, Blur, etc...?
Re-landing this without the blitter selection change, which may have caused a regression. Also updated the text color so it's legible against both black (SampleApp) and white (gold).
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1740213003
Review URL: https://codereview.chromium.org/1740213003
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1720963002
Committed: https://skia.googlesource.com/skia/+/69c1b24bcaa7cffd59753a75a7f3d155696fcac4
Review URL: https://codereview.chromium.org/1720963002
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1694943002
Review URL: https://codereview.chromium.org/1694943002
|
|
|
|
|
|
| |
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1745433002
Review URL: https://codereview.chromium.org/1745433002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pipeline. (patchset #4 id:60001 of https://codereview.chromium.org/1734983003/ )
Reason for revert:
Testing revert to fix MacMini?
Original issue's description:
> New GM that exercises gamma-correctness in various parts of the pipeline.
>
> Attempts to render 50% grey through many different techniques. Only the first one (black/white dither) is guaranteed to be correct. This serves as ground-truth for all the others (independent of whatever your display may or may not be doing when viewing the output of the GM).
>
> Current tests:
> - Texture bilerp
> - Texture scale (ie mipmaps)
> - Simple paint color
> - Gradient
> - A handful of Xfer modes
> - 50% grey bitmaps, both linear and sRGB
>
> Also includes a bug-fix for sRGB -> Linear bitmap case
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1734983003
>
> Committed: https://skia.googlesource.com/skia/+/9f73a71eec0eb54783f2dcad009aae6aafbe38d5
TBR=bsalomon@google.com,reed@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1744533002
|
|
|
|
|
|
| |
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1726403007
Review URL: https://codereview.chromium.org/1726403007
|
|
|
|
|
|
|
| |
BUG=skia:5014
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1743553003
Review URL: https://codereview.chromium.org/1743553003
|
|
|
|
|
|
|
|
|
|
| |
This CL moves the surface stuff into the request object so it
can maintain its internal state consistently
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1741823002
Review URL: https://codereview.chromium.org/1741823002
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1739063002
Review URL: https://codereview.chromium.org/1739063002
|