pdfviewer: fix condition for element in array, reset back the default color to white, and verify type before value in PDF API mapper

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10427 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/experimental/PdfViewer/generate_code.py b/experimental/PdfViewer/generate_code.py
index 75d3022..23a8360 100644
--- a/experimental/PdfViewer/generate_code.py
+++ b/experimental/PdfViewer/generate_code.py
@@ -518,7 +518,7 @@
             cntMust = cntMust + 1
             fileMapperNativeCpp.write('  if (!nativeObj->isDictionary()) return false;\n')
             fileMapperNativeCpp.write('  ret = nativeObj->get(\"' + prop.fName + '\", \"' + prop.fAbr + '\");\n')
-            fileMapperNativeCpp.write('  if (ret == NULL) return false;\n')
+            fileMapperNativeCpp.write('  if (ret == NULL || !' + knowTypes[prop.fTypes.strip()][3] + ') return false;\n')
             
             eval = '';
             # TODO(edisonn): this could get out of hand, and could have poor performance if continued on this path
diff --git a/experimental/PdfViewer/pdf_viewer_main.cpp b/experimental/PdfViewer/pdf_viewer_main.cpp
index f3176b9..194fcdd 100644
--- a/experimental/PdfViewer/pdf_viewer_main.cpp
+++ b/experimental/PdfViewer/pdf_viewer_main.cpp
@@ -139,7 +139,7 @@
                                                    PNG_FILE_EXTENSION);
 }
 
-static void setup_bitmap(SkBitmap* bitmap, int width, int height, SkColor color = SK_ColorTRANSPARENT) {
+static void setup_bitmap(SkBitmap* bitmap, int width, int height, SkColor color = SK_ColorWHITE) {
     bitmap->setConfig(SkBitmap::kARGB_8888_Config, width, height);
 
     bitmap->allocPixels();
diff --git a/experimental/PdfViewer/pdfparser/native/SkNativeParsedPDF.cpp b/experimental/PdfViewer/pdfparser/native/SkNativeParsedPDF.cpp
index e54ba82..9e89b84 100644
--- a/experimental/PdfViewer/pdfparser/native/SkNativeParsedPDF.cpp
+++ b/experimental/PdfViewer/pdfparser/native/SkNativeParsedPDF.cpp
@@ -504,12 +504,12 @@
 
         SkASSERT(!(id < 0 || id > fObjects.count()));
 
-        if (id < 0 || id > fObjects.count()) {
+        // TODO(edisonn): verify id and gen expected
+        if (id < 0 || id >= fObjects.count()) {
+            // TODO(edisonn): report error/warning
             return NULL;
         }
 
-        // TODO(edisonn): verify id and gen expected
-
         if (fObjects[id].fResolvedReference != NULL) {
             return fObjects[id].fResolvedReference;
         }