summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-03-30Rename FDE files to match contents.Dan Sinclair
This CL renames files in xfa/fde to match the contents. The fde_object.h file is split apart into cfde_pen and cfde_brush. Change-Id: I953f102182caa6d87c5ee9b99bbeb01c34a01aa9 Reviewed-on: https://pdfium-review.googlesource.com/3371 Reviewed-by: Nicolás Peña <npm@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-03-30Fix Chromium XFA buildDominik Röttsches
Remove unnecessary FreeType include. BUG=chromium:706824 Change-Id: If3006a047e9431d6bf4111da867a998994034f56 Reviewed-on: https://pdfium-review.googlesource.com/3391 Reviewed-by: Nicolás Peña <npm@chromium.org> Commit-Queue: Nicolás Peña <npm@chromium.org>
2017-03-30Rename fgas_stream to ifgas_streamDan Sinclair
This Cl renames the the fgas_stream files to match the internal ifgas_stream class. The majority of the code in ifgas_stream.cpp is moved into the anonymouse namespace. Change-Id: I0518103d61df077782d9ab26d0ac87485417f379 Reviewed-on: https://pdfium-review.googlesource.com/3370 Reviewed-by: Nicolás Peña <npm@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-03-30Use more unique_ptr and std::vector in JBig2_SddProcNicolas Pena
- Used unique_ptr and vector to avoid FX_Free usage. - Removed goto's. Bug: chromium:655535 Change-Id: Iec17b9fd2432551bc41606f93837617d82085bf2 Reviewed-on: https://pdfium-review.googlesource.com/3290 Commit-Queue: Nicolás Peña <npm@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-03-30Allow configuration of external embedder FreeTypeDominik Röttsches
Add a public config to fxfreetype to make includes visible and provide a freetype_common group as a public dependency on fxcrt. freetype_common switches between fxfreetype and //build/config/freetype, which gives embedders the flexibility to configure the source of FreeType. BUG=chromium:700926 Change-Id: I73ae26979dcf69a419485def23c7a13dffa2a15d Reviewed-on: https://pdfium-review.googlesource.com/2971 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2017-03-30Roll DEPS for various tools.Lei Zhang
build_revision: a634e44 buildtools_revision: e6b510a clang_revision: c55112f TBR=thakis@chromium.org Change-Id: I0b69740c2c744a7b4e2c7c7963e4fbdaf2cc0a82 Reviewed-on: https://pdfium-review.googlesource.com/3332 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-03-30Upgrade to FreeType 2.7.1.Lei Zhang
BUG=pdfium:601 Change-Id: I07756cd208cd2221802ff2d331f316b6618a41e0 Reviewed-on: https://pdfium-review.googlesource.com/3120 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-03-30Erase unused freetype files.Lei Zhang
Change-Id: I024573f341cba48d9f5d2bc38683a016639b14e2 Reviewed-on: https://pdfium-review.googlesource.com/3119 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-03-30Account for character size in last CFX_WideString patch.Tom Sepez
Change-Id: Ic3a72eb73afe86624dea406948b95dea70192e47 Reviewed-on: https://pdfium-review.googlesource.com/3296 Reviewed-by: Lei Zhang <thestig@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-03-29Quick fix for blank previewrbpotter
BUG=chromium:701057 Change-Id: I601b9763b2fddec953f769ec012cd7920806265a Reviewed-on: https://pdfium-review.googlesource.com/3330 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2017-03-29Avoid guessing vsnprintf() buffer length. Tom Sepez
This pattern is widely used in chrome. Change-Id: I64229b2ce298bf78773fe47c68d19be59411a76a Reviewed-on: https://pdfium-review.googlesource.com/3293 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-03-29Move xfa/fxbarcode fxbarcode/Dan Sinclair
Nothing in fxbarcode/ depends on XFA code. This CL moves xfa/fxbarcode to be fxbarcode/ and creates a static_library for fxbarcode which is depend on by the xfa library. Change-Id: I0b708737b07efb94b769a5238d92af92bc62880d Reviewed-on: https://pdfium-review.googlesource.com/3291 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-03-29Remove fgas/localization directoryDan Sinclair
This Cl moves the CFX_DateTime, CFX_Decimal and IFX_Locale files into core/fxcrt and builds only for XFA. The CFX_FormatString code is moved info fgas/crt and renamed CFGAS_FormatString to match the fgas naming. Change-Id: I8d9061195d2225da0389cbc9d018fcbd2e9a3c0c Reviewed-on: https://pdfium-review.googlesource.com/3257 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org> Reviewed-by: Nicolás Peña <npm@chromium.org>
2017-03-29Fix undefined shift in JBig2_SddProcNicolas Pena
Bug: chromium:655535 Change-Id: I114a9447a9af107e6056e6056e7514ba789e282b Reviewed-on: https://pdfium-review.googlesource.com/3294 Commit-Queue: Nicolás Peña <npm@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-03-29Rename fgas/localization files to match contentsDan Sinclair
This Cl renames the files to match their contents and splits out headers where needed. Change-Id: Ibe2e90ca969a9d05ee73bb956ffa59a63c7ab076 Reviewed-on: https://pdfium-review.googlesource.com/3256 Reviewed-by: Nicolás Peña <npm@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-03-29Fix MSAN uninitialized value report.Tom Sepez
Having move to partition alloc, string buffers are no longer automatically pre-zero'd (nor should they because CFX strings are implemented without this cycle-wasting assumption in mind). BUG=705912 Change-Id: Ia0de263076c2a792ab546bd10c37a06b4251e7e2 Reviewed-on: https://pdfium-review.googlesource.com/3292 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-03-29Rename CFX_Unitime to CFX_DateTimeDan Sinclair
The name Unitime did not give any indication of what the class contained. This Cl renames to DateTime to more accurately refect the class holds a date and time. Change-Id: I95f96224822f46a7da46ae39c71d2e23fc16f7d5 Reviewed-on: https://pdfium-review.googlesource.com/3255 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Nicolás Peña <npm@chromium.org>
2017-03-29Split xfa_object.h apart.Dan Sinclair
This Cl splits the xfa_object.h into individual class header files and fixes the needed includes. Change-Id: Ia011ee9bc5deee5e44b8a956fa54bc2c3849cff0 Reviewed-on: https://pdfium-review.googlesource.com/3254 Reviewed-by: Nicolás Peña <npm@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-03-29Do more checks before big allocs in TIFFReadDirEntryArrayNicolas Pena
This CL fixes the only caller to TIFFReadDirEntryData with potentially large size so that we avoid big mallocs when we know we will fail. It does this as follows: - Avoid the unnecessary computations if datasize is very small. We don't want to be slower in this case. - If !isMapped(tif), we will Seek and Read. Check that ending position is reachable. In the other case, do a simple check for out of bounds. Bug: chromium:681311 Change-Id: Ia172d8b4d401753b7c8d5455dc1ada5335f6fa6b Reviewed-on: https://pdfium-review.googlesource.com/3253 Commit-Queue: Nicolás Peña <npm@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2017-03-29Return values instead of out paramschromium/3056Dan Sinclair
This CL updates the IFX_Locale code and subclasses to return CFX_WideStrings instead of taking out params. Change-Id: Id03499c68161e809607e73b9d8ec778e24631845 Reviewed-on: https://pdfium-review.googlesource.com/3252 Reviewed-by: Nicolás Peña <npm@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-03-29Enable Wshift-negative-value in PDFium.Lei Zhang
BUG=chromium:507717 Change-Id: If0030640497ce103de7713f8497570602950a2b6 Reviewed-on: https://pdfium-review.googlesource.com/3270 Commit-Queue: Nico Weber <thakis@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org>
2017-03-29Default to using bundled FreeType on Linux.Lei Zhang
Add override option for embedders. BUG=pdfium:143 Change-Id: If8e97fddf46127ba387e4165a973b78a8a642028 Reviewed-on: https://pdfium-review.googlesource.com/3190 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Nicolás Peña <npm@chromium.org>
2017-03-28Renaming and splitting in xfa/fxfa/parser.Dan Sinclair
This Cl renames several of the files in xfa/fxfa/parser to match the name of the contained classes. Files with multiple clasess are split apart when renamed. Change-Id: Ice8a1279072ee13c2f62a81946be7f42f9ba6007 Reviewed-on: https://pdfium-review.googlesource.com/3250 Commit-Queue: Nicolás Peña <npm@chromium.org> Reviewed-by: Nicolás Peña <npm@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2017-03-28Fix nits in cxfa_ffpageview.cpp and friends.Lei Zhang
Change-Id: I1d074a7023a3906c96626f3ebfa7955e3d3d67f7 Reviewed-on: https://pdfium-review.googlesource.com/3192 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2017-03-28Ensure that CFX_RetainPtr move ctor is used by std::vector.Tom Sepez
Add a test for one of our types that fails unless this is the case. Mark all our other move ctors as |noexcept|. Change-Id: Ib106f219183d5abf94504af420a43c94b8f40e22 Reviewed-on: https://pdfium-review.googlesource.com/3251 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-03-28Remove unused CFX_ArrayTemplate and CFX_BasicArray.Tom Sepez
Change-Id: I10040b6504cf237f2e3e1f6075ae6a0612570461 Reviewed-on: https://pdfium-review.googlesource.com/3249 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-03-28Allow adding complete_static_lib to builddan sinclair
The complete_static_lib will cause all of the various libraries generated during the build to get bundled into a single libpdfium.a. This makes linking a lot easier for external applications as they just -lpdfium instead of trying to get the correct link order. See https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/reference.md#complete_static_lib for more information. Note, this just does pdfium at the moment, the V8 and XFA libs will need to get changed in the future if they're needed. BUG=pdfium:451 Change-Id: Id1f2d999652e2f951bcd77591f2514641371324e Reviewed-on: https://pdfium-review.googlesource.com/3220 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-03-28Remove CFX_ArrayTemplate from FX barcode code.Tom Sepez
This is now the last usage in pdfium, types to be removed in a follow-on CL. Change-Id: I16f67eb3eb99f21bb231829168203be125129ad7 Reviewed-on: https://pdfium-review.googlesource.com/3247 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-03-28Remove download_binaries.py from DEPSTom Anderson
This step is no longer necessary after https://codereview.chromium.org/2775913002/ Bug: 705072 Change-Id: I3b293fabad8a6e6044098da1251a206417f3aed7 Reviewed-on: https://pdfium-review.googlesource.com/3217 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-03-28Remove CFX_ArrayTempalte from cxfa_resolvprocessor.cppTom Sepez
Change-Id: Ib52f537b6acfbd6573e7ad1be988e6199ca3b7f9 Reviewed-on: https://pdfium-review.googlesource.com/3248 Commit-Queue: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-03-28Remove CFX_ArrayTemplate from xfa_layoutpagemgr.cppchromium/3055Tom Sepez
Change-Id: I0956ecff82a11376a3d7b9176b4a13ee4e707cc3 Reviewed-on: https://pdfium-review.googlesource.com/3241 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-03-28Remove CFX_ArrayTemplate from CXFA_Node.Tom Sepez
Remove some unused arrays from helper functions while we're at it. Change-Id: I7cf9efaeb269df8b9c32b128fc9595682102f0e1 Reviewed-on: https://pdfium-review.googlesource.com/3240 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-03-28Add bounds check into JBIG2 Arith decoder.Dan Sinclair
Currently when the BitStream runs out of bits it pretends that it still has content and will continue to return the last byte over and over again. This Cl updates the jbig decoder to detect that the bit stream is complete and returns a decode error. Bug: chromium:665056 Change-Id: I61ca75713e677a2c280e80374b8dcfd48bee67d8 Reviewed-on: https://pdfium-review.googlesource.com/3244 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2017-03-28Init PDFium in fuzzer codeDan Sinclair
Due to the partition alloc change we need to initialize the PDFium library in the fuzzers now. This will initialize the needed partitions. Without this, we fail in various places when attempting to create items into the partitions Bug: pdfium:687 Change-Id: I1c40ae3f442cb781cfdb7545b022ee1f4e64e264 Reviewed-on: https://pdfium-review.googlesource.com/3246 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-03-28Add JBig2_BitStream ReadNBits unittestsDan Sinclair
Add test for reading past end of buffer and successful read of bits. Bug: chromium:672176 Change-Id: Ibe2d818185cdb2260011d3fc8cad94ebb16984b7 Reviewed-on: https://pdfium-review.googlesource.com/3233 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-03-28Revert "Revert "Refcount all CFX_DIBSources (and subclasses) all the time.""Tom Sepez
This reverts commit 31b08d4cdaa17d7a03f35e087096a77036af98ec. Re-landing the patch after fixing skia build issue. Change-Id: Ie7039890088b803a6ec5ce365d70f57277459b48 Reviewed-on: https://pdfium-review.googlesource.com/3245 Commit-Queue: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-03-28Revert "Refcount all CFX_DIBSources (and subclasses) all the time."dsinclair
This reverts commit 0004f29bf6ee3c6060a272c79f14993e92e053c7. Reason for revert: Breaks build with skia_paths enabled (which will break the chrome roll). ../../third_party/pdfium/core/fxge/skia/fx_skia_device.cpp:1858:38: error: no member named 'get' in 'CFX_RetainPtr<CFX_DIBitmap>' ../../third_party/pdfium/core/fxge/skia/fx_skia_device.cpp:1861:42: error: no member named 'get' in 'CFX_RetainPtr<CFX_DIBitmap>' ../../third_party/pdfium/core/fxge/skia/fx_skia_device.cpp:2987:15: error: no viable overloaded '=' ../../third_party/pdfium/core/fxge/skia/fx_skia_device.cpp:2991:18: error: no viable overloaded '=' ../../third_party/pdfium/core/fxge/skia/fx_skia_device.cpp:2999:17: error: no viable overloaded '=' ../../third_party/pdfium/core/fxge/skia/fx_skia_device.cpp:3001:43: error: no member named 'GetObject' in 'CFX_RetainPtr<CFX_DIBitmap>' Original change's description: > Refcount all CFX_DIBSources (and subclasses) all the time. > > There are currently several ownership models for these objects, > including ad-hoc logic for sharing and deletion, and the > now-redundant CFX_DIBitmapRef externally-counted handle to the DIBs. > > Replace them all with the internal refcount scheme. > > Change-Id: I2db399dfc19219eda384f94cc989353b78ce2872 > Reviewed-on: https://pdfium-review.googlesource.com/3166 > Reviewed-by: dsinclair <dsinclair@chromium.org> > Commit-Queue: dsinclair <dsinclair@chromium.org> > TBR=thestig@chromium.org,tsepez@chromium.org,dsinclair@chromium.org,pdfium-reviews@googlegroups.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I678b1fbc5e666cf7a19372ebaff3270fb115ba5e Reviewed-on: https://pdfium-review.googlesource.com/3243 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-03-28Remove CFX_ArrayTemplate from xfa_document_datamerger_imp.cppTom Sepez
Change-Id: Ie59ed4172c2da7afe0b60d1d0e94d204ec4b9004 Reviewed-on: https://pdfium-review.googlesource.com/3238 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-03-28remove CFX_ArrayTemplate from cfde_txtedtparag.cppTom Sepez
Change-Id: I93ae474434a2867af9e9da96668b1834267bbef3 Reviewed-on: https://pdfium-review.googlesource.com/3237 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-03-28use std::vector for m_rgSpecifiedColumnWidthsTom Sepez
Change-Id: I8cb6f016403febc47df1df21e9b68c8a6348e647 Reviewed-on: https://pdfium-review.googlesource.com/3236 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-03-28Refcount all CFX_DIBSources (and subclasses) all the time.Tom Sepez
There are currently several ownership models for these objects, including ad-hoc logic for sharing and deletion, and the now-redundant CFX_DIBitmapRef externally-counted handle to the DIBs. Replace them all with the internal refcount scheme. Change-Id: I2db399dfc19219eda384f94cc989353b78ce2872 Reviewed-on: https://pdfium-review.googlesource.com/3166 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-03-28Remove CFX_ArrayTemplate in CXFA_ValueArrayTom Sepez
Change-Id: I68f317b9fb9b162a5d99cdacc619c85f96a5bf52 Reviewed-on: https://pdfium-review.googlesource.com/3239 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-03-27Cleanup fx_dib_composite part 6chromium/3054Nicolas Pena
Simplify two more methods. Change-Id: I1bb4c827a14f63c743336df152ff88a6b4e52934 Reviewed-on: https://pdfium-review.googlesource.com/3214 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Nicolás Peña <npm@chromium.org>
2017-03-27Return arrays where appropriate in fxfa.Tom Sepez
Also, remove some default method arguments along the way. Change-Id: Ifbd157499881ed6a3777f3903dd7f0193753cf59 Reviewed-on: https://pdfium-review.googlesource.com/3219 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
2017-03-27Convert new into MakeUniqueDan Sinclair
This Cl converts some new calls into pdfium::MakeUnique calls. Change-Id: Ifa4a67e305ffa75e2be560447ece21ccfa70bf3f Reviewed-on: https://pdfium-review.googlesource.com/3232 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-03-27Verify available bits in bit streamDan Sinclair
The methods to read n bits from the huffman stream are not correctly checking that the bits are available. This means, we'll end up reading 0 bits due to the checks below and pretend like the read worked. This Cl adds the check that we are not at the end of the bit buffer before attempting the bit read. Bug: chromium:672176 Change-Id: I206f2d54da31c344cf649ca024644d1cce762fe7 Reviewed-on: https://pdfium-review.googlesource.com/3231 Reviewed-by: Nicolás Peña <npm@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-03-27Fix some ASAN issues in fx_skia_deviceNicolas Pena
- Flush is needed in ~CFX_FxgeDevice, otherwise it may be called after deleting the bitmap, when calling the destructor of the skia device driver. - SkDashPathEffect::Make copies the given intervals instead of owning them, so free the input to that method. - If StartDIBits creates a new CFX_ImageRenderer, then the corresponding CancelDIBits needs to delete the handle. Bug: chromium:705131 Change-Id: I22c7c51a4070e73538eb8af51a60afeaa67f8bb7 Reviewed-on: https://pdfium-review.googlesource.com/3230 Commit-Queue: Nicolás Peña <npm@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-03-27Guard against lengths greater then input sizeDan Sinclair
If we get a requested length that is longer then the available buffer size we bail as we won't be able to read the needed data anyway. Bug: chromium:672177 Change-Id: Idb41671c07fe758ec0c1d4d6f84ead0a58fa8339 Reviewed-on: https://pdfium-review.googlesource.com/3221 Reviewed-by: Nicolás Peña <npm@chromium.org> Commit-Queue: Nicolás Peña <npm@chromium.org>
2017-03-27Add Mac 10.12 pixel expectationsNicolas Pena
Bug: pdfium:626 Change-Id: I93a0d02c26d1a44c0fca666cfd09df32ecc1a23d Reviewed-on: https://pdfium-review.googlesource.com/3222 Commit-Queue: Nicolás Peña <npm@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-03-27Remove old test expectations after the Mac 10.12 upgrade.Lei Zhang
BUG=chromium:703912 Change-Id: I5b4e582afc95b845e8e5e7a4e14581127c18de2d Reviewed-on: https://pdfium-review.googlesource.com/3193 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Nicolás Peña <npm@chromium.org>