skia2/gyp
halcanary@google.com 29d4e63864 GIF decode: optional error messages and fault tolerance.
Add new runtime configuration variable,
images.gif.suppressDecoderWarnings, which suppresses warning and
errors from the GIF library.  It defaults to "true", which is current
behavior.

(This setting can be changed by setting the environment variable
skia_images_gif_suppressDecoderWarnings="false".)

Some conditions which were errors before are now warnings:

-   If the image width or height is greater than the GIF screen width or
    height (respectively) we expand the screen to hold the image.

-   If the offset of the image inside the screen would place the
    image outside of the screen, we shift the image to fix this.

-   If the image lacks a color table, we create a default color table.

-   If the image is truncated, then the rest of the image is filled with
    the fill color.

In all four cases, if images.gif.suppressDecoderWarnings is set to
false, then a warning message is printed via SkDebugf.

In the event of another kind of error, SkGIFImageDecoder::onDecode()
will still return false.  But with this change, if
images.gif.suppressDecoderWarnings is set to false, a description of
the error is printed via SkDebugf.

Also, added a new unit test GifTest, which tests the deconing of both
good GIf files and corrupted files that should now work with this
change.  This unit test is disabled on Win32, iOS, and Mac.

BUG=skia:1689
R=scroggo@google.com

Review URL: https://codereview.chromium.org/26743002

