libchrome: Add FuzzedDataProvider.

Chrome OS is ramping up the use of fuzzing for increased stability and
security. We published a fuzzing guide at
https://chromium.googlesource.com/chromiumos/docs/+/master/fuzzing.md
and now it's time to start writing fuzzers.

FuzzedDataProvider simplifies writing fuzzers that test more than just
functions that take a |char*|. It makes it a lot easier to test APIs by
allowing the fuzzer to use the data provided by the fuzzing scaffolding
to make higher level decisions.

Add FuzzedDataProvider to libchrome to allow Chrome OS fuzzers to use
it.

Revision in chromium/src of added files:
cd328f417239bb2743040789247be04f78f31ae1, r433652
Mon May 21

BUG=chromium:844592
TEST=Compiles, fuzzer can use FuzzedDataProvider.

Change-Id: Icf7add7508d17e36c66c204dd72066c4f211ca85
Reviewed-on: https://chromium-review.googlesource.com/1069002
Commit-Ready: Jorge Lucangeli Obes <jorgelo@chromium.org>
Tested-by: Jorge Lucangeli Obes <jorgelo@chromium.org>
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Eric Caruso <ejcaruso@chromium.org>
3 files changed