summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-04-01Use absolute paths for FreeType source code.Lei Zhang
After moving to a DEPS based FreeType checkout, integration with Chromium no longer works correctly when pdf_bundle_freetype is set to true, because relative paths would point to third_party/pdfium/third_party/freetype, and that no longer exists. BUG=pdfium:688 TBR=drott@chromium.org,dsinclair@chromium.org,npm@chromium.org Change-Id: I346072ddc1052d25be58ca1610f6d1c002fc03ef Reviewed-on: https://pdfium-review.googlesource.com/3556 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-03-31Use PartitionFreeGeneric for the strings partition, not PartitionFree.Chris Palmer
BUG=pdfium:681 Change-Id: Ic40ed9409855097d823659f710cdf7cd96a21e83 Reviewed-on: https://pdfium-review.googlesource.com/3554 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2017-03-31Use PartitionFreeGeneric, not PartitionFree, for JS ArrayBuffers.Chris Palmer
BUG=pdfium:681 Change-Id: Ide52764c7c7e8833c581dbc9d41ed875faa2c2bc Reviewed-on: https://pdfium-review.googlesource.com/3555 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2017-03-31Move zlib to a DEPS-based checkout.Lei Zhang
BUG=chromium:541704 Change-Id: I313d8853450ff5940b3baa4054ff441b342c46b7 Reviewed-on: https://pdfium-review.googlesource.com/3350 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org> Reviewed-by: Nicolás Peña <npm@chromium.org>
2017-03-31Split fx_dib part 3Nicolas Pena
Moved CFX_ImageRenderer, CFX_ImageTransformer to their own files. Change-Id: Ic98403f62bea317600a933f79946a2a9bad30eeb Reviewed-on: https://pdfium-review.googlesource.com/3551 Commit-Queue: Nicolás Peña <npm@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2017-03-31Pull in FreeType via DEPS instead.Lei Zhang
BUG=pdfium:688 Change-Id: I7787b29d0fedc48f1360ab041d43829d0e805462 Change-Id: I7787b29d0fedc48f1360ab041d43829d0e805462 Reviewed-on: https://pdfium-review.googlesource.com/3331 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org> Reviewed-by: Nicolás Peña <npm@chromium.org>
2017-03-31Move FX_FILESIZE to fx_system.hTom Sepez
Remove dependency on fx_stream.h from fx_safe_types.h. We're going to hit cylces in include file dependencies otherwise when the partition allocator work is landed. Change-Id: I35bf78038a08599559b959f1403aa0f8fbf87739 Reviewed-on: https://pdfium-review.googlesource.com/3552 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: Nicolás Peña <npm@chromium.org>
2017-03-31Split fx_dib.h part 2chromium/3059Nicolas Pena
- Created cpp for CFX_FilteredDIB. - Moved CFX_ScanLineCompositor to its own files. Change-Id: I020e44a9e824d497db4526893d61eb3819af4059 Reviewed-on: https://pdfium-review.googlesource.com/3550 Commit-Queue: Nicolás Peña <npm@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2017-03-31Re-arrange fxcrt string files to match naming.Tom Sepez
The top-level fx_string.h is kept to include all strings. Put all fx_atof code in fx_basic_util.cpp rather than header. Change-Id: I61fe768f2e1ddf8438d27e410929f4cff918a9a3 Reviewed-on: https://pdfium-review.googlesource.com/3530 Reviewed-by: Nicolás Peña <npm@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
2017-03-31Split fx_dib part 1Nicolas Pena
Move CFX_DIBSource to its own file. Also move the classes that inherit from it to their own headers. Their cpp's will be added in followup. Change-Id: Id2b53e124ea5445c558bfcf627bf526870cc92e8 Reviewed-on: https://pdfium-review.googlesource.com/3450 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Nicolás Peña <npm@chromium.org>
2017-03-31Fix QR code generation.Lei Zhang
Roll DEPS for testing corpus to 2c5a026 to verify. This regressed in commit c8017b2. BUG=pdfium:692 Change-Id: Ic09ed53db8b3cc81abb2bdea863b8cf32f614197 Reviewed-on: https://pdfium-review.googlesource.com/3510 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2017-03-31Roll DEPS for testing corpus to 146d4c6.chromium/3058Lei Zhang
Pick up updated baselines for bug_434.pdf, and remove suppressions. BUG=pdfium:434 TBR=tsepez@chromium.org Change-Id: I4b1f75dfd40d88d968363d11854064517f58d2e7 Reviewed-on: https://pdfium-review.googlesource.com/3511 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-03-31Roll DEPS for testing corpus to 9785959.Lei Zhang
Add user provided test case for colorspaces. BUG=chromium:691967 TBR=dsinclair@chromium.org Change-Id: I8131a591ab24ca7217fee09879e623fc21bb1667 Reviewed-on: https://pdfium-review.googlesource.com/3471 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-03-31Revert "Remove download_binaries.py from DEPS"Tom Anderson
This reverts commit b0baff546bdcd911c80007829d9af5f05d0c04b0. Reason for revert: https://codereview.chromium.org/2775913002/ needs to be reverted, so reverting all dependent patch sets Original change's description: > Remove download_binaries.py from DEPS > > 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> > R=thestig@chromium.org Change-Id: I0d30177fd848595f6ec997efd4515b02bb539925 Reviewed-on: https://pdfium-review.googlesource.com/3452 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2017-03-30vswprintf() part 2: retry when clearly out of space.chromium/3057Tom Sepez
Use vendor guidance if possible. Otherwise, avoid allocating N^2 storage for N wide chars. Update tests to account for strings removed from helper. Change-Id: I38bbaf936656fb43ec1ae33652da4cabde00247a Reviewed-on: https://pdfium-review.googlesource.com/3433 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2017-03-30vswprintf() part 1: move code, create helper function.Tom Sepez
Change-Id: Iec9c3bb850b1654c67ac3081e557842f1eafd604 Reviewed-on: https://pdfium-review.googlesource.com/3431 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2017-03-30Move CXFA_XMLParser to CFDE_XMLParserDan Sinclair
There is nothing XFA specific in the CXFA_XMLParser. This Cl moves it to the CFDE_XMLParser and co-locates with the other XML code. Change-Id: I86c12da3f6f5732be54b8019562978f88234e2fc Reviewed-on: https://pdfium-review.googlesource.com/3432 Reviewed-by: Nicolás Peña <npm@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-03-30Fix some nits in the javascript util code.Lei Zhang
Change-Id: I695ca2c4de589f763557d2c327fdb5906bd1a3cf Reviewed-on: https://pdfium-review.googlesource.com/3411 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-03-30Add some calls to MakeUniqueDan Sinclair
This CL replaces some new's with pdfium::MakeUnique. Change-Id: I50faf3ed55e7730b094c14a7989a9dd51cf33cbb Reviewed-on: https://pdfium-review.googlesource.com/3430 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2017-03-30Move core/fxcrt XML files to core/fxcrt/xmlDan Sinclair
This CL moves the other XML files contained in core/fxcrt into the core/fxcrt/xml directory to contain all the fxcrt XML files in one place. Change-Id: I9faefb1f311bf167b75dfbb7b9b52f25515e3c31 Reviewed-on: https://pdfium-review.googlesource.com/3378 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-03-30Avoid one more instance of the anti-pattern in 706346.Tom Sepez
Need to have a function taking a const CFX_RetainPtr<X>& reference as an argument, assign a different object to a m_ variable of the same type in the function, continue to use the reference after the assignment, and call the function elsewhere with the same m_ variable as the argument while having no other RetainPtrs to the object. Unclear if it is called in this manner, but the first three points hold, so be proactive. Change-Id: I0ece4d7da0b8cf5f3079c53fa612ca07e9632502 Reviewed-on: https://pdfium-review.googlesource.com/3377 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-03-30Libtiff security upstream patchesNicolas Pena
CL list: https://github.com/vadz/libtiff/commit/438274f938e046d33cb0e1230b41da32ffe223e1 https://github.com/vadz/libtiff/commit/43bc256d8ae44b92d2734a3c5bc73957a4d7c1ec https://github.com/vadz/libtiff/commit/1044b43637fa7f70fb19b93593777b78bd20da86 https://github.com/vadz/libtiff/commit/9a72a69e035ee70ff5c41541c8c61cd97990d018 https://github.com/vadz/libtiff/commit/b4b41925115059b49f97432bda0613411df2f686 Bug: chromium:706349 Change-Id: I782156e7486919a62e25eeb95cb8699f1b2c5ee1 Reviewed-on: https://pdfium-review.googlesource.com/3374 Reviewed-by: dsinclair <dsinclair@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Nicolás Peña <npm@chromium.org>
2017-03-30Rename tto/fde_textout to cfde_textoutDan Sinclair
This CL renames the textout file to cfde_textout to match the classname and moves up one directory to xfa/fde. Change-Id: I0b405961b8406818a2eb3cbb30f87620afa6ab7a Reviewed-on: https://pdfium-review.googlesource.com/3373 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-03-30Move CFX files into fxcrtDan Sinclair
This Cl moves more of the CFX classes defined in the xfa/ directory to the core/fxcrt directory and conditionally builds them. Change-Id: I811e6c6acd31dfbe75b49880be43661f78334013 Reviewed-on: https://pdfium-review.googlesource.com/3372 Reviewed-by: Nicolás Peña <npm@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-03-30Revert "Enable Wshift-negative-value in PDFium."Nico Weber
This reverts commit 21362ee6370e6ef0f5a8275af5afde3f127887c9. Reason for revert: Breaks win_clang. Original change's description: > Enable Wshift-negative-value in PDFium. > > 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> > TBR=thestig@chromium.org,thakis@chromium.org,pdfium-reviews@googlegroups.com # Not skipping CQ checks because original CL landed > 1 day ago. BUG=chromium:507717 Change-Id: I4d482b6b7dade74373995f6d9cfdc6d1d66431a3 Reviewed-on: https://pdfium-review.googlesource.com/3410 Reviewed-by: Nico Weber <thakis@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-03-30Protect against premature mask destruction in CFX_ClipRgn::IntersectRectTom Sepez
Assigning to m_Mask will invalidate the pMask argument if m_Mask itself is passed into the method. BUG=706346 Change-Id: Ieaac480eb9e857c3199fd539c23978fb7f372461 Reviewed-on: https://pdfium-review.googlesource.com/3376 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-03-30Remove unnecessary FreeType include.Dominik Röttsches
BUG=706824 Change-Id: I7f2138689d8e0d93fcb100c0215c8cf6bde427de Reviewed-on: https://pdfium-review.googlesource.com/3392 Commit-Queue: Dominik Röttsches <drott@chromium.org> Commit-Queue: Nicolás Peña <npm@chromium.org> Reviewed-by: Nicolás Peña <npm@chromium.org>
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>