Simplify code for configuring suppression of ImageDecoder warnings

For images.png.suppressDecoderWarnings and
images.jpeg.suppressDecoderWarnings, the default behavior is now:

	Debug - DON'T suppress
	Developer Release - suppress
	Release - suppress

This behavior can be changed in Debug and in Developer through
the SkRTConf mechanism.

BUG=skia:1680
R=caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11749 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/images/SkImageDecoder_libjpeg.cpp b/src/images/SkImageDecoder_libjpeg.cpp
index 3e34a27..6430951 100644
--- a/src/images/SkImageDecoder_libjpeg.cpp
+++ b/src/images/SkImageDecoder_libjpeg.cpp
@@ -16,12 +16,10 @@
 #include "SkTemplates.h"
 #include "SkTime.h"
 #include "SkUtils.h"
+#include "SkRTConf.h"
 #include "SkRect.h"
 #include "SkCanvas.h"
 
-#if defined(SK_DEBUG)
-#include "SkRTConf.h"  // SK_CONF_DECLARE
-#endif  // defined(SK_DEBUG)
 
 #include <stdio.h>
 extern "C" {
@@ -40,10 +38,14 @@
 // support for two additional formats (1) JCS_RGBA_8888 and (2) JCS_RGB_565.
 
 #if defined(SK_DEBUG)
-SK_CONF_DECLARE(bool, c_suppressJPEGImageDecoderWarnings,
-    "images.jpeg.suppressDecoderWarnings", false,
-    "Suppress most JPG warnings when calling decode functions.");
+#define DEFAULT_FOR_SUPPRESS_JPEG_IMAGE_DECODER_WARNINGS false
+#else  // !defined(SK_DEBUG)
+#define DEFAULT_FOR_SUPPRESS_JPEG_IMAGE_DECODER_WARNINGS true
 #endif  // defined(SK_DEBUG)
+SK_CONF_DECLARE(bool, c_suppressJPEGImageDecoderWarnings,
+                "images.jpeg.suppressDecoderWarnings",
+                DEFAULT_FOR_SUPPRESS_JPEG_IMAGE_DECODER_WARNINGS,
+                "Suppress most JPG warnings when calling decode functions.");
 
 //////////////////////////////////////////////////////////////////////////
 //////////////////////////////////////////////////////////////////////////
@@ -74,7 +76,6 @@
     jpeg_create_decompress(cinfo);
     overwrite_mem_buffer_size(cinfo);
     cinfo->src = src_mgr;
-#if defined(SK_DEBUG)
     /* To suppress warnings with a SK_DEBUG binary, set the
      * environment variable "skia_images_jpeg_suppressDecoderWarnings"
      * to "true".  Inside a program that links to skia:
@@ -82,9 +83,6 @@
     if (c_suppressJPEGImageDecoderWarnings) {
         cinfo->err->emit_message = &do_nothing_emit_message;
     }
-#else  // Always suppress in release mode.
-    cinfo->err->emit_message = &do_nothing_emit_message;
-#endif  // defined(SK_DEBUG)
 }
 
 #ifdef SK_BUILD_FOR_ANDROID
diff --git a/src/images/SkImageDecoder_libpng.cpp b/src/images/SkImageDecoder_libpng.cpp
index 951083b..5fc9350 100644
--- a/src/images/SkImageDecoder_libpng.cpp
+++ b/src/images/SkImageDecoder_libpng.cpp
@@ -13,16 +13,12 @@
 #include "SkColorPriv.h"
 #include "SkDither.h"
 #include "SkMath.h"
+#include "SkRTConf.h"
 #include "SkScaledBitmapSampler.h"
 #include "SkStream.h"
 #include "SkTemplates.h"
 #include "SkUtils.h"
 #include "transform_scanline.h"
-
-#if defined(SK_DEBUG)
-#include "SkRTConf.h"  // SK_CONF_DECLARE
-#endif  // defined(SK_DEBUG)
-
 extern "C" {
 #include "png.h"
 }
@@ -45,10 +41,16 @@
 #endif
 
 #if defined(SK_DEBUG)
-SK_CONF_DECLARE(bool, c_suppressPNGImageDecoderWarnings,
-    "images.png.suppressDecoderWarnings", false,
-    "Suppress most PNG warnings when calling image decode functions.");
+#define DEFAULT_FOR_SUPPRESS_PNG_IMAGE_DECODER_WARNINGS false
+#else  // !defined(SK_DEBUG)
+#define DEFAULT_FOR_SUPPRESS_PNG_IMAGE_DECODER_WARNINGS true
 #endif  // defined(SK_DEBUG)
+SK_CONF_DECLARE(bool, c_suppressPNGImageDecoderWarnings,
+                "images.png.suppressDecoderWarnings",
+                DEFAULT_FOR_SUPPRESS_PNG_IMAGE_DECODER_WARNINGS,
+                "Suppress most PNG warnings when calling image decode "
+                "functions.");
+
 
 
 class SkPNGImageIndex {
@@ -222,18 +224,14 @@
     * the compiler header file version, so that we know if the application
     * was compiled with a compatible version of the library.  */
 
-#if defined(SK_DEBUG)
     png_error_ptr user_warning_fn =
         (c_suppressPNGImageDecoderWarnings) ? (&do_nothing_warning_fn) : NULL;
     /* NULL means to leave as default library behavior. */
-    /* c_suppressPNGImageDecoderWarnings defaults to false. */
+    /* c_suppressPNGImageDecoderWarnings default depends on SK_DEBUG. */
     /* To suppress warnings with a SK_DEBUG binary, set the
      * environment variable "skia_images_png_suppressDecoderWarnings"
      * to "true".  Inside a program that links to skia:
      * SK_CONF_SET("images.png.suppressDecoderWarnings", true); */
-#else  // Always suppress in release mode
-    png_error_ptr user_warning_fn = &do_nothing_warning_fn;
-#endif  // defined(SK_DEBUG)
 
     png_structp png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING,
         NULL, sk_error_fn, user_warning_fn);