pdfviewer: native inline images support

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10087 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/experimental/PdfViewer/SkPdfRenderer.cpp b/experimental/PdfViewer/SkPdfRenderer.cpp
index 2a7e839..1ace7ca 100644
--- a/experimental/PdfViewer/SkPdfRenderer.cpp
+++ b/experimental/PdfViewer/SkPdfRenderer.cpp
@@ -106,6 +106,8 @@
         fPdfContext = parent->fPdfContext;
         fCanvas = parent->fCanvas;
     }
+
+    SkPdfNativeTokenizer* tokenizer() { return fTokenizer; }
 };
 
 class PdfMainLooper : public PdfTokenLooper {
@@ -1844,27 +1846,12 @@
 }
 
 PdfResult PdfInlineImageLooper::consumeToken(PdfToken& token) {
-    //pdfContext.fInlineImage.fKeyValuePairs[key] = value;
-    return kNYI_PdfResult;
+    SkASSERT(false);
+    return kIgnoreError_PdfResult;
 }
 
 void PdfInlineImageLooper::loop() {
-    PdfToken token;
-    while (readToken(fTokenizer, &token)) {
-        if (token.fType == kKeyword_TokenType && strcmp(token.fKeyword, "BX") == 0) {
-            PdfTokenLooper* looper = new PdfCompatibilitySectionLooper();
-            looper->setUp(this);
-            looper->loop();
-        } else {
-            if (token.fType == kKeyword_TokenType && strcmp(token.fKeyword, "EI") == 0) {
-                done();
-                return;
-            }
-
-            consumeToken(token);
-        }
-    }
-    // TODO(edisonn): report error/warning, EOF without EI.
+    doXObject_Image(fPdfContext, fCanvas, fTokenizer->readInlineImage());
 }
 
 PdfResult PdfInlineImageLooper::done() {