Age | Commit message (Collapse) | Author |
|
Storing the machine-readable data is a good idea in general, in this
case allowing us to create graphs with the historical runs.
The json now also contains:
- a version number in case there are future changes in the format
- the date and time when the run started
- which profiler was used
- which commits were being compared
- whether a comparison was run or not, that is, if the commit hashes
for before and after differ
Change-Id: I2913beaef30b90669ac4ffe60a656d4b69030588
Reviewed-on: https://pdfium-review.googlesource.com/13370
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Nicolás Peña <npm@chromium.org>
|
|
Given a point, if there is an annotation at the point, give if focus if
it is not focus already. If there is no annotation at the point, then
remove the focus from the focused annotation.
BUG=chromium:754594
Change-Id: Iec3070472bbbfbad9d86e517f25da560f82efd4e
Reviewed-on: https://pdfium-review.googlesource.com/12530
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
- Add --no-color option.
- Fix exit code ambiguity (2 means bad usage)
Change-Id: I04be9c3f21b5a71857b7847b3cc32bf595084994
Reviewed-on: https://pdfium-review.googlesource.com/11490
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Nicolás Peña <npm@chromium.org>
|
|
Also trying to get unicode filenames right again.
Change-Id: I501c94921b92b8a8cd6a10441aff1595fc6d878e
Reviewed-on: https://pdfium-review.googlesource.com/10630
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Nicolás Peña <npm@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
|
|
This applies the proper configuration rules the end HTML generation.
Bug:
Change-Id: Ica159131e574fd805a1363db5b26a6581ecc0ac6
Reviewed-on: https://pdfium-review.googlesource.com/10810
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
|
|
safetynet.job.py verifies if there were performance changes since
its last run. Its state is comprised only of the last checkpoint,
and is kept in a directory passed by argument. Results of runs are
written to this directory as well.
Change-Id: I94e0e176b10fd1d2b18d84f82427f63be107ae17
Reviewed-on: https://pdfium-review.googlesource.com/10370
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
|
The previous fix (encoding on print) breaks when running compare.py
directly. The real problem was in writing the json.
Change-Id: Ie4cf926b5c6153731c1ae187ec6a7cffa74ce67b
Reviewed-on: https://pdfium-review.googlesource.com/10653
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
|
|
Change-Id: I5475b37aad69361e2e7fae4ce69faf011e3b5c40
Reviewed-on: https://pdfium-review.googlesource.com/10030
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
|
|
json.loads() reads non-ascii filenames to a non-unicode string and an
encode step is required before a format.
Change-Id: I3145c7aa41e947f78898e73484c3cb1655418689
Reviewed-on: https://pdfium-review.googlesource.com/10410
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
|
|
Change-Id: Icb1d85167a234c9862a4011dea5dfaa09299c71c
Reviewed-on: https://pdfium-review.googlesource.com/10431
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
|
|
Run from the pdfium root:
$ testing/tools/safetynet_compare.py testing
This compares the current branch with and without local changes.
$ testing/tools/safetynet_compare.py testing/corpus --branch-before x
This compares the current branch + local changes against branch x.
It runs only the corpus tests.
$ testing/tools/safetynet_compare.py testing --branch-before x
--branch-after y --build-dir=~/output_compare
This compares branch x and branch y. x and y can be revision hashes.
The callgrind.out files of cases with significant changes will be
created in ~/output_compare.
$ testing/tools/safetynet_compare.py -h
Print all options.
Change-Id: I43aaf5fe890745db611fb3bc00a656ef799fdfef
Reviewed-on: https://pdfium-review.googlesource.com/7390
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
|
|
Change-Id: I35423437015ad9057ed862ab630c9a2f403a8e1f
Reviewed-on: https://pdfium-review.googlesource.com/8710
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
This is a script that measures the performance of pdfium when loading
and rendering a single pdf file. Supported profilers for now are
callgrind (default) and perfstat.
It will be used by the compare script, which will compare measurements
this script takes.
Change-Id: I9c78ec879a7f4839e60f217d5dd8ee35b1e9a051
Reviewed-on: https://pdfium-review.googlesource.com/7354
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Nicolás Peña <npm@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
|
|
When Chrome renders PDF pages it uses the progressive renderer. The one
shot renderer is used to render print preview pages. This CL changes
pdfium_test to use the progressive renderer by default to better match
Chrome. This also adds a --render-oneshot flag which will use the
non-progressive renderer.
Bug: chromium:736695
Change-Id: If79333ae10a0ed1c9bce1290caad8d531e6709aa
Reviewed-on: https://pdfium-review.googlesource.com/8130
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: I957199b63f6049a586b8de2688501f5ae3449964
Reviewed-on: https://pdfium-review.googlesource.com/7038
Reviewed-by: Nicolás Peña <npm@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
|
|
It was not matching file names with characters like '-' and '&'.
Also suppressed tests that are now matched by the regex and were not
run.
Change-Id: I70c0c8bebf4726748574a9e3ab17db64f1033a13
Reviewed-on: https://pdfium-review.googlesource.com/6835
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Also showing stats on number of failures, successes, suppressions,
etc.
Change-Id: Id12faf504ea8d6b1c343d7a8b412d03dc787ca3a
Reviewed-on: https://pdfium-review.googlesource.com/6834
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: Ib84cc570c2ffaf9fdd49d32bc12c7e6197e130c1
Reviewed-on: https://pdfium-review.googlesource.com/6850
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
BUG=
Change-Id: I491460db0b73e5f6fe0731611400af30e6458537
Reviewed-on: https://pdfium-review.googlesource.com/3121
Reviewed-by: Wei Li <weili@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
The fixes to RTFBreak to convert to a vector have fixed the memory
leak in these test files. Re-enable for asan and remove the asan hack
from the suppressor.
Change-Id: Id229d61101fdd2538b9bbc38b9364d694623da40
Reviewed-on: https://pdfium-review.googlesource.com/2937
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Nicolás Peña <npm@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
The DrMemory bots have been removed, remove the config and infrastructure.
BUG=chromium:655521
Change-Id: I065d717b11d615a6dc981b79a8caefd8783b105b
Reviewed-on: https://pdfium-review.googlesource.com/2494
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
When the results of the test runner were converted to return a tuple the
following code which checked the results for true/false were not updated
to extract the success value from the tuple. This caused the code to think
that the results always passed even when they failed.
This CL fixes the two tests which were broken (both just minor image result
differences) which slipped in during this breakage.
Change-Id: I01b56dd7b05013c2c12c83543746cf59b145e561
Reviewed-on: https://pdfium-review.googlesource.com/2456
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
BUG=
Review-Url: https://codereview.chromium.org/2649313005
|
|
This will land after this CL
https://chromium-review.googlesource.com/c/424575/
as a way of making sure it works as intended.
TBR=borenet
BUG=skia:5973
Review-Url: https://codereview.chromium.org/2629943002
|
|
Extends the PDFium tests to collect images and meta data to be uploaded
to Gold. This feature is triggered by adding the --gold_* flags.
It extends pdfium_test to output the MD5 hash of the underlying pixel
buffer for each page it renders.
That output is then processed by test_runner.py to generate the
gold meta data.
This behavior is modeled after the 'dm' tool in skia. See
https://skia.googlesource.com/skia/+/master/dm/DM.cpp#1090
This should not cause any change in the current behavior of the tests,
it will be trigger once we update the buildbot recipe.
BUG=skia:5973
Review-Url: https://codereview.chromium.org/2578893004
|
|
This CL combines the corpus runner into the test_runner.py. This also
enables the javascript and pixel runners to do a multi test runner.
Review-Url: https://codereview.chromium.org/1952923002
|
|
data_binding.pdf is much closer now that events are sent.
It still diffs due to some bg color issues, not that the
box is unchecked.
Review-Url: https://codereview.chromium.org/1952823002
|
|
Passing bad args in pdfium_test -- all void* pointers look alike.
Make output less verbose while we're here. Turn on event sending
mode for corups tests. No effect until .evt files added to corpus.
Review-Url: https://codereview.chromium.org/1946873004
|
|
The corpus tests redirect output to a string but they just output it
later anyway. This CL removes the output redirect and removes the
redirect_output flag which will always be False now.
Review-Url: https://codereview.chromium.org/1927633002
|
|
These runners are very similar in their implementation. Combine them into
a single test runner.
Corpus will, hopefully, be combined into this test runner in the future.
Review URL: https://codereview.chromium.org/1906803005
|
|
https://codereview.chromium.org/1888673003/ )
Reason for revert:
Dr.Memory code is wrong.....
Original issue's description:
> Re-Reland Combined test runner.
>
> Original Commit Message:
>
> This CL revives the old CL to combine the test runners [1] which was reverted
> due to failing font_size tests. I've deleted the font_size.pdf as it is not
> needed and for testing. Pixel tests are either .in or .pdf files, not both.
>
> Original description:
> This CL takes the three test runners (corpus, javascript, pixel) and combines
> the code into a single test_runner file. Each of the individual runners still
> exists and calls the test runner with their data directory.
>
> With this change, the pixel and javascript test will now run in parallel if
> multiple processors are available.
>
> 1-https://codereview.chromium.org/1430623006/
>
> BUG=
>
> Committed: https://pdfium.googlesource.com/pdfium/+/84b26ec6ba8193235ce0df817dec5c0f1da29841
TBR=ochang@chromium.org,zhaoqin@chromium.org,tsepez@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/1898353004
|
|
Original Commit Message:
This CL revives the old CL to combine the test runners [1] which was reverted
due to failing font_size tests. I've deleted the font_size.pdf as it is not
needed and for testing. Pixel tests are either .in or .pdf files, not both.
Original description:
This CL takes the three test runners (corpus, javascript, pixel) and combines
the code into a single test_runner file. Each of the individual runners still
exists and calls the test runner with their data directory.
With this change, the pixel and javascript test will now run in parallel if
multiple processors are available.
1-https://codereview.chromium.org/1430623006/
BUG=
Review URL: https://codereview.chromium.org/1888673003
|
|
Test still need modification to process input events. For now,
we just suppress anything that diffs.
Review URL: https://codereview.chromium.org/1894083003
|
|
So far, we have only two Windows tests require to use platform specific
test results due to platform idiosyncracies. However, VS2015 has fixed
those issues.
So in general, We only need to use platform based results if checking
against the regular results failed.
Review URL: https://codereview.chromium.org/1892013003
|
|
https://codereview.chromium.org/1886753002/ )
Reason for revert:
Dr. Memory still broken: https://build.chromium.org/p/client.pdfium/builders/drm_win_xfa/builds/330/steps/pixel%20tests/logs/stdio
Original issue's description:
> Reland Combined test runner.
>
> This reverts commit 7a4374583efc0c41c826122aa26c1198c8d5cc37.
>
> Original Commit Message:
>
> This CL revives the old CL to combine the test runners [1] which was reverted
> due to failing font_size tests. I've deleted the font_size.pdf as it is not
> needed and for testing. Pixel tests are either .in or .pdf files, not both.
>
> Original description:
> This CL takes the three test runners (corpus, javascript, pixel) and combines
> the code into a single test_runner file. Each of the individual runners still
> exists and calls the test runner with their data directory.
>
> With this change, the pixel and javascript test will now run in parallel if
> multiple processors are available.
>
> 1-https://codereview.chromium.org/1430623006/
>
> Committed: https://pdfium.googlesource.com/pdfium/+/9cec54ab0a5461b3075c585f8f233dbfd06c2cbd
TBR=tsepez@chromium.org,ochang@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1890703002
|
|
This reverts commit 7a4374583efc0c41c826122aa26c1198c8d5cc37.
Original Commit Message:
This CL revives the old CL to combine the test runners [1] which was reverted
due to failing font_size tests. I've deleted the font_size.pdf as it is not
needed and for testing. Pixel tests are either .in or .pdf files, not both.
Original description:
This CL takes the three test runners (corpus, javascript, pixel) and combines
the code into a single test_runner file. Each of the individual runners still
exists and calls the test runner with their data directory.
With this change, the pixel and javascript test will now run in parallel if
multiple processors are available.
1-https://codereview.chromium.org/1430623006/
Review URL: https://codereview.chromium.org/1886753002
|
|
This is an intermediate step to creating a unified test
runner. We need to update Dr Memory to pass the -j 1 flag
to the pixel and javascript tests. In order to do so, we
need to have the flag available.
The flag will be enabled for pixel and javascript tests
when [1] lands.
1- https://codereview.chromium.org/1886753002/
Review URL: https://codereview.chromium.org/1882143005
|
|
https://codereview.chromium.org/1850273003/ )
Reason for revert:
Broke Dr. Memory
Original issue's description:
> Combined test runner.
>
> This CL revives the old CL to combine the test runners [1] which was reverted
> due to failing font_size tests. I've deleted the font_size.pdf as it is not
> needed and for testing. Pixel tests are either .in or .pdf files, not both.
>
> Original description:
> This CL takes the three test runners (corpus, javascript, pixel) and combines
> the code into a single test_runner file. Each of the individual runners still
> exists and calls the test runner with their data directory.
>
> With this change, the pixel and javascript test will now run in parallel if
> multiple processors are available.
>
> 1-https://codereview.chromium.org/1430623006/
>
> Committed: https://pdfium.googlesource.com/pdfium/+/03e8f12cd3788038225d0376a164a9993f6cb720
TBR=tsepez@chromium.org,thestig@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1867643002
|
|
This CL revives the old CL to combine the test runners [1] which was reverted
due to failing font_size tests. I've deleted the font_size.pdf as it is not
needed and for testing. Pixel tests are either .in or .pdf files, not both.
Original description:
This CL takes the three test runners (corpus, javascript, pixel) and combines
the code into a single test_runner file. Each of the individual runners still
exists and calls the test runner with their data directory.
With this change, the pixel and javascript test will now run in parallel if
multiple processors are available.
1-https://codereview.chromium.org/1430623006/
Review URL: https://codereview.chromium.org/1850273003
|
|
Review URL: https://codereview.chromium.org/1607923004 .
(cherry picked from commit d40e189ba1ab515ef9b3df7928e215be150df336)
TBR=ochang@chromium.org
Review URL: https://codereview.chromium.org/1607113002 .
|
|
Review URL: https://codereview.chromium.org/1586043006 .
(cherry picked from commit 2cb9ae0309417222aa3555dabe4749119dc36d84)
R=ochang@chromium.org, thestig@chromium.org
Review URL: https://codereview.chromium.org/1582613012 .
|
|
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1513393004 .
|
|
- add DrMemoryWrapper in common.py to adjust Dr. Memory wrapper
- add --wrapper option to run_*_tests.py for Dr. Mempry wrapper
- update run_*_tests.py to handle Dr. Memory wrapper
- add TestPDFiumTest in pdfium_tests.py to support run_*_tests.py
- remove ValgrindTool in valgrind_tests.py
R=thestig@chromium.org
BUG=pdfium:238
Review URL: https://codereview.chromium.org/1464453003 .
(cherry picked from commit 36476923ae5eb8e9283e605f3c85ee8811c86014)
Review URL: https://codereview.chromium.org/1465333002 .
|
|
This reverts commit a1215ba51a235fb7abcb995f0e768ea0176d9275.
Revert "Return result of the test runner."
This reverts commit d1579c9b92b7f9c1d9e0fac1ecb8e3cb23875fca.
Reverting the new test_runner code as there appears to be something string
happening on the non-Linux boxes on XFA.
It looks like it ran the font_size test twice, once with the .in and once with
the .pdf. The .in was suppressed, the .pdf faild and wasn't suppressed.
Rendering PDF file /Volumes/data/b/build/slave/mac_xfa/build/pdfium/out/Debug/gen/pdfium/testing/pixel/font_size.pdf.
Rendered 1 pages.
Skipped 0 bad pages.
Checking /Volumes/data/b/build/slave/mac_xfa/build/pdfium/out/Debug/gen/pdfium/testing/pixel/font_size.pdf.0.png
FAILURE: font_size.in; Command '['/Volumes/data/b/build/slave/mac_xfa/build/pdfium/out/Debug/pdfium_diff', '/Volumes/data/b/build/slave/mac_xfa/build/pdfium/testing/resources/pixel/font_size_expected.pdf.0.png', '/Volumes/data/b/build/slave/mac_xfa/build/pdfium/out/Debug/gen/pdfium/testing/pixel/font_size.pdf.0.png']' returned non-zero exit status 1
font_size.in is suppressed, found in SUPPRESSIONS_mac file
Rendering PDF file /Volumes/data/b/build/slave/mac_xfa/build/pdfium/out/Debug/gen/pdfium/testing/pixel/font_size.pdf.
Rendered 1 pages.
Skipped 0 bad pages.
Checking /Volumes/data/b/build/slave/mac_xfa/build/pdfium/out/Debug/gen/pdfium/testing/pixel/font_size.pdf.0.png
FAILURE: font_size.pdf; Command '['/Volumes/data/b/build/slave/mac_xfa/build/pdfium/out/Debug/pdfium_diff', '/Volumes/data/b/build/slave/mac_xfa/build/pdfium/testing/resources/pixel/font_size_expected.pdf.0.png', '/Volumes/data/b/build/slave/mac_xfa/build/pdfium/out/Debug/gen/pdfium/testing/pixel/font_size.pdf.0.png']' returned non-zero exit status 1
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1410743008 .
(cherry picked from commit e067f7bab4317704de27917c1befa8f57a0e78d7)
Review URL: https://codereview.chromium.org/1421133005 .
|
|
We need to actually return the result of the test runner....
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1413863011 .
(cherry picked from commit d1579c9b92b7f9c1d9e0fac1ecb8e3cb23875fca)
Review URL: https://codereview.chromium.org/1419953009 .
|
|
This CL takes the three test runners (corpus, javascript, pixel) and combines
the code into a single test_runner file. Each of the individual runners still
exists and calls the test runner with their data directory.
With this change, the pixel and javascript test will now run in parallel if
multiple processors are available.
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1430623006 .
(cherry picked from commit a1215ba51a235fb7abcb995f0e768ea0176d9275)
Review URL: https://codereview.chromium.org/1411553010 .
|
|
This CL adds the ability to run a given test from the corpus, javascript and
pixel test runners. The filename to provide is relative to the testing
directory in question.
Because the directories for javascript and pixel are flat you just provide the filename (it will rewrite the .pdf to .in if .pdf is provided). For corpus tests you have to provide the path from the corpus directory.
Development/pdfium/pdfium % ./testing/tools/run_javascript_tests.py apply.pdf
Rendering PDF file /Development/pdfium/pdfium/out/Debug/gen/pdfium/testing/javascript/apply.pdf.
Non-linearized path...
Rendered 1 pages.
Skipped 0 bad pages.
Development/pdfium/pdfium % ./testing/tools/run_pixel_tests.py bug_524043_1.pdf
Rendering PDF file /Development/pdfium/pdfium/out/Debug/gen/pdfium/testing/pixel/bug_524043_1.pdf.
Linearized path...
Rendered 1 pages.
Skipped 0 bad pages.
Checking /Development/pdfium/pdfium/out/Debug/gen/pdfium/testing/pixel/bug_524043_1.pdf.0.png
diff: 0.00% passed
Development/pdfium/pdfium % ./testing/tools/run_corpus_tests.py third_party/tcpdf/example_065.pdf
Rendering PDF file /Development/pdfium/pdfium/out/Debug/gen/pdfium/testing/corpus/example_065.pdf.
Non-linearized path...
Rendered 1 pages.
Skipped 0 bad pages.
Checking /Development/pdfium/pdfium/out/Debug/gen/pdfium/testing/corpus/example_065.pdf.0.png
diff: 0.14% failed
FAILURE: example_065.pdf; Command '['/Development/pdfium/pdfium/out/Debug/pdfium_diff', '/Development/pdfium/pdfium/testing/corpus/third_party/tcpdf/example_065_expected.pdf.0.png', '/Development/pdfium/pdfium/out/Debug/gen/pdfium/testing/corpus/example_065.pdf.0.png']' returned non-zero exit status 1
Summary of Failures:
/Development/pdfium/pdfium/testing/corpus/third_party/tcpdf/example_065.pdf
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1407913005 .
(cherry picked from commit da6254ff78553773b7bb637ee1e3f5111c083c74)
Review URL: https://codereview.chromium.org/1423523005 .
|
|
Thanks Stack Overflow!
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1421623002 .
(cherry picked from commit 61fe6edb3f789feefa4bd0c8475b9645fae0d09e)
Review URL: https://codereview.chromium.org/1420543004 .
|
|
- Use the number of cores as the default -j value
- Fall back to old code for -j 1
TBR=nparker@chromium.org
Review URL: https://codereview.chromium.org/1398793003 .
(cherry picked from commit fd751f28cecce61ab36038799043639d570e0b26)
Review URL: https://codereview.chromium.org/1395253002 .
|
|
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1314443007 .
(cherry picked from commit 8ead9036aab18d45498e310866210dfff20da188)
Review URL: https://codereview.chromium.org/1331643004 .
|