git-svn-id: http://skia.googlecode.com/svn/trunk@11734 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-11 18:21:56 +00:00
..
android_deps.gyp Update DEPS and GYP to use the copy of Android in platform_tools. 2013-05-02 12:27:21 +00:00
android_system.gyp Update DEPS and GYP to use the copy of Android in platform_tools. 2013-05-02 12:27:21 +00:00
angle.gyp Refactor skia_warnings_as_errors 2013-03-22 13:16:06 +00:00
animator.gyp Update obvious deps. 2013-07-22 14:39:45 +00:00
apptype_console.gypi Update Skia Android tools. 2013-08-12 12:30:04 +00:00
bench.gyp refactor duplication (shouldSkip and skip_name) into a utility function 2013-07-24 17:24:23 +00:00
bench.gypi Bench baseline for mostly 0 image. 2013-09-25 21:42:12 +00:00
chromeos_deps.gyp GYP Changes and Scripts for Compiling Skia for ChromeOS 2013-06-11 15:52:19 +00:00
cityhash.gyp Re-land r9059 with empty cityhash.gyp, instead of deleted cityhash.gyp 2013-05-08 16:04:02 +00:00
common_conditions.gypi Add -fPIC fro tsan (isn't alrady set in non-library). 2013-10-10 17:24:17 +00:00
common_variables.gypi skia/trunk changes for generic sanitizer gyp flag. 2013-10-08 15:16:36 +00:00
common.gypi Remove uses of GR_RELEASE. 2013-09-03 23:32:08 +00:00
core.gyp We don't flatten or unflatten SkPaintOptionsAndroid. Reproduce and fix. 2013-09-26 15:16:12 +00:00
core.gypi Sketch of SK_ONCE 2013-10-09 16:12:23 +00:00
debugger.gyp Revert r11342 (Add infrastructure for testing the debugger code) due to build breakages 2013-09-18 13:28:10 +00:00
effects.gyp add support for high quality image filtering on the GPU 2013-09-04 19:23:53 +00:00
effects.gypi Luminance-to-alpha color filter (SkLumaColorFilter). 2013-10-07 18:00:17 +00:00
everything.gyp Don't compile the debugger on ChromeOS 2013-08-24 15:50:43 +00:00
experimental.gyp SkiaExamples improvements. 2013-07-24 17:48:03 +00:00
FileReaderApp.gyp Prepare skia for shared library build on android 2013-06-03 12:10:19 +00:00
flags.gyp Prepare skia for shared library build on android 2013-06-03 12:10:19 +00:00
fontconfig.gyp Sanitizing source files in Housekeeper-Nightly 2013-08-21 07:01:29 +00:00
freetype.gyp Add libpoppler for PDF rendering, take 2 2013-08-20 18:57:01 +00:00
freetype.gypi Sanitizing source files in Housekeeper-Nightly 2013-08-21 07:01:29 +00:00
gm.gyp Create new target to hold gpu test code, enable direct testing of GrEffects in GM. 2013-08-21 19:27:48 +00:00
gmslides.gypi Add new GM to stress test the GPU font cache for cases similar to 2013-10-09 18:12:23 +00:00
gpu.gyp Replace GR_*_BUILD by their SK_BUILD_FOR_* equivalents. 2013-09-25 20:57:51 +00:00
gpu.gypi Move VertexBuilder to a GrGLFullShaderBuilder subclass 2013-10-04 15:42:56 +00:00
gputest.gyp Fix android doubly defined empty string due to static lib and shared lib thing. 2013-08-21 20:50:50 +00:00
iconv.gyp Sanitizing source files in Housekeeper-Nightly 2013-08-21 07:01:29 +00:00
images.gyp Don't require getLength on Mac. 2013-08-28 19:13:13 +00:00
jsoncpp.gyp quiet down more third-party warnings in poppler and jsoncpp 2013-09-30 18:19:26 +00:00
libjpeg.gyp Sanitizing source files in Housekeeper-Nightly 2013-06-11 07:01:17 +00:00
libwebp.gyp update gyp for ARM builds to be more well defined. 2013-07-31 12:57:27 +00:00
lua.gyp use define to work-around localeconf() missingness in android 2013-05-15 20:55:49 +00:00
most.gyp Update Skia Android tools. 2013-08-12 12:30:04 +00:00
nacl.gyp Prepare skia for shared library build on android 2013-06-03 12:10:19 +00:00
opts.gyp ARM Skia NEON patches - 28 - Xfermode: SIMD modeprocs 2013-10-09 14:39:46 +00:00
pathops_unittest.gyp path ops work in progress 2013-10-02 14:49:34 +00:00
pathops_unittest.gypi path ops work in progress 2013-10-02 14:49:34 +00:00
pathops.gypi path ops work in progress 2013-09-16 15:55:01 +00:00
pdf.gyp Update pdf.gypi to actually work with Chromium 2013-08-26 13:47:20 +00:00
pdf.gypi Update pdf.gypi to actually work with Chromium 2013-08-26 13:47:20 +00:00
pdfviewer_lib.gyp pdfviewer: do not submit, uploaded for backup, and will be done actually after I refactor the params for functions, to put the char* params in a structure: report errors and warnings in pdf, infrastructure 2013-09-13 19:33:42 +00:00
pdfviewer.gyp pdfviewer: (cleanup) put the gyp for library code in a separate file 2013-08-16 16:13:44 +00:00
pixman_test.gyp GYP Changes and Scripts for Compiling Skia for ChromeOS 2013-06-11 15:52:19 +00:00
poppler.gyp quiet down more third-party warnings in poppler and jsoncpp 2013-09-30 18:19:26 +00:00
ports.gyp allow both GDI and DW fontmgrs at the same time 2013-08-21 15:20:43 +00:00
public_headers.gypi Luminance-to-alpha color filter (SkLumaColorFilter). 2013-10-07 18:00:17 +00:00
SampleApp.gyp I'm investigating how to make the IPC transfer a bit more secure on the 2013-09-19 18:40:49 +00:00
sfnt.gyp Update obvious deps. 2013-07-22 14:39:45 +00:00
shapeops_demo.gyp GYP Changes and Scripts for Compiling Skia for ChromeOS 2013-06-11 15:52:19 +00:00
shapeops_edge.gyp Prepare skia for shared library build on android 2013-06-03 12:10:19 +00:00
shapeops_tool.gyp Prepare skia for shared library build on android 2013-06-03 12:10:19 +00:00
SimpleCocoaApp.gyp Prepare skia for shared library build on android 2013-06-03 12:10:19 +00:00
SimpleiOSApp.gyp Prepare skia for shared library build on android 2013-06-03 12:10:19 +00:00
skia_lib.gyp refactor gyp to isolate freetype usage 2013-07-22 14:12:56 +00:00
svg.gyp Update obvious deps. 2013-07-22 14:39:45 +00:00
tests.gyp GIF decode: optional error messages and fault tolerance. 2013-10-11 18:21:56 +00:00
tools.gyp Make image decoding more fault resistant, less verbose. 2013-10-04 12:46:45 +00:00
utils.gyp Add a buffered SkStream class. 2013-09-26 21:35:39 +00:00
views_animated.gyp Update obvious deps. 2013-07-22 14:39:45 +00:00
views.gyp Update obvious deps. 2013-07-22 14:39:45 +00:00
xml.gyp Update obvious deps. 2013-07-22 14:39:45 +00:00
xps.gyp Prepare skia for shared library build on android 2013-06-03 12:10:19 +00:00
zlib.gyp Update obvious deps. 2013-07-22 14:39:45 +00:00