Home | History | Annotate | Download | only in pdfapi
      1 /*
      2  * Copyright 2013 Google Inc.
      3 
      4  * Use of this source code is governed by a BSD-style license that can be
      5  * found in the LICENSE file.
      6  */
      7 
      8 #include "SkPdfMapper_autogen.h"
      9 #include "SkPdfUtils.h"
     10 #include "SkPdfNativeObject.h"
     11 
     12 SkPdfNativeObjectType SkPdfMapper::mapDictionary(const SkPdfNativeObject* in) const {
     13   if (in == NULL || !isDictionary(in)) return kNone_SkPdfNativeObjectType;
     14 
     15   SkPdfNativeObjectType ret;
     16   if (kNone_SkPdfNativeObjectType != (ret = mapALinkAnnotationDictionary(in))) return ret;
     17   if (kNone_SkPdfNativeObjectType != (ret = mapActionDictionary(in))) return ret;
     18   if (kNone_SkPdfNativeObjectType != (ret = mapAlternateImageDictionary(in))) return ret;
     19   if (kNone_SkPdfNativeObjectType != (ret = mapAnnotationActionsDictionary(in))) return ret;
     20   if (kNone_SkPdfNativeObjectType != (ret = mapAnnotationDictionary(in))) return ret;
     21   if (kNone_SkPdfNativeObjectType != (ret = mapAppearanceCharacteristicsDictionary(in))) return ret;
     22   if (kNone_SkPdfNativeObjectType != (ret = mapAppearanceDictionary(in))) return ret;
     23   if (kNone_SkPdfNativeObjectType != (ret = mapApplicationDataDictionary(in))) return ret;
     24   if (kNone_SkPdfNativeObjectType != (ret = mapArtifactsDictionary(in))) return ret;
     25   if (kNone_SkPdfNativeObjectType != (ret = mapAttributeObjectDictionary(in))) return ret;
     26   if (kNone_SkPdfNativeObjectType != (ret = mapBeadDictionary(in))) return ret;
     27   if (kNone_SkPdfNativeObjectType != (ret = mapBlockLevelStructureElementsDictionary(in))) return ret;
     28   if (kNone_SkPdfNativeObjectType != (ret = mapBorderStyleDictionary(in))) return ret;
     29   if (kNone_SkPdfNativeObjectType != (ret = mapBoxColorInformationDictionary(in))) return ret;
     30   if (kNone_SkPdfNativeObjectType != (ret = mapBoxStyleDictionary(in))) return ret;
     31   if (kNone_SkPdfNativeObjectType != (ret = mapCIDFontDescriptorDictionary(in))) return ret;
     32   if (kNone_SkPdfNativeObjectType != (ret = mapCIDFontDictionary(in))) return ret;
     33   if (kNone_SkPdfNativeObjectType != (ret = mapCIDSystemInfoDictionary(in))) return ret;
     34   if (kNone_SkPdfNativeObjectType != (ret = mapCMapDictionary(in))) return ret;
     35   if (kNone_SkPdfNativeObjectType != (ret = mapCalgrayColorSpaceDictionary(in))) return ret;
     36   if (kNone_SkPdfNativeObjectType != (ret = mapCalrgbColorSpaceDictionary(in))) return ret;
     37   if (kNone_SkPdfNativeObjectType != (ret = mapCatalogDictionary(in))) return ret;
     38   if (kNone_SkPdfNativeObjectType != (ret = mapCcittfaxdecodeFilterDictionary(in))) return ret;
     39   if (kNone_SkPdfNativeObjectType != (ret = mapCheckboxFieldDictionary(in))) return ret;
     40   if (kNone_SkPdfNativeObjectType != (ret = mapChoiceFieldDictionary(in))) return ret;
     41   if (kNone_SkPdfNativeObjectType != (ret = mapComponentsWithMetadataDictionary(in))) return ret;
     42   if (kNone_SkPdfNativeObjectType != (ret = mapDctdecodeFilterDictionary(in))) return ret;
     43   if (kNone_SkPdfNativeObjectType != (ret = mapDeviceNColorSpaceDictionary(in))) return ret;
     44   if (kNone_SkPdfNativeObjectType != (ret = mapDocumentCatalogActionsDictionary(in))) return ret;
     45   if (kNone_SkPdfNativeObjectType != (ret = mapDocumentInformationDictionary(in))) return ret;
     46   if (kNone_SkPdfNativeObjectType != (ret = mapEmbeddedFileParameterDictionary(in))) return ret;
     47   if (kNone_SkPdfNativeObjectType != (ret = mapEmbeddedFileStreamDictionary(in))) return ret;
     48   if (kNone_SkPdfNativeObjectType != (ret = mapEmbeddedFontStreamDictionary(in))) return ret;
     49   if (kNone_SkPdfNativeObjectType != (ret = mapEncodingDictionary(in))) return ret;
     50   if (kNone_SkPdfNativeObjectType != (ret = mapEncryptedEmbeddedFileStreamDictionary(in))) return ret;
     51   if (kNone_SkPdfNativeObjectType != (ret = mapEncryptionCommonDictionary(in))) return ret;
     52   if (kNone_SkPdfNativeObjectType != (ret = mapFDFCatalogDictionary(in))) return ret;
     53   if (kNone_SkPdfNativeObjectType != (ret = mapFDFDictionary(in))) return ret;
     54   if (kNone_SkPdfNativeObjectType != (ret = mapFDFFieldDictionary(in))) return ret;
     55   if (kNone_SkPdfNativeObjectType != (ret = mapFDFFileAnnotationDictionary(in))) return ret;
     56   if (kNone_SkPdfNativeObjectType != (ret = mapFDFNamedPageReferenceDictionary(in))) return ret;
     57   if (kNone_SkPdfNativeObjectType != (ret = mapFDFPageDictionary(in))) return ret;
     58   if (kNone_SkPdfNativeObjectType != (ret = mapFDFTemplateDictionary(in))) return ret;
     59   if (kNone_SkPdfNativeObjectType != (ret = mapFDFTrailerDictionary(in))) return ret;
     60   if (kNone_SkPdfNativeObjectType != (ret = mapFieldDictionary(in))) return ret;
     61   if (kNone_SkPdfNativeObjectType != (ret = mapFileAttachmentAnnotationDictionary(in))) return ret;
     62   if (kNone_SkPdfNativeObjectType != (ret = mapFileSpecificationDictionary(in))) return ret;
     63   if (kNone_SkPdfNativeObjectType != (ret = mapFileTrailerDictionary(in))) return ret;
     64   if (kNone_SkPdfNativeObjectType != (ret = mapFontDescriptorDictionary(in))) return ret;
     65   if (kNone_SkPdfNativeObjectType != (ret = mapFontDictionary(in))) return ret;
     66   if (kNone_SkPdfNativeObjectType != (ret = mapFormFieldActionsDictionary(in))) return ret;
     67   if (kNone_SkPdfNativeObjectType != (ret = mapFreeTextAnnotationDictionary(in))) return ret;
     68   if (kNone_SkPdfNativeObjectType != (ret = mapFunctionCommonDictionary(in))) return ret;
     69   if (kNone_SkPdfNativeObjectType != (ret = mapGoToActionDictionary(in))) return ret;
     70   if (kNone_SkPdfNativeObjectType != (ret = mapGraphicsStateDictionary(in))) return ret;
     71   if (kNone_SkPdfNativeObjectType != (ret = mapGroupAttributesDictionary(in))) return ret;
     72   if (kNone_SkPdfNativeObjectType != (ret = mapHideActionDictionary(in))) return ret;
     73   if (kNone_SkPdfNativeObjectType != (ret = mapIccProfileStreamDictionary(in))) return ret;
     74   if (kNone_SkPdfNativeObjectType != (ret = mapIconFitDictionary(in))) return ret;
     75   if (kNone_SkPdfNativeObjectType != (ret = mapImportDataActionDictionary(in))) return ret;
     76   if (kNone_SkPdfNativeObjectType != (ret = mapInkAnnotationDictionary(in))) return ret;
     77   if (kNone_SkPdfNativeObjectType != (ret = mapInlineLevelStructureElementsDictionary(in))) return ret;
     78   if (kNone_SkPdfNativeObjectType != (ret = mapInteractiveFormDictionary(in))) return ret;
     79   if (kNone_SkPdfNativeObjectType != (ret = mapJavascriptActionDictionary(in))) return ret;
     80   if (kNone_SkPdfNativeObjectType != (ret = mapJavascriptDictionary(in))) return ret;
     81   if (kNone_SkPdfNativeObjectType != (ret = mapJbig2DecodeFilterDictionary(in))) return ret;
     82   if (kNone_SkPdfNativeObjectType != (ret = mapLabColorSpaceDictionary(in))) return ret;
     83   if (kNone_SkPdfNativeObjectType != (ret = mapLaunchActionDictionary(in))) return ret;
     84   if (kNone_SkPdfNativeObjectType != (ret = mapLineAnnotationDictionary(in))) return ret;
     85   if (kNone_SkPdfNativeObjectType != (ret = mapListAttributeDictionary(in))) return ret;
     86   if (kNone_SkPdfNativeObjectType != (ret = mapLzwdecodeAndFlatedecodeFiltersDictionary(in))) return ret;
     87   if (kNone_SkPdfNativeObjectType != (ret = mapMacOsFileInformationDictionary(in))) return ret;
     88   if (kNone_SkPdfNativeObjectType != (ret = mapMarkInformationDictionary(in))) return ret;
     89   if (kNone_SkPdfNativeObjectType != (ret = mapMarkedContentReferenceDictionary(in))) return ret;
     90   if (kNone_SkPdfNativeObjectType != (ret = mapMarkupAnnotationsDictionary(in))) return ret;
     91   if (kNone_SkPdfNativeObjectType != (ret = mapMetadataStreamDictionary(in))) return ret;
     92   if (kNone_SkPdfNativeObjectType != (ret = mapMovieActionDictionary(in))) return ret;
     93   if (kNone_SkPdfNativeObjectType != (ret = mapMovieActivationDictionary(in))) return ret;
     94   if (kNone_SkPdfNativeObjectType != (ret = mapMovieAnnotationDictionary(in))) return ret;
     95   if (kNone_SkPdfNativeObjectType != (ret = mapMovieDictionary(in))) return ret;
     96   if (kNone_SkPdfNativeObjectType != (ret = mapNameDictionary(in))) return ret;
     97   if (kNone_SkPdfNativeObjectType != (ret = mapNameTreeNodeDictionary(in))) return ret;
     98   if (kNone_SkPdfNativeObjectType != (ret = mapNamedActionsDictionary(in))) return ret;
     99   if (kNone_SkPdfNativeObjectType != (ret = mapNumberTreeNodeDictionary(in))) return ret;
    100   if (kNone_SkPdfNativeObjectType != (ret = mapObjectReferenceDictionary(in))) return ret;
    101   if (kNone_SkPdfNativeObjectType != (ret = mapOpiVersionDictionary(in))) return ret;
    102   if (kNone_SkPdfNativeObjectType != (ret = mapOutlineDictionary(in))) return ret;
    103   if (kNone_SkPdfNativeObjectType != (ret = mapOutlineItemDictionary(in))) return ret;
    104   if (kNone_SkPdfNativeObjectType != (ret = mapPDF_XOutputIntentDictionary(in))) return ret;
    105   if (kNone_SkPdfNativeObjectType != (ret = mapPSXobjectDictionary(in))) return ret;
    106   if (kNone_SkPdfNativeObjectType != (ret = mapPageLabelDictionary(in))) return ret;
    107   if (kNone_SkPdfNativeObjectType != (ret = mapPageObjectActionsDictionary(in))) return ret;
    108   if (kNone_SkPdfNativeObjectType != (ret = mapPageObjectDictionary(in))) return ret;
    109   if (kNone_SkPdfNativeObjectType != (ret = mapPagePieceDictionary(in))) return ret;
    110   if (kNone_SkPdfNativeObjectType != (ret = mapPageTreeNodeDictionary(in))) return ret;
    111   if (kNone_SkPdfNativeObjectType != (ret = mapPopUpAnnotationDictionary(in))) return ret;
    112   if (kNone_SkPdfNativeObjectType != (ret = mapPrinterMarkAnnotationDictionary(in))) return ret;
    113   if (kNone_SkPdfNativeObjectType != (ret = mapPrinterMarkFormDictionary(in))) return ret;
    114   if (kNone_SkPdfNativeObjectType != (ret = mapRadioButtonFieldDictionary(in))) return ret;
    115   if (kNone_SkPdfNativeObjectType != (ret = mapReferenceDictionary(in))) return ret;
    116   if (kNone_SkPdfNativeObjectType != (ret = mapRemoteGoToActionDictionary(in))) return ret;
    117   if (kNone_SkPdfNativeObjectType != (ret = mapResetFormActionDictionary(in))) return ret;
    118   if (kNone_SkPdfNativeObjectType != (ret = mapResourceDictionary(in))) return ret;
    119   if (kNone_SkPdfNativeObjectType != (ret = mapRubberStampAnnotationDictionary(in))) return ret;
    120   if (kNone_SkPdfNativeObjectType != (ret = mapSeparationDictionary(in))) return ret;
    121   if (kNone_SkPdfNativeObjectType != (ret = mapShadingDictionary(in))) return ret;
    122   if (kNone_SkPdfNativeObjectType != (ret = mapSignatureDictionary(in))) return ret;
    123   if (kNone_SkPdfNativeObjectType != (ret = mapSoftMaskDictionary(in))) return ret;
    124   if (kNone_SkPdfNativeObjectType != (ret = mapSoundActionDictionary(in))) return ret;
    125   if (kNone_SkPdfNativeObjectType != (ret = mapSoundAnnotationDictionary(in))) return ret;
    126   if (kNone_SkPdfNativeObjectType != (ret = mapSoundObjectDictionary(in))) return ret;
    127   if (kNone_SkPdfNativeObjectType != (ret = mapSourceInformationDictionary(in))) return ret;
    128   if (kNone_SkPdfNativeObjectType != (ret = mapSquareOrCircleAnnotation(in))) return ret;
    129   if (kNone_SkPdfNativeObjectType != (ret = mapStandardSecurityHandlerDictionary(in))) return ret;
    130   if (kNone_SkPdfNativeObjectType != (ret = mapStandardStructureDictionary(in))) return ret;
    131   if (kNone_SkPdfNativeObjectType != (ret = mapStreamCommonDictionary(in))) return ret;
    132   if (kNone_SkPdfNativeObjectType != (ret = mapStructureElementAccessDictionary(in))) return ret;
    133   if (kNone_SkPdfNativeObjectType != (ret = mapStructureElementDictionary(in))) return ret;
    134   if (kNone_SkPdfNativeObjectType != (ret = mapStructureTreeRootDictionary(in))) return ret;
    135   if (kNone_SkPdfNativeObjectType != (ret = mapSubmitFormActionDictionary(in))) return ret;
    136   if (kNone_SkPdfNativeObjectType != (ret = mapTableAttributesDictionary(in))) return ret;
    137   if (kNone_SkPdfNativeObjectType != (ret = mapTextAnnotationDictionary(in))) return ret;
    138   if (kNone_SkPdfNativeObjectType != (ret = mapTextFieldDictionary(in))) return ret;
    139   if (kNone_SkPdfNativeObjectType != (ret = mapThreadActionDictionary(in))) return ret;
    140   if (kNone_SkPdfNativeObjectType != (ret = mapThreadDictionary(in))) return ret;
    141   if (kNone_SkPdfNativeObjectType != (ret = mapTransitionDictionary(in))) return ret;
    142   if (kNone_SkPdfNativeObjectType != (ret = mapTransparencyGroupDictionary(in))) return ret;
    143   if (kNone_SkPdfNativeObjectType != (ret = mapTrapNetworkAnnotationDictionary(in))) return ret;
    144   if (kNone_SkPdfNativeObjectType != (ret = mapTrapNetworkAppearanceStreamDictionary(in))) return ret;
    145   if (kNone_SkPdfNativeObjectType != (ret = mapType0FunctionDictionary(in))) return ret;
    146   if (kNone_SkPdfNativeObjectType != (ret = mapType10HalftoneDictionary(in))) return ret;
    147   if (kNone_SkPdfNativeObjectType != (ret = mapType16HalftoneDictionary(in))) return ret;
    148   if (kNone_SkPdfNativeObjectType != (ret = mapType1HalftoneDictionary(in))) return ret;
    149   if (kNone_SkPdfNativeObjectType != (ret = mapType1PatternDictionary(in))) return ret;
    150   if (kNone_SkPdfNativeObjectType != (ret = mapType2FunctionDictionary(in))) return ret;
    151   if (kNone_SkPdfNativeObjectType != (ret = mapType2PatternDictionary(in))) return ret;
    152   if (kNone_SkPdfNativeObjectType != (ret = mapType3FunctionDictionary(in))) return ret;
    153   if (kNone_SkPdfNativeObjectType != (ret = mapType5HalftoneDictionary(in))) return ret;
    154   if (kNone_SkPdfNativeObjectType != (ret = mapType6HalftoneDictionary(in))) return ret;
    155   if (kNone_SkPdfNativeObjectType != (ret = mapURIActionDictionary(in))) return ret;
    156   if (kNone_SkPdfNativeObjectType != (ret = mapURIDictionary(in))) return ret;
    157   if (kNone_SkPdfNativeObjectType != (ret = mapURLAliasDictionary(in))) return ret;
    158   if (kNone_SkPdfNativeObjectType != (ret = mapVariableTextFieldDictionary(in))) return ret;
    159   if (kNone_SkPdfNativeObjectType != (ret = mapViewerPreferencesDictionary(in))) return ret;
    160   if (kNone_SkPdfNativeObjectType != (ret = mapWebCaptureCommandDictionary(in))) return ret;
    161   if (kNone_SkPdfNativeObjectType != (ret = mapWebCaptureCommandSettingsDictionary(in))) return ret;
    162   if (kNone_SkPdfNativeObjectType != (ret = mapWebCaptureDictionary(in))) return ret;
    163   if (kNone_SkPdfNativeObjectType != (ret = mapWebCaptureImageSetDictionary(in))) return ret;
    164   if (kNone_SkPdfNativeObjectType != (ret = mapWebCaptureInformationDictionary(in))) return ret;
    165   if (kNone_SkPdfNativeObjectType != (ret = mapWebCapturePageSetDictionary(in))) return ret;
    166   if (kNone_SkPdfNativeObjectType != (ret = mapWidgetAnnotationDictionary(in))) return ret;
    167   if (kNone_SkPdfNativeObjectType != (ret = mapWindowsLaunchActionDictionary(in))) return ret;
    168   if (kNone_SkPdfNativeObjectType != (ret = mapXObjectDictionary(in))) return ret;
    169 
    170   return kDictionary_SkPdfNativeObjectType;
    171 }
    172 
    173 SkPdfNativeObjectType SkPdfMapper::mapXObjectDictionary(const SkPdfNativeObject* in) const {
    174   if (in == NULL || !isXObjectDictionary(in)) return kNone_SkPdfNativeObjectType;
    175 
    176   SkPdfNativeObjectType ret;
    177   if (kNone_SkPdfNativeObjectType != (ret = mapImageDictionary(in))) return ret;
    178   if (kNone_SkPdfNativeObjectType != (ret = mapType1FormDictionary(in))) return ret;
    179 
    180   return kXObjectDictionary_SkPdfNativeObjectType;
    181 }
    182 
    183 SkPdfNativeObjectType SkPdfMapper::mapFontDictionary(const SkPdfNativeObject* in) const {
    184   if (in == NULL || !isFontDictionary(in)) return kNone_SkPdfNativeObjectType;
    185 
    186   SkPdfNativeObjectType ret;
    187   if (kNone_SkPdfNativeObjectType != (ret = mapType0FontDictionary(in))) return ret;
    188   if (kNone_SkPdfNativeObjectType != (ret = mapType1FontDictionary(in))) return ret;
    189 
    190   return kFontDictionary_SkPdfNativeObjectType;
    191 }
    192 
    193 SkPdfNativeObjectType SkPdfMapper::mapTrueTypeFontDictionary(const SkPdfNativeObject* in) const {
    194   if (in == NULL || !isTrueTypeFontDictionary(in)) return kNone_SkPdfNativeObjectType;
    195 
    196 
    197   return kTrueTypeFontDictionary_SkPdfNativeObjectType;
    198 }
    199 
    200 SkPdfNativeObjectType SkPdfMapper::mapStreamCommonDictionary(const SkPdfNativeObject* in) const {
    201   if (in == NULL || !isStreamCommonDictionary(in)) return kNone_SkPdfNativeObjectType;
    202 
    203 
    204   return kStreamCommonDictionary_SkPdfNativeObjectType;
    205 }
    206 
    207 SkPdfNativeObjectType SkPdfMapper::mapLzwdecodeAndFlatedecodeFiltersDictionary(const SkPdfNativeObject* in) const {
    208   if (in == NULL || !isLzwdecodeAndFlatedecodeFiltersDictionary(in)) return kNone_SkPdfNativeObjectType;
    209 
    210 
    211   return kLzwdecodeAndFlatedecodeFiltersDictionary_SkPdfNativeObjectType;
    212 }
    213 
    214 SkPdfNativeObjectType SkPdfMapper::mapCcittfaxdecodeFilterDictionary(const SkPdfNativeObject* in) const {
    215   if (in == NULL || !isCcittfaxdecodeFilterDictionary(in)) return kNone_SkPdfNativeObjectType;
    216 
    217 
    218   return kCcittfaxdecodeFilterDictionary_SkPdfNativeObjectType;
    219 }
    220 
    221 SkPdfNativeObjectType SkPdfMapper::mapJbig2DecodeFilterDictionary(const SkPdfNativeObject* in) const {
    222   if (in == NULL || !isJbig2DecodeFilterDictionary(in)) return kNone_SkPdfNativeObjectType;
    223 
    224 
    225   return kJbig2DecodeFilterDictionary_SkPdfNativeObjectType;
    226 }
    227 
    228 SkPdfNativeObjectType SkPdfMapper::mapDctdecodeFilterDictionary(const SkPdfNativeObject* in) const {
    229   if (in == NULL || !isDctdecodeFilterDictionary(in)) return kNone_SkPdfNativeObjectType;
    230 
    231 
    232   return kDctdecodeFilterDictionary_SkPdfNativeObjectType;
    233 }
    234 
    235 SkPdfNativeObjectType SkPdfMapper::mapFileTrailerDictionary(const SkPdfNativeObject* in) const {
    236   if (in == NULL || !isFileTrailerDictionary(in)) return kNone_SkPdfNativeObjectType;
    237 
    238 
    239   return kFileTrailerDictionary_SkPdfNativeObjectType;
    240 }
    241 
    242 SkPdfNativeObjectType SkPdfMapper::mapEncryptionCommonDictionary(const SkPdfNativeObject* in) const {
    243   if (in == NULL || !isEncryptionCommonDictionary(in)) return kNone_SkPdfNativeObjectType;
    244 
    245 
    246   return kEncryptionCommonDictionary_SkPdfNativeObjectType;
    247 }
    248 
    249 SkPdfNativeObjectType SkPdfMapper::mapStandardSecurityHandlerDictionary(const SkPdfNativeObject* in) const {
    250   if (in == NULL || !isStandardSecurityHandlerDictionary(in)) return kNone_SkPdfNativeObjectType;
    251 
    252 
    253   return kStandardSecurityHandlerDictionary_SkPdfNativeObjectType;
    254 }
    255 
    256 SkPdfNativeObjectType SkPdfMapper::mapCatalogDictionary(const SkPdfNativeObject* in) const {
    257   if (in == NULL || !isCatalogDictionary(in)) return kNone_SkPdfNativeObjectType;
    258 
    259 
    260   return kCatalogDictionary_SkPdfNativeObjectType;
    261 }
    262 
    263 SkPdfNativeObjectType SkPdfMapper::mapPageTreeNodeDictionary(const SkPdfNativeObject* in) const {
    264   if (in == NULL || !isPageTreeNodeDictionary(in)) return kNone_SkPdfNativeObjectType;
    265 
    266 
    267   return kPageTreeNodeDictionary_SkPdfNativeObjectType;
    268 }
    269 
    270 SkPdfNativeObjectType SkPdfMapper::mapPageObjectDictionary(const SkPdfNativeObject* in) const {
    271   if (in == NULL || !isPageObjectDictionary(in)) return kNone_SkPdfNativeObjectType;
    272 
    273 
    274   return kPageObjectDictionary_SkPdfNativeObjectType;
    275 }
    276 
    277 SkPdfNativeObjectType SkPdfMapper::mapNameDictionary(const SkPdfNativeObject* in) const {
    278   if (in == NULL || !isNameDictionary(in)) return kNone_SkPdfNativeObjectType;
    279 
    280 
    281   return kNameDictionary_SkPdfNativeObjectType;
    282 }
    283 
    284 SkPdfNativeObjectType SkPdfMapper::mapResourceDictionary(const SkPdfNativeObject* in) const {
    285   if (in == NULL || !isResourceDictionary(in)) return kNone_SkPdfNativeObjectType;
    286 
    287 
    288   return kResourceDictionary_SkPdfNativeObjectType;
    289 }
    290 
    291 SkPdfNativeObjectType SkPdfMapper::mapNameTreeNodeDictionary(const SkPdfNativeObject* in) const {
    292   if (in == NULL || !isNameTreeNodeDictionary(in)) return kNone_SkPdfNativeObjectType;
    293 
    294 
    295   return kNameTreeNodeDictionary_SkPdfNativeObjectType;
    296 }
    297 
    298 SkPdfNativeObjectType SkPdfMapper::mapNumberTreeNodeDictionary(const SkPdfNativeObject* in) const {
    299   if (in == NULL || !isNumberTreeNodeDictionary(in)) return kNone_SkPdfNativeObjectType;
    300 
    301 
    302   return kNumberTreeNodeDictionary_SkPdfNativeObjectType;
    303 }
    304 
    305 SkPdfNativeObjectType SkPdfMapper::mapFunctionCommonDictionary(const SkPdfNativeObject* in) const {
    306   if (in == NULL || !isFunctionCommonDictionary(in)) return kNone_SkPdfNativeObjectType;
    307 
    308 
    309   return kFunctionCommonDictionary_SkPdfNativeObjectType;
    310 }
    311 
    312 SkPdfNativeObjectType SkPdfMapper::mapType0FunctionDictionary(const SkPdfNativeObject* in) const {
    313   if (in == NULL || !isType0FunctionDictionary(in)) return kNone_SkPdfNativeObjectType;
    314 
    315 
    316   return kType0FunctionDictionary_SkPdfNativeObjectType;
    317 }
    318 
    319 SkPdfNativeObjectType SkPdfMapper::mapType2FunctionDictionary(const SkPdfNativeObject* in) const {
    320   if (in == NULL || !isType2FunctionDictionary(in)) return kNone_SkPdfNativeObjectType;
    321 
    322 
    323   return kType2FunctionDictionary_SkPdfNativeObjectType;
    324 }
    325 
    326 SkPdfNativeObjectType SkPdfMapper::mapType3FunctionDictionary(const SkPdfNativeObject* in) const {
    327   if (in == NULL || !isType3FunctionDictionary(in)) return kNone_SkPdfNativeObjectType;
    328 
    329 
    330   return kType3FunctionDictionary_SkPdfNativeObjectType;
    331 }
    332 
    333 SkPdfNativeObjectType SkPdfMapper::mapFileSpecificationDictionary(const SkPdfNativeObject* in) const {
    334   if (in == NULL || !isFileSpecificationDictionary(in)) return kNone_SkPdfNativeObjectType;
    335 
    336 
    337   return kFileSpecificationDictionary_SkPdfNativeObjectType;
    338 }
    339 
    340 SkPdfNativeObjectType SkPdfMapper::mapEmbeddedFileStreamDictionary(const SkPdfNativeObject* in) const {
    341   if (in == NULL || !isEmbeddedFileStreamDictionary(in)) return kNone_SkPdfNativeObjectType;
    342 
    343 
    344   return kEmbeddedFileStreamDictionary_SkPdfNativeObjectType;
    345 }
    346 
    347 SkPdfNativeObjectType SkPdfMapper::mapEmbeddedFileParameterDictionary(const SkPdfNativeObject* in) const {
    348   if (in == NULL || !isEmbeddedFileParameterDictionary(in)) return kNone_SkPdfNativeObjectType;
    349 
    350 
    351   return kEmbeddedFileParameterDictionary_SkPdfNativeObjectType;
    352 }
    353 
    354 SkPdfNativeObjectType SkPdfMapper::mapMacOsFileInformationDictionary(const SkPdfNativeObject* in) const {
    355   if (in == NULL || !isMacOsFileInformationDictionary(in)) return kNone_SkPdfNativeObjectType;
    356 
    357 
    358   return kMacOsFileInformationDictionary_SkPdfNativeObjectType;
    359 }
    360 
    361 SkPdfNativeObjectType SkPdfMapper::mapGraphicsStateDictionary(const SkPdfNativeObject* in) const {
    362   if (in == NULL || !isGraphicsStateDictionary(in)) return kNone_SkPdfNativeObjectType;
    363 
    364 
    365   return kGraphicsStateDictionary_SkPdfNativeObjectType;
    366 }
    367 
    368 SkPdfNativeObjectType SkPdfMapper::mapCalgrayColorSpaceDictionary(const SkPdfNativeObject* in) const {
    369   if (in == NULL || !isCalgrayColorSpaceDictionary(in)) return kNone_SkPdfNativeObjectType;
    370 
    371 
    372   return kCalgrayColorSpaceDictionary_SkPdfNativeObjectType;
    373 }
    374 
    375 SkPdfNativeObjectType SkPdfMapper::mapCalrgbColorSpaceDictionary(const SkPdfNativeObject* in) const {
    376   if (in == NULL || !isCalrgbColorSpaceDictionary(in)) return kNone_SkPdfNativeObjectType;
    377 
    378 
    379   return kCalrgbColorSpaceDictionary_SkPdfNativeObjectType;
    380 }
    381 
    382 SkPdfNativeObjectType SkPdfMapper::mapLabColorSpaceDictionary(const SkPdfNativeObject* in) const {
    383   if (in == NULL || !isLabColorSpaceDictionary(in)) return kNone_SkPdfNativeObjectType;
    384 
    385 
    386   return kLabColorSpaceDictionary_SkPdfNativeObjectType;
    387 }
    388 
    389 SkPdfNativeObjectType SkPdfMapper::mapIccProfileStreamDictionary(const SkPdfNativeObject* in) const {
    390   if (in == NULL || !isIccProfileStreamDictionary(in)) return kNone_SkPdfNativeObjectType;
    391 
    392 
    393   return kIccProfileStreamDictionary_SkPdfNativeObjectType;
    394 }
    395 
    396 SkPdfNativeObjectType SkPdfMapper::mapDeviceNColorSpaceDictionary(const SkPdfNativeObject* in) const {
    397   if (in == NULL || !isDeviceNColorSpaceDictionary(in)) return kNone_SkPdfNativeObjectType;
    398 
    399 
    400   return kDeviceNColorSpaceDictionary_SkPdfNativeObjectType;
    401 }
    402 
    403 SkPdfNativeObjectType SkPdfMapper::mapType1PatternDictionary(const SkPdfNativeObject* in) const {
    404   if (in == NULL || !isType1PatternDictionary(in)) return kNone_SkPdfNativeObjectType;
    405 
    406 
    407   return kType1PatternDictionary_SkPdfNativeObjectType;
    408 }
    409 
    410 SkPdfNativeObjectType SkPdfMapper::mapType2PatternDictionary(const SkPdfNativeObject* in) const {
    411   if (in == NULL || !isType2PatternDictionary(in)) return kNone_SkPdfNativeObjectType;
    412 
    413 
    414   return kType2PatternDictionary_SkPdfNativeObjectType;
    415 }
    416 
    417 SkPdfNativeObjectType SkPdfMapper::mapShadingDictionary(const SkPdfNativeObject* in) const {
    418   if (in == NULL || !isShadingDictionary(in)) return kNone_SkPdfNativeObjectType;
    419 
    420   SkPdfNativeObjectType ret;
    421   if (kNone_SkPdfNativeObjectType != (ret = mapType1ShadingDictionary(in))) return ret;
    422   if (kNone_SkPdfNativeObjectType != (ret = mapType2ShadingDictionary(in))) return ret;
    423   if (kNone_SkPdfNativeObjectType != (ret = mapType3ShadingDictionary(in))) return ret;
    424   if (kNone_SkPdfNativeObjectType != (ret = mapType4ShadingDictionary(in))) return ret;
    425   if (kNone_SkPdfNativeObjectType != (ret = mapType5ShadingDictionary(in))) return ret;
    426   if (kNone_SkPdfNativeObjectType != (ret = mapType6ShadingDictionary(in))) return ret;
    427 
    428   return kShadingDictionary_SkPdfNativeObjectType;
    429 }
    430 
    431 SkPdfNativeObjectType SkPdfMapper::mapType1ShadingDictionary(const SkPdfNativeObject* in) const {
    432   if (in == NULL || !isType1ShadingDictionary(in)) return kNone_SkPdfNativeObjectType;
    433 
    434 
    435   return kType1ShadingDictionary_SkPdfNativeObjectType;
    436 }
    437 
    438 SkPdfNativeObjectType SkPdfMapper::mapType2ShadingDictionary(const SkPdfNativeObject* in) const {
    439   if (in == NULL || !isType2ShadingDictionary(in)) return kNone_SkPdfNativeObjectType;
    440 
    441 
    442   return kType2ShadingDictionary_SkPdfNativeObjectType;
    443 }
    444 
    445 SkPdfNativeObjectType SkPdfMapper::mapType3ShadingDictionary(const SkPdfNativeObject* in) const {
    446   if (in == NULL || !isType3ShadingDictionary(in)) return kNone_SkPdfNativeObjectType;
    447 
    448 
    449   return kType3ShadingDictionary_SkPdfNativeObjectType;
    450 }
    451 
    452 SkPdfNativeObjectType SkPdfMapper::mapType4ShadingDictionary(const SkPdfNativeObject* in) const {
    453   if (in == NULL || !isType4ShadingDictionary(in)) return kNone_SkPdfNativeObjectType;
    454 
    455 
    456   return kType4ShadingDictionary_SkPdfNativeObjectType;
    457 }
    458 
    459 SkPdfNativeObjectType SkPdfMapper::mapType5ShadingDictionary(const SkPdfNativeObject* in) const {
    460   if (in == NULL || !isType5ShadingDictionary(in)) return kNone_SkPdfNativeObjectType;
    461 
    462 
    463   return kType5ShadingDictionary_SkPdfNativeObjectType;
    464 }
    465 
    466 SkPdfNativeObjectType SkPdfMapper::mapType6ShadingDictionary(const SkPdfNativeObject* in) const {
    467   if (in == NULL || !isType6ShadingDictionary(in)) return kNone_SkPdfNativeObjectType;
    468 
    469 
    470   return kType6ShadingDictionary_SkPdfNativeObjectType;
    471 }
    472 
    473 SkPdfNativeObjectType SkPdfMapper::mapImageDictionary(const SkPdfNativeObject* in) const {
    474   if (in == NULL || !isImageDictionary(in)) return kNone_SkPdfNativeObjectType;
    475 
    476   SkPdfNativeObjectType ret;
    477   if (kNone_SkPdfNativeObjectType != (ret = mapSoftMaskImageDictionary(in))) return ret;
    478 
    479   return kImageDictionary_SkPdfNativeObjectType;
    480 }
    481 
    482 SkPdfNativeObjectType SkPdfMapper::mapAlternateImageDictionary(const SkPdfNativeObject* in) const {
    483   if (in == NULL || !isAlternateImageDictionary(in)) return kNone_SkPdfNativeObjectType;
    484 
    485 
    486   return kAlternateImageDictionary_SkPdfNativeObjectType;
    487 }
    488 
    489 SkPdfNativeObjectType SkPdfMapper::mapType1FormDictionary(const SkPdfNativeObject* in) const {
    490   if (in == NULL || !isType1FormDictionary(in)) return kNone_SkPdfNativeObjectType;
    491 
    492 
    493   return kType1FormDictionary_SkPdfNativeObjectType;
    494 }
    495 
    496 SkPdfNativeObjectType SkPdfMapper::mapGroupAttributesDictionary(const SkPdfNativeObject* in) const {
    497   if (in == NULL || !isGroupAttributesDictionary(in)) return kNone_SkPdfNativeObjectType;
    498 
    499 
    500   return kGroupAttributesDictionary_SkPdfNativeObjectType;
    501 }
    502 
    503 SkPdfNativeObjectType SkPdfMapper::mapReferenceDictionary(const SkPdfNativeObject* in) const {
    504   if (in == NULL || !isReferenceDictionary(in)) return kNone_SkPdfNativeObjectType;
    505 
    506 
    507   return kReferenceDictionary_SkPdfNativeObjectType;
    508 }
    509 
    510 SkPdfNativeObjectType SkPdfMapper::mapPSXobjectDictionary(const SkPdfNativeObject* in) const {
    511   if (in == NULL || !isPSXobjectDictionary(in)) return kNone_SkPdfNativeObjectType;
    512 
    513 
    514   return kPSXobjectDictionary_SkPdfNativeObjectType;
    515 }
    516 
    517 SkPdfNativeObjectType SkPdfMapper::mapType1FontDictionary(const SkPdfNativeObject* in) const {
    518   if (in == NULL || !isType1FontDictionary(in)) return kNone_SkPdfNativeObjectType;
    519 
    520   SkPdfNativeObjectType ret;
    521   if (kNone_SkPdfNativeObjectType != (ret = mapMultiMasterFontDictionary(in))) return ret;
    522   if (kNone_SkPdfNativeObjectType != (ret = mapTrueTypeFontDictionary(in))) return ret;
    523   if (kNone_SkPdfNativeObjectType != (ret = mapType3FontDictionary(in))) return ret;
    524 
    525   return kType1FontDictionary_SkPdfNativeObjectType;
    526 }
    527 
    528 SkPdfNativeObjectType SkPdfMapper::mapType3FontDictionary(const SkPdfNativeObject* in) const {
    529   if (in == NULL || !isType3FontDictionary(in)) return kNone_SkPdfNativeObjectType;
    530 
    531 
    532   return kType3FontDictionary_SkPdfNativeObjectType;
    533 }
    534 
    535 SkPdfNativeObjectType SkPdfMapper::mapEncodingDictionary(const SkPdfNativeObject* in) const {
    536   if (in == NULL || !isEncodingDictionary(in)) return kNone_SkPdfNativeObjectType;
    537 
    538 
    539   return kEncodingDictionary_SkPdfNativeObjectType;
    540 }
    541 
    542 SkPdfNativeObjectType SkPdfMapper::mapCIDSystemInfoDictionary(const SkPdfNativeObject* in) const {
    543   if (in == NULL || !isCIDSystemInfoDictionary(in)) return kNone_SkPdfNativeObjectType;
    544 
    545 
    546   return kCIDSystemInfoDictionary_SkPdfNativeObjectType;
    547 }
    548 
    549 SkPdfNativeObjectType SkPdfMapper::mapCIDFontDictionary(const SkPdfNativeObject* in) const {
    550   if (in == NULL || !isCIDFontDictionary(in)) return kNone_SkPdfNativeObjectType;
    551 
    552 
    553   return kCIDFontDictionary_SkPdfNativeObjectType;
    554 }
    555 
    556 SkPdfNativeObjectType SkPdfMapper::mapCMapDictionary(const SkPdfNativeObject* in) const {
    557   if (in == NULL || !isCMapDictionary(in)) return kNone_SkPdfNativeObjectType;
    558 
    559 
    560   return kCMapDictionary_SkPdfNativeObjectType;
    561 }
    562 
    563 SkPdfNativeObjectType SkPdfMapper::mapType0FontDictionary(const SkPdfNativeObject* in) const {
    564   if (in == NULL || !isType0FontDictionary(in)) return kNone_SkPdfNativeObjectType;
    565 
    566 
    567   return kType0FontDictionary_SkPdfNativeObjectType;
    568 }
    569 
    570 SkPdfNativeObjectType SkPdfMapper::mapFontDescriptorDictionary(const SkPdfNativeObject* in) const {
    571   if (in == NULL || !isFontDescriptorDictionary(in)) return kNone_SkPdfNativeObjectType;
    572 
    573 
    574   return kFontDescriptorDictionary_SkPdfNativeObjectType;
    575 }
    576 
    577 SkPdfNativeObjectType SkPdfMapper::mapCIDFontDescriptorDictionary(const SkPdfNativeObject* in) const {
    578   if (in == NULL || !isCIDFontDescriptorDictionary(in)) return kNone_SkPdfNativeObjectType;
    579 
    580 
    581   return kCIDFontDescriptorDictionary_SkPdfNativeObjectType;
    582 }
    583 
    584 SkPdfNativeObjectType SkPdfMapper::mapEmbeddedFontStreamDictionary(const SkPdfNativeObject* in) const {
    585   if (in == NULL || !isEmbeddedFontStreamDictionary(in)) return kNone_SkPdfNativeObjectType;
    586 
    587 
    588   return kEmbeddedFontStreamDictionary_SkPdfNativeObjectType;
    589 }
    590 
    591 SkPdfNativeObjectType SkPdfMapper::mapType1HalftoneDictionary(const SkPdfNativeObject* in) const {
    592   if (in == NULL || !isType1HalftoneDictionary(in)) return kNone_SkPdfNativeObjectType;
    593 
    594 
    595   return kType1HalftoneDictionary_SkPdfNativeObjectType;
    596 }
    597 
    598 SkPdfNativeObjectType SkPdfMapper::mapType6HalftoneDictionary(const SkPdfNativeObject* in) const {
    599   if (in == NULL || !isType6HalftoneDictionary(in)) return kNone_SkPdfNativeObjectType;
    600 
    601 
    602   return kType6HalftoneDictionary_SkPdfNativeObjectType;
    603 }
    604 
    605 SkPdfNativeObjectType SkPdfMapper::mapType10HalftoneDictionary(const SkPdfNativeObject* in) const {
    606   if (in == NULL || !isType10HalftoneDictionary(in)) return kNone_SkPdfNativeObjectType;
    607 
    608 
    609   return kType10HalftoneDictionary_SkPdfNativeObjectType;
    610 }
    611 
    612 SkPdfNativeObjectType SkPdfMapper::mapType16HalftoneDictionary(const SkPdfNativeObject* in) const {
    613   if (in == NULL || !isType16HalftoneDictionary(in)) return kNone_SkPdfNativeObjectType;
    614 
    615 
    616   return kType16HalftoneDictionary_SkPdfNativeObjectType;
    617 }
    618 
    619 SkPdfNativeObjectType SkPdfMapper::mapType5HalftoneDictionary(const SkPdfNativeObject* in) const {
    620   if (in == NULL || !isType5HalftoneDictionary(in)) return kNone_SkPdfNativeObjectType;
    621 
    622 
    623   return kType5HalftoneDictionary_SkPdfNativeObjectType;
    624 }
    625 
    626 SkPdfNativeObjectType SkPdfMapper::mapSoftMaskDictionary(const SkPdfNativeObject* in) const {
    627   if (in == NULL || !isSoftMaskDictionary(in)) return kNone_SkPdfNativeObjectType;
    628 
    629 
    630   return kSoftMaskDictionary_SkPdfNativeObjectType;
    631 }
    632 
    633 SkPdfNativeObjectType SkPdfMapper::mapSoftMaskImageDictionary(const SkPdfNativeObject* in) const {
    634   if (in == NULL || !isSoftMaskImageDictionary(in)) return kNone_SkPdfNativeObjectType;
    635 
    636 
    637   return kSoftMaskImageDictionary_SkPdfNativeObjectType;
    638 }
    639 
    640 SkPdfNativeObjectType SkPdfMapper::mapTransparencyGroupDictionary(const SkPdfNativeObject* in) const {
    641   if (in == NULL || !isTransparencyGroupDictionary(in)) return kNone_SkPdfNativeObjectType;
    642 
    643 
    644   return kTransparencyGroupDictionary_SkPdfNativeObjectType;
    645 }
    646 
    647 SkPdfNativeObjectType SkPdfMapper::mapViewerPreferencesDictionary(const SkPdfNativeObject* in) const {
    648   if (in == NULL || !isViewerPreferencesDictionary(in)) return kNone_SkPdfNativeObjectType;
    649 
    650 
    651   return kViewerPreferencesDictionary_SkPdfNativeObjectType;
    652 }
    653 
    654 SkPdfNativeObjectType SkPdfMapper::mapOutlineDictionary(const SkPdfNativeObject* in) const {
    655   if (in == NULL || !isOutlineDictionary(in)) return kNone_SkPdfNativeObjectType;
    656 
    657 
    658   return kOutlineDictionary_SkPdfNativeObjectType;
    659 }
    660 
    661 SkPdfNativeObjectType SkPdfMapper::mapOutlineItemDictionary(const SkPdfNativeObject* in) const {
    662   if (in == NULL || !isOutlineItemDictionary(in)) return kNone_SkPdfNativeObjectType;
    663 
    664 
    665   return kOutlineItemDictionary_SkPdfNativeObjectType;
    666 }
    667 
    668 SkPdfNativeObjectType SkPdfMapper::mapPageLabelDictionary(const SkPdfNativeObject* in) const {
    669   if (in == NULL || !isPageLabelDictionary(in)) return kNone_SkPdfNativeObjectType;
    670 
    671 
    672   return kPageLabelDictionary_SkPdfNativeObjectType;
    673 }
    674 
    675 SkPdfNativeObjectType SkPdfMapper::mapThreadDictionary(const SkPdfNativeObject* in) const {
    676   if (in == NULL || !isThreadDictionary(in)) return kNone_SkPdfNativeObjectType;
    677 
    678 
    679   return kThreadDictionary_SkPdfNativeObjectType;
    680 }
    681 
    682 SkPdfNativeObjectType SkPdfMapper::mapBeadDictionary(const SkPdfNativeObject* in) const {
    683   if (in == NULL || !isBeadDictionary(in)) return kNone_SkPdfNativeObjectType;
    684 
    685 
    686   return kBeadDictionary_SkPdfNativeObjectType;
    687 }
    688 
    689 SkPdfNativeObjectType SkPdfMapper::mapTransitionDictionary(const SkPdfNativeObject* in) const {
    690   if (in == NULL || !isTransitionDictionary(in)) return kNone_SkPdfNativeObjectType;
    691 
    692 
    693   return kTransitionDictionary_SkPdfNativeObjectType;
    694 }
    695 
    696 SkPdfNativeObjectType SkPdfMapper::mapAnnotationDictionary(const SkPdfNativeObject* in) const {
    697   if (in == NULL || !isAnnotationDictionary(in)) return kNone_SkPdfNativeObjectType;
    698 
    699 
    700   return kAnnotationDictionary_SkPdfNativeObjectType;
    701 }
    702 
    703 SkPdfNativeObjectType SkPdfMapper::mapBorderStyleDictionary(const SkPdfNativeObject* in) const {
    704   if (in == NULL || !isBorderStyleDictionary(in)) return kNone_SkPdfNativeObjectType;
    705 
    706 
    707   return kBorderStyleDictionary_SkPdfNativeObjectType;
    708 }
    709 
    710 SkPdfNativeObjectType SkPdfMapper::mapAppearanceDictionary(const SkPdfNativeObject* in) const {
    711   if (in == NULL || !isAppearanceDictionary(in)) return kNone_SkPdfNativeObjectType;
    712 
    713 
    714   return kAppearanceDictionary_SkPdfNativeObjectType;
    715 }
    716 
    717 SkPdfNativeObjectType SkPdfMapper::mapTextAnnotationDictionary(const SkPdfNativeObject* in) const {
    718   if (in == NULL || !isTextAnnotationDictionary(in)) return kNone_SkPdfNativeObjectType;
    719 
    720 
    721   return kTextAnnotationDictionary_SkPdfNativeObjectType;
    722 }
    723 
    724 SkPdfNativeObjectType SkPdfMapper::mapALinkAnnotationDictionary(const SkPdfNativeObject* in) const {
    725   if (in == NULL || !isALinkAnnotationDictionary(in)) return kNone_SkPdfNativeObjectType;
    726 
    727 
    728   return kALinkAnnotationDictionary_SkPdfNativeObjectType;
    729 }
    730 
    731 SkPdfNativeObjectType SkPdfMapper::mapFreeTextAnnotationDictionary(const SkPdfNativeObject* in) const {
    732   if (in == NULL || !isFreeTextAnnotationDictionary(in)) return kNone_SkPdfNativeObjectType;
    733 
    734 
    735   return kFreeTextAnnotationDictionary_SkPdfNativeObjectType;
    736 }
    737 
    738 SkPdfNativeObjectType SkPdfMapper::mapLineAnnotationDictionary(const SkPdfNativeObject* in) const {
    739   if (in == NULL || !isLineAnnotationDictionary(in)) return kNone_SkPdfNativeObjectType;
    740 
    741 
    742   return kLineAnnotationDictionary_SkPdfNativeObjectType;
    743 }
    744 
    745 SkPdfNativeObjectType SkPdfMapper::mapSquareOrCircleAnnotation(const SkPdfNativeObject* in) const {
    746   if (in == NULL || !isSquareOrCircleAnnotation(in)) return kNone_SkPdfNativeObjectType;
    747 
    748 
    749   return kSquareOrCircleAnnotation_SkPdfNativeObjectType;
    750 }
    751 
    752 SkPdfNativeObjectType SkPdfMapper::mapMarkupAnnotationsDictionary(const SkPdfNativeObject* in) const {
    753   if (in == NULL || !isMarkupAnnotationsDictionary(in)) return kNone_SkPdfNativeObjectType;
    754 
    755 
    756   return kMarkupAnnotationsDictionary_SkPdfNativeObjectType;
    757 }
    758 
    759 SkPdfNativeObjectType SkPdfMapper::mapRubberStampAnnotationDictionary(const SkPdfNativeObject* in) const {
    760   if (in == NULL || !isRubberStampAnnotationDictionary(in)) return kNone_SkPdfNativeObjectType;
    761 
    762 
    763   return kRubberStampAnnotationDictionary_SkPdfNativeObjectType;
    764 }
    765 
    766 SkPdfNativeObjectType SkPdfMapper::mapInkAnnotationDictionary(const SkPdfNativeObject* in) const {
    767   if (in == NULL || !isInkAnnotationDictionary(in)) return kNone_SkPdfNativeObjectType;
    768 
    769 
    770   return kInkAnnotationDictionary_SkPdfNativeObjectType;
    771 }
    772 
    773 SkPdfNativeObjectType SkPdfMapper::mapPopUpAnnotationDictionary(const SkPdfNativeObject* in) const {
    774   if (in == NULL || !isPopUpAnnotationDictionary(in)) return kNone_SkPdfNativeObjectType;
    775 
    776 
    777   return kPopUpAnnotationDictionary_SkPdfNativeObjectType;
    778 }
    779 
    780 SkPdfNativeObjectType SkPdfMapper::mapFileAttachmentAnnotationDictionary(const SkPdfNativeObject* in) const {
    781   if (in == NULL || !isFileAttachmentAnnotationDictionary(in)) return kNone_SkPdfNativeObjectType;
    782 
    783 
    784   return kFileAttachmentAnnotationDictionary_SkPdfNativeObjectType;
    785 }
    786 
    787 SkPdfNativeObjectType SkPdfMapper::mapSoundAnnotationDictionary(const SkPdfNativeObject* in) const {
    788   if (in == NULL || !isSoundAnnotationDictionary(in)) return kNone_SkPdfNativeObjectType;
    789 
    790 
    791   return kSoundAnnotationDictionary_SkPdfNativeObjectType;
    792 }
    793 
    794 SkPdfNativeObjectType SkPdfMapper::mapMovieAnnotationDictionary(const SkPdfNativeObject* in) const {
    795   if (in == NULL || !isMovieAnnotationDictionary(in)) return kNone_SkPdfNativeObjectType;
    796 
    797 
    798   return kMovieAnnotationDictionary_SkPdfNativeObjectType;
    799 }
    800 
    801 SkPdfNativeObjectType SkPdfMapper::mapWidgetAnnotationDictionary(const SkPdfNativeObject* in) const {
    802   if (in == NULL || !isWidgetAnnotationDictionary(in)) return kNone_SkPdfNativeObjectType;
    803 
    804 
    805   return kWidgetAnnotationDictionary_SkPdfNativeObjectType;
    806 }
    807 
    808 SkPdfNativeObjectType SkPdfMapper::mapActionDictionary(const SkPdfNativeObject* in) const {
    809   if (in == NULL || !isActionDictionary(in)) return kNone_SkPdfNativeObjectType;
    810 
    811 
    812   return kActionDictionary_SkPdfNativeObjectType;
    813 }
    814 
    815 SkPdfNativeObjectType SkPdfMapper::mapAnnotationActionsDictionary(const SkPdfNativeObject* in) const {
    816   if (in == NULL || !isAnnotationActionsDictionary(in)) return kNone_SkPdfNativeObjectType;
    817 
    818 
    819   return kAnnotationActionsDictionary_SkPdfNativeObjectType;
    820 }
    821 
    822 SkPdfNativeObjectType SkPdfMapper::mapPageObjectActionsDictionary(const SkPdfNativeObject* in) const {
    823   if (in == NULL || !isPageObjectActionsDictionary(in)) return kNone_SkPdfNativeObjectType;
    824 
    825 
    826   return kPageObjectActionsDictionary_SkPdfNativeObjectType;
    827 }
    828 
    829 SkPdfNativeObjectType SkPdfMapper::mapFormFieldActionsDictionary(const SkPdfNativeObject* in) const {
    830   if (in == NULL || !isFormFieldActionsDictionary(in)) return kNone_SkPdfNativeObjectType;
    831 
    832 
    833   return kFormFieldActionsDictionary_SkPdfNativeObjectType;
    834 }
    835 
    836 SkPdfNativeObjectType SkPdfMapper::mapDocumentCatalogActionsDictionary(const SkPdfNativeObject* in) const {
    837   if (in == NULL || !isDocumentCatalogActionsDictionary(in)) return kNone_SkPdfNativeObjectType;
    838 
    839 
    840   return kDocumentCatalogActionsDictionary_SkPdfNativeObjectType;
    841 }
    842 
    843 SkPdfNativeObjectType SkPdfMapper::mapGoToActionDictionary(const SkPdfNativeObject* in) const {
    844   if (in == NULL || !isGoToActionDictionary(in)) return kNone_SkPdfNativeObjectType;
    845 
    846 
    847   return kGoToActionDictionary_SkPdfNativeObjectType;
    848 }
    849 
    850 SkPdfNativeObjectType SkPdfMapper::mapRemoteGoToActionDictionary(const SkPdfNativeObject* in) const {
    851   if (in == NULL || !isRemoteGoToActionDictionary(in)) return kNone_SkPdfNativeObjectType;
    852 
    853 
    854   return kRemoteGoToActionDictionary_SkPdfNativeObjectType;
    855 }
    856 
    857 SkPdfNativeObjectType SkPdfMapper::mapLaunchActionDictionary(const SkPdfNativeObject* in) const {
    858   if (in == NULL || !isLaunchActionDictionary(in)) return kNone_SkPdfNativeObjectType;
    859 
    860 
    861   return kLaunchActionDictionary_SkPdfNativeObjectType;
    862 }
    863 
    864 SkPdfNativeObjectType SkPdfMapper::mapWindowsLaunchActionDictionary(const SkPdfNativeObject* in) const {
    865   if (in == NULL || !isWindowsLaunchActionDictionary(in)) return kNone_SkPdfNativeObjectType;
    866 
    867 
    868   return kWindowsLaunchActionDictionary_SkPdfNativeObjectType;
    869 }
    870 
    871 SkPdfNativeObjectType SkPdfMapper::mapThreadActionDictionary(const SkPdfNativeObject* in) const {
    872   if (in == NULL || !isThreadActionDictionary(in)) return kNone_SkPdfNativeObjectType;
    873 
    874 
    875   return kThreadActionDictionary_SkPdfNativeObjectType;
    876 }
    877 
    878 SkPdfNativeObjectType SkPdfMapper::mapURIActionDictionary(const SkPdfNativeObject* in) const {
    879   if (in == NULL || !isURIActionDictionary(in)) return kNone_SkPdfNativeObjectType;
    880 
    881 
    882   return kURIActionDictionary_SkPdfNativeObjectType;
    883 }
    884 
    885 SkPdfNativeObjectType SkPdfMapper::mapURIDictionary(const SkPdfNativeObject* in) const {
    886   if (in == NULL || !isURIDictionary(in)) return kNone_SkPdfNativeObjectType;
    887 
    888 
    889   return kURIDictionary_SkPdfNativeObjectType;
    890 }
    891 
    892 SkPdfNativeObjectType SkPdfMapper::mapSoundActionDictionary(const SkPdfNativeObject* in) const {
    893   if (in == NULL || !isSoundActionDictionary(in)) return kNone_SkPdfNativeObjectType;
    894 
    895 
    896   return kSoundActionDictionary_SkPdfNativeObjectType;
    897 }
    898 
    899 SkPdfNativeObjectType SkPdfMapper::mapMovieActionDictionary(const SkPdfNativeObject* in) const {
    900   if (in == NULL || !isMovieActionDictionary(in)) return kNone_SkPdfNativeObjectType;
    901 
    902 
    903   return kMovieActionDictionary_SkPdfNativeObjectType;
    904 }
    905 
    906 SkPdfNativeObjectType SkPdfMapper::mapHideActionDictionary(const SkPdfNativeObject* in) const {
    907   if (in == NULL || !isHideActionDictionary(in)) return kNone_SkPdfNativeObjectType;
    908 
    909 
    910   return kHideActionDictionary_SkPdfNativeObjectType;
    911 }
    912 
    913 SkPdfNativeObjectType SkPdfMapper::mapNamedActionsDictionary(const SkPdfNativeObject* in) const {
    914   if (in == NULL || !isNamedActionsDictionary(in)) return kNone_SkPdfNativeObjectType;
    915 
    916 
    917   return kNamedActionsDictionary_SkPdfNativeObjectType;
    918 }
    919 
    920 SkPdfNativeObjectType SkPdfMapper::mapInteractiveFormDictionary(const SkPdfNativeObject* in) const {
    921   if (in == NULL || !isInteractiveFormDictionary(in)) return kNone_SkPdfNativeObjectType;
    922 
    923 
    924   return kInteractiveFormDictionary_SkPdfNativeObjectType;
    925 }
    926 
    927 SkPdfNativeObjectType SkPdfMapper::mapFieldDictionary(const SkPdfNativeObject* in) const {
    928   if (in == NULL || !isFieldDictionary(in)) return kNone_SkPdfNativeObjectType;
    929 
    930 
    931   return kFieldDictionary_SkPdfNativeObjectType;
    932 }
    933 
    934 SkPdfNativeObjectType SkPdfMapper::mapVariableTextFieldDictionary(const SkPdfNativeObject* in) const {
    935   if (in == NULL || !isVariableTextFieldDictionary(in)) return kNone_SkPdfNativeObjectType;
    936 
    937 
    938   return kVariableTextFieldDictionary_SkPdfNativeObjectType;
    939 }
    940 
    941 SkPdfNativeObjectType SkPdfMapper::mapAppearanceCharacteristicsDictionary(const SkPdfNativeObject* in) const {
    942   if (in == NULL || !isAppearanceCharacteristicsDictionary(in)) return kNone_SkPdfNativeObjectType;
    943 
    944 
    945   return kAppearanceCharacteristicsDictionary_SkPdfNativeObjectType;
    946 }
    947 
    948 SkPdfNativeObjectType SkPdfMapper::mapCheckboxFieldDictionary(const SkPdfNativeObject* in) const {
    949   if (in == NULL || !isCheckboxFieldDictionary(in)) return kNone_SkPdfNativeObjectType;
    950 
    951 
    952   return kCheckboxFieldDictionary_SkPdfNativeObjectType;
    953 }
    954 
    955 SkPdfNativeObjectType SkPdfMapper::mapRadioButtonFieldDictionary(const SkPdfNativeObject* in) const {
    956   if (in == NULL || !isRadioButtonFieldDictionary(in)) return kNone_SkPdfNativeObjectType;
    957 
    958 
    959   return kRadioButtonFieldDictionary_SkPdfNativeObjectType;
    960 }
    961 
    962 SkPdfNativeObjectType SkPdfMapper::mapTextFieldDictionary(const SkPdfNativeObject* in) const {
    963   if (in == NULL || !isTextFieldDictionary(in)) return kNone_SkPdfNativeObjectType;
    964 
    965 
    966   return kTextFieldDictionary_SkPdfNativeObjectType;
    967 }
    968 
    969 SkPdfNativeObjectType SkPdfMapper::mapChoiceFieldDictionary(const SkPdfNativeObject* in) const {
    970   if (in == NULL || !isChoiceFieldDictionary(in)) return kNone_SkPdfNativeObjectType;
    971 
    972 
    973   return kChoiceFieldDictionary_SkPdfNativeObjectType;
    974 }
    975 
    976 SkPdfNativeObjectType SkPdfMapper::mapSignatureDictionary(const SkPdfNativeObject* in) const {
    977   if (in == NULL || !isSignatureDictionary(in)) return kNone_SkPdfNativeObjectType;
    978 
    979 
    980   return kSignatureDictionary_SkPdfNativeObjectType;
    981 }
    982 
    983 SkPdfNativeObjectType SkPdfMapper::mapSubmitFormActionDictionary(const SkPdfNativeObject* in) const {
    984   if (in == NULL || !isSubmitFormActionDictionary(in)) return kNone_SkPdfNativeObjectType;
    985 
    986 
    987   return kSubmitFormActionDictionary_SkPdfNativeObjectType;
    988 }
    989 
    990 SkPdfNativeObjectType SkPdfMapper::mapResetFormActionDictionary(const SkPdfNativeObject* in) const {
    991   if (in == NULL || !isResetFormActionDictionary(in)) return kNone_SkPdfNativeObjectType;
    992 
    993 
    994   return kResetFormActionDictionary_SkPdfNativeObjectType;
    995 }
    996 
    997 SkPdfNativeObjectType SkPdfMapper::mapImportDataActionDictionary(const SkPdfNativeObject* in) const {
    998   if (in == NULL || !isImportDataActionDictionary(in)) return kNone_SkPdfNativeObjectType;
    999 
   1000 
   1001   return kImportDataActionDictionary_SkPdfNativeObjectType;
   1002 }
   1003 
   1004 SkPdfNativeObjectType SkPdfMapper::mapJavascriptActionDictionary(const SkPdfNativeObject* in) const {
   1005   if (in == NULL || !isJavascriptActionDictionary(in)) return kNone_SkPdfNativeObjectType;
   1006 
   1007 
   1008   return kJavascriptActionDictionary_SkPdfNativeObjectType;
   1009 }
   1010 
   1011 SkPdfNativeObjectType SkPdfMapper::mapFDFTrailerDictionary(const SkPdfNativeObject* in) const {
   1012   if (in == NULL || !isFDFTrailerDictionary(in)) return kNone_SkPdfNativeObjectType;
   1013 
   1014 
   1015   return kFDFTrailerDictionary_SkPdfNativeObjectType;
   1016 }
   1017 
   1018 SkPdfNativeObjectType SkPdfMapper::mapFDFCatalogDictionary(const SkPdfNativeObject* in) const {
   1019   if (in == NULL || !isFDFCatalogDictionary(in)) return kNone_SkPdfNativeObjectType;
   1020 
   1021 
   1022   return kFDFCatalogDictionary_SkPdfNativeObjectType;
   1023 }
   1024 
   1025 SkPdfNativeObjectType SkPdfMapper::mapFDFDictionary(const SkPdfNativeObject* in) const {
   1026   if (in == NULL || !isFDFDictionary(in)) return kNone_SkPdfNativeObjectType;
   1027 
   1028 
   1029   return kFDFDictionary_SkPdfNativeObjectType;
   1030 }
   1031 
   1032 SkPdfNativeObjectType SkPdfMapper::mapEncryptedEmbeddedFileStreamDictionary(const SkPdfNativeObject* in) const {
   1033   if (in == NULL || !isEncryptedEmbeddedFileStreamDictionary(in)) return kNone_SkPdfNativeObjectType;
   1034 
   1035 
   1036   return kEncryptedEmbeddedFileStreamDictionary_SkPdfNativeObjectType;
   1037 }
   1038 
   1039 SkPdfNativeObjectType SkPdfMapper::mapJavascriptDictionary(const SkPdfNativeObject* in) const {
   1040   if (in == NULL || !isJavascriptDictionary(in)) return kNone_SkPdfNativeObjectType;
   1041 
   1042 
   1043   return kJavascriptDictionary_SkPdfNativeObjectType;
   1044 }
   1045 
   1046 SkPdfNativeObjectType SkPdfMapper::mapFDFFieldDictionary(const SkPdfNativeObject* in) const {
   1047   if (in == NULL || !isFDFFieldDictionary(in)) return kNone_SkPdfNativeObjectType;
   1048 
   1049 
   1050   return kFDFFieldDictionary_SkPdfNativeObjectType;
   1051 }
   1052 
   1053 SkPdfNativeObjectType SkPdfMapper::mapIconFitDictionary(const SkPdfNativeObject* in) const {
   1054   if (in == NULL || !isIconFitDictionary(in)) return kNone_SkPdfNativeObjectType;
   1055 
   1056 
   1057   return kIconFitDictionary_SkPdfNativeObjectType;
   1058 }
   1059 
   1060 SkPdfNativeObjectType SkPdfMapper::mapFDFPageDictionary(const SkPdfNativeObject* in) const {
   1061   if (in == NULL || !isFDFPageDictionary(in)) return kNone_SkPdfNativeObjectType;
   1062 
   1063 
   1064   return kFDFPageDictionary_SkPdfNativeObjectType;
   1065 }
   1066 
   1067 SkPdfNativeObjectType SkPdfMapper::mapFDFTemplateDictionary(const SkPdfNativeObject* in) const {
   1068   if (in == NULL || !isFDFTemplateDictionary(in)) return kNone_SkPdfNativeObjectType;
   1069 
   1070 
   1071   return kFDFTemplateDictionary_SkPdfNativeObjectType;
   1072 }
   1073 
   1074 SkPdfNativeObjectType SkPdfMapper::mapFDFNamedPageReferenceDictionary(const SkPdfNativeObject* in) const {
   1075   if (in == NULL || !isFDFNamedPageReferenceDictionary(in)) return kNone_SkPdfNativeObjectType;
   1076 
   1077 
   1078   return kFDFNamedPageReferenceDictionary_SkPdfNativeObjectType;
   1079 }
   1080 
   1081 SkPdfNativeObjectType SkPdfMapper::mapFDFFileAnnotationDictionary(const SkPdfNativeObject* in) const {
   1082   if (in == NULL || !isFDFFileAnnotationDictionary(in)) return kNone_SkPdfNativeObjectType;
   1083 
   1084 
   1085   return kFDFFileAnnotationDictionary_SkPdfNativeObjectType;
   1086 }
   1087 
   1088 SkPdfNativeObjectType SkPdfMapper::mapSoundObjectDictionary(const SkPdfNativeObject* in) const {
   1089   if (in == NULL || !isSoundObjectDictionary(in)) return kNone_SkPdfNativeObjectType;
   1090 
   1091 
   1092   return kSoundObjectDictionary_SkPdfNativeObjectType;
   1093 }
   1094 
   1095 SkPdfNativeObjectType SkPdfMapper::mapMovieDictionary(const SkPdfNativeObject* in) const {
   1096   if (in == NULL || !isMovieDictionary(in)) return kNone_SkPdfNativeObjectType;
   1097 
   1098 
   1099   return kMovieDictionary_SkPdfNativeObjectType;
   1100 }
   1101 
   1102 SkPdfNativeObjectType SkPdfMapper::mapMovieActivationDictionary(const SkPdfNativeObject* in) const {
   1103   if (in == NULL || !isMovieActivationDictionary(in)) return kNone_SkPdfNativeObjectType;
   1104 
   1105 
   1106   return kMovieActivationDictionary_SkPdfNativeObjectType;
   1107 }
   1108 
   1109 SkPdfNativeObjectType SkPdfMapper::mapDocumentInformationDictionary(const SkPdfNativeObject* in) const {
   1110   if (in == NULL || !isDocumentInformationDictionary(in)) return kNone_SkPdfNativeObjectType;
   1111 
   1112 
   1113   return kDocumentInformationDictionary_SkPdfNativeObjectType;
   1114 }
   1115 
   1116 SkPdfNativeObjectType SkPdfMapper::mapMetadataStreamDictionary(const SkPdfNativeObject* in) const {
   1117   if (in == NULL || !isMetadataStreamDictionary(in)) return kNone_SkPdfNativeObjectType;
   1118 
   1119 
   1120   return kMetadataStreamDictionary_SkPdfNativeObjectType;
   1121 }
   1122 
   1123 SkPdfNativeObjectType SkPdfMapper::mapComponentsWithMetadataDictionary(const SkPdfNativeObject* in) const {
   1124   if (in == NULL || !isComponentsWithMetadataDictionary(in)) return kNone_SkPdfNativeObjectType;
   1125 
   1126 
   1127   return kComponentsWithMetadataDictionary_SkPdfNativeObjectType;
   1128 }
   1129 
   1130 SkPdfNativeObjectType SkPdfMapper::mapPagePieceDictionary(const SkPdfNativeObject* in) const {
   1131   if (in == NULL || !isPagePieceDictionary(in)) return kNone_SkPdfNativeObjectType;
   1132 
   1133 
   1134   return kPagePieceDictionary_SkPdfNativeObjectType;
   1135 }
   1136 
   1137 SkPdfNativeObjectType SkPdfMapper::mapApplicationDataDictionary(const SkPdfNativeObject* in) const {
   1138   if (in == NULL || !isApplicationDataDictionary(in)) return kNone_SkPdfNativeObjectType;
   1139 
   1140 
   1141   return kApplicationDataDictionary_SkPdfNativeObjectType;
   1142 }
   1143 
   1144 SkPdfNativeObjectType SkPdfMapper::mapStructureTreeRootDictionary(const SkPdfNativeObject* in) const {
   1145   if (in == NULL || !isStructureTreeRootDictionary(in)) return kNone_SkPdfNativeObjectType;
   1146 
   1147 
   1148   return kStructureTreeRootDictionary_SkPdfNativeObjectType;
   1149 }
   1150 
   1151 SkPdfNativeObjectType SkPdfMapper::mapStructureElementDictionary(const SkPdfNativeObject* in) const {
   1152   if (in == NULL || !isStructureElementDictionary(in)) return kNone_SkPdfNativeObjectType;
   1153 
   1154 
   1155   return kStructureElementDictionary_SkPdfNativeObjectType;
   1156 }
   1157 
   1158 SkPdfNativeObjectType SkPdfMapper::mapMarkedContentReferenceDictionary(const SkPdfNativeObject* in) const {
   1159   if (in == NULL || !isMarkedContentReferenceDictionary(in)) return kNone_SkPdfNativeObjectType;
   1160 
   1161 
   1162   return kMarkedContentReferenceDictionary_SkPdfNativeObjectType;
   1163 }
   1164 
   1165 SkPdfNativeObjectType SkPdfMapper::mapObjectReferenceDictionary(const SkPdfNativeObject* in) const {
   1166   if (in == NULL || !isObjectReferenceDictionary(in)) return kNone_SkPdfNativeObjectType;
   1167 
   1168 
   1169   return kObjectReferenceDictionary_SkPdfNativeObjectType;
   1170 }
   1171 
   1172 SkPdfNativeObjectType SkPdfMapper::mapStructureElementAccessDictionary(const SkPdfNativeObject* in) const {
   1173   if (in == NULL || !isStructureElementAccessDictionary(in)) return kNone_SkPdfNativeObjectType;
   1174 
   1175 
   1176   return kStructureElementAccessDictionary_SkPdfNativeObjectType;
   1177 }
   1178 
   1179 SkPdfNativeObjectType SkPdfMapper::mapAttributeObjectDictionary(const SkPdfNativeObject* in) const {
   1180   if (in == NULL || !isAttributeObjectDictionary(in)) return kNone_SkPdfNativeObjectType;
   1181 
   1182 
   1183   return kAttributeObjectDictionary_SkPdfNativeObjectType;
   1184 }
   1185 
   1186 SkPdfNativeObjectType SkPdfMapper::mapMarkInformationDictionary(const SkPdfNativeObject* in) const {
   1187   if (in == NULL || !isMarkInformationDictionary(in)) return kNone_SkPdfNativeObjectType;
   1188 
   1189 
   1190   return kMarkInformationDictionary_SkPdfNativeObjectType;
   1191 }
   1192 
   1193 SkPdfNativeObjectType SkPdfMapper::mapArtifactsDictionary(const SkPdfNativeObject* in) const {
   1194   if (in == NULL || !isArtifactsDictionary(in)) return kNone_SkPdfNativeObjectType;
   1195 
   1196 
   1197   return kArtifactsDictionary_SkPdfNativeObjectType;
   1198 }
   1199 
   1200 SkPdfNativeObjectType SkPdfMapper::mapStandardStructureDictionary(const SkPdfNativeObject* in) const {
   1201   if (in == NULL || !isStandardStructureDictionary(in)) return kNone_SkPdfNativeObjectType;
   1202 
   1203 
   1204   return kStandardStructureDictionary_SkPdfNativeObjectType;
   1205 }
   1206 
   1207 SkPdfNativeObjectType SkPdfMapper::mapBlockLevelStructureElementsDictionary(const SkPdfNativeObject* in) const {
   1208   if (in == NULL || !isBlockLevelStructureElementsDictionary(in)) return kNone_SkPdfNativeObjectType;
   1209 
   1210 
   1211   return kBlockLevelStructureElementsDictionary_SkPdfNativeObjectType;
   1212 }
   1213 
   1214 SkPdfNativeObjectType SkPdfMapper::mapInlineLevelStructureElementsDictionary(const SkPdfNativeObject* in) const {
   1215   if (in == NULL || !isInlineLevelStructureElementsDictionary(in)) return kNone_SkPdfNativeObjectType;
   1216 
   1217 
   1218   return kInlineLevelStructureElementsDictionary_SkPdfNativeObjectType;
   1219 }
   1220 
   1221 SkPdfNativeObjectType SkPdfMapper::mapListAttributeDictionary(const SkPdfNativeObject* in) const {
   1222   if (in == NULL || !isListAttributeDictionary(in)) return kNone_SkPdfNativeObjectType;
   1223 
   1224 
   1225   return kListAttributeDictionary_SkPdfNativeObjectType;
   1226 }
   1227 
   1228 SkPdfNativeObjectType SkPdfMapper::mapTableAttributesDictionary(const SkPdfNativeObject* in) const {
   1229   if (in == NULL || !isTableAttributesDictionary(in)) return kNone_SkPdfNativeObjectType;
   1230 
   1231 
   1232   return kTableAttributesDictionary_SkPdfNativeObjectType;
   1233 }
   1234 
   1235 SkPdfNativeObjectType SkPdfMapper::mapWebCaptureInformationDictionary(const SkPdfNativeObject* in) const {
   1236   if (in == NULL || !isWebCaptureInformationDictionary(in)) return kNone_SkPdfNativeObjectType;
   1237 
   1238 
   1239   return kWebCaptureInformationDictionary_SkPdfNativeObjectType;
   1240 }
   1241 
   1242 SkPdfNativeObjectType SkPdfMapper::mapWebCaptureDictionary(const SkPdfNativeObject* in) const {
   1243   if (in == NULL || !isWebCaptureDictionary(in)) return kNone_SkPdfNativeObjectType;
   1244 
   1245 
   1246   return kWebCaptureDictionary_SkPdfNativeObjectType;
   1247 }
   1248 
   1249 SkPdfNativeObjectType SkPdfMapper::mapWebCapturePageSetDictionary(const SkPdfNativeObject* in) const {
   1250   if (in == NULL || !isWebCapturePageSetDictionary(in)) return kNone_SkPdfNativeObjectType;
   1251 
   1252 
   1253   return kWebCapturePageSetDictionary_SkPdfNativeObjectType;
   1254 }
   1255 
   1256 SkPdfNativeObjectType SkPdfMapper::mapWebCaptureImageSetDictionary(const SkPdfNativeObject* in) const {
   1257   if (in == NULL || !isWebCaptureImageSetDictionary(in)) return kNone_SkPdfNativeObjectType;
   1258 
   1259 
   1260   return kWebCaptureImageSetDictionary_SkPdfNativeObjectType;
   1261 }
   1262 
   1263 SkPdfNativeObjectType SkPdfMapper::mapSourceInformationDictionary(const SkPdfNativeObject* in) const {
   1264   if (in == NULL || !isSourceInformationDictionary(in)) return kNone_SkPdfNativeObjectType;
   1265 
   1266 
   1267   return kSourceInformationDictionary_SkPdfNativeObjectType;
   1268 }
   1269 
   1270 SkPdfNativeObjectType SkPdfMapper::mapURLAliasDictionary(const SkPdfNativeObject* in) const {
   1271   if (in == NULL || !isURLAliasDictionary(in)) return kNone_SkPdfNativeObjectType;
   1272 
   1273 
   1274   return kURLAliasDictionary_SkPdfNativeObjectType;
   1275 }
   1276 
   1277 SkPdfNativeObjectType SkPdfMapper::mapWebCaptureCommandDictionary(const SkPdfNativeObject* in) const {
   1278   if (in == NULL || !isWebCaptureCommandDictionary(in)) return kNone_SkPdfNativeObjectType;
   1279 
   1280 
   1281   return kWebCaptureCommandDictionary_SkPdfNativeObjectType;
   1282 }
   1283 
   1284 SkPdfNativeObjectType SkPdfMapper::mapWebCaptureCommandSettingsDictionary(const SkPdfNativeObject* in) const {
   1285   if (in == NULL || !isWebCaptureCommandSettingsDictionary(in)) return kNone_SkPdfNativeObjectType;
   1286 
   1287 
   1288   return kWebCaptureCommandSettingsDictionary_SkPdfNativeObjectType;
   1289 }
   1290 
   1291 SkPdfNativeObjectType SkPdfMapper::mapBoxColorInformationDictionary(const SkPdfNativeObject* in) const {
   1292   if (in == NULL || !isBoxColorInformationDictionary(in)) return kNone_SkPdfNativeObjectType;
   1293 
   1294 
   1295   return kBoxColorInformationDictionary_SkPdfNativeObjectType;
   1296 }
   1297 
   1298 SkPdfNativeObjectType SkPdfMapper::mapBoxStyleDictionary(const SkPdfNativeObject* in) const {
   1299   if (in == NULL || !isBoxStyleDictionary(in)) return kNone_SkPdfNativeObjectType;
   1300 
   1301 
   1302   return kBoxStyleDictionary_SkPdfNativeObjectType;
   1303 }
   1304 
   1305 SkPdfNativeObjectType SkPdfMapper::mapPrinterMarkAnnotationDictionary(const SkPdfNativeObject* in) const {
   1306   if (in == NULL || !isPrinterMarkAnnotationDictionary(in)) return kNone_SkPdfNativeObjectType;
   1307 
   1308 
   1309   return kPrinterMarkAnnotationDictionary_SkPdfNativeObjectType;
   1310 }
   1311 
   1312 SkPdfNativeObjectType SkPdfMapper::mapPrinterMarkFormDictionary(const SkPdfNativeObject* in) const {
   1313   if (in == NULL || !isPrinterMarkFormDictionary(in)) return kNone_SkPdfNativeObjectType;
   1314 
   1315 
   1316   return kPrinterMarkFormDictionary_SkPdfNativeObjectType;
   1317 }
   1318 
   1319 SkPdfNativeObjectType SkPdfMapper::mapSeparationDictionary(const SkPdfNativeObject* in) const {
   1320   if (in == NULL || !isSeparationDictionary(in)) return kNone_SkPdfNativeObjectType;
   1321 
   1322 
   1323   return kSeparationDictionary_SkPdfNativeObjectType;
   1324 }
   1325 
   1326 SkPdfNativeObjectType SkPdfMapper::mapPDF_XOutputIntentDictionary(const SkPdfNativeObject* in) const {
   1327   if (in == NULL || !isPDF_XOutputIntentDictionary(in)) return kNone_SkPdfNativeObjectType;
   1328 
   1329 
   1330   return kPDF_XOutputIntentDictionary_SkPdfNativeObjectType;
   1331 }
   1332 
   1333 SkPdfNativeObjectType SkPdfMapper::mapTrapNetworkAnnotationDictionary(const SkPdfNativeObject* in) const {
   1334   if (in == NULL || !isTrapNetworkAnnotationDictionary(in)) return kNone_SkPdfNativeObjectType;
   1335 
   1336 
   1337   return kTrapNetworkAnnotationDictionary_SkPdfNativeObjectType;
   1338 }
   1339 
   1340 SkPdfNativeObjectType SkPdfMapper::mapTrapNetworkAppearanceStreamDictionary(const SkPdfNativeObject* in) const {
   1341   if (in == NULL || !isTrapNetworkAppearanceStreamDictionary(in)) return kNone_SkPdfNativeObjectType;
   1342 
   1343 
   1344   return kTrapNetworkAppearanceStreamDictionary_SkPdfNativeObjectType;
   1345 }
   1346 
   1347 SkPdfNativeObjectType SkPdfMapper::mapOpiVersionDictionary(const SkPdfNativeObject* in) const {
   1348   if (in == NULL || !isOpiVersionDictionary(in)) return kNone_SkPdfNativeObjectType;
   1349 
   1350 
   1351   return kOpiVersionDictionary_SkPdfNativeObjectType;
   1352 }
   1353 
   1354 SkPdfNativeObjectType SkPdfMapper::mapMultiMasterFontDictionary(const SkPdfNativeObject* in) const {
   1355   if (in == NULL || !isMultiMasterFontDictionary(in)) return kNone_SkPdfNativeObjectType;
   1356 
   1357 
   1358   return kMultiMasterFontDictionary_SkPdfNativeObjectType;
   1359 }
   1360 
   1361 bool SkPdfMapper::isDictionary(const SkPdfNativeObject* nativeObj) const {
   1362   return true;
   1363 }
   1364 
   1365 bool SkPdfMapper::SkPdfDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfDictionary** data) const {
   1366   const SkPdfNativeObject* value = dict->get(key);
   1367   if (value == NULL) { return false; }
   1368   if (data == NULL) { return true; }
   1369   if (kNone_SkPdfNativeObjectType == mapDictionary(value)) return false;
   1370   *data = (SkPdfDictionary*)value;
   1371   return true;
   1372 }
   1373 
   1374 bool SkPdfMapper::SkPdfDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfDictionary** data) const {
   1375   if (SkPdfDictionaryFromDictionary(dict, key, data)) return true;
   1376   if (abr == NULL || *abr == '\0') return false;
   1377   return SkPdfDictionaryFromDictionary(dict, abr, data);
   1378 }
   1379 
   1380 bool SkPdfMapper::isXObjectDictionary(const SkPdfNativeObject* nativeObj) const {
   1381   return true;
   1382 }
   1383 
   1384 bool SkPdfMapper::SkPdfXObjectDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfXObjectDictionary** data) const {
   1385   const SkPdfNativeObject* value = dict->get(key);
   1386   if (value == NULL) { return false; }
   1387   if (data == NULL) { return true; }
   1388   if (kNone_SkPdfNativeObjectType == mapXObjectDictionary(value)) return false;
   1389   *data = (SkPdfXObjectDictionary*)value;
   1390   return true;
   1391 }
   1392 
   1393 bool SkPdfMapper::SkPdfXObjectDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfXObjectDictionary** data) const {
   1394   if (SkPdfXObjectDictionaryFromDictionary(dict, key, data)) return true;
   1395   if (abr == NULL || *abr == '\0') return false;
   1396   return SkPdfXObjectDictionaryFromDictionary(dict, abr, data);
   1397 }
   1398 
   1399 bool SkPdfMapper::isFontDictionary(const SkPdfNativeObject* nativeObj) const {
   1400   return true;
   1401 }
   1402 
   1403 bool SkPdfMapper::SkPdfFontDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfFontDictionary** data) const {
   1404   const SkPdfNativeObject* value = dict->get(key);
   1405   if (value == NULL) { return false; }
   1406   if (data == NULL) { return true; }
   1407   if (kNone_SkPdfNativeObjectType == mapFontDictionary(value)) return false;
   1408   *data = (SkPdfFontDictionary*)value;
   1409   return true;
   1410 }
   1411 
   1412 bool SkPdfMapper::SkPdfFontDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfFontDictionary** data) const {
   1413   if (SkPdfFontDictionaryFromDictionary(dict, key, data)) return true;
   1414   if (abr == NULL || *abr == '\0') return false;
   1415   return SkPdfFontDictionaryFromDictionary(dict, abr, data);
   1416 }
   1417 
   1418 bool SkPdfMapper::isTrueTypeFontDictionary(const SkPdfNativeObject* nativeObj) const {
   1419   const SkPdfNativeObject* ret = NULL;
   1420   if (!nativeObj->isDictionary()) return false;
   1421   ret = nativeObj->get("Subtype", "");
   1422   if (ret == NULL || !ret->isName()) return false;
   1423   if ((ret->nameValue2() != "TrueType")) return false;
   1424 
   1425   return true;
   1426 }
   1427 
   1428 bool SkPdfMapper::SkPdfTrueTypeFontDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfTrueTypeFontDictionary** data) const {
   1429   const SkPdfNativeObject* value = dict->get(key);
   1430   if (value == NULL) { return false; }
   1431   if (data == NULL) { return true; }
   1432   if (kNone_SkPdfNativeObjectType == mapTrueTypeFontDictionary(value)) return false;
   1433   *data = (SkPdfTrueTypeFontDictionary*)value;
   1434   return true;
   1435 }
   1436 
   1437 bool SkPdfMapper::SkPdfTrueTypeFontDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfTrueTypeFontDictionary** data) const {
   1438   if (SkPdfTrueTypeFontDictionaryFromDictionary(dict, key, data)) return true;
   1439   if (abr == NULL || *abr == '\0') return false;
   1440   return SkPdfTrueTypeFontDictionaryFromDictionary(dict, abr, data);
   1441 }
   1442 
   1443 bool SkPdfMapper::isStreamCommonDictionary(const SkPdfNativeObject* nativeObj) const {
   1444   return true;
   1445 }
   1446 
   1447 bool SkPdfMapper::SkPdfStreamCommonDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfStreamCommonDictionary** data) const {
   1448   const SkPdfNativeObject* value = dict->get(key);
   1449   if (value == NULL) { return false; }
   1450   if (data == NULL) { return true; }
   1451   if (kNone_SkPdfNativeObjectType == mapStreamCommonDictionary(value)) return false;
   1452   *data = (SkPdfStreamCommonDictionary*)value;
   1453   return true;
   1454 }
   1455 
   1456 bool SkPdfMapper::SkPdfStreamCommonDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfStreamCommonDictionary** data) const {
   1457   if (SkPdfStreamCommonDictionaryFromDictionary(dict, key, data)) return true;
   1458   if (abr == NULL || *abr == '\0') return false;
   1459   return SkPdfStreamCommonDictionaryFromDictionary(dict, abr, data);
   1460 }
   1461 
   1462 bool SkPdfMapper::isLzwdecodeAndFlatedecodeFiltersDictionary(const SkPdfNativeObject* nativeObj) const {
   1463   return true;
   1464 }
   1465 
   1466 bool SkPdfMapper::SkPdfLzwdecodeAndFlatedecodeFiltersDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfLzwdecodeAndFlatedecodeFiltersDictionary** data) const {
   1467   const SkPdfNativeObject* value = dict->get(key);
   1468   if (value == NULL) { return false; }
   1469   if (data == NULL) { return true; }
   1470   if (kNone_SkPdfNativeObjectType == mapLzwdecodeAndFlatedecodeFiltersDictionary(value)) return false;
   1471   *data = (SkPdfLzwdecodeAndFlatedecodeFiltersDictionary*)value;
   1472   return true;
   1473 }
   1474 
   1475 bool SkPdfMapper::SkPdfLzwdecodeAndFlatedecodeFiltersDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfLzwdecodeAndFlatedecodeFiltersDictionary** data) const {
   1476   if (SkPdfLzwdecodeAndFlatedecodeFiltersDictionaryFromDictionary(dict, key, data)) return true;
   1477   if (abr == NULL || *abr == '\0') return false;
   1478   return SkPdfLzwdecodeAndFlatedecodeFiltersDictionaryFromDictionary(dict, abr, data);
   1479 }
   1480 
   1481 bool SkPdfMapper::isCcittfaxdecodeFilterDictionary(const SkPdfNativeObject* nativeObj) const {
   1482   return true;
   1483 }
   1484 
   1485 bool SkPdfMapper::SkPdfCcittfaxdecodeFilterDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfCcittfaxdecodeFilterDictionary** data) const {
   1486   const SkPdfNativeObject* value = dict->get(key);
   1487   if (value == NULL) { return false; }
   1488   if (data == NULL) { return true; }
   1489   if (kNone_SkPdfNativeObjectType == mapCcittfaxdecodeFilterDictionary(value)) return false;
   1490   *data = (SkPdfCcittfaxdecodeFilterDictionary*)value;
   1491   return true;
   1492 }
   1493 
   1494 bool SkPdfMapper::SkPdfCcittfaxdecodeFilterDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfCcittfaxdecodeFilterDictionary** data) const {
   1495   if (SkPdfCcittfaxdecodeFilterDictionaryFromDictionary(dict, key, data)) return true;
   1496   if (abr == NULL || *abr == '\0') return false;
   1497   return SkPdfCcittfaxdecodeFilterDictionaryFromDictionary(dict, abr, data);
   1498 }
   1499 
   1500 bool SkPdfMapper::isJbig2DecodeFilterDictionary(const SkPdfNativeObject* nativeObj) const {
   1501   return true;
   1502 }
   1503 
   1504 bool SkPdfMapper::SkPdfJbig2DecodeFilterDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfJbig2DecodeFilterDictionary** data) const {
   1505   const SkPdfNativeObject* value = dict->get(key);
   1506   if (value == NULL) { return false; }
   1507   if (data == NULL) { return true; }
   1508   if (kNone_SkPdfNativeObjectType == mapJbig2DecodeFilterDictionary(value)) return false;
   1509   *data = (SkPdfJbig2DecodeFilterDictionary*)value;
   1510   return true;
   1511 }
   1512 
   1513 bool SkPdfMapper::SkPdfJbig2DecodeFilterDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfJbig2DecodeFilterDictionary** data) const {
   1514   if (SkPdfJbig2DecodeFilterDictionaryFromDictionary(dict, key, data)) return true;
   1515   if (abr == NULL || *abr == '\0') return false;
   1516   return SkPdfJbig2DecodeFilterDictionaryFromDictionary(dict, abr, data);
   1517 }
   1518 
   1519 bool SkPdfMapper::isDctdecodeFilterDictionary(const SkPdfNativeObject* nativeObj) const {
   1520   return true;
   1521 }
   1522 
   1523 bool SkPdfMapper::SkPdfDctdecodeFilterDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfDctdecodeFilterDictionary** data) const {
   1524   const SkPdfNativeObject* value = dict->get(key);
   1525   if (value == NULL) { return false; }
   1526   if (data == NULL) { return true; }
   1527   if (kNone_SkPdfNativeObjectType == mapDctdecodeFilterDictionary(value)) return false;
   1528   *data = (SkPdfDctdecodeFilterDictionary*)value;
   1529   return true;
   1530 }
   1531 
   1532 bool SkPdfMapper::SkPdfDctdecodeFilterDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfDctdecodeFilterDictionary** data) const {
   1533   if (SkPdfDctdecodeFilterDictionaryFromDictionary(dict, key, data)) return true;
   1534   if (abr == NULL || *abr == '\0') return false;
   1535   return SkPdfDctdecodeFilterDictionaryFromDictionary(dict, abr, data);
   1536 }
   1537 
   1538 bool SkPdfMapper::isFileTrailerDictionary(const SkPdfNativeObject* nativeObj) const {
   1539   return true;
   1540 }
   1541 
   1542 bool SkPdfMapper::SkPdfFileTrailerDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfFileTrailerDictionary** data) const {
   1543   const SkPdfNativeObject* value = dict->get(key);
   1544   if (value == NULL) { return false; }
   1545   if (data == NULL) { return true; }
   1546   if (kNone_SkPdfNativeObjectType == mapFileTrailerDictionary(value)) return false;
   1547   *data = (SkPdfFileTrailerDictionary*)value;
   1548   return true;
   1549 }
   1550 
   1551 bool SkPdfMapper::SkPdfFileTrailerDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfFileTrailerDictionary** data) const {
   1552   if (SkPdfFileTrailerDictionaryFromDictionary(dict, key, data)) return true;
   1553   if (abr == NULL || *abr == '\0') return false;
   1554   return SkPdfFileTrailerDictionaryFromDictionary(dict, abr, data);
   1555 }
   1556 
   1557 bool SkPdfMapper::isEncryptionCommonDictionary(const SkPdfNativeObject* nativeObj) const {
   1558   return true;
   1559 }
   1560 
   1561 bool SkPdfMapper::SkPdfEncryptionCommonDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfEncryptionCommonDictionary** data) const {
   1562   const SkPdfNativeObject* value = dict->get(key);
   1563   if (value == NULL) { return false; }
   1564   if (data == NULL) { return true; }
   1565   if (kNone_SkPdfNativeObjectType == mapEncryptionCommonDictionary(value)) return false;
   1566   *data = (SkPdfEncryptionCommonDictionary*)value;
   1567   return true;
   1568 }
   1569 
   1570 bool SkPdfMapper::SkPdfEncryptionCommonDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfEncryptionCommonDictionary** data) const {
   1571   if (SkPdfEncryptionCommonDictionaryFromDictionary(dict, key, data)) return true;
   1572   if (abr == NULL || *abr == '\0') return false;
   1573   return SkPdfEncryptionCommonDictionaryFromDictionary(dict, abr, data);
   1574 }
   1575 
   1576 bool SkPdfMapper::isStandardSecurityHandlerDictionary(const SkPdfNativeObject* nativeObj) const {
   1577   return true;
   1578 }
   1579 
   1580 bool SkPdfMapper::SkPdfStandardSecurityHandlerDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfStandardSecurityHandlerDictionary** data) const {
   1581   const SkPdfNativeObject* value = dict->get(key);
   1582   if (value == NULL) { return false; }
   1583   if (data == NULL) { return true; }
   1584   if (kNone_SkPdfNativeObjectType == mapStandardSecurityHandlerDictionary(value)) return false;
   1585   *data = (SkPdfStandardSecurityHandlerDictionary*)value;
   1586   return true;
   1587 }
   1588 
   1589 bool SkPdfMapper::SkPdfStandardSecurityHandlerDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfStandardSecurityHandlerDictionary** data) const {
   1590   if (SkPdfStandardSecurityHandlerDictionaryFromDictionary(dict, key, data)) return true;
   1591   if (abr == NULL || *abr == '\0') return false;
   1592   return SkPdfStandardSecurityHandlerDictionaryFromDictionary(dict, abr, data);
   1593 }
   1594 
   1595 bool SkPdfMapper::isCatalogDictionary(const SkPdfNativeObject* nativeObj) const {
   1596   return true;
   1597 }
   1598 
   1599 bool SkPdfMapper::SkPdfCatalogDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfCatalogDictionary** data) const {
   1600   const SkPdfNativeObject* value = dict->get(key);
   1601   if (value == NULL) { return false; }
   1602   if (data == NULL) { return true; }
   1603   if (kNone_SkPdfNativeObjectType == mapCatalogDictionary(value)) return false;
   1604   *data = (SkPdfCatalogDictionary*)value;
   1605   return true;
   1606 }
   1607 
   1608 bool SkPdfMapper::SkPdfCatalogDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfCatalogDictionary** data) const {
   1609   if (SkPdfCatalogDictionaryFromDictionary(dict, key, data)) return true;
   1610   if (abr == NULL || *abr == '\0') return false;
   1611   return SkPdfCatalogDictionaryFromDictionary(dict, abr, data);
   1612 }
   1613 
   1614 bool SkPdfMapper::isPageTreeNodeDictionary(const SkPdfNativeObject* nativeObj) const {
   1615   return true;
   1616 }
   1617 
   1618 bool SkPdfMapper::SkPdfPageTreeNodeDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfPageTreeNodeDictionary** data) const {
   1619   const SkPdfNativeObject* value = dict->get(key);
   1620   if (value == NULL) { return false; }
   1621   if (data == NULL) { return true; }
   1622   if (kNone_SkPdfNativeObjectType == mapPageTreeNodeDictionary(value)) return false;
   1623   *data = (SkPdfPageTreeNodeDictionary*)value;
   1624   return true;
   1625 }
   1626 
   1627 bool SkPdfMapper::SkPdfPageTreeNodeDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfPageTreeNodeDictionary** data) const {
   1628   if (SkPdfPageTreeNodeDictionaryFromDictionary(dict, key, data)) return true;
   1629   if (abr == NULL || *abr == '\0') return false;
   1630   return SkPdfPageTreeNodeDictionaryFromDictionary(dict, abr, data);
   1631 }
   1632 
   1633 bool SkPdfMapper::isPageObjectDictionary(const SkPdfNativeObject* nativeObj) const {
   1634   return true;
   1635 }
   1636 
   1637 bool SkPdfMapper::SkPdfPageObjectDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfPageObjectDictionary** data) const {
   1638   const SkPdfNativeObject* value = dict->get(key);
   1639   if (value == NULL) { return false; }
   1640   if (data == NULL) { return true; }
   1641   if (kNone_SkPdfNativeObjectType == mapPageObjectDictionary(value)) return false;
   1642   *data = (SkPdfPageObjectDictionary*)value;
   1643   return true;
   1644 }
   1645 
   1646 bool SkPdfMapper::SkPdfPageObjectDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfPageObjectDictionary** data) const {
   1647   if (SkPdfPageObjectDictionaryFromDictionary(dict, key, data)) return true;
   1648   if (abr == NULL || *abr == '\0') return false;
   1649   return SkPdfPageObjectDictionaryFromDictionary(dict, abr, data);
   1650 }
   1651 
   1652 bool SkPdfMapper::isNameDictionary(const SkPdfNativeObject* nativeObj) const {
   1653   return true;
   1654 }
   1655 
   1656 bool SkPdfMapper::SkPdfNameDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfNameDictionary** data) const {
   1657   const SkPdfNativeObject* value = dict->get(key);
   1658   if (value == NULL) { return false; }
   1659   if (data == NULL) { return true; }
   1660   if (kNone_SkPdfNativeObjectType == mapNameDictionary(value)) return false;
   1661   *data = (SkPdfNameDictionary*)value;
   1662   return true;
   1663 }
   1664 
   1665 bool SkPdfMapper::SkPdfNameDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfNameDictionary** data) const {
   1666   if (SkPdfNameDictionaryFromDictionary(dict, key, data)) return true;
   1667   if (abr == NULL || *abr == '\0') return false;
   1668   return SkPdfNameDictionaryFromDictionary(dict, abr, data);
   1669 }
   1670 
   1671 bool SkPdfMapper::isResourceDictionary(const SkPdfNativeObject* nativeObj) const {
   1672   return true;
   1673 }
   1674 
   1675 bool SkPdfMapper::SkPdfResourceDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfResourceDictionary** data) const {
   1676   const SkPdfNativeObject* value = dict->get(key);
   1677   if (value == NULL) { return false; }
   1678   if (data == NULL) { return true; }
   1679   if (kNone_SkPdfNativeObjectType == mapResourceDictionary(value)) return false;
   1680   *data = (SkPdfResourceDictionary*)value;
   1681   return true;
   1682 }
   1683 
   1684 bool SkPdfMapper::SkPdfResourceDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfResourceDictionary** data) const {
   1685   if (SkPdfResourceDictionaryFromDictionary(dict, key, data)) return true;
   1686   if (abr == NULL || *abr == '\0') return false;
   1687   return SkPdfResourceDictionaryFromDictionary(dict, abr, data);
   1688 }
   1689 
   1690 bool SkPdfMapper::isNameTreeNodeDictionary(const SkPdfNativeObject* nativeObj) const {
   1691   return true;
   1692 }
   1693 
   1694 bool SkPdfMapper::SkPdfNameTreeNodeDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfNameTreeNodeDictionary** data) const {
   1695   const SkPdfNativeObject* value = dict->get(key);
   1696   if (value == NULL) { return false; }
   1697   if (data == NULL) { return true; }
   1698   if (kNone_SkPdfNativeObjectType == mapNameTreeNodeDictionary(value)) return false;
   1699   *data = (SkPdfNameTreeNodeDictionary*)value;
   1700   return true;
   1701 }
   1702 
   1703 bool SkPdfMapper::SkPdfNameTreeNodeDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfNameTreeNodeDictionary** data) const {
   1704   if (SkPdfNameTreeNodeDictionaryFromDictionary(dict, key, data)) return true;
   1705   if (abr == NULL || *abr == '\0') return false;
   1706   return SkPdfNameTreeNodeDictionaryFromDictionary(dict, abr, data);
   1707 }
   1708 
   1709 bool SkPdfMapper::isNumberTreeNodeDictionary(const SkPdfNativeObject* nativeObj) const {
   1710   return true;
   1711 }
   1712 
   1713 bool SkPdfMapper::SkPdfNumberTreeNodeDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfNumberTreeNodeDictionary** data) const {
   1714   const SkPdfNativeObject* value = dict->get(key);
   1715   if (value == NULL) { return false; }
   1716   if (data == NULL) { return true; }
   1717   if (kNone_SkPdfNativeObjectType == mapNumberTreeNodeDictionary(value)) return false;
   1718   *data = (SkPdfNumberTreeNodeDictionary*)value;
   1719   return true;
   1720 }
   1721 
   1722 bool SkPdfMapper::SkPdfNumberTreeNodeDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfNumberTreeNodeDictionary** data) const {
   1723   if (SkPdfNumberTreeNodeDictionaryFromDictionary(dict, key, data)) return true;
   1724   if (abr == NULL || *abr == '\0') return false;
   1725   return SkPdfNumberTreeNodeDictionaryFromDictionary(dict, abr, data);
   1726 }
   1727 
   1728 bool SkPdfMapper::isFunctionCommonDictionary(const SkPdfNativeObject* nativeObj) const {
   1729   return true;
   1730 }
   1731 
   1732 bool SkPdfMapper::SkPdfFunctionCommonDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfFunctionCommonDictionary** data) const {
   1733   const SkPdfNativeObject* value = dict->get(key);
   1734   if (value == NULL) { return false; }
   1735   if (data == NULL) { return true; }
   1736   if (kNone_SkPdfNativeObjectType == mapFunctionCommonDictionary(value)) return false;
   1737   *data = (SkPdfFunctionCommonDictionary*)value;
   1738   return true;
   1739 }
   1740 
   1741 bool SkPdfMapper::SkPdfFunctionCommonDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfFunctionCommonDictionary** data) const {
   1742   if (SkPdfFunctionCommonDictionaryFromDictionary(dict, key, data)) return true;
   1743   if (abr == NULL || *abr == '\0') return false;
   1744   return SkPdfFunctionCommonDictionaryFromDictionary(dict, abr, data);
   1745 }
   1746 
   1747 bool SkPdfMapper::isType0FunctionDictionary(const SkPdfNativeObject* nativeObj) const {
   1748   return true;
   1749 }
   1750 
   1751 bool SkPdfMapper::SkPdfType0FunctionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfType0FunctionDictionary** data) const {
   1752   const SkPdfNativeObject* value = dict->get(key);
   1753   if (value == NULL) { return false; }
   1754   if (data == NULL) { return true; }
   1755   if (kNone_SkPdfNativeObjectType == mapType0FunctionDictionary(value)) return false;
   1756   *data = (SkPdfType0FunctionDictionary*)value;
   1757   return true;
   1758 }
   1759 
   1760 bool SkPdfMapper::SkPdfType0FunctionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfType0FunctionDictionary** data) const {
   1761   if (SkPdfType0FunctionDictionaryFromDictionary(dict, key, data)) return true;
   1762   if (abr == NULL || *abr == '\0') return false;
   1763   return SkPdfType0FunctionDictionaryFromDictionary(dict, abr, data);
   1764 }
   1765 
   1766 bool SkPdfMapper::isType2FunctionDictionary(const SkPdfNativeObject* nativeObj) const {
   1767   return true;
   1768 }
   1769 
   1770 bool SkPdfMapper::SkPdfType2FunctionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfType2FunctionDictionary** data) const {
   1771   const SkPdfNativeObject* value = dict->get(key);
   1772   if (value == NULL) { return false; }
   1773   if (data == NULL) { return true; }
   1774   if (kNone_SkPdfNativeObjectType == mapType2FunctionDictionary(value)) return false;
   1775   *data = (SkPdfType2FunctionDictionary*)value;
   1776   return true;
   1777 }
   1778 
   1779 bool SkPdfMapper::SkPdfType2FunctionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfType2FunctionDictionary** data) const {
   1780   if (SkPdfType2FunctionDictionaryFromDictionary(dict, key, data)) return true;
   1781   if (abr == NULL || *abr == '\0') return false;
   1782   return SkPdfType2FunctionDictionaryFromDictionary(dict, abr, data);
   1783 }
   1784 
   1785 bool SkPdfMapper::isType3FunctionDictionary(const SkPdfNativeObject* nativeObj) const {
   1786   return true;
   1787 }
   1788 
   1789 bool SkPdfMapper::SkPdfType3FunctionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfType3FunctionDictionary** data) const {
   1790   const SkPdfNativeObject* value = dict->get(key);
   1791   if (value == NULL) { return false; }
   1792   if (data == NULL) { return true; }
   1793   if (kNone_SkPdfNativeObjectType == mapType3FunctionDictionary(value)) return false;
   1794   *data = (SkPdfType3FunctionDictionary*)value;
   1795   return true;
   1796 }
   1797 
   1798 bool SkPdfMapper::SkPdfType3FunctionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfType3FunctionDictionary** data) const {
   1799   if (SkPdfType3FunctionDictionaryFromDictionary(dict, key, data)) return true;
   1800   if (abr == NULL || *abr == '\0') return false;
   1801   return SkPdfType3FunctionDictionaryFromDictionary(dict, abr, data);
   1802 }
   1803 
   1804 bool SkPdfMapper::isFileSpecificationDictionary(const SkPdfNativeObject* nativeObj) const {
   1805   return true;
   1806 }
   1807 
   1808 bool SkPdfMapper::SkPdfFileSpecificationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfFileSpecificationDictionary** data) const {
   1809   const SkPdfNativeObject* value = dict->get(key);
   1810   if (value == NULL) { return false; }
   1811   if (data == NULL) { return true; }
   1812   if (kNone_SkPdfNativeObjectType == mapFileSpecificationDictionary(value)) return false;
   1813   *data = (SkPdfFileSpecificationDictionary*)value;
   1814   return true;
   1815 }
   1816 
   1817 bool SkPdfMapper::SkPdfFileSpecificationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfFileSpecificationDictionary** data) const {
   1818   if (SkPdfFileSpecificationDictionaryFromDictionary(dict, key, data)) return true;
   1819   if (abr == NULL || *abr == '\0') return false;
   1820   return SkPdfFileSpecificationDictionaryFromDictionary(dict, abr, data);
   1821 }
   1822 
   1823 bool SkPdfMapper::isEmbeddedFileStreamDictionary(const SkPdfNativeObject* nativeObj) const {
   1824   return true;
   1825 }
   1826 
   1827 bool SkPdfMapper::SkPdfEmbeddedFileStreamDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfEmbeddedFileStreamDictionary** data) const {
   1828   const SkPdfNativeObject* value = dict->get(key);
   1829   if (value == NULL) { return false; }
   1830   if (data == NULL) { return true; }
   1831   if (kNone_SkPdfNativeObjectType == mapEmbeddedFileStreamDictionary(value)) return false;
   1832   *data = (SkPdfEmbeddedFileStreamDictionary*)value;
   1833   return true;
   1834 }
   1835 
   1836 bool SkPdfMapper::SkPdfEmbeddedFileStreamDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfEmbeddedFileStreamDictionary** data) const {
   1837   if (SkPdfEmbeddedFileStreamDictionaryFromDictionary(dict, key, data)) return true;
   1838   if (abr == NULL || *abr == '\0') return false;
   1839   return SkPdfEmbeddedFileStreamDictionaryFromDictionary(dict, abr, data);
   1840 }
   1841 
   1842 bool SkPdfMapper::isEmbeddedFileParameterDictionary(const SkPdfNativeObject* nativeObj) const {
   1843   return true;
   1844 }
   1845 
   1846 bool SkPdfMapper::SkPdfEmbeddedFileParameterDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfEmbeddedFileParameterDictionary** data) const {
   1847   const SkPdfNativeObject* value = dict->get(key);
   1848   if (value == NULL) { return false; }
   1849   if (data == NULL) { return true; }
   1850   if (kNone_SkPdfNativeObjectType == mapEmbeddedFileParameterDictionary(value)) return false;
   1851   *data = (SkPdfEmbeddedFileParameterDictionary*)value;
   1852   return true;
   1853 }
   1854 
   1855 bool SkPdfMapper::SkPdfEmbeddedFileParameterDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfEmbeddedFileParameterDictionary** data) const {
   1856   if (SkPdfEmbeddedFileParameterDictionaryFromDictionary(dict, key, data)) return true;
   1857   if (abr == NULL || *abr == '\0') return false;
   1858   return SkPdfEmbeddedFileParameterDictionaryFromDictionary(dict, abr, data);
   1859 }
   1860 
   1861 bool SkPdfMapper::isMacOsFileInformationDictionary(const SkPdfNativeObject* nativeObj) const {
   1862   return true;
   1863 }
   1864 
   1865 bool SkPdfMapper::SkPdfMacOsFileInformationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfMacOsFileInformationDictionary** data) const {
   1866   const SkPdfNativeObject* value = dict->get(key);
   1867   if (value == NULL) { return false; }
   1868   if (data == NULL) { return true; }
   1869   if (kNone_SkPdfNativeObjectType == mapMacOsFileInformationDictionary(value)) return false;
   1870   *data = (SkPdfMacOsFileInformationDictionary*)value;
   1871   return true;
   1872 }
   1873 
   1874 bool SkPdfMapper::SkPdfMacOsFileInformationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfMacOsFileInformationDictionary** data) const {
   1875   if (SkPdfMacOsFileInformationDictionaryFromDictionary(dict, key, data)) return true;
   1876   if (abr == NULL || *abr == '\0') return false;
   1877   return SkPdfMacOsFileInformationDictionaryFromDictionary(dict, abr, data);
   1878 }
   1879 
   1880 bool SkPdfMapper::isGraphicsStateDictionary(const SkPdfNativeObject* nativeObj) const {
   1881   return true;
   1882 }
   1883 
   1884 bool SkPdfMapper::SkPdfGraphicsStateDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfGraphicsStateDictionary** data) const {
   1885   const SkPdfNativeObject* value = dict->get(key);
   1886   if (value == NULL) { return false; }
   1887   if (data == NULL) { return true; }
   1888   if (kNone_SkPdfNativeObjectType == mapGraphicsStateDictionary(value)) return false;
   1889   *data = (SkPdfGraphicsStateDictionary*)value;
   1890   return true;
   1891 }
   1892 
   1893 bool SkPdfMapper::SkPdfGraphicsStateDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfGraphicsStateDictionary** data) const {
   1894   if (SkPdfGraphicsStateDictionaryFromDictionary(dict, key, data)) return true;
   1895   if (abr == NULL || *abr == '\0') return false;
   1896   return SkPdfGraphicsStateDictionaryFromDictionary(dict, abr, data);
   1897 }
   1898 
   1899 bool SkPdfMapper::isCalgrayColorSpaceDictionary(const SkPdfNativeObject* nativeObj) const {
   1900   return true;
   1901 }
   1902 
   1903 bool SkPdfMapper::SkPdfCalgrayColorSpaceDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfCalgrayColorSpaceDictionary** data) const {
   1904   const SkPdfNativeObject* value = dict->get(key);
   1905   if (value == NULL) { return false; }
   1906   if (data == NULL) { return true; }
   1907   if (kNone_SkPdfNativeObjectType == mapCalgrayColorSpaceDictionary(value)) return false;
   1908   *data = (SkPdfCalgrayColorSpaceDictionary*)value;
   1909   return true;
   1910 }
   1911 
   1912 bool SkPdfMapper::SkPdfCalgrayColorSpaceDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfCalgrayColorSpaceDictionary** data) const {
   1913   if (SkPdfCalgrayColorSpaceDictionaryFromDictionary(dict, key, data)) return true;
   1914   if (abr == NULL || *abr == '\0') return false;
   1915   return SkPdfCalgrayColorSpaceDictionaryFromDictionary(dict, abr, data);
   1916 }
   1917 
   1918 bool SkPdfMapper::isCalrgbColorSpaceDictionary(const SkPdfNativeObject* nativeObj) const {
   1919   return true;
   1920 }
   1921 
   1922 bool SkPdfMapper::SkPdfCalrgbColorSpaceDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfCalrgbColorSpaceDictionary** data) const {
   1923   const SkPdfNativeObject* value = dict->get(key);
   1924   if (value == NULL) { return false; }
   1925   if (data == NULL) { return true; }
   1926   if (kNone_SkPdfNativeObjectType == mapCalrgbColorSpaceDictionary(value)) return false;
   1927   *data = (SkPdfCalrgbColorSpaceDictionary*)value;
   1928   return true;
   1929 }
   1930 
   1931 bool SkPdfMapper::SkPdfCalrgbColorSpaceDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfCalrgbColorSpaceDictionary** data) const {
   1932   if (SkPdfCalrgbColorSpaceDictionaryFromDictionary(dict, key, data)) return true;
   1933   if (abr == NULL || *abr == '\0') return false;
   1934   return SkPdfCalrgbColorSpaceDictionaryFromDictionary(dict, abr, data);
   1935 }
   1936 
   1937 bool SkPdfMapper::isLabColorSpaceDictionary(const SkPdfNativeObject* nativeObj) const {
   1938   return true;
   1939 }
   1940 
   1941 bool SkPdfMapper::SkPdfLabColorSpaceDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfLabColorSpaceDictionary** data) const {
   1942   const SkPdfNativeObject* value = dict->get(key);
   1943   if (value == NULL) { return false; }
   1944   if (data == NULL) { return true; }
   1945   if (kNone_SkPdfNativeObjectType == mapLabColorSpaceDictionary(value)) return false;
   1946   *data = (SkPdfLabColorSpaceDictionary*)value;
   1947   return true;
   1948 }
   1949 
   1950 bool SkPdfMapper::SkPdfLabColorSpaceDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfLabColorSpaceDictionary** data) const {
   1951   if (SkPdfLabColorSpaceDictionaryFromDictionary(dict, key, data)) return true;
   1952   if (abr == NULL || *abr == '\0') return false;
   1953   return SkPdfLabColorSpaceDictionaryFromDictionary(dict, abr, data);
   1954 }
   1955 
   1956 bool SkPdfMapper::isIccProfileStreamDictionary(const SkPdfNativeObject* nativeObj) const {
   1957   return true;
   1958 }
   1959 
   1960 bool SkPdfMapper::SkPdfIccProfileStreamDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfIccProfileStreamDictionary** data) const {
   1961   const SkPdfNativeObject* value = dict->get(key);
   1962   if (value == NULL) { return false; }
   1963   if (data == NULL) { return true; }
   1964   if (kNone_SkPdfNativeObjectType == mapIccProfileStreamDictionary(value)) return false;
   1965   *data = (SkPdfIccProfileStreamDictionary*)value;
   1966   return true;
   1967 }
   1968 
   1969 bool SkPdfMapper::SkPdfIccProfileStreamDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfIccProfileStreamDictionary** data) const {
   1970   if (SkPdfIccProfileStreamDictionaryFromDictionary(dict, key, data)) return true;
   1971   if (abr == NULL || *abr == '\0') return false;
   1972   return SkPdfIccProfileStreamDictionaryFromDictionary(dict, abr, data);
   1973 }
   1974 
   1975 bool SkPdfMapper::isDeviceNColorSpaceDictionary(const SkPdfNativeObject* nativeObj) const {
   1976   return true;
   1977 }
   1978 
   1979 bool SkPdfMapper::SkPdfDeviceNColorSpaceDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfDeviceNColorSpaceDictionary** data) const {
   1980   const SkPdfNativeObject* value = dict->get(key);
   1981   if (value == NULL) { return false; }
   1982   if (data == NULL) { return true; }
   1983   if (kNone_SkPdfNativeObjectType == mapDeviceNColorSpaceDictionary(value)) return false;
   1984   *data = (SkPdfDeviceNColorSpaceDictionary*)value;
   1985   return true;
   1986 }
   1987 
   1988 bool SkPdfMapper::SkPdfDeviceNColorSpaceDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfDeviceNColorSpaceDictionary** data) const {
   1989   if (SkPdfDeviceNColorSpaceDictionaryFromDictionary(dict, key, data)) return true;
   1990   if (abr == NULL || *abr == '\0') return false;
   1991   return SkPdfDeviceNColorSpaceDictionaryFromDictionary(dict, abr, data);
   1992 }
   1993 
   1994 bool SkPdfMapper::isType1PatternDictionary(const SkPdfNativeObject* nativeObj) const {
   1995   const SkPdfNativeObject* ret = NULL;
   1996   if (!nativeObj->isDictionary()) return false;
   1997   ret = nativeObj->get("PatternType", "");
   1998   if (ret == NULL || !ret->isInteger()) return false;
   1999   if ((ret->intValue() != 1)) return false;
   2000 
   2001   return true;
   2002 }
   2003 
   2004 bool SkPdfMapper::SkPdfType1PatternDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfType1PatternDictionary** data) const {
   2005   const SkPdfNativeObject* value = dict->get(key);
   2006   if (value == NULL) { return false; }
   2007   if (data == NULL) { return true; }
   2008   if (kNone_SkPdfNativeObjectType == mapType1PatternDictionary(value)) return false;
   2009   *data = (SkPdfType1PatternDictionary*)value;
   2010   return true;
   2011 }
   2012 
   2013 bool SkPdfMapper::SkPdfType1PatternDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfType1PatternDictionary** data) const {
   2014   if (SkPdfType1PatternDictionaryFromDictionary(dict, key, data)) return true;
   2015   if (abr == NULL || *abr == '\0') return false;
   2016   return SkPdfType1PatternDictionaryFromDictionary(dict, abr, data);
   2017 }
   2018 
   2019 bool SkPdfMapper::isType2PatternDictionary(const SkPdfNativeObject* nativeObj) const {
   2020   return true;
   2021 }
   2022 
   2023 bool SkPdfMapper::SkPdfType2PatternDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfType2PatternDictionary** data) const {
   2024   const SkPdfNativeObject* value = dict->get(key);
   2025   if (value == NULL) { return false; }
   2026   if (data == NULL) { return true; }
   2027   if (kNone_SkPdfNativeObjectType == mapType2PatternDictionary(value)) return false;
   2028   *data = (SkPdfType2PatternDictionary*)value;
   2029   return true;
   2030 }
   2031 
   2032 bool SkPdfMapper::SkPdfType2PatternDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfType2PatternDictionary** data) const {
   2033   if (SkPdfType2PatternDictionaryFromDictionary(dict, key, data)) return true;
   2034   if (abr == NULL || *abr == '\0') return false;
   2035   return SkPdfType2PatternDictionaryFromDictionary(dict, abr, data);
   2036 }
   2037 
   2038 bool SkPdfMapper::isShadingDictionary(const SkPdfNativeObject* nativeObj) const {
   2039   return true;
   2040 }
   2041 
   2042 bool SkPdfMapper::SkPdfShadingDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfShadingDictionary** data) const {
   2043   const SkPdfNativeObject* value = dict->get(key);
   2044   if (value == NULL) { return false; }
   2045   if (data == NULL) { return true; }
   2046   if (kNone_SkPdfNativeObjectType == mapShadingDictionary(value)) return false;
   2047   *data = (SkPdfShadingDictionary*)value;
   2048   return true;
   2049 }
   2050 
   2051 bool SkPdfMapper::SkPdfShadingDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfShadingDictionary** data) const {
   2052   if (SkPdfShadingDictionaryFromDictionary(dict, key, data)) return true;
   2053   if (abr == NULL || *abr == '\0') return false;
   2054   return SkPdfShadingDictionaryFromDictionary(dict, abr, data);
   2055 }
   2056 
   2057 bool SkPdfMapper::isType1ShadingDictionary(const SkPdfNativeObject* nativeObj) const {
   2058   return true;
   2059 }
   2060 
   2061 bool SkPdfMapper::SkPdfType1ShadingDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfType1ShadingDictionary** data) const {
   2062   const SkPdfNativeObject* value = dict->get(key);
   2063   if (value == NULL) { return false; }
   2064   if (data == NULL) { return true; }
   2065   if (kNone_SkPdfNativeObjectType == mapType1ShadingDictionary(value)) return false;
   2066   *data = (SkPdfType1ShadingDictionary*)value;
   2067   return true;
   2068 }
   2069 
   2070 bool SkPdfMapper::SkPdfType1ShadingDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfType1ShadingDictionary** data) const {
   2071   if (SkPdfType1ShadingDictionaryFromDictionary(dict, key, data)) return true;
   2072   if (abr == NULL || *abr == '\0') return false;
   2073   return SkPdfType1ShadingDictionaryFromDictionary(dict, abr, data);
   2074 }
   2075 
   2076 bool SkPdfMapper::isType2ShadingDictionary(const SkPdfNativeObject* nativeObj) const {
   2077   return true;
   2078 }
   2079 
   2080 bool SkPdfMapper::SkPdfType2ShadingDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfType2ShadingDictionary** data) const {
   2081   const SkPdfNativeObject* value = dict->get(key);
   2082   if (value == NULL) { return false; }
   2083   if (data == NULL) { return true; }
   2084   if (kNone_SkPdfNativeObjectType == mapType2ShadingDictionary(value)) return false;
   2085   *data = (SkPdfType2ShadingDictionary*)value;
   2086   return true;
   2087 }
   2088 
   2089 bool SkPdfMapper::SkPdfType2ShadingDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfType2ShadingDictionary** data) const {
   2090   if (SkPdfType2ShadingDictionaryFromDictionary(dict, key, data)) return true;
   2091   if (abr == NULL || *abr == '\0') return false;
   2092   return SkPdfType2ShadingDictionaryFromDictionary(dict, abr, data);
   2093 }
   2094 
   2095 bool SkPdfMapper::isType3ShadingDictionary(const SkPdfNativeObject* nativeObj) const {
   2096   return true;
   2097 }
   2098 
   2099 bool SkPdfMapper::SkPdfType3ShadingDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfType3ShadingDictionary** data) const {
   2100   const SkPdfNativeObject* value = dict->get(key);
   2101   if (value == NULL) { return false; }
   2102   if (data == NULL) { return true; }
   2103   if (kNone_SkPdfNativeObjectType == mapType3ShadingDictionary(value)) return false;
   2104   *data = (SkPdfType3ShadingDictionary*)value;
   2105   return true;
   2106 }
   2107 
   2108 bool SkPdfMapper::SkPdfType3ShadingDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfType3ShadingDictionary** data) const {
   2109   if (SkPdfType3ShadingDictionaryFromDictionary(dict, key, data)) return true;
   2110   if (abr == NULL || *abr == '\0') return false;
   2111   return SkPdfType3ShadingDictionaryFromDictionary(dict, abr, data);
   2112 }
   2113 
   2114 bool SkPdfMapper::isType4ShadingDictionary(const SkPdfNativeObject* nativeObj) const {
   2115   return true;
   2116 }
   2117 
   2118 bool SkPdfMapper::SkPdfType4ShadingDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfType4ShadingDictionary** data) const {
   2119   const SkPdfNativeObject* value = dict->get(key);
   2120   if (value == NULL) { return false; }
   2121   if (data == NULL) { return true; }
   2122   if (kNone_SkPdfNativeObjectType == mapType4ShadingDictionary(value)) return false;
   2123   *data = (SkPdfType4ShadingDictionary*)value;
   2124   return true;
   2125 }
   2126 
   2127 bool SkPdfMapper::SkPdfType4ShadingDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfType4ShadingDictionary** data) const {
   2128   if (SkPdfType4ShadingDictionaryFromDictionary(dict, key, data)) return true;
   2129   if (abr == NULL || *abr == '\0') return false;
   2130   return SkPdfType4ShadingDictionaryFromDictionary(dict, abr, data);
   2131 }
   2132 
   2133 bool SkPdfMapper::isType5ShadingDictionary(const SkPdfNativeObject* nativeObj) const {
   2134   return true;
   2135 }
   2136 
   2137 bool SkPdfMapper::SkPdfType5ShadingDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfType5ShadingDictionary** data) const {
   2138   const SkPdfNativeObject* value = dict->get(key);
   2139   if (value == NULL) { return false; }
   2140   if (data == NULL) { return true; }
   2141   if (kNone_SkPdfNativeObjectType == mapType5ShadingDictionary(value)) return false;
   2142   *data = (SkPdfType5ShadingDictionary*)value;
   2143   return true;
   2144 }
   2145 
   2146 bool SkPdfMapper::SkPdfType5ShadingDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfType5ShadingDictionary** data) const {
   2147   if (SkPdfType5ShadingDictionaryFromDictionary(dict, key, data)) return true;
   2148   if (abr == NULL || *abr == '\0') return false;
   2149   return SkPdfType5ShadingDictionaryFromDictionary(dict, abr, data);
   2150 }
   2151 
   2152 bool SkPdfMapper::isType6ShadingDictionary(const SkPdfNativeObject* nativeObj) const {
   2153   return true;
   2154 }
   2155 
   2156 bool SkPdfMapper::SkPdfType6ShadingDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfType6ShadingDictionary** data) const {
   2157   const SkPdfNativeObject* value = dict->get(key);
   2158   if (value == NULL) { return false; }
   2159   if (data == NULL) { return true; }
   2160   if (kNone_SkPdfNativeObjectType == mapType6ShadingDictionary(value)) return false;
   2161   *data = (SkPdfType6ShadingDictionary*)value;
   2162   return true;
   2163 }
   2164 
   2165 bool SkPdfMapper::SkPdfType6ShadingDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfType6ShadingDictionary** data) const {
   2166   if (SkPdfType6ShadingDictionaryFromDictionary(dict, key, data)) return true;
   2167   if (abr == NULL || *abr == '\0') return false;
   2168   return SkPdfType6ShadingDictionaryFromDictionary(dict, abr, data);
   2169 }
   2170 
   2171 bool SkPdfMapper::isImageDictionary(const SkPdfNativeObject* nativeObj) const {
   2172   const SkPdfNativeObject* ret = NULL;
   2173   if (!nativeObj->isDictionary()) return false;
   2174   ret = nativeObj->get("Subtype", "");
   2175   if (ret == NULL || !ret->isName()) return false;
   2176   if ((ret->nameValue2() != "Image") && (ret->nameValue2() != "Image")) return false;
   2177 
   2178   return true;
   2179 }
   2180 
   2181 bool SkPdfMapper::SkPdfImageDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfImageDictionary** data) const {
   2182   const SkPdfNativeObject* value = dict->get(key);
   2183   if (value == NULL) { return false; }
   2184   if (data == NULL) { return true; }
   2185   if (kNone_SkPdfNativeObjectType == mapImageDictionary(value)) return false;
   2186   *data = (SkPdfImageDictionary*)value;
   2187   return true;
   2188 }
   2189 
   2190 bool SkPdfMapper::SkPdfImageDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfImageDictionary** data) const {
   2191   if (SkPdfImageDictionaryFromDictionary(dict, key, data)) return true;
   2192   if (abr == NULL || *abr == '\0') return false;
   2193   return SkPdfImageDictionaryFromDictionary(dict, abr, data);
   2194 }
   2195 
   2196 bool SkPdfMapper::isAlternateImageDictionary(const SkPdfNativeObject* nativeObj) const {
   2197   return true;
   2198 }
   2199 
   2200 bool SkPdfMapper::SkPdfAlternateImageDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfAlternateImageDictionary** data) const {
   2201   const SkPdfNativeObject* value = dict->get(key);
   2202   if (value == NULL) { return false; }
   2203   if (data == NULL) { return true; }
   2204   if (kNone_SkPdfNativeObjectType == mapAlternateImageDictionary(value)) return false;
   2205   *data = (SkPdfAlternateImageDictionary*)value;
   2206   return true;
   2207 }
   2208 
   2209 bool SkPdfMapper::SkPdfAlternateImageDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfAlternateImageDictionary** data) const {
   2210   if (SkPdfAlternateImageDictionaryFromDictionary(dict, key, data)) return true;
   2211   if (abr == NULL || *abr == '\0') return false;
   2212   return SkPdfAlternateImageDictionaryFromDictionary(dict, abr, data);
   2213 }
   2214 
   2215 bool SkPdfMapper::isType1FormDictionary(const SkPdfNativeObject* nativeObj) const {
   2216   const SkPdfNativeObject* ret = NULL;
   2217   if (!nativeObj->isDictionary()) return false;
   2218   ret = nativeObj->get("Subtype", "");
   2219   if (ret == NULL || !ret->isName()) return false;
   2220   if ((ret->nameValue2() != "Form")) return false;
   2221 
   2222   return true;
   2223 }
   2224 
   2225 bool SkPdfMapper::SkPdfType1FormDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfType1FormDictionary** data) const {
   2226   const SkPdfNativeObject* value = dict->get(key);
   2227   if (value == NULL) { return false; }
   2228   if (data == NULL) { return true; }
   2229   if (kNone_SkPdfNativeObjectType == mapType1FormDictionary(value)) return false;
   2230   *data = (SkPdfType1FormDictionary*)value;
   2231   return true;
   2232 }
   2233 
   2234 bool SkPdfMapper::SkPdfType1FormDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfType1FormDictionary** data) const {
   2235   if (SkPdfType1FormDictionaryFromDictionary(dict, key, data)) return true;
   2236   if (abr == NULL || *abr == '\0') return false;
   2237   return SkPdfType1FormDictionaryFromDictionary(dict, abr, data);
   2238 }
   2239 
   2240 bool SkPdfMapper::isGroupAttributesDictionary(const SkPdfNativeObject* nativeObj) const {
   2241   return true;
   2242 }
   2243 
   2244 bool SkPdfMapper::SkPdfGroupAttributesDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfGroupAttributesDictionary** data) const {
   2245   const SkPdfNativeObject* value = dict->get(key);
   2246   if (value == NULL) { return false; }
   2247   if (data == NULL) { return true; }
   2248   if (kNone_SkPdfNativeObjectType == mapGroupAttributesDictionary(value)) return false;
   2249   *data = (SkPdfGroupAttributesDictionary*)value;
   2250   return true;
   2251 }
   2252 
   2253 bool SkPdfMapper::SkPdfGroupAttributesDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfGroupAttributesDictionary** data) const {
   2254   if (SkPdfGroupAttributesDictionaryFromDictionary(dict, key, data)) return true;
   2255   if (abr == NULL || *abr == '\0') return false;
   2256   return SkPdfGroupAttributesDictionaryFromDictionary(dict, abr, data);
   2257 }
   2258 
   2259 bool SkPdfMapper::isReferenceDictionary(const SkPdfNativeObject* nativeObj) const {
   2260   return true;
   2261 }
   2262 
   2263 bool SkPdfMapper::SkPdfReferenceDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfReferenceDictionary** data) const {
   2264   const SkPdfNativeObject* value = dict->get(key);
   2265   if (value == NULL) { return false; }
   2266   if (data == NULL) { return true; }
   2267   if (kNone_SkPdfNativeObjectType == mapReferenceDictionary(value)) return false;
   2268   *data = (SkPdfReferenceDictionary*)value;
   2269   return true;
   2270 }
   2271 
   2272 bool SkPdfMapper::SkPdfReferenceDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfReferenceDictionary** data) const {
   2273   if (SkPdfReferenceDictionaryFromDictionary(dict, key, data)) return true;
   2274   if (abr == NULL || *abr == '\0') return false;
   2275   return SkPdfReferenceDictionaryFromDictionary(dict, abr, data);
   2276 }
   2277 
   2278 bool SkPdfMapper::isPSXobjectDictionary(const SkPdfNativeObject* nativeObj) const {
   2279   return true;
   2280 }
   2281 
   2282 bool SkPdfMapper::SkPdfPSXobjectDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfPSXobjectDictionary** data) const {
   2283   const SkPdfNativeObject* value = dict->get(key);
   2284   if (value == NULL) { return false; }
   2285   if (data == NULL) { return true; }
   2286   if (kNone_SkPdfNativeObjectType == mapPSXobjectDictionary(value)) return false;
   2287   *data = (SkPdfPSXobjectDictionary*)value;
   2288   return true;
   2289 }
   2290 
   2291 bool SkPdfMapper::SkPdfPSXobjectDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfPSXobjectDictionary** data) const {
   2292   if (SkPdfPSXobjectDictionaryFromDictionary(dict, key, data)) return true;
   2293   if (abr == NULL || *abr == '\0') return false;
   2294   return SkPdfPSXobjectDictionaryFromDictionary(dict, abr, data);
   2295 }
   2296 
   2297 bool SkPdfMapper::isType1FontDictionary(const SkPdfNativeObject* nativeObj) const {
   2298   const SkPdfNativeObject* ret = NULL;
   2299   if (!nativeObj->isDictionary()) return false;
   2300   ret = nativeObj->get("Subtype", "");
   2301   if (ret == NULL || !ret->isName()) return false;
   2302   if ((ret->nameValue2() != "MMType1") && (ret->nameValue2() != "TrueType") && (ret->nameValue2() != "Type3") && (ret->nameValue2() != "Type1")) return false;
   2303 
   2304   return true;
   2305 }
   2306 
   2307 bool SkPdfMapper::SkPdfType1FontDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfType1FontDictionary** data) const {
   2308   const SkPdfNativeObject* value = dict->get(key);
   2309   if (value == NULL) { return false; }
   2310   if (data == NULL) { return true; }
   2311   if (kNone_SkPdfNativeObjectType == mapType1FontDictionary(value)) return false;
   2312   *data = (SkPdfType1FontDictionary*)value;
   2313   return true;
   2314 }
   2315 
   2316 bool SkPdfMapper::SkPdfType1FontDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfType1FontDictionary** data) const {
   2317   if (SkPdfType1FontDictionaryFromDictionary(dict, key, data)) return true;
   2318   if (abr == NULL || *abr == '\0') return false;
   2319   return SkPdfType1FontDictionaryFromDictionary(dict, abr, data);
   2320 }
   2321 
   2322 bool SkPdfMapper::isType3FontDictionary(const SkPdfNativeObject* nativeObj) const {
   2323   const SkPdfNativeObject* ret = NULL;
   2324   if (!nativeObj->isDictionary()) return false;
   2325   ret = nativeObj->get("Subtype", "");
   2326   if (ret == NULL || !ret->isName()) return false;
   2327   if ((ret->nameValue2() != "Type3")) return false;
   2328 
   2329   return true;
   2330 }
   2331 
   2332 bool SkPdfMapper::SkPdfType3FontDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfType3FontDictionary** data) const {
   2333   const SkPdfNativeObject* value = dict->get(key);
   2334   if (value == NULL) { return false; }
   2335   if (data == NULL) { return true; }
   2336   if (kNone_SkPdfNativeObjectType == mapType3FontDictionary(value)) return false;
   2337   *data = (SkPdfType3FontDictionary*)value;
   2338   return true;
   2339 }
   2340 
   2341 bool SkPdfMapper::SkPdfType3FontDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfType3FontDictionary** data) const {
   2342   if (SkPdfType3FontDictionaryFromDictionary(dict, key, data)) return true;
   2343   if (abr == NULL || *abr == '\0') return false;
   2344   return SkPdfType3FontDictionaryFromDictionary(dict, abr, data);
   2345 }
   2346 
   2347 bool SkPdfMapper::isEncodingDictionary(const SkPdfNativeObject* nativeObj) const {
   2348   return true;
   2349 }
   2350 
   2351 bool SkPdfMapper::SkPdfEncodingDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfEncodingDictionary** data) const {
   2352   const SkPdfNativeObject* value = dict->get(key);
   2353   if (value == NULL) { return false; }
   2354   if (data == NULL) { return true; }
   2355   if (kNone_SkPdfNativeObjectType == mapEncodingDictionary(value)) return false;
   2356   *data = (SkPdfEncodingDictionary*)value;
   2357   return true;
   2358 }
   2359 
   2360 bool SkPdfMapper::SkPdfEncodingDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfEncodingDictionary** data) const {
   2361   if (SkPdfEncodingDictionaryFromDictionary(dict, key, data)) return true;
   2362   if (abr == NULL || *abr == '\0') return false;
   2363   return SkPdfEncodingDictionaryFromDictionary(dict, abr, data);
   2364 }
   2365 
   2366 bool SkPdfMapper::isCIDSystemInfoDictionary(const SkPdfNativeObject* nativeObj) const {
   2367   return true;
   2368 }
   2369 
   2370 bool SkPdfMapper::SkPdfCIDSystemInfoDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfCIDSystemInfoDictionary** data) const {
   2371   const SkPdfNativeObject* value = dict->get(key);
   2372   if (value == NULL) { return false; }
   2373   if (data == NULL) { return true; }
   2374   if (kNone_SkPdfNativeObjectType == mapCIDSystemInfoDictionary(value)) return false;
   2375   *data = (SkPdfCIDSystemInfoDictionary*)value;
   2376   return true;
   2377 }
   2378 
   2379 bool SkPdfMapper::SkPdfCIDSystemInfoDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfCIDSystemInfoDictionary** data) const {
   2380   if (SkPdfCIDSystemInfoDictionaryFromDictionary(dict, key, data)) return true;
   2381   if (abr == NULL || *abr == '\0') return false;
   2382   return SkPdfCIDSystemInfoDictionaryFromDictionary(dict, abr, data);
   2383 }
   2384 
   2385 bool SkPdfMapper::isCIDFontDictionary(const SkPdfNativeObject* nativeObj) const {
   2386   const SkPdfNativeObject* ret = NULL;
   2387   if (!nativeObj->isDictionary()) return false;
   2388   ret = nativeObj->get("Subtype", "");
   2389   if (ret == NULL || !ret->isName()) return false;
   2390   if ((ret->nameValue2() != "CIDFontType0") && (ret->nameValue2() != "CIDFontType2")) return false;
   2391 
   2392   return true;
   2393 }
   2394 
   2395 bool SkPdfMapper::SkPdfCIDFontDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfCIDFontDictionary** data) const {
   2396   const SkPdfNativeObject* value = dict->get(key);
   2397   if (value == NULL) { return false; }
   2398   if (data == NULL) { return true; }
   2399   if (kNone_SkPdfNativeObjectType == mapCIDFontDictionary(value)) return false;
   2400   *data = (SkPdfCIDFontDictionary*)value;
   2401   return true;
   2402 }
   2403 
   2404 bool SkPdfMapper::SkPdfCIDFontDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfCIDFontDictionary** data) const {
   2405   if (SkPdfCIDFontDictionaryFromDictionary(dict, key, data)) return true;
   2406   if (abr == NULL || *abr == '\0') return false;
   2407   return SkPdfCIDFontDictionaryFromDictionary(dict, abr, data);
   2408 }
   2409 
   2410 bool SkPdfMapper::isCMapDictionary(const SkPdfNativeObject* nativeObj) const {
   2411   return true;
   2412 }
   2413 
   2414 bool SkPdfMapper::SkPdfCMapDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfCMapDictionary** data) const {
   2415   const SkPdfNativeObject* value = dict->get(key);
   2416   if (value == NULL) { return false; }
   2417   if (data == NULL) { return true; }
   2418   if (kNone_SkPdfNativeObjectType == mapCMapDictionary(value)) return false;
   2419   *data = (SkPdfCMapDictionary*)value;
   2420   return true;
   2421 }
   2422 
   2423 bool SkPdfMapper::SkPdfCMapDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfCMapDictionary** data) const {
   2424   if (SkPdfCMapDictionaryFromDictionary(dict, key, data)) return true;
   2425   if (abr == NULL || *abr == '\0') return false;
   2426   return SkPdfCMapDictionaryFromDictionary(dict, abr, data);
   2427 }
   2428 
   2429 bool SkPdfMapper::isType0FontDictionary(const SkPdfNativeObject* nativeObj) const {
   2430   const SkPdfNativeObject* ret = NULL;
   2431   if (!nativeObj->isDictionary()) return false;
   2432   ret = nativeObj->get("Subtype", "");
   2433   if (ret == NULL || !ret->isName()) return false;
   2434   if ((ret->nameValue2() != "Type0")) return false;
   2435 
   2436   return true;
   2437 }
   2438 
   2439 bool SkPdfMapper::SkPdfType0FontDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfType0FontDictionary** data) const {
   2440   const SkPdfNativeObject* value = dict->get(key);
   2441   if (value == NULL) { return false; }
   2442   if (data == NULL) { return true; }
   2443   if (kNone_SkPdfNativeObjectType == mapType0FontDictionary(value)) return false;
   2444   *data = (SkPdfType0FontDictionary*)value;
   2445   return true;
   2446 }
   2447 
   2448 bool SkPdfMapper::SkPdfType0FontDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfType0FontDictionary** data) const {
   2449   if (SkPdfType0FontDictionaryFromDictionary(dict, key, data)) return true;
   2450   if (abr == NULL || *abr == '\0') return false;
   2451   return SkPdfType0FontDictionaryFromDictionary(dict, abr, data);
   2452 }
   2453 
   2454 bool SkPdfMapper::isFontDescriptorDictionary(const SkPdfNativeObject* nativeObj) const {
   2455   const SkPdfNativeObject* ret = NULL;
   2456   if (!nativeObj->isDictionary()) return false;
   2457   ret = nativeObj->get("Type", "");
   2458   if (ret == NULL || !ret->isName()) return false;
   2459   if ((ret->nameValue2() != "FontDescriptor")) return false;
   2460 
   2461   return true;
   2462 }
   2463 
   2464 bool SkPdfMapper::SkPdfFontDescriptorDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfFontDescriptorDictionary** data) const {
   2465   const SkPdfNativeObject* value = dict->get(key);
   2466   if (value == NULL) { return false; }
   2467   if (data == NULL) { return true; }
   2468   if (kNone_SkPdfNativeObjectType == mapFontDescriptorDictionary(value)) return false;
   2469   *data = (SkPdfFontDescriptorDictionary*)value;
   2470   return true;
   2471 }
   2472 
   2473 bool SkPdfMapper::SkPdfFontDescriptorDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfFontDescriptorDictionary** data) const {
   2474   if (SkPdfFontDescriptorDictionaryFromDictionary(dict, key, data)) return true;
   2475   if (abr == NULL || *abr == '\0') return false;
   2476   return SkPdfFontDescriptorDictionaryFromDictionary(dict, abr, data);
   2477 }
   2478 
   2479 bool SkPdfMapper::isCIDFontDescriptorDictionary(const SkPdfNativeObject* nativeObj) const {
   2480   return true;
   2481 }
   2482 
   2483 bool SkPdfMapper::SkPdfCIDFontDescriptorDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfCIDFontDescriptorDictionary** data) const {
   2484   const SkPdfNativeObject* value = dict->get(key);
   2485   if (value == NULL) { return false; }
   2486   if (data == NULL) { return true; }
   2487   if (kNone_SkPdfNativeObjectType == mapCIDFontDescriptorDictionary(value)) return false;
   2488   *data = (SkPdfCIDFontDescriptorDictionary*)value;
   2489   return true;
   2490 }
   2491 
   2492 bool SkPdfMapper::SkPdfCIDFontDescriptorDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfCIDFontDescriptorDictionary** data) const {
   2493   if (SkPdfCIDFontDescriptorDictionaryFromDictionary(dict, key, data)) return true;
   2494   if (abr == NULL || *abr == '\0') return false;
   2495   return SkPdfCIDFontDescriptorDictionaryFromDictionary(dict, abr, data);
   2496 }
   2497 
   2498 bool SkPdfMapper::isEmbeddedFontStreamDictionary(const SkPdfNativeObject* nativeObj) const {
   2499   return true;
   2500 }
   2501 
   2502 bool SkPdfMapper::SkPdfEmbeddedFontStreamDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfEmbeddedFontStreamDictionary** data) const {
   2503   const SkPdfNativeObject* value = dict->get(key);
   2504   if (value == NULL) { return false; }
   2505   if (data == NULL) { return true; }
   2506   if (kNone_SkPdfNativeObjectType == mapEmbeddedFontStreamDictionary(value)) return false;
   2507   *data = (SkPdfEmbeddedFontStreamDictionary*)value;
   2508   return true;
   2509 }
   2510 
   2511 bool SkPdfMapper::SkPdfEmbeddedFontStreamDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfEmbeddedFontStreamDictionary** data) const {
   2512   if (SkPdfEmbeddedFontStreamDictionaryFromDictionary(dict, key, data)) return true;
   2513   if (abr == NULL || *abr == '\0') return false;
   2514   return SkPdfEmbeddedFontStreamDictionaryFromDictionary(dict, abr, data);
   2515 }
   2516 
   2517 bool SkPdfMapper::isType1HalftoneDictionary(const SkPdfNativeObject* nativeObj) const {
   2518   return true;
   2519 }
   2520 
   2521 bool SkPdfMapper::SkPdfType1HalftoneDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfType1HalftoneDictionary** data) const {
   2522   const SkPdfNativeObject* value = dict->get(key);
   2523   if (value == NULL) { return false; }
   2524   if (data == NULL) { return true; }
   2525   if (kNone_SkPdfNativeObjectType == mapType1HalftoneDictionary(value)) return false;
   2526   *data = (SkPdfType1HalftoneDictionary*)value;
   2527   return true;
   2528 }
   2529 
   2530 bool SkPdfMapper::SkPdfType1HalftoneDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfType1HalftoneDictionary** data) const {
   2531   if (SkPdfType1HalftoneDictionaryFromDictionary(dict, key, data)) return true;
   2532   if (abr == NULL || *abr == '\0') return false;
   2533   return SkPdfType1HalftoneDictionaryFromDictionary(dict, abr, data);
   2534 }
   2535 
   2536 bool SkPdfMapper::isType6HalftoneDictionary(const SkPdfNativeObject* nativeObj) const {
   2537   return true;
   2538 }
   2539 
   2540 bool SkPdfMapper::SkPdfType6HalftoneDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfType6HalftoneDictionary** data) const {
   2541   const SkPdfNativeObject* value = dict->get(key);
   2542   if (value == NULL) { return false; }
   2543   if (data == NULL) { return true; }
   2544   if (kNone_SkPdfNativeObjectType == mapType6HalftoneDictionary(value)) return false;
   2545   *data = (SkPdfType6HalftoneDictionary*)value;
   2546   return true;
   2547 }
   2548 
   2549 bool SkPdfMapper::SkPdfType6HalftoneDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfType6HalftoneDictionary** data) const {
   2550   if (SkPdfType6HalftoneDictionaryFromDictionary(dict, key, data)) return true;
   2551   if (abr == NULL || *abr == '\0') return false;
   2552   return SkPdfType6HalftoneDictionaryFromDictionary(dict, abr, data);
   2553 }
   2554 
   2555 bool SkPdfMapper::isType10HalftoneDictionary(const SkPdfNativeObject* nativeObj) const {
   2556   return true;
   2557 }
   2558 
   2559 bool SkPdfMapper::SkPdfType10HalftoneDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfType10HalftoneDictionary** data) const {
   2560   const SkPdfNativeObject* value = dict->get(key);
   2561   if (value == NULL) { return false; }
   2562   if (data == NULL) { return true; }
   2563   if (kNone_SkPdfNativeObjectType == mapType10HalftoneDictionary(value)) return false;
   2564   *data = (SkPdfType10HalftoneDictionary*)value;
   2565   return true;
   2566 }
   2567 
   2568 bool SkPdfMapper::SkPdfType10HalftoneDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfType10HalftoneDictionary** data) const {
   2569   if (SkPdfType10HalftoneDictionaryFromDictionary(dict, key, data)) return true;
   2570   if (abr == NULL || *abr == '\0') return false;
   2571   return SkPdfType10HalftoneDictionaryFromDictionary(dict, abr, data);
   2572 }
   2573 
   2574 bool SkPdfMapper::isType16HalftoneDictionary(const SkPdfNativeObject* nativeObj) const {
   2575   return true;
   2576 }
   2577 
   2578 bool SkPdfMapper::SkPdfType16HalftoneDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfType16HalftoneDictionary** data) const {
   2579   const SkPdfNativeObject* value = dict->get(key);
   2580   if (value == NULL) { return false; }
   2581   if (data == NULL) { return true; }
   2582   if (kNone_SkPdfNativeObjectType == mapType16HalftoneDictionary(value)) return false;
   2583   *data = (SkPdfType16HalftoneDictionary*)value;
   2584   return true;
   2585 }
   2586 
   2587 bool SkPdfMapper::SkPdfType16HalftoneDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfType16HalftoneDictionary** data) const {
   2588   if (SkPdfType16HalftoneDictionaryFromDictionary(dict, key, data)) return true;
   2589   if (abr == NULL || *abr == '\0') return false;
   2590   return SkPdfType16HalftoneDictionaryFromDictionary(dict, abr, data);
   2591 }
   2592 
   2593 bool SkPdfMapper::isType5HalftoneDictionary(const SkPdfNativeObject* nativeObj) const {
   2594   return true;
   2595 }
   2596 
   2597 bool SkPdfMapper::SkPdfType5HalftoneDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfType5HalftoneDictionary** data) const {
   2598   const SkPdfNativeObject* value = dict->get(key);
   2599   if (value == NULL) { return false; }
   2600   if (data == NULL) { return true; }
   2601   if (kNone_SkPdfNativeObjectType == mapType5HalftoneDictionary(value)) return false;
   2602   *data = (SkPdfType5HalftoneDictionary*)value;
   2603   return true;
   2604 }
   2605 
   2606 bool SkPdfMapper::SkPdfType5HalftoneDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfType5HalftoneDictionary** data) const {
   2607   if (SkPdfType5HalftoneDictionaryFromDictionary(dict, key, data)) return true;
   2608   if (abr == NULL || *abr == '\0') return false;
   2609   return SkPdfType5HalftoneDictionaryFromDictionary(dict, abr, data);
   2610 }
   2611 
   2612 bool SkPdfMapper::isSoftMaskDictionary(const SkPdfNativeObject* nativeObj) const {
   2613   const SkPdfNativeObject* ret = NULL;
   2614   if (!nativeObj->isDictionary()) return false;
   2615   ret = nativeObj->get("S", "");
   2616   if (ret == NULL || !ret->isName()) return false;
   2617   if ((ret->nameValue2() != "Alpha") && (ret->nameValue2() != "Luminosity")) return false;
   2618 
   2619   return true;
   2620 }
   2621 
   2622 bool SkPdfMapper::SkPdfSoftMaskDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfSoftMaskDictionary** data) const {
   2623   const SkPdfNativeObject* value = dict->get(key);
   2624   if (value == NULL) { return false; }
   2625   if (data == NULL) { return true; }
   2626   if (kNone_SkPdfNativeObjectType == mapSoftMaskDictionary(value)) return false;
   2627   *data = (SkPdfSoftMaskDictionary*)value;
   2628   return true;
   2629 }
   2630 
   2631 bool SkPdfMapper::SkPdfSoftMaskDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfSoftMaskDictionary** data) const {
   2632   if (SkPdfSoftMaskDictionaryFromDictionary(dict, key, data)) return true;
   2633   if (abr == NULL || *abr == '\0') return false;
   2634   return SkPdfSoftMaskDictionaryFromDictionary(dict, abr, data);
   2635 }
   2636 
   2637 bool SkPdfMapper::isSoftMaskImageDictionary(const SkPdfNativeObject* nativeObj) const {
   2638   const SkPdfNativeObject* ret = NULL;
   2639   if (!nativeObj->isDictionary()) return false;
   2640   ret = nativeObj->get("Subtype", "");
   2641   if (ret == NULL || !ret->isName()) return false;
   2642   if ((ret->nameValue2() != "Image")) return false;
   2643 
   2644   if (!nativeObj->isDictionary()) return false;
   2645   ret = nativeObj->get("ColorSpace", "");
   2646   if (ret == NULL || !ret->isName()) return false;
   2647   if ((ret->nameValue2() != "DeviceGray") && (ret->nameValue2() != "Gray")) return false;
   2648 
   2649   return true;
   2650 }
   2651 
   2652 bool SkPdfMapper::SkPdfSoftMaskImageDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfSoftMaskImageDictionary** data) const {
   2653   const SkPdfNativeObject* value = dict->get(key);
   2654   if (value == NULL) { return false; }
   2655   if (data == NULL) { return true; }
   2656   if (kNone_SkPdfNativeObjectType == mapSoftMaskImageDictionary(value)) return false;
   2657   *data = (SkPdfSoftMaskImageDictionary*)value;
   2658   return true;
   2659 }
   2660 
   2661 bool SkPdfMapper::SkPdfSoftMaskImageDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfSoftMaskImageDictionary** data) const {
   2662   if (SkPdfSoftMaskImageDictionaryFromDictionary(dict, key, data)) return true;
   2663   if (abr == NULL || *abr == '\0') return false;
   2664   return SkPdfSoftMaskImageDictionaryFromDictionary(dict, abr, data);
   2665 }
   2666 
   2667 bool SkPdfMapper::isTransparencyGroupDictionary(const SkPdfNativeObject* nativeObj) const {
   2668   const SkPdfNativeObject* ret = NULL;
   2669   if (!nativeObj->isDictionary()) return false;
   2670   ret = nativeObj->get("S", "");
   2671   if (ret == NULL || !ret->isName()) return false;
   2672   if ((ret->nameValue2() != "Transparency")) return false;
   2673 
   2674   return true;
   2675 }
   2676 
   2677 bool SkPdfMapper::SkPdfTransparencyGroupDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfTransparencyGroupDictionary** data) const {
   2678   const SkPdfNativeObject* value = dict->get(key);
   2679   if (value == NULL) { return false; }
   2680   if (data == NULL) { return true; }
   2681   if (kNone_SkPdfNativeObjectType == mapTransparencyGroupDictionary(value)) return false;
   2682   *data = (SkPdfTransparencyGroupDictionary*)value;
   2683   return true;
   2684 }
   2685 
   2686 bool SkPdfMapper::SkPdfTransparencyGroupDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfTransparencyGroupDictionary** data) const {
   2687   if (SkPdfTransparencyGroupDictionaryFromDictionary(dict, key, data)) return true;
   2688   if (abr == NULL || *abr == '\0') return false;
   2689   return SkPdfTransparencyGroupDictionaryFromDictionary(dict, abr, data);
   2690 }
   2691 
   2692 bool SkPdfMapper::isViewerPreferencesDictionary(const SkPdfNativeObject* nativeObj) const {
   2693   return true;
   2694 }
   2695 
   2696 bool SkPdfMapper::SkPdfViewerPreferencesDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfViewerPreferencesDictionary** data) const {
   2697   const SkPdfNativeObject* value = dict->get(key);
   2698   if (value == NULL) { return false; }
   2699   if (data == NULL) { return true; }
   2700   if (kNone_SkPdfNativeObjectType == mapViewerPreferencesDictionary(value)) return false;
   2701   *data = (SkPdfViewerPreferencesDictionary*)value;
   2702   return true;
   2703 }
   2704 
   2705 bool SkPdfMapper::SkPdfViewerPreferencesDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfViewerPreferencesDictionary** data) const {
   2706   if (SkPdfViewerPreferencesDictionaryFromDictionary(dict, key, data)) return true;
   2707   if (abr == NULL || *abr == '\0') return false;
   2708   return SkPdfViewerPreferencesDictionaryFromDictionary(dict, abr, data);
   2709 }
   2710 
   2711 bool SkPdfMapper::isOutlineDictionary(const SkPdfNativeObject* nativeObj) const {
   2712   return true;
   2713 }
   2714 
   2715 bool SkPdfMapper::SkPdfOutlineDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfOutlineDictionary** data) const {
   2716   const SkPdfNativeObject* value = dict->get(key);
   2717   if (value == NULL) { return false; }
   2718   if (data == NULL) { return true; }
   2719   if (kNone_SkPdfNativeObjectType == mapOutlineDictionary(value)) return false;
   2720   *data = (SkPdfOutlineDictionary*)value;
   2721   return true;
   2722 }
   2723 
   2724 bool SkPdfMapper::SkPdfOutlineDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfOutlineDictionary** data) const {
   2725   if (SkPdfOutlineDictionaryFromDictionary(dict, key, data)) return true;
   2726   if (abr == NULL || *abr == '\0') return false;
   2727   return SkPdfOutlineDictionaryFromDictionary(dict, abr, data);
   2728 }
   2729 
   2730 bool SkPdfMapper::isOutlineItemDictionary(const SkPdfNativeObject* nativeObj) const {
   2731   return true;
   2732 }
   2733 
   2734 bool SkPdfMapper::SkPdfOutlineItemDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfOutlineItemDictionary** data) const {
   2735   const SkPdfNativeObject* value = dict->get(key);
   2736   if (value == NULL) { return false; }
   2737   if (data == NULL) { return true; }
   2738   if (kNone_SkPdfNativeObjectType == mapOutlineItemDictionary(value)) return false;
   2739   *data = (SkPdfOutlineItemDictionary*)value;
   2740   return true;
   2741 }
   2742 
   2743 bool SkPdfMapper::SkPdfOutlineItemDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfOutlineItemDictionary** data) const {
   2744   if (SkPdfOutlineItemDictionaryFromDictionary(dict, key, data)) return true;
   2745   if (abr == NULL || *abr == '\0') return false;
   2746   return SkPdfOutlineItemDictionaryFromDictionary(dict, abr, data);
   2747 }
   2748 
   2749 bool SkPdfMapper::isPageLabelDictionary(const SkPdfNativeObject* nativeObj) const {
   2750   return true;
   2751 }
   2752 
   2753 bool SkPdfMapper::SkPdfPageLabelDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfPageLabelDictionary** data) const {
   2754   const SkPdfNativeObject* value = dict->get(key);
   2755   if (value == NULL) { return false; }
   2756   if (data == NULL) { return true; }
   2757   if (kNone_SkPdfNativeObjectType == mapPageLabelDictionary(value)) return false;
   2758   *data = (SkPdfPageLabelDictionary*)value;
   2759   return true;
   2760 }
   2761 
   2762 bool SkPdfMapper::SkPdfPageLabelDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfPageLabelDictionary** data) const {
   2763   if (SkPdfPageLabelDictionaryFromDictionary(dict, key, data)) return true;
   2764   if (abr == NULL || *abr == '\0') return false;
   2765   return SkPdfPageLabelDictionaryFromDictionary(dict, abr, data);
   2766 }
   2767 
   2768 bool SkPdfMapper::isThreadDictionary(const SkPdfNativeObject* nativeObj) const {
   2769   return true;
   2770 }
   2771 
   2772 bool SkPdfMapper::SkPdfThreadDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfThreadDictionary** data) const {
   2773   const SkPdfNativeObject* value = dict->get(key);
   2774   if (value == NULL) { return false; }
   2775   if (data == NULL) { return true; }
   2776   if (kNone_SkPdfNativeObjectType == mapThreadDictionary(value)) return false;
   2777   *data = (SkPdfThreadDictionary*)value;
   2778   return true;
   2779 }
   2780 
   2781 bool SkPdfMapper::SkPdfThreadDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfThreadDictionary** data) const {
   2782   if (SkPdfThreadDictionaryFromDictionary(dict, key, data)) return true;
   2783   if (abr == NULL || *abr == '\0') return false;
   2784   return SkPdfThreadDictionaryFromDictionary(dict, abr, data);
   2785 }
   2786 
   2787 bool SkPdfMapper::isBeadDictionary(const SkPdfNativeObject* nativeObj) const {
   2788   return true;
   2789 }
   2790 
   2791 bool SkPdfMapper::SkPdfBeadDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfBeadDictionary** data) const {
   2792   const SkPdfNativeObject* value = dict->get(key);
   2793   if (value == NULL) { return false; }
   2794   if (data == NULL) { return true; }
   2795   if (kNone_SkPdfNativeObjectType == mapBeadDictionary(value)) return false;
   2796   *data = (SkPdfBeadDictionary*)value;
   2797   return true;
   2798 }
   2799 
   2800 bool SkPdfMapper::SkPdfBeadDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfBeadDictionary** data) const {
   2801   if (SkPdfBeadDictionaryFromDictionary(dict, key, data)) return true;
   2802   if (abr == NULL || *abr == '\0') return false;
   2803   return SkPdfBeadDictionaryFromDictionary(dict, abr, data);
   2804 }
   2805 
   2806 bool SkPdfMapper::isTransitionDictionary(const SkPdfNativeObject* nativeObj) const {
   2807   return true;
   2808 }
   2809 
   2810 bool SkPdfMapper::SkPdfTransitionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfTransitionDictionary** data) const {
   2811   const SkPdfNativeObject* value = dict->get(key);
   2812   if (value == NULL) { return false; }
   2813   if (data == NULL) { return true; }
   2814   if (kNone_SkPdfNativeObjectType == mapTransitionDictionary(value)) return false;
   2815   *data = (SkPdfTransitionDictionary*)value;
   2816   return true;
   2817 }
   2818 
   2819 bool SkPdfMapper::SkPdfTransitionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfTransitionDictionary** data) const {
   2820   if (SkPdfTransitionDictionaryFromDictionary(dict, key, data)) return true;
   2821   if (abr == NULL || *abr == '\0') return false;
   2822   return SkPdfTransitionDictionaryFromDictionary(dict, abr, data);
   2823 }
   2824 
   2825 bool SkPdfMapper::isAnnotationDictionary(const SkPdfNativeObject* nativeObj) const {
   2826   return true;
   2827 }
   2828 
   2829 bool SkPdfMapper::SkPdfAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfAnnotationDictionary** data) const {
   2830   const SkPdfNativeObject* value = dict->get(key);
   2831   if (value == NULL) { return false; }
   2832   if (data == NULL) { return true; }
   2833   if (kNone_SkPdfNativeObjectType == mapAnnotationDictionary(value)) return false;
   2834   *data = (SkPdfAnnotationDictionary*)value;
   2835   return true;
   2836 }
   2837 
   2838 bool SkPdfMapper::SkPdfAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfAnnotationDictionary** data) const {
   2839   if (SkPdfAnnotationDictionaryFromDictionary(dict, key, data)) return true;
   2840   if (abr == NULL || *abr == '\0') return false;
   2841   return SkPdfAnnotationDictionaryFromDictionary(dict, abr, data);
   2842 }
   2843 
   2844 bool SkPdfMapper::isBorderStyleDictionary(const SkPdfNativeObject* nativeObj) const {
   2845   return true;
   2846 }
   2847 
   2848 bool SkPdfMapper::SkPdfBorderStyleDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfBorderStyleDictionary** data) const {
   2849   const SkPdfNativeObject* value = dict->get(key);
   2850   if (value == NULL) { return false; }
   2851   if (data == NULL) { return true; }
   2852   if (kNone_SkPdfNativeObjectType == mapBorderStyleDictionary(value)) return false;
   2853   *data = (SkPdfBorderStyleDictionary*)value;
   2854   return true;
   2855 }
   2856 
   2857 bool SkPdfMapper::SkPdfBorderStyleDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfBorderStyleDictionary** data) const {
   2858   if (SkPdfBorderStyleDictionaryFromDictionary(dict, key, data)) return true;
   2859   if (abr == NULL || *abr == '\0') return false;
   2860   return SkPdfBorderStyleDictionaryFromDictionary(dict, abr, data);
   2861 }
   2862 
   2863 bool SkPdfMapper::isAppearanceDictionary(const SkPdfNativeObject* nativeObj) const {
   2864   return true;
   2865 }
   2866 
   2867 bool SkPdfMapper::SkPdfAppearanceDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfAppearanceDictionary** data) const {
   2868   const SkPdfNativeObject* value = dict->get(key);
   2869   if (value == NULL) { return false; }
   2870   if (data == NULL) { return true; }
   2871   if (kNone_SkPdfNativeObjectType == mapAppearanceDictionary(value)) return false;
   2872   *data = (SkPdfAppearanceDictionary*)value;
   2873   return true;
   2874 }
   2875 
   2876 bool SkPdfMapper::SkPdfAppearanceDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfAppearanceDictionary** data) const {
   2877   if (SkPdfAppearanceDictionaryFromDictionary(dict, key, data)) return true;
   2878   if (abr == NULL || *abr == '\0') return false;
   2879   return SkPdfAppearanceDictionaryFromDictionary(dict, abr, data);
   2880 }
   2881 
   2882 bool SkPdfMapper::isTextAnnotationDictionary(const SkPdfNativeObject* nativeObj) const {
   2883   return true;
   2884 }
   2885 
   2886 bool SkPdfMapper::SkPdfTextAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfTextAnnotationDictionary** data) const {
   2887   const SkPdfNativeObject* value = dict->get(key);
   2888   if (value == NULL) { return false; }
   2889   if (data == NULL) { return true; }
   2890   if (kNone_SkPdfNativeObjectType == mapTextAnnotationDictionary(value)) return false;
   2891   *data = (SkPdfTextAnnotationDictionary*)value;
   2892   return true;
   2893 }
   2894 
   2895 bool SkPdfMapper::SkPdfTextAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfTextAnnotationDictionary** data) const {
   2896   if (SkPdfTextAnnotationDictionaryFromDictionary(dict, key, data)) return true;
   2897   if (abr == NULL || *abr == '\0') return false;
   2898   return SkPdfTextAnnotationDictionaryFromDictionary(dict, abr, data);
   2899 }
   2900 
   2901 bool SkPdfMapper::isALinkAnnotationDictionary(const SkPdfNativeObject* nativeObj) const {
   2902   return true;
   2903 }
   2904 
   2905 bool SkPdfMapper::SkPdfALinkAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfALinkAnnotationDictionary** data) const {
   2906   const SkPdfNativeObject* value = dict->get(key);
   2907   if (value == NULL) { return false; }
   2908   if (data == NULL) { return true; }
   2909   if (kNone_SkPdfNativeObjectType == mapALinkAnnotationDictionary(value)) return false;
   2910   *data = (SkPdfALinkAnnotationDictionary*)value;
   2911   return true;
   2912 }
   2913 
   2914 bool SkPdfMapper::SkPdfALinkAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfALinkAnnotationDictionary** data) const {
   2915   if (SkPdfALinkAnnotationDictionaryFromDictionary(dict, key, data)) return true;
   2916   if (abr == NULL || *abr == '\0') return false;
   2917   return SkPdfALinkAnnotationDictionaryFromDictionary(dict, abr, data);
   2918 }
   2919 
   2920 bool SkPdfMapper::isFreeTextAnnotationDictionary(const SkPdfNativeObject* nativeObj) const {
   2921   return true;
   2922 }
   2923 
   2924 bool SkPdfMapper::SkPdfFreeTextAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfFreeTextAnnotationDictionary** data) const {
   2925   const SkPdfNativeObject* value = dict->get(key);
   2926   if (value == NULL) { return false; }
   2927   if (data == NULL) { return true; }
   2928   if (kNone_SkPdfNativeObjectType == mapFreeTextAnnotationDictionary(value)) return false;
   2929   *data = (SkPdfFreeTextAnnotationDictionary*)value;
   2930   return true;
   2931 }
   2932 
   2933 bool SkPdfMapper::SkPdfFreeTextAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfFreeTextAnnotationDictionary** data) const {
   2934   if (SkPdfFreeTextAnnotationDictionaryFromDictionary(dict, key, data)) return true;
   2935   if (abr == NULL || *abr == '\0') return false;
   2936   return SkPdfFreeTextAnnotationDictionaryFromDictionary(dict, abr, data);
   2937 }
   2938 
   2939 bool SkPdfMapper::isLineAnnotationDictionary(const SkPdfNativeObject* nativeObj) const {
   2940   return true;
   2941 }
   2942 
   2943 bool SkPdfMapper::SkPdfLineAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfLineAnnotationDictionary** data) const {
   2944   const SkPdfNativeObject* value = dict->get(key);
   2945   if (value == NULL) { return false; }
   2946   if (data == NULL) { return true; }
   2947   if (kNone_SkPdfNativeObjectType == mapLineAnnotationDictionary(value)) return false;
   2948   *data = (SkPdfLineAnnotationDictionary*)value;
   2949   return true;
   2950 }
   2951 
   2952 bool SkPdfMapper::SkPdfLineAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfLineAnnotationDictionary** data) const {
   2953   if (SkPdfLineAnnotationDictionaryFromDictionary(dict, key, data)) return true;
   2954   if (abr == NULL || *abr == '\0') return false;
   2955   return SkPdfLineAnnotationDictionaryFromDictionary(dict, abr, data);
   2956 }
   2957 
   2958 bool SkPdfMapper::isSquareOrCircleAnnotation(const SkPdfNativeObject* nativeObj) const {
   2959   return true;
   2960 }
   2961 
   2962 bool SkPdfMapper::SkPdfSquareOrCircleAnnotationFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfSquareOrCircleAnnotation** data) const {
   2963   const SkPdfNativeObject* value = dict->get(key);
   2964   if (value == NULL) { return false; }
   2965   if (data == NULL) { return true; }
   2966   if (kNone_SkPdfNativeObjectType == mapSquareOrCircleAnnotation(value)) return false;
   2967   *data = (SkPdfSquareOrCircleAnnotation*)value;
   2968   return true;
   2969 }
   2970 
   2971 bool SkPdfMapper::SkPdfSquareOrCircleAnnotationFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfSquareOrCircleAnnotation** data) const {
   2972   if (SkPdfSquareOrCircleAnnotationFromDictionary(dict, key, data)) return true;
   2973   if (abr == NULL || *abr == '\0') return false;
   2974   return SkPdfSquareOrCircleAnnotationFromDictionary(dict, abr, data);
   2975 }
   2976 
   2977 bool SkPdfMapper::isMarkupAnnotationsDictionary(const SkPdfNativeObject* nativeObj) const {
   2978   return true;
   2979 }
   2980 
   2981 bool SkPdfMapper::SkPdfMarkupAnnotationsDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfMarkupAnnotationsDictionary** data) const {
   2982   const SkPdfNativeObject* value = dict->get(key);
   2983   if (value == NULL) { return false; }
   2984   if (data == NULL) { return true; }
   2985   if (kNone_SkPdfNativeObjectType == mapMarkupAnnotationsDictionary(value)) return false;
   2986   *data = (SkPdfMarkupAnnotationsDictionary*)value;
   2987   return true;
   2988 }
   2989 
   2990 bool SkPdfMapper::SkPdfMarkupAnnotationsDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfMarkupAnnotationsDictionary** data) const {
   2991   if (SkPdfMarkupAnnotationsDictionaryFromDictionary(dict, key, data)) return true;
   2992   if (abr == NULL || *abr == '\0') return false;
   2993   return SkPdfMarkupAnnotationsDictionaryFromDictionary(dict, abr, data);
   2994 }
   2995 
   2996 bool SkPdfMapper::isRubberStampAnnotationDictionary(const SkPdfNativeObject* nativeObj) const {
   2997   return true;
   2998 }
   2999 
   3000 bool SkPdfMapper::SkPdfRubberStampAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfRubberStampAnnotationDictionary** data) const {
   3001   const SkPdfNativeObject* value = dict->get(key);
   3002   if (value == NULL) { return false; }
   3003   if (data == NULL) { return true; }
   3004   if (kNone_SkPdfNativeObjectType == mapRubberStampAnnotationDictionary(value)) return false;
   3005   *data = (SkPdfRubberStampAnnotationDictionary*)value;
   3006   return true;
   3007 }
   3008 
   3009 bool SkPdfMapper::SkPdfRubberStampAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfRubberStampAnnotationDictionary** data) const {
   3010   if (SkPdfRubberStampAnnotationDictionaryFromDictionary(dict, key, data)) return true;
   3011   if (abr == NULL || *abr == '\0') return false;
   3012   return SkPdfRubberStampAnnotationDictionaryFromDictionary(dict, abr, data);
   3013 }
   3014 
   3015 bool SkPdfMapper::isInkAnnotationDictionary(const SkPdfNativeObject* nativeObj) const {
   3016   return true;
   3017 }
   3018 
   3019 bool SkPdfMapper::SkPdfInkAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfInkAnnotationDictionary** data) const {
   3020   const SkPdfNativeObject* value = dict->get(key);
   3021   if (value == NULL) { return false; }
   3022   if (data == NULL) { return true; }
   3023   if (kNone_SkPdfNativeObjectType == mapInkAnnotationDictionary(value)) return false;
   3024   *data = (SkPdfInkAnnotationDictionary*)value;
   3025   return true;
   3026 }
   3027 
   3028 bool SkPdfMapper::SkPdfInkAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfInkAnnotationDictionary** data) const {
   3029   if (SkPdfInkAnnotationDictionaryFromDictionary(dict, key, data)) return true;
   3030   if (abr == NULL || *abr == '\0') return false;
   3031   return SkPdfInkAnnotationDictionaryFromDictionary(dict, abr, data);
   3032 }
   3033 
   3034 bool SkPdfMapper::isPopUpAnnotationDictionary(const SkPdfNativeObject* nativeObj) const {
   3035   return true;
   3036 }
   3037 
   3038 bool SkPdfMapper::SkPdfPopUpAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfPopUpAnnotationDictionary** data) const {
   3039   const SkPdfNativeObject* value = dict->get(key);
   3040   if (value == NULL) { return false; }
   3041   if (data == NULL) { return true; }
   3042   if (kNone_SkPdfNativeObjectType == mapPopUpAnnotationDictionary(value)) return false;
   3043   *data = (SkPdfPopUpAnnotationDictionary*)value;
   3044   return true;
   3045 }
   3046 
   3047 bool SkPdfMapper::SkPdfPopUpAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfPopUpAnnotationDictionary** data) const {
   3048   if (SkPdfPopUpAnnotationDictionaryFromDictionary(dict, key, data)) return true;
   3049   if (abr == NULL || *abr == '\0') return false;
   3050   return SkPdfPopUpAnnotationDictionaryFromDictionary(dict, abr, data);
   3051 }
   3052 
   3053 bool SkPdfMapper::isFileAttachmentAnnotationDictionary(const SkPdfNativeObject* nativeObj) const {
   3054   return true;
   3055 }
   3056 
   3057 bool SkPdfMapper::SkPdfFileAttachmentAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfFileAttachmentAnnotationDictionary** data) const {
   3058   const SkPdfNativeObject* value = dict->get(key);
   3059   if (value == NULL) { return false; }
   3060   if (data == NULL) { return true; }
   3061   if (kNone_SkPdfNativeObjectType == mapFileAttachmentAnnotationDictionary(value)) return false;
   3062   *data = (SkPdfFileAttachmentAnnotationDictionary*)value;
   3063   return true;
   3064 }
   3065 
   3066 bool SkPdfMapper::SkPdfFileAttachmentAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfFileAttachmentAnnotationDictionary** data) const {
   3067   if (SkPdfFileAttachmentAnnotationDictionaryFromDictionary(dict, key, data)) return true;
   3068   if (abr == NULL || *abr == '\0') return false;
   3069   return SkPdfFileAttachmentAnnotationDictionaryFromDictionary(dict, abr, data);
   3070 }
   3071 
   3072 bool SkPdfMapper::isSoundAnnotationDictionary(const SkPdfNativeObject* nativeObj) const {
   3073   return true;
   3074 }
   3075 
   3076 bool SkPdfMapper::SkPdfSoundAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfSoundAnnotationDictionary** data) const {
   3077   const SkPdfNativeObject* value = dict->get(key);
   3078   if (value == NULL) { return false; }
   3079   if (data == NULL) { return true; }
   3080   if (kNone_SkPdfNativeObjectType == mapSoundAnnotationDictionary(value)) return false;
   3081   *data = (SkPdfSoundAnnotationDictionary*)value;
   3082   return true;
   3083 }
   3084 
   3085 bool SkPdfMapper::SkPdfSoundAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfSoundAnnotationDictionary** data) const {
   3086   if (SkPdfSoundAnnotationDictionaryFromDictionary(dict, key, data)) return true;
   3087   if (abr == NULL || *abr == '\0') return false;
   3088   return SkPdfSoundAnnotationDictionaryFromDictionary(dict, abr, data);
   3089 }
   3090 
   3091 bool SkPdfMapper::isMovieAnnotationDictionary(const SkPdfNativeObject* nativeObj) const {
   3092   return true;
   3093 }
   3094 
   3095 bool SkPdfMapper::SkPdfMovieAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfMovieAnnotationDictionary** data) const {
   3096   const SkPdfNativeObject* value = dict->get(key);
   3097   if (value == NULL) { return false; }
   3098   if (data == NULL) { return true; }
   3099   if (kNone_SkPdfNativeObjectType == mapMovieAnnotationDictionary(value)) return false;
   3100   *data = (SkPdfMovieAnnotationDictionary*)value;
   3101   return true;
   3102 }
   3103 
   3104 bool SkPdfMapper::SkPdfMovieAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfMovieAnnotationDictionary** data) const {
   3105   if (SkPdfMovieAnnotationDictionaryFromDictionary(dict, key, data)) return true;
   3106   if (abr == NULL || *abr == '\0') return false;
   3107   return SkPdfMovieAnnotationDictionaryFromDictionary(dict, abr, data);
   3108 }
   3109 
   3110 bool SkPdfMapper::isWidgetAnnotationDictionary(const SkPdfNativeObject* nativeObj) const {
   3111   return true;
   3112 }
   3113 
   3114 bool SkPdfMapper::SkPdfWidgetAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfWidgetAnnotationDictionary** data) const {
   3115   const SkPdfNativeObject* value = dict->get(key);
   3116   if (value == NULL) { return false; }
   3117   if (data == NULL) { return true; }
   3118   if (kNone_SkPdfNativeObjectType == mapWidgetAnnotationDictionary(value)) return false;
   3119   *data = (SkPdfWidgetAnnotationDictionary*)value;
   3120   return true;
   3121 }
   3122 
   3123 bool SkPdfMapper::SkPdfWidgetAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfWidgetAnnotationDictionary** data) const {
   3124   if (SkPdfWidgetAnnotationDictionaryFromDictionary(dict, key, data)) return true;
   3125   if (abr == NULL || *abr == '\0') return false;
   3126   return SkPdfWidgetAnnotationDictionaryFromDictionary(dict, abr, data);
   3127 }
   3128 
   3129 bool SkPdfMapper::isActionDictionary(const SkPdfNativeObject* nativeObj) const {
   3130   return true;
   3131 }
   3132 
   3133 bool SkPdfMapper::SkPdfActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfActionDictionary** data) const {
   3134   const SkPdfNativeObject* value = dict->get(key);
   3135   if (value == NULL) { return false; }
   3136   if (data == NULL) { return true; }
   3137   if (kNone_SkPdfNativeObjectType == mapActionDictionary(value)) return false;
   3138   *data = (SkPdfActionDictionary*)value;
   3139   return true;
   3140 }
   3141 
   3142 bool SkPdfMapper::SkPdfActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfActionDictionary** data) const {
   3143   if (SkPdfActionDictionaryFromDictionary(dict, key, data)) return true;
   3144   if (abr == NULL || *abr == '\0') return false;
   3145   return SkPdfActionDictionaryFromDictionary(dict, abr, data);
   3146 }
   3147 
   3148 bool SkPdfMapper::isAnnotationActionsDictionary(const SkPdfNativeObject* nativeObj) const {
   3149   return true;
   3150 }
   3151 
   3152 bool SkPdfMapper::SkPdfAnnotationActionsDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfAnnotationActionsDictionary** data) const {
   3153   const SkPdfNativeObject* value = dict->get(key);
   3154   if (value == NULL) { return false; }
   3155   if (data == NULL) { return true; }
   3156   if (kNone_SkPdfNativeObjectType == mapAnnotationActionsDictionary(value)) return false;
   3157   *data = (SkPdfAnnotationActionsDictionary*)value;
   3158   return true;
   3159 }
   3160 
   3161 bool SkPdfMapper::SkPdfAnnotationActionsDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfAnnotationActionsDictionary** data) const {
   3162   if (SkPdfAnnotationActionsDictionaryFromDictionary(dict, key, data)) return true;
   3163   if (abr == NULL || *abr == '\0') return false;
   3164   return SkPdfAnnotationActionsDictionaryFromDictionary(dict, abr, data);
   3165 }
   3166 
   3167 bool SkPdfMapper::isPageObjectActionsDictionary(const SkPdfNativeObject* nativeObj) const {
   3168   return true;
   3169 }
   3170 
   3171 bool SkPdfMapper::SkPdfPageObjectActionsDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfPageObjectActionsDictionary** data) const {
   3172   const SkPdfNativeObject* value = dict->get(key);
   3173   if (value == NULL) { return false; }
   3174   if (data == NULL) { return true; }
   3175   if (kNone_SkPdfNativeObjectType == mapPageObjectActionsDictionary(value)) return false;
   3176   *data = (SkPdfPageObjectActionsDictionary*)value;
   3177   return true;
   3178 }
   3179 
   3180 bool SkPdfMapper::SkPdfPageObjectActionsDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfPageObjectActionsDictionary** data) const {
   3181   if (SkPdfPageObjectActionsDictionaryFromDictionary(dict, key, data)) return true;
   3182   if (abr == NULL || *abr == '\0') return false;
   3183   return SkPdfPageObjectActionsDictionaryFromDictionary(dict, abr, data);
   3184 }
   3185 
   3186 bool SkPdfMapper::isFormFieldActionsDictionary(const SkPdfNativeObject* nativeObj) const {
   3187   return true;
   3188 }
   3189 
   3190 bool SkPdfMapper::SkPdfFormFieldActionsDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfFormFieldActionsDictionary** data) const {
   3191   const SkPdfNativeObject* value = dict->get(key);
   3192   if (value == NULL) { return false; }
   3193   if (data == NULL) { return true; }
   3194   if (kNone_SkPdfNativeObjectType == mapFormFieldActionsDictionary(value)) return false;
   3195   *data = (SkPdfFormFieldActionsDictionary*)value;
   3196   return true;
   3197 }
   3198 
   3199 bool SkPdfMapper::SkPdfFormFieldActionsDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfFormFieldActionsDictionary** data) const {
   3200   if (SkPdfFormFieldActionsDictionaryFromDictionary(dict, key, data)) return true;
   3201   if (abr == NULL || *abr == '\0') return false;
   3202   return SkPdfFormFieldActionsDictionaryFromDictionary(dict, abr, data);
   3203 }
   3204 
   3205 bool SkPdfMapper::isDocumentCatalogActionsDictionary(const SkPdfNativeObject* nativeObj) const {
   3206   return true;
   3207 }
   3208 
   3209 bool SkPdfMapper::SkPdfDocumentCatalogActionsDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfDocumentCatalogActionsDictionary** data) const {
   3210   const SkPdfNativeObject* value = dict->get(key);
   3211   if (value == NULL) { return false; }
   3212   if (data == NULL) { return true; }
   3213   if (kNone_SkPdfNativeObjectType == mapDocumentCatalogActionsDictionary(value)) return false;
   3214   *data = (SkPdfDocumentCatalogActionsDictionary*)value;
   3215   return true;
   3216 }
   3217 
   3218 bool SkPdfMapper::SkPdfDocumentCatalogActionsDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfDocumentCatalogActionsDictionary** data) const {
   3219   if (SkPdfDocumentCatalogActionsDictionaryFromDictionary(dict, key, data)) return true;
   3220   if (abr == NULL || *abr == '\0') return false;
   3221   return SkPdfDocumentCatalogActionsDictionaryFromDictionary(dict, abr, data);
   3222 }
   3223 
   3224 bool SkPdfMapper::isGoToActionDictionary(const SkPdfNativeObject* nativeObj) const {
   3225   return true;
   3226 }
   3227 
   3228 bool SkPdfMapper::SkPdfGoToActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfGoToActionDictionary** data) const {
   3229   const SkPdfNativeObject* value = dict->get(key);
   3230   if (value == NULL) { return false; }
   3231   if (data == NULL) { return true; }
   3232   if (kNone_SkPdfNativeObjectType == mapGoToActionDictionary(value)) return false;
   3233   *data = (SkPdfGoToActionDictionary*)value;
   3234   return true;
   3235 }
   3236 
   3237 bool SkPdfMapper::SkPdfGoToActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfGoToActionDictionary** data) const {
   3238   if (SkPdfGoToActionDictionaryFromDictionary(dict, key, data)) return true;
   3239   if (abr == NULL || *abr == '\0') return false;
   3240   return SkPdfGoToActionDictionaryFromDictionary(dict, abr, data);
   3241 }
   3242 
   3243 bool SkPdfMapper::isRemoteGoToActionDictionary(const SkPdfNativeObject* nativeObj) const {
   3244   return true;
   3245 }
   3246 
   3247 bool SkPdfMapper::SkPdfRemoteGoToActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfRemoteGoToActionDictionary** data) const {
   3248   const SkPdfNativeObject* value = dict->get(key);
   3249   if (value == NULL) { return false; }
   3250   if (data == NULL) { return true; }
   3251   if (kNone_SkPdfNativeObjectType == mapRemoteGoToActionDictionary(value)) return false;
   3252   *data = (SkPdfRemoteGoToActionDictionary*)value;
   3253   return true;
   3254 }
   3255 
   3256 bool SkPdfMapper::SkPdfRemoteGoToActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfRemoteGoToActionDictionary** data) const {
   3257   if (SkPdfRemoteGoToActionDictionaryFromDictionary(dict, key, data)) return true;
   3258   if (abr == NULL || *abr == '\0') return false;
   3259   return SkPdfRemoteGoToActionDictionaryFromDictionary(dict, abr, data);
   3260 }
   3261 
   3262 bool SkPdfMapper::isLaunchActionDictionary(const SkPdfNativeObject* nativeObj) const {
   3263   return true;
   3264 }
   3265 
   3266 bool SkPdfMapper::SkPdfLaunchActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfLaunchActionDictionary** data) const {
   3267   const SkPdfNativeObject* value = dict->get(key);
   3268   if (value == NULL) { return false; }
   3269   if (data == NULL) { return true; }
   3270   if (kNone_SkPdfNativeObjectType == mapLaunchActionDictionary(value)) return false;
   3271   *data = (SkPdfLaunchActionDictionary*)value;
   3272   return true;
   3273 }
   3274 
   3275 bool SkPdfMapper::SkPdfLaunchActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfLaunchActionDictionary** data) const {
   3276   if (SkPdfLaunchActionDictionaryFromDictionary(dict, key, data)) return true;
   3277   if (abr == NULL || *abr == '\0') return false;
   3278   return SkPdfLaunchActionDictionaryFromDictionary(dict, abr, data);
   3279 }
   3280 
   3281 bool SkPdfMapper::isWindowsLaunchActionDictionary(const SkPdfNativeObject* nativeObj) const {
   3282   return true;
   3283 }
   3284 
   3285 bool SkPdfMapper::SkPdfWindowsLaunchActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfWindowsLaunchActionDictionary** data) const {
   3286   const SkPdfNativeObject* value = dict->get(key);
   3287   if (value == NULL) { return false; }
   3288   if (data == NULL) { return true; }
   3289   if (kNone_SkPdfNativeObjectType == mapWindowsLaunchActionDictionary(value)) return false;
   3290   *data = (SkPdfWindowsLaunchActionDictionary*)value;
   3291   return true;
   3292 }
   3293 
   3294 bool SkPdfMapper::SkPdfWindowsLaunchActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfWindowsLaunchActionDictionary** data) const {
   3295   if (SkPdfWindowsLaunchActionDictionaryFromDictionary(dict, key, data)) return true;
   3296   if (abr == NULL || *abr == '\0') return false;
   3297   return SkPdfWindowsLaunchActionDictionaryFromDictionary(dict, abr, data);
   3298 }
   3299 
   3300 bool SkPdfMapper::isThreadActionDictionary(const SkPdfNativeObject* nativeObj) const {
   3301   return true;
   3302 }
   3303 
   3304 bool SkPdfMapper::SkPdfThreadActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfThreadActionDictionary** data) const {
   3305   const SkPdfNativeObject* value = dict->get(key);
   3306   if (value == NULL) { return false; }
   3307   if (data == NULL) { return true; }
   3308   if (kNone_SkPdfNativeObjectType == mapThreadActionDictionary(value)) return false;
   3309   *data = (SkPdfThreadActionDictionary*)value;
   3310   return true;
   3311 }
   3312 
   3313 bool SkPdfMapper::SkPdfThreadActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfThreadActionDictionary** data) const {
   3314   if (SkPdfThreadActionDictionaryFromDictionary(dict, key, data)) return true;
   3315   if (abr == NULL || *abr == '\0') return false;
   3316   return SkPdfThreadActionDictionaryFromDictionary(dict, abr, data);
   3317 }
   3318 
   3319 bool SkPdfMapper::isURIActionDictionary(const SkPdfNativeObject* nativeObj) const {
   3320   return true;
   3321 }
   3322 
   3323 bool SkPdfMapper::SkPdfURIActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfURIActionDictionary** data) const {
   3324   const SkPdfNativeObject* value = dict->get(key);
   3325   if (value == NULL) { return false; }
   3326   if (data == NULL) { return true; }
   3327   if (kNone_SkPdfNativeObjectType == mapURIActionDictionary(value)) return false;
   3328   *data = (SkPdfURIActionDictionary*)value;
   3329   return true;
   3330 }
   3331 
   3332 bool SkPdfMapper::SkPdfURIActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfURIActionDictionary** data) const {
   3333   if (SkPdfURIActionDictionaryFromDictionary(dict, key, data)) return true;
   3334   if (abr == NULL || *abr == '\0') return false;
   3335   return SkPdfURIActionDictionaryFromDictionary(dict, abr, data);
   3336 }
   3337 
   3338 bool SkPdfMapper::isURIDictionary(const SkPdfNativeObject* nativeObj) const {
   3339   return true;
   3340 }
   3341 
   3342 bool SkPdfMapper::SkPdfURIDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfURIDictionary** data) const {
   3343   const SkPdfNativeObject* value = dict->get(key);
   3344   if (value == NULL) { return false; }
   3345   if (data == NULL) { return true; }
   3346   if (kNone_SkPdfNativeObjectType == mapURIDictionary(value)) return false;
   3347   *data = (SkPdfURIDictionary*)value;
   3348   return true;
   3349 }
   3350 
   3351 bool SkPdfMapper::SkPdfURIDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfURIDictionary** data) const {
   3352   if (SkPdfURIDictionaryFromDictionary(dict, key, data)) return true;
   3353   if (abr == NULL || *abr == '\0') return false;
   3354   return SkPdfURIDictionaryFromDictionary(dict, abr, data);
   3355 }
   3356 
   3357 bool SkPdfMapper::isSoundActionDictionary(const SkPdfNativeObject* nativeObj) const {
   3358   return true;
   3359 }
   3360 
   3361 bool SkPdfMapper::SkPdfSoundActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfSoundActionDictionary** data) const {
   3362   const SkPdfNativeObject* value = dict->get(key);
   3363   if (value == NULL) { return false; }
   3364   if (data == NULL) { return true; }
   3365   if (kNone_SkPdfNativeObjectType == mapSoundActionDictionary(value)) return false;
   3366   *data = (SkPdfSoundActionDictionary*)value;
   3367   return true;
   3368 }
   3369 
   3370 bool SkPdfMapper::SkPdfSoundActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfSoundActionDictionary** data) const {
   3371   if (SkPdfSoundActionDictionaryFromDictionary(dict, key, data)) return true;
   3372   if (abr == NULL || *abr == '\0') return false;
   3373   return SkPdfSoundActionDictionaryFromDictionary(dict, abr, data);
   3374 }
   3375 
   3376 bool SkPdfMapper::isMovieActionDictionary(const SkPdfNativeObject* nativeObj) const {
   3377   return true;
   3378 }
   3379 
   3380 bool SkPdfMapper::SkPdfMovieActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfMovieActionDictionary** data) const {
   3381   const SkPdfNativeObject* value = dict->get(key);
   3382   if (value == NULL) { return false; }
   3383   if (data == NULL) { return true; }
   3384   if (kNone_SkPdfNativeObjectType == mapMovieActionDictionary(value)) return false;
   3385   *data = (SkPdfMovieActionDictionary*)value;
   3386   return true;
   3387 }
   3388 
   3389 bool SkPdfMapper::SkPdfMovieActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfMovieActionDictionary** data) const {
   3390   if (SkPdfMovieActionDictionaryFromDictionary(dict, key, data)) return true;
   3391   if (abr == NULL || *abr == '\0') return false;
   3392   return SkPdfMovieActionDictionaryFromDictionary(dict, abr, data);
   3393 }
   3394 
   3395 bool SkPdfMapper::isHideActionDictionary(const SkPdfNativeObject* nativeObj) const {
   3396   return true;
   3397 }
   3398 
   3399 bool SkPdfMapper::SkPdfHideActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfHideActionDictionary** data) const {
   3400   const SkPdfNativeObject* value = dict->get(key);
   3401   if (value == NULL) { return false; }
   3402   if (data == NULL) { return true; }
   3403   if (kNone_SkPdfNativeObjectType == mapHideActionDictionary(value)) return false;
   3404   *data = (SkPdfHideActionDictionary*)value;
   3405   return true;
   3406 }
   3407 
   3408 bool SkPdfMapper::SkPdfHideActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfHideActionDictionary** data) const {
   3409   if (SkPdfHideActionDictionaryFromDictionary(dict, key, data)) return true;
   3410   if (abr == NULL || *abr == '\0') return false;
   3411   return SkPdfHideActionDictionaryFromDictionary(dict, abr, data);
   3412 }
   3413 
   3414 bool SkPdfMapper::isNamedActionsDictionary(const SkPdfNativeObject* nativeObj) const {
   3415   return true;
   3416 }
   3417 
   3418 bool SkPdfMapper::SkPdfNamedActionsDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfNamedActionsDictionary** data) const {
   3419   const SkPdfNativeObject* value = dict->get(key);
   3420   if (value == NULL) { return false; }
   3421   if (data == NULL) { return true; }
   3422   if (kNone_SkPdfNativeObjectType == mapNamedActionsDictionary(value)) return false;
   3423   *data = (SkPdfNamedActionsDictionary*)value;
   3424   return true;
   3425 }
   3426 
   3427 bool SkPdfMapper::SkPdfNamedActionsDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfNamedActionsDictionary** data) const {
   3428   if (SkPdfNamedActionsDictionaryFromDictionary(dict, key, data)) return true;
   3429   if (abr == NULL || *abr == '\0') return false;
   3430   return SkPdfNamedActionsDictionaryFromDictionary(dict, abr, data);
   3431 }
   3432 
   3433 bool SkPdfMapper::isInteractiveFormDictionary(const SkPdfNativeObject* nativeObj) const {
   3434   return true;
   3435 }
   3436 
   3437 bool SkPdfMapper::SkPdfInteractiveFormDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfInteractiveFormDictionary** data) const {
   3438   const SkPdfNativeObject* value = dict->get(key);
   3439   if (value == NULL) { return false; }
   3440   if (data == NULL) { return true; }
   3441   if (kNone_SkPdfNativeObjectType == mapInteractiveFormDictionary(value)) return false;
   3442   *data = (SkPdfInteractiveFormDictionary*)value;
   3443   return true;
   3444 }
   3445 
   3446 bool SkPdfMapper::SkPdfInteractiveFormDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfInteractiveFormDictionary** data) const {
   3447   if (SkPdfInteractiveFormDictionaryFromDictionary(dict, key, data)) return true;
   3448   if (abr == NULL || *abr == '\0') return false;
   3449   return SkPdfInteractiveFormDictionaryFromDictionary(dict, abr, data);
   3450 }
   3451 
   3452 bool SkPdfMapper::isFieldDictionary(const SkPdfNativeObject* nativeObj) const {
   3453   return true;
   3454 }
   3455 
   3456 bool SkPdfMapper::SkPdfFieldDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfFieldDictionary** data) const {
   3457   const SkPdfNativeObject* value = dict->get(key);
   3458   if (value == NULL) { return false; }
   3459   if (data == NULL) { return true; }
   3460   if (kNone_SkPdfNativeObjectType == mapFieldDictionary(value)) return false;
   3461   *data = (SkPdfFieldDictionary*)value;
   3462   return true;
   3463 }
   3464 
   3465 bool SkPdfMapper::SkPdfFieldDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfFieldDictionary** data) const {
   3466   if (SkPdfFieldDictionaryFromDictionary(dict, key, data)) return true;
   3467   if (abr == NULL || *abr == '\0') return false;
   3468   return SkPdfFieldDictionaryFromDictionary(dict, abr, data);
   3469 }
   3470 
   3471 bool SkPdfMapper::isVariableTextFieldDictionary(const SkPdfNativeObject* nativeObj) const {
   3472   return true;
   3473 }
   3474 
   3475 bool SkPdfMapper::SkPdfVariableTextFieldDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfVariableTextFieldDictionary** data) const {
   3476   const SkPdfNativeObject* value = dict->get(key);
   3477   if (value == NULL) { return false; }
   3478   if (data == NULL) { return true; }
   3479   if (kNone_SkPdfNativeObjectType == mapVariableTextFieldDictionary(value)) return false;
   3480   *data = (SkPdfVariableTextFieldDictionary*)value;
   3481   return true;
   3482 }
   3483 
   3484 bool SkPdfMapper::SkPdfVariableTextFieldDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfVariableTextFieldDictionary** data) const {
   3485   if (SkPdfVariableTextFieldDictionaryFromDictionary(dict, key, data)) return true;
   3486   if (abr == NULL || *abr == '\0') return false;
   3487   return SkPdfVariableTextFieldDictionaryFromDictionary(dict, abr, data);
   3488 }
   3489 
   3490 bool SkPdfMapper::isAppearanceCharacteristicsDictionary(const SkPdfNativeObject* nativeObj) const {
   3491   return true;
   3492 }
   3493 
   3494 bool SkPdfMapper::SkPdfAppearanceCharacteristicsDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfAppearanceCharacteristicsDictionary** data) const {
   3495   const SkPdfNativeObject* value = dict->get(key);
   3496   if (value == NULL) { return false; }
   3497   if (data == NULL) { return true; }
   3498   if (kNone_SkPdfNativeObjectType == mapAppearanceCharacteristicsDictionary(value)) return false;
   3499   *data = (SkPdfAppearanceCharacteristicsDictionary*)value;
   3500   return true;
   3501 }
   3502 
   3503 bool SkPdfMapper::SkPdfAppearanceCharacteristicsDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfAppearanceCharacteristicsDictionary** data) const {
   3504   if (SkPdfAppearanceCharacteristicsDictionaryFromDictionary(dict, key, data)) return true;
   3505   if (abr == NULL || *abr == '\0') return false;
   3506   return SkPdfAppearanceCharacteristicsDictionaryFromDictionary(dict, abr, data);
   3507 }
   3508 
   3509 bool SkPdfMapper::isCheckboxFieldDictionary(const SkPdfNativeObject* nativeObj) const {
   3510   return true;
   3511 }
   3512 
   3513 bool SkPdfMapper::SkPdfCheckboxFieldDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfCheckboxFieldDictionary** data) const {
   3514   const SkPdfNativeObject* value = dict->get(key);
   3515   if (value == NULL) { return false; }
   3516   if (data == NULL) { return true; }
   3517   if (kNone_SkPdfNativeObjectType == mapCheckboxFieldDictionary(value)) return false;
   3518   *data = (SkPdfCheckboxFieldDictionary*)value;
   3519   return true;
   3520 }
   3521 
   3522 bool SkPdfMapper::SkPdfCheckboxFieldDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfCheckboxFieldDictionary** data) const {
   3523   if (SkPdfCheckboxFieldDictionaryFromDictionary(dict, key, data)) return true;
   3524   if (abr == NULL || *abr == '\0') return false;
   3525   return SkPdfCheckboxFieldDictionaryFromDictionary(dict, abr, data);
   3526 }
   3527 
   3528 bool SkPdfMapper::isRadioButtonFieldDictionary(const SkPdfNativeObject* nativeObj) const {
   3529   return true;
   3530 }
   3531 
   3532 bool SkPdfMapper::SkPdfRadioButtonFieldDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfRadioButtonFieldDictionary** data) const {
   3533   const SkPdfNativeObject* value = dict->get(key);
   3534   if (value == NULL) { return false; }
   3535   if (data == NULL) { return true; }
   3536   if (kNone_SkPdfNativeObjectType == mapRadioButtonFieldDictionary(value)) return false;
   3537   *data = (SkPdfRadioButtonFieldDictionary*)value;
   3538   return true;
   3539 }
   3540 
   3541 bool SkPdfMapper::SkPdfRadioButtonFieldDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfRadioButtonFieldDictionary** data) const {
   3542   if (SkPdfRadioButtonFieldDictionaryFromDictionary(dict, key, data)) return true;
   3543   if (abr == NULL || *abr == '\0') return false;
   3544   return SkPdfRadioButtonFieldDictionaryFromDictionary(dict, abr, data);
   3545 }
   3546 
   3547 bool SkPdfMapper::isTextFieldDictionary(const SkPdfNativeObject* nativeObj) const {
   3548   return true;
   3549 }
   3550 
   3551 bool SkPdfMapper::SkPdfTextFieldDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfTextFieldDictionary** data) const {
   3552   const SkPdfNativeObject* value = dict->get(key);
   3553   if (value == NULL) { return false; }
   3554   if (data == NULL) { return true; }
   3555   if (kNone_SkPdfNativeObjectType == mapTextFieldDictionary(value)) return false;
   3556   *data = (SkPdfTextFieldDictionary*)value;
   3557   return true;
   3558 }
   3559 
   3560 bool SkPdfMapper::SkPdfTextFieldDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfTextFieldDictionary** data) const {
   3561   if (SkPdfTextFieldDictionaryFromDictionary(dict, key, data)) return true;
   3562   if (abr == NULL || *abr == '\0') return false;
   3563   return SkPdfTextFieldDictionaryFromDictionary(dict, abr, data);
   3564 }
   3565 
   3566 bool SkPdfMapper::isChoiceFieldDictionary(const SkPdfNativeObject* nativeObj) const {
   3567   return true;
   3568 }
   3569 
   3570 bool SkPdfMapper::SkPdfChoiceFieldDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfChoiceFieldDictionary** data) const {
   3571   const SkPdfNativeObject* value = dict->get(key);
   3572   if (value == NULL) { return false; }
   3573   if (data == NULL) { return true; }
   3574   if (kNone_SkPdfNativeObjectType == mapChoiceFieldDictionary(value)) return false;
   3575   *data = (SkPdfChoiceFieldDictionary*)value;
   3576   return true;
   3577 }
   3578 
   3579 bool SkPdfMapper::SkPdfChoiceFieldDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfChoiceFieldDictionary** data) const {
   3580   if (SkPdfChoiceFieldDictionaryFromDictionary(dict, key, data)) return true;
   3581   if (abr == NULL || *abr == '\0') return false;
   3582   return SkPdfChoiceFieldDictionaryFromDictionary(dict, abr, data);
   3583 }
   3584 
   3585 bool SkPdfMapper::isSignatureDictionary(const SkPdfNativeObject* nativeObj) const {
   3586   return true;
   3587 }
   3588 
   3589 bool SkPdfMapper::SkPdfSignatureDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfSignatureDictionary** data) const {
   3590   const SkPdfNativeObject* value = dict->get(key);
   3591   if (value == NULL) { return false; }
   3592   if (data == NULL) { return true; }
   3593   if (kNone_SkPdfNativeObjectType == mapSignatureDictionary(value)) return false;
   3594   *data = (SkPdfSignatureDictionary*)value;
   3595   return true;
   3596 }
   3597 
   3598 bool SkPdfMapper::SkPdfSignatureDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfSignatureDictionary** data) const {
   3599   if (SkPdfSignatureDictionaryFromDictionary(dict, key, data)) return true;
   3600   if (abr == NULL || *abr == '\0') return false;
   3601   return SkPdfSignatureDictionaryFromDictionary(dict, abr, data);
   3602 }
   3603 
   3604 bool SkPdfMapper::isSubmitFormActionDictionary(const SkPdfNativeObject* nativeObj) const {
   3605   return true;
   3606 }
   3607 
   3608 bool SkPdfMapper::SkPdfSubmitFormActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfSubmitFormActionDictionary** data) const {
   3609   const SkPdfNativeObject* value = dict->get(key);
   3610   if (value == NULL) { return false; }
   3611   if (data == NULL) { return true; }
   3612   if (kNone_SkPdfNativeObjectType == mapSubmitFormActionDictionary(value)) return false;
   3613   *data = (SkPdfSubmitFormActionDictionary*)value;
   3614   return true;
   3615 }
   3616 
   3617 bool SkPdfMapper::SkPdfSubmitFormActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfSubmitFormActionDictionary** data) const {
   3618   if (SkPdfSubmitFormActionDictionaryFromDictionary(dict, key, data)) return true;
   3619   if (abr == NULL || *abr == '\0') return false;
   3620   return SkPdfSubmitFormActionDictionaryFromDictionary(dict, abr, data);
   3621 }
   3622 
   3623 bool SkPdfMapper::isResetFormActionDictionary(const SkPdfNativeObject* nativeObj) const {
   3624   return true;
   3625 }
   3626 
   3627 bool SkPdfMapper::SkPdfResetFormActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfResetFormActionDictionary** data) const {
   3628   const SkPdfNativeObject* value = dict->get(key);
   3629   if (value == NULL) { return false; }
   3630   if (data == NULL) { return true; }
   3631   if (kNone_SkPdfNativeObjectType == mapResetFormActionDictionary(value)) return false;
   3632   *data = (SkPdfResetFormActionDictionary*)value;
   3633   return true;
   3634 }
   3635 
   3636 bool SkPdfMapper::SkPdfResetFormActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfResetFormActionDictionary** data) const {
   3637   if (SkPdfResetFormActionDictionaryFromDictionary(dict, key, data)) return true;
   3638   if (abr == NULL || *abr == '\0') return false;
   3639   return SkPdfResetFormActionDictionaryFromDictionary(dict, abr, data);
   3640 }
   3641 
   3642 bool SkPdfMapper::isImportDataActionDictionary(const SkPdfNativeObject* nativeObj) const {
   3643   return true;
   3644 }
   3645 
   3646 bool SkPdfMapper::SkPdfImportDataActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfImportDataActionDictionary** data) const {
   3647   const SkPdfNativeObject* value = dict->get(key);
   3648   if (value == NULL) { return false; }
   3649   if (data == NULL) { return true; }
   3650   if (kNone_SkPdfNativeObjectType == mapImportDataActionDictionary(value)) return false;
   3651   *data = (SkPdfImportDataActionDictionary*)value;
   3652   return true;
   3653 }
   3654 
   3655 bool SkPdfMapper::SkPdfImportDataActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfImportDataActionDictionary** data) const {
   3656   if (SkPdfImportDataActionDictionaryFromDictionary(dict, key, data)) return true;
   3657   if (abr == NULL || *abr == '\0') return false;
   3658   return SkPdfImportDataActionDictionaryFromDictionary(dict, abr, data);
   3659 }
   3660 
   3661 bool SkPdfMapper::isJavascriptActionDictionary(const SkPdfNativeObject* nativeObj) const {
   3662   return true;
   3663 }
   3664 
   3665 bool SkPdfMapper::SkPdfJavascriptActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfJavascriptActionDictionary** data) const {
   3666   const SkPdfNativeObject* value = dict->get(key);
   3667   if (value == NULL) { return false; }
   3668   if (data == NULL) { return true; }
   3669   if (kNone_SkPdfNativeObjectType == mapJavascriptActionDictionary(value)) return false;
   3670   *data = (SkPdfJavascriptActionDictionary*)value;
   3671   return true;
   3672 }
   3673 
   3674 bool SkPdfMapper::SkPdfJavascriptActionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfJavascriptActionDictionary** data) const {
   3675   if (SkPdfJavascriptActionDictionaryFromDictionary(dict, key, data)) return true;
   3676   if (abr == NULL || *abr == '\0') return false;
   3677   return SkPdfJavascriptActionDictionaryFromDictionary(dict, abr, data);
   3678 }
   3679 
   3680 bool SkPdfMapper::isFDFTrailerDictionary(const SkPdfNativeObject* nativeObj) const {
   3681   return true;
   3682 }
   3683 
   3684 bool SkPdfMapper::SkPdfFDFTrailerDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfFDFTrailerDictionary** data) const {
   3685   const SkPdfNativeObject* value = dict->get(key);
   3686   if (value == NULL) { return false; }
   3687   if (data == NULL) { return true; }
   3688   if (kNone_SkPdfNativeObjectType == mapFDFTrailerDictionary(value)) return false;
   3689   *data = (SkPdfFDFTrailerDictionary*)value;
   3690   return true;
   3691 }
   3692 
   3693 bool SkPdfMapper::SkPdfFDFTrailerDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfFDFTrailerDictionary** data) const {
   3694   if (SkPdfFDFTrailerDictionaryFromDictionary(dict, key, data)) return true;
   3695   if (abr == NULL || *abr == '\0') return false;
   3696   return SkPdfFDFTrailerDictionaryFromDictionary(dict, abr, data);
   3697 }
   3698 
   3699 bool SkPdfMapper::isFDFCatalogDictionary(const SkPdfNativeObject* nativeObj) const {
   3700   return true;
   3701 }
   3702 
   3703 bool SkPdfMapper::SkPdfFDFCatalogDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfFDFCatalogDictionary** data) const {
   3704   const SkPdfNativeObject* value = dict->get(key);
   3705   if (value == NULL) { return false; }
   3706   if (data == NULL) { return true; }
   3707   if (kNone_SkPdfNativeObjectType == mapFDFCatalogDictionary(value)) return false;
   3708   *data = (SkPdfFDFCatalogDictionary*)value;
   3709   return true;
   3710 }
   3711 
   3712 bool SkPdfMapper::SkPdfFDFCatalogDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfFDFCatalogDictionary** data) const {
   3713   if (SkPdfFDFCatalogDictionaryFromDictionary(dict, key, data)) return true;
   3714   if (abr == NULL || *abr == '\0') return false;
   3715   return SkPdfFDFCatalogDictionaryFromDictionary(dict, abr, data);
   3716 }
   3717 
   3718 bool SkPdfMapper::isFDFDictionary(const SkPdfNativeObject* nativeObj) const {
   3719   return true;
   3720 }
   3721 
   3722 bool SkPdfMapper::SkPdfFDFDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfFDFDictionary** data) const {
   3723   const SkPdfNativeObject* value = dict->get(key);
   3724   if (value == NULL) { return false; }
   3725   if (data == NULL) { return true; }
   3726   if (kNone_SkPdfNativeObjectType == mapFDFDictionary(value)) return false;
   3727   *data = (SkPdfFDFDictionary*)value;
   3728   return true;
   3729 }
   3730 
   3731 bool SkPdfMapper::SkPdfFDFDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfFDFDictionary** data) const {
   3732   if (SkPdfFDFDictionaryFromDictionary(dict, key, data)) return true;
   3733   if (abr == NULL || *abr == '\0') return false;
   3734   return SkPdfFDFDictionaryFromDictionary(dict, abr, data);
   3735 }
   3736 
   3737 bool SkPdfMapper::isEncryptedEmbeddedFileStreamDictionary(const SkPdfNativeObject* nativeObj) const {
   3738   return true;
   3739 }
   3740 
   3741 bool SkPdfMapper::SkPdfEncryptedEmbeddedFileStreamDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfEncryptedEmbeddedFileStreamDictionary** data) const {
   3742   const SkPdfNativeObject* value = dict->get(key);
   3743   if (value == NULL) { return false; }
   3744   if (data == NULL) { return true; }
   3745   if (kNone_SkPdfNativeObjectType == mapEncryptedEmbeddedFileStreamDictionary(value)) return false;
   3746   *data = (SkPdfEncryptedEmbeddedFileStreamDictionary*)value;
   3747   return true;
   3748 }
   3749 
   3750 bool SkPdfMapper::SkPdfEncryptedEmbeddedFileStreamDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfEncryptedEmbeddedFileStreamDictionary** data) const {
   3751   if (SkPdfEncryptedEmbeddedFileStreamDictionaryFromDictionary(dict, key, data)) return true;
   3752   if (abr == NULL || *abr == '\0') return false;
   3753   return SkPdfEncryptedEmbeddedFileStreamDictionaryFromDictionary(dict, abr, data);
   3754 }
   3755 
   3756 bool SkPdfMapper::isJavascriptDictionary(const SkPdfNativeObject* nativeObj) const {
   3757   return true;
   3758 }
   3759 
   3760 bool SkPdfMapper::SkPdfJavascriptDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfJavascriptDictionary** data) const {
   3761   const SkPdfNativeObject* value = dict->get(key);
   3762   if (value == NULL) { return false; }
   3763   if (data == NULL) { return true; }
   3764   if (kNone_SkPdfNativeObjectType == mapJavascriptDictionary(value)) return false;
   3765   *data = (SkPdfJavascriptDictionary*)value;
   3766   return true;
   3767 }
   3768 
   3769 bool SkPdfMapper::SkPdfJavascriptDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfJavascriptDictionary** data) const {
   3770   if (SkPdfJavascriptDictionaryFromDictionary(dict, key, data)) return true;
   3771   if (abr == NULL || *abr == '\0') return false;
   3772   return SkPdfJavascriptDictionaryFromDictionary(dict, abr, data);
   3773 }
   3774 
   3775 bool SkPdfMapper::isFDFFieldDictionary(const SkPdfNativeObject* nativeObj) const {
   3776   return true;
   3777 }
   3778 
   3779 bool SkPdfMapper::SkPdfFDFFieldDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfFDFFieldDictionary** data) const {
   3780   const SkPdfNativeObject* value = dict->get(key);
   3781   if (value == NULL) { return false; }
   3782   if (data == NULL) { return true; }
   3783   if (kNone_SkPdfNativeObjectType == mapFDFFieldDictionary(value)) return false;
   3784   *data = (SkPdfFDFFieldDictionary*)value;
   3785   return true;
   3786 }
   3787 
   3788 bool SkPdfMapper::SkPdfFDFFieldDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfFDFFieldDictionary** data) const {
   3789   if (SkPdfFDFFieldDictionaryFromDictionary(dict, key, data)) return true;
   3790   if (abr == NULL || *abr == '\0') return false;
   3791   return SkPdfFDFFieldDictionaryFromDictionary(dict, abr, data);
   3792 }
   3793 
   3794 bool SkPdfMapper::isIconFitDictionary(const SkPdfNativeObject* nativeObj) const {
   3795   return true;
   3796 }
   3797 
   3798 bool SkPdfMapper::SkPdfIconFitDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfIconFitDictionary** data) const {
   3799   const SkPdfNativeObject* value = dict->get(key);
   3800   if (value == NULL) { return false; }
   3801   if (data == NULL) { return true; }
   3802   if (kNone_SkPdfNativeObjectType == mapIconFitDictionary(value)) return false;
   3803   *data = (SkPdfIconFitDictionary*)value;
   3804   return true;
   3805 }
   3806 
   3807 bool SkPdfMapper::SkPdfIconFitDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfIconFitDictionary** data) const {
   3808   if (SkPdfIconFitDictionaryFromDictionary(dict, key, data)) return true;
   3809   if (abr == NULL || *abr == '\0') return false;
   3810   return SkPdfIconFitDictionaryFromDictionary(dict, abr, data);
   3811 }
   3812 
   3813 bool SkPdfMapper::isFDFPageDictionary(const SkPdfNativeObject* nativeObj) const {
   3814   return true;
   3815 }
   3816 
   3817 bool SkPdfMapper::SkPdfFDFPageDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfFDFPageDictionary** data) const {
   3818   const SkPdfNativeObject* value = dict->get(key);
   3819   if (value == NULL) { return false; }
   3820   if (data == NULL) { return true; }
   3821   if (kNone_SkPdfNativeObjectType == mapFDFPageDictionary(value)) return false;
   3822   *data = (SkPdfFDFPageDictionary*)value;
   3823   return true;
   3824 }
   3825 
   3826 bool SkPdfMapper::SkPdfFDFPageDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfFDFPageDictionary** data) const {
   3827   if (SkPdfFDFPageDictionaryFromDictionary(dict, key, data)) return true;
   3828   if (abr == NULL || *abr == '\0') return false;
   3829   return SkPdfFDFPageDictionaryFromDictionary(dict, abr, data);
   3830 }
   3831 
   3832 bool SkPdfMapper::isFDFTemplateDictionary(const SkPdfNativeObject* nativeObj) const {
   3833   return true;
   3834 }
   3835 
   3836 bool SkPdfMapper::SkPdfFDFTemplateDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfFDFTemplateDictionary** data) const {
   3837   const SkPdfNativeObject* value = dict->get(key);
   3838   if (value == NULL) { return false; }
   3839   if (data == NULL) { return true; }
   3840   if (kNone_SkPdfNativeObjectType == mapFDFTemplateDictionary(value)) return false;
   3841   *data = (SkPdfFDFTemplateDictionary*)value;
   3842   return true;
   3843 }
   3844 
   3845 bool SkPdfMapper::SkPdfFDFTemplateDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfFDFTemplateDictionary** data) const {
   3846   if (SkPdfFDFTemplateDictionaryFromDictionary(dict, key, data)) return true;
   3847   if (abr == NULL || *abr == '\0') return false;
   3848   return SkPdfFDFTemplateDictionaryFromDictionary(dict, abr, data);
   3849 }
   3850 
   3851 bool SkPdfMapper::isFDFNamedPageReferenceDictionary(const SkPdfNativeObject* nativeObj) const {
   3852   return true;
   3853 }
   3854 
   3855 bool SkPdfMapper::SkPdfFDFNamedPageReferenceDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfFDFNamedPageReferenceDictionary** data) const {
   3856   const SkPdfNativeObject* value = dict->get(key);
   3857   if (value == NULL) { return false; }
   3858   if (data == NULL) { return true; }
   3859   if (kNone_SkPdfNativeObjectType == mapFDFNamedPageReferenceDictionary(value)) return false;
   3860   *data = (SkPdfFDFNamedPageReferenceDictionary*)value;
   3861   return true;
   3862 }
   3863 
   3864 bool SkPdfMapper::SkPdfFDFNamedPageReferenceDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfFDFNamedPageReferenceDictionary** data) const {
   3865   if (SkPdfFDFNamedPageReferenceDictionaryFromDictionary(dict, key, data)) return true;
   3866   if (abr == NULL || *abr == '\0') return false;
   3867   return SkPdfFDFNamedPageReferenceDictionaryFromDictionary(dict, abr, data);
   3868 }
   3869 
   3870 bool SkPdfMapper::isFDFFileAnnotationDictionary(const SkPdfNativeObject* nativeObj) const {
   3871   return true;
   3872 }
   3873 
   3874 bool SkPdfMapper::SkPdfFDFFileAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfFDFFileAnnotationDictionary** data) const {
   3875   const SkPdfNativeObject* value = dict->get(key);
   3876   if (value == NULL) { return false; }
   3877   if (data == NULL) { return true; }
   3878   if (kNone_SkPdfNativeObjectType == mapFDFFileAnnotationDictionary(value)) return false;
   3879   *data = (SkPdfFDFFileAnnotationDictionary*)value;
   3880   return true;
   3881 }
   3882 
   3883 bool SkPdfMapper::SkPdfFDFFileAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfFDFFileAnnotationDictionary** data) const {
   3884   if (SkPdfFDFFileAnnotationDictionaryFromDictionary(dict, key, data)) return true;
   3885   if (abr == NULL || *abr == '\0') return false;
   3886   return SkPdfFDFFileAnnotationDictionaryFromDictionary(dict, abr, data);
   3887 }
   3888 
   3889 bool SkPdfMapper::isSoundObjectDictionary(const SkPdfNativeObject* nativeObj) const {
   3890   return true;
   3891 }
   3892 
   3893 bool SkPdfMapper::SkPdfSoundObjectDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfSoundObjectDictionary** data) const {
   3894   const SkPdfNativeObject* value = dict->get(key);
   3895   if (value == NULL) { return false; }
   3896   if (data == NULL) { return true; }
   3897   if (kNone_SkPdfNativeObjectType == mapSoundObjectDictionary(value)) return false;
   3898   *data = (SkPdfSoundObjectDictionary*)value;
   3899   return true;
   3900 }
   3901 
   3902 bool SkPdfMapper::SkPdfSoundObjectDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfSoundObjectDictionary** data) const {
   3903   if (SkPdfSoundObjectDictionaryFromDictionary(dict, key, data)) return true;
   3904   if (abr == NULL || *abr == '\0') return false;
   3905   return SkPdfSoundObjectDictionaryFromDictionary(dict, abr, data);
   3906 }
   3907 
   3908 bool SkPdfMapper::isMovieDictionary(const SkPdfNativeObject* nativeObj) const {
   3909   return true;
   3910 }
   3911 
   3912 bool SkPdfMapper::SkPdfMovieDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfMovieDictionary** data) const {
   3913   const SkPdfNativeObject* value = dict->get(key);
   3914   if (value == NULL) { return false; }
   3915   if (data == NULL) { return true; }
   3916   if (kNone_SkPdfNativeObjectType == mapMovieDictionary(value)) return false;
   3917   *data = (SkPdfMovieDictionary*)value;
   3918   return true;
   3919 }
   3920 
   3921 bool SkPdfMapper::SkPdfMovieDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfMovieDictionary** data) const {
   3922   if (SkPdfMovieDictionaryFromDictionary(dict, key, data)) return true;
   3923   if (abr == NULL || *abr == '\0') return false;
   3924   return SkPdfMovieDictionaryFromDictionary(dict, abr, data);
   3925 }
   3926 
   3927 bool SkPdfMapper::isMovieActivationDictionary(const SkPdfNativeObject* nativeObj) const {
   3928   return true;
   3929 }
   3930 
   3931 bool SkPdfMapper::SkPdfMovieActivationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfMovieActivationDictionary** data) const {
   3932   const SkPdfNativeObject* value = dict->get(key);
   3933   if (value == NULL) { return false; }
   3934   if (data == NULL) { return true; }
   3935   if (kNone_SkPdfNativeObjectType == mapMovieActivationDictionary(value)) return false;
   3936   *data = (SkPdfMovieActivationDictionary*)value;
   3937   return true;
   3938 }
   3939 
   3940 bool SkPdfMapper::SkPdfMovieActivationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfMovieActivationDictionary** data) const {
   3941   if (SkPdfMovieActivationDictionaryFromDictionary(dict, key, data)) return true;
   3942   if (abr == NULL || *abr == '\0') return false;
   3943   return SkPdfMovieActivationDictionaryFromDictionary(dict, abr, data);
   3944 }
   3945 
   3946 bool SkPdfMapper::isDocumentInformationDictionary(const SkPdfNativeObject* nativeObj) const {
   3947   return true;
   3948 }
   3949 
   3950 bool SkPdfMapper::SkPdfDocumentInformationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfDocumentInformationDictionary** data) const {
   3951   const SkPdfNativeObject* value = dict->get(key);
   3952   if (value == NULL) { return false; }
   3953   if (data == NULL) { return true; }
   3954   if (kNone_SkPdfNativeObjectType == mapDocumentInformationDictionary(value)) return false;
   3955   *data = (SkPdfDocumentInformationDictionary*)value;
   3956   return true;
   3957 }
   3958 
   3959 bool SkPdfMapper::SkPdfDocumentInformationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfDocumentInformationDictionary** data) const {
   3960   if (SkPdfDocumentInformationDictionaryFromDictionary(dict, key, data)) return true;
   3961   if (abr == NULL || *abr == '\0') return false;
   3962   return SkPdfDocumentInformationDictionaryFromDictionary(dict, abr, data);
   3963 }
   3964 
   3965 bool SkPdfMapper::isMetadataStreamDictionary(const SkPdfNativeObject* nativeObj) const {
   3966   return true;
   3967 }
   3968 
   3969 bool SkPdfMapper::SkPdfMetadataStreamDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfMetadataStreamDictionary** data) const {
   3970   const SkPdfNativeObject* value = dict->get(key);
   3971   if (value == NULL) { return false; }
   3972   if (data == NULL) { return true; }
   3973   if (kNone_SkPdfNativeObjectType == mapMetadataStreamDictionary(value)) return false;
   3974   *data = (SkPdfMetadataStreamDictionary*)value;
   3975   return true;
   3976 }
   3977 
   3978 bool SkPdfMapper::SkPdfMetadataStreamDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfMetadataStreamDictionary** data) const {
   3979   if (SkPdfMetadataStreamDictionaryFromDictionary(dict, key, data)) return true;
   3980   if (abr == NULL || *abr == '\0') return false;
   3981   return SkPdfMetadataStreamDictionaryFromDictionary(dict, abr, data);
   3982 }
   3983 
   3984 bool SkPdfMapper::isComponentsWithMetadataDictionary(const SkPdfNativeObject* nativeObj) const {
   3985   return true;
   3986 }
   3987 
   3988 bool SkPdfMapper::SkPdfComponentsWithMetadataDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfComponentsWithMetadataDictionary** data) const {
   3989   const SkPdfNativeObject* value = dict->get(key);
   3990   if (value == NULL) { return false; }
   3991   if (data == NULL) { return true; }
   3992   if (kNone_SkPdfNativeObjectType == mapComponentsWithMetadataDictionary(value)) return false;
   3993   *data = (SkPdfComponentsWithMetadataDictionary*)value;
   3994   return true;
   3995 }
   3996 
   3997 bool SkPdfMapper::SkPdfComponentsWithMetadataDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfComponentsWithMetadataDictionary** data) const {
   3998   if (SkPdfComponentsWithMetadataDictionaryFromDictionary(dict, key, data)) return true;
   3999   if (abr == NULL || *abr == '\0') return false;
   4000   return SkPdfComponentsWithMetadataDictionaryFromDictionary(dict, abr, data);
   4001 }
   4002 
   4003 bool SkPdfMapper::isPagePieceDictionary(const SkPdfNativeObject* nativeObj) const {
   4004   return true;
   4005 }
   4006 
   4007 bool SkPdfMapper::SkPdfPagePieceDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfPagePieceDictionary** data) const {
   4008   const SkPdfNativeObject* value = dict->get(key);
   4009   if (value == NULL) { return false; }
   4010   if (data == NULL) { return true; }
   4011   if (kNone_SkPdfNativeObjectType == mapPagePieceDictionary(value)) return false;
   4012   *data = (SkPdfPagePieceDictionary*)value;
   4013   return true;
   4014 }
   4015 
   4016 bool SkPdfMapper::SkPdfPagePieceDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfPagePieceDictionary** data) const {
   4017   if (SkPdfPagePieceDictionaryFromDictionary(dict, key, data)) return true;
   4018   if (abr == NULL || *abr == '\0') return false;
   4019   return SkPdfPagePieceDictionaryFromDictionary(dict, abr, data);
   4020 }
   4021 
   4022 bool SkPdfMapper::isApplicationDataDictionary(const SkPdfNativeObject* nativeObj) const {
   4023   return true;
   4024 }
   4025 
   4026 bool SkPdfMapper::SkPdfApplicationDataDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfApplicationDataDictionary** data) const {
   4027   const SkPdfNativeObject* value = dict->get(key);
   4028   if (value == NULL) { return false; }
   4029   if (data == NULL) { return true; }
   4030   if (kNone_SkPdfNativeObjectType == mapApplicationDataDictionary(value)) return false;
   4031   *data = (SkPdfApplicationDataDictionary*)value;
   4032   return true;
   4033 }
   4034 
   4035 bool SkPdfMapper::SkPdfApplicationDataDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfApplicationDataDictionary** data) const {
   4036   if (SkPdfApplicationDataDictionaryFromDictionary(dict, key, data)) return true;
   4037   if (abr == NULL || *abr == '\0') return false;
   4038   return SkPdfApplicationDataDictionaryFromDictionary(dict, abr, data);
   4039 }
   4040 
   4041 bool SkPdfMapper::isStructureTreeRootDictionary(const SkPdfNativeObject* nativeObj) const {
   4042   return true;
   4043 }
   4044 
   4045 bool SkPdfMapper::SkPdfStructureTreeRootDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfStructureTreeRootDictionary** data) const {
   4046   const SkPdfNativeObject* value = dict->get(key);
   4047   if (value == NULL) { return false; }
   4048   if (data == NULL) { return true; }
   4049   if (kNone_SkPdfNativeObjectType == mapStructureTreeRootDictionary(value)) return false;
   4050   *data = (SkPdfStructureTreeRootDictionary*)value;
   4051   return true;
   4052 }
   4053 
   4054 bool SkPdfMapper::SkPdfStructureTreeRootDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfStructureTreeRootDictionary** data) const {
   4055   if (SkPdfStructureTreeRootDictionaryFromDictionary(dict, key, data)) return true;
   4056   if (abr == NULL || *abr == '\0') return false;
   4057   return SkPdfStructureTreeRootDictionaryFromDictionary(dict, abr, data);
   4058 }
   4059 
   4060 bool SkPdfMapper::isStructureElementDictionary(const SkPdfNativeObject* nativeObj) const {
   4061   return true;
   4062 }
   4063 
   4064 bool SkPdfMapper::SkPdfStructureElementDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfStructureElementDictionary** data) const {
   4065   const SkPdfNativeObject* value = dict->get(key);
   4066   if (value == NULL) { return false; }
   4067   if (data == NULL) { return true; }
   4068   if (kNone_SkPdfNativeObjectType == mapStructureElementDictionary(value)) return false;
   4069   *data = (SkPdfStructureElementDictionary*)value;
   4070   return true;
   4071 }
   4072 
   4073 bool SkPdfMapper::SkPdfStructureElementDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfStructureElementDictionary** data) const {
   4074   if (SkPdfStructureElementDictionaryFromDictionary(dict, key, data)) return true;
   4075   if (abr == NULL || *abr == '\0') return false;
   4076   return SkPdfStructureElementDictionaryFromDictionary(dict, abr, data);
   4077 }
   4078 
   4079 bool SkPdfMapper::isMarkedContentReferenceDictionary(const SkPdfNativeObject* nativeObj) const {
   4080   return true;
   4081 }
   4082 
   4083 bool SkPdfMapper::SkPdfMarkedContentReferenceDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfMarkedContentReferenceDictionary** data) const {
   4084   const SkPdfNativeObject* value = dict->get(key);
   4085   if (value == NULL) { return false; }
   4086   if (data == NULL) { return true; }
   4087   if (kNone_SkPdfNativeObjectType == mapMarkedContentReferenceDictionary(value)) return false;
   4088   *data = (SkPdfMarkedContentReferenceDictionary*)value;
   4089   return true;
   4090 }
   4091 
   4092 bool SkPdfMapper::SkPdfMarkedContentReferenceDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfMarkedContentReferenceDictionary** data) const {
   4093   if (SkPdfMarkedContentReferenceDictionaryFromDictionary(dict, key, data)) return true;
   4094   if (abr == NULL || *abr == '\0') return false;
   4095   return SkPdfMarkedContentReferenceDictionaryFromDictionary(dict, abr, data);
   4096 }
   4097 
   4098 bool SkPdfMapper::isObjectReferenceDictionary(const SkPdfNativeObject* nativeObj) const {
   4099   return true;
   4100 }
   4101 
   4102 bool SkPdfMapper::SkPdfObjectReferenceDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfObjectReferenceDictionary** data) const {
   4103   const SkPdfNativeObject* value = dict->get(key);
   4104   if (value == NULL) { return false; }
   4105   if (data == NULL) { return true; }
   4106   if (kNone_SkPdfNativeObjectType == mapObjectReferenceDictionary(value)) return false;
   4107   *data = (SkPdfObjectReferenceDictionary*)value;
   4108   return true;
   4109 }
   4110 
   4111 bool SkPdfMapper::SkPdfObjectReferenceDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfObjectReferenceDictionary** data) const {
   4112   if (SkPdfObjectReferenceDictionaryFromDictionary(dict, key, data)) return true;
   4113   if (abr == NULL || *abr == '\0') return false;
   4114   return SkPdfObjectReferenceDictionaryFromDictionary(dict, abr, data);
   4115 }
   4116 
   4117 bool SkPdfMapper::isStructureElementAccessDictionary(const SkPdfNativeObject* nativeObj) const {
   4118   return true;
   4119 }
   4120 
   4121 bool SkPdfMapper::SkPdfStructureElementAccessDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfStructureElementAccessDictionary** data) const {
   4122   const SkPdfNativeObject* value = dict->get(key);
   4123   if (value == NULL) { return false; }
   4124   if (data == NULL) { return true; }
   4125   if (kNone_SkPdfNativeObjectType == mapStructureElementAccessDictionary(value)) return false;
   4126   *data = (SkPdfStructureElementAccessDictionary*)value;
   4127   return true;
   4128 }
   4129 
   4130 bool SkPdfMapper::SkPdfStructureElementAccessDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfStructureElementAccessDictionary** data) const {
   4131   if (SkPdfStructureElementAccessDictionaryFromDictionary(dict, key, data)) return true;
   4132   if (abr == NULL || *abr == '\0') return false;
   4133   return SkPdfStructureElementAccessDictionaryFromDictionary(dict, abr, data);
   4134 }
   4135 
   4136 bool SkPdfMapper::isAttributeObjectDictionary(const SkPdfNativeObject* nativeObj) const {
   4137   return true;
   4138 }
   4139 
   4140 bool SkPdfMapper::SkPdfAttributeObjectDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfAttributeObjectDictionary** data) const {
   4141   const SkPdfNativeObject* value = dict->get(key);
   4142   if (value == NULL) { return false; }
   4143   if (data == NULL) { return true; }
   4144   if (kNone_SkPdfNativeObjectType == mapAttributeObjectDictionary(value)) return false;
   4145   *data = (SkPdfAttributeObjectDictionary*)value;
   4146   return true;
   4147 }
   4148 
   4149 bool SkPdfMapper::SkPdfAttributeObjectDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfAttributeObjectDictionary** data) const {
   4150   if (SkPdfAttributeObjectDictionaryFromDictionary(dict, key, data)) return true;
   4151   if (abr == NULL || *abr == '\0') return false;
   4152   return SkPdfAttributeObjectDictionaryFromDictionary(dict, abr, data);
   4153 }
   4154 
   4155 bool SkPdfMapper::isMarkInformationDictionary(const SkPdfNativeObject* nativeObj) const {
   4156   return true;
   4157 }
   4158 
   4159 bool SkPdfMapper::SkPdfMarkInformationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfMarkInformationDictionary** data) const {
   4160   const SkPdfNativeObject* value = dict->get(key);
   4161   if (value == NULL) { return false; }
   4162   if (data == NULL) { return true; }
   4163   if (kNone_SkPdfNativeObjectType == mapMarkInformationDictionary(value)) return false;
   4164   *data = (SkPdfMarkInformationDictionary*)value;
   4165   return true;
   4166 }
   4167 
   4168 bool SkPdfMapper::SkPdfMarkInformationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfMarkInformationDictionary** data) const {
   4169   if (SkPdfMarkInformationDictionaryFromDictionary(dict, key, data)) return true;
   4170   if (abr == NULL || *abr == '\0') return false;
   4171   return SkPdfMarkInformationDictionaryFromDictionary(dict, abr, data);
   4172 }
   4173 
   4174 bool SkPdfMapper::isArtifactsDictionary(const SkPdfNativeObject* nativeObj) const {
   4175   return true;
   4176 }
   4177 
   4178 bool SkPdfMapper::SkPdfArtifactsDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfArtifactsDictionary** data) const {
   4179   const SkPdfNativeObject* value = dict->get(key);
   4180   if (value == NULL) { return false; }
   4181   if (data == NULL) { return true; }
   4182   if (kNone_SkPdfNativeObjectType == mapArtifactsDictionary(value)) return false;
   4183   *data = (SkPdfArtifactsDictionary*)value;
   4184   return true;
   4185 }
   4186 
   4187 bool SkPdfMapper::SkPdfArtifactsDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfArtifactsDictionary** data) const {
   4188   if (SkPdfArtifactsDictionaryFromDictionary(dict, key, data)) return true;
   4189   if (abr == NULL || *abr == '\0') return false;
   4190   return SkPdfArtifactsDictionaryFromDictionary(dict, abr, data);
   4191 }
   4192 
   4193 bool SkPdfMapper::isStandardStructureDictionary(const SkPdfNativeObject* nativeObj) const {
   4194   return true;
   4195 }
   4196 
   4197 bool SkPdfMapper::SkPdfStandardStructureDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfStandardStructureDictionary** data) const {
   4198   const SkPdfNativeObject* value = dict->get(key);
   4199   if (value == NULL) { return false; }
   4200   if (data == NULL) { return true; }
   4201   if (kNone_SkPdfNativeObjectType == mapStandardStructureDictionary(value)) return false;
   4202   *data = (SkPdfStandardStructureDictionary*)value;
   4203   return true;
   4204 }
   4205 
   4206 bool SkPdfMapper::SkPdfStandardStructureDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfStandardStructureDictionary** data) const {
   4207   if (SkPdfStandardStructureDictionaryFromDictionary(dict, key, data)) return true;
   4208   if (abr == NULL || *abr == '\0') return false;
   4209   return SkPdfStandardStructureDictionaryFromDictionary(dict, abr, data);
   4210 }
   4211 
   4212 bool SkPdfMapper::isBlockLevelStructureElementsDictionary(const SkPdfNativeObject* nativeObj) const {
   4213   return true;
   4214 }
   4215 
   4216 bool SkPdfMapper::SkPdfBlockLevelStructureElementsDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfBlockLevelStructureElementsDictionary** data) const {
   4217   const SkPdfNativeObject* value = dict->get(key);
   4218   if (value == NULL) { return false; }
   4219   if (data == NULL) { return true; }
   4220   if (kNone_SkPdfNativeObjectType == mapBlockLevelStructureElementsDictionary(value)) return false;
   4221   *data = (SkPdfBlockLevelStructureElementsDictionary*)value;
   4222   return true;
   4223 }
   4224 
   4225 bool SkPdfMapper::SkPdfBlockLevelStructureElementsDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfBlockLevelStructureElementsDictionary** data) const {
   4226   if (SkPdfBlockLevelStructureElementsDictionaryFromDictionary(dict, key, data)) return true;
   4227   if (abr == NULL || *abr == '\0') return false;
   4228   return SkPdfBlockLevelStructureElementsDictionaryFromDictionary(dict, abr, data);
   4229 }
   4230 
   4231 bool SkPdfMapper::isInlineLevelStructureElementsDictionary(const SkPdfNativeObject* nativeObj) const {
   4232   return true;
   4233 }
   4234 
   4235 bool SkPdfMapper::SkPdfInlineLevelStructureElementsDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfInlineLevelStructureElementsDictionary** data) const {
   4236   const SkPdfNativeObject* value = dict->get(key);
   4237   if (value == NULL) { return false; }
   4238   if (data == NULL) { return true; }
   4239   if (kNone_SkPdfNativeObjectType == mapInlineLevelStructureElementsDictionary(value)) return false;
   4240   *data = (SkPdfInlineLevelStructureElementsDictionary*)value;
   4241   return true;
   4242 }
   4243 
   4244 bool SkPdfMapper::SkPdfInlineLevelStructureElementsDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfInlineLevelStructureElementsDictionary** data) const {
   4245   if (SkPdfInlineLevelStructureElementsDictionaryFromDictionary(dict, key, data)) return true;
   4246   if (abr == NULL || *abr == '\0') return false;
   4247   return SkPdfInlineLevelStructureElementsDictionaryFromDictionary(dict, abr, data);
   4248 }
   4249 
   4250 bool SkPdfMapper::isListAttributeDictionary(const SkPdfNativeObject* nativeObj) const {
   4251   return true;
   4252 }
   4253 
   4254 bool SkPdfMapper::SkPdfListAttributeDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfListAttributeDictionary** data) const {
   4255   const SkPdfNativeObject* value = dict->get(key);
   4256   if (value == NULL) { return false; }
   4257   if (data == NULL) { return true; }
   4258   if (kNone_SkPdfNativeObjectType == mapListAttributeDictionary(value)) return false;
   4259   *data = (SkPdfListAttributeDictionary*)value;
   4260   return true;
   4261 }
   4262 
   4263 bool SkPdfMapper::SkPdfListAttributeDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfListAttributeDictionary** data) const {
   4264   if (SkPdfListAttributeDictionaryFromDictionary(dict, key, data)) return true;
   4265   if (abr == NULL || *abr == '\0') return false;
   4266   return SkPdfListAttributeDictionaryFromDictionary(dict, abr, data);
   4267 }
   4268 
   4269 bool SkPdfMapper::isTableAttributesDictionary(const SkPdfNativeObject* nativeObj) const {
   4270   return true;
   4271 }
   4272 
   4273 bool SkPdfMapper::SkPdfTableAttributesDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfTableAttributesDictionary** data) const {
   4274   const SkPdfNativeObject* value = dict->get(key);
   4275   if (value == NULL) { return false; }
   4276   if (data == NULL) { return true; }
   4277   if (kNone_SkPdfNativeObjectType == mapTableAttributesDictionary(value)) return false;
   4278   *data = (SkPdfTableAttributesDictionary*)value;
   4279   return true;
   4280 }
   4281 
   4282 bool SkPdfMapper::SkPdfTableAttributesDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfTableAttributesDictionary** data) const {
   4283   if (SkPdfTableAttributesDictionaryFromDictionary(dict, key, data)) return true;
   4284   if (abr == NULL || *abr == '\0') return false;
   4285   return SkPdfTableAttributesDictionaryFromDictionary(dict, abr, data);
   4286 }
   4287 
   4288 bool SkPdfMapper::isWebCaptureInformationDictionary(const SkPdfNativeObject* nativeObj) const {
   4289   return true;
   4290 }
   4291 
   4292 bool SkPdfMapper::SkPdfWebCaptureInformationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfWebCaptureInformationDictionary** data) const {
   4293   const SkPdfNativeObject* value = dict->get(key);
   4294   if (value == NULL) { return false; }
   4295   if (data == NULL) { return true; }
   4296   if (kNone_SkPdfNativeObjectType == mapWebCaptureInformationDictionary(value)) return false;
   4297   *data = (SkPdfWebCaptureInformationDictionary*)value;
   4298   return true;
   4299 }
   4300 
   4301 bool SkPdfMapper::SkPdfWebCaptureInformationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfWebCaptureInformationDictionary** data) const {
   4302   if (SkPdfWebCaptureInformationDictionaryFromDictionary(dict, key, data)) return true;
   4303   if (abr == NULL || *abr == '\0') return false;
   4304   return SkPdfWebCaptureInformationDictionaryFromDictionary(dict, abr, data);
   4305 }
   4306 
   4307 bool SkPdfMapper::isWebCaptureDictionary(const SkPdfNativeObject* nativeObj) const {
   4308   return true;
   4309 }
   4310 
   4311 bool SkPdfMapper::SkPdfWebCaptureDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfWebCaptureDictionary** data) const {
   4312   const SkPdfNativeObject* value = dict->get(key);
   4313   if (value == NULL) { return false; }
   4314   if (data == NULL) { return true; }
   4315   if (kNone_SkPdfNativeObjectType == mapWebCaptureDictionary(value)) return false;
   4316   *data = (SkPdfWebCaptureDictionary*)value;
   4317   return true;
   4318 }
   4319 
   4320 bool SkPdfMapper::SkPdfWebCaptureDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfWebCaptureDictionary** data) const {
   4321   if (SkPdfWebCaptureDictionaryFromDictionary(dict, key, data)) return true;
   4322   if (abr == NULL || *abr == '\0') return false;
   4323   return SkPdfWebCaptureDictionaryFromDictionary(dict, abr, data);
   4324 }
   4325 
   4326 bool SkPdfMapper::isWebCapturePageSetDictionary(const SkPdfNativeObject* nativeObj) const {
   4327   return true;
   4328 }
   4329 
   4330 bool SkPdfMapper::SkPdfWebCapturePageSetDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfWebCapturePageSetDictionary** data) const {
   4331   const SkPdfNativeObject* value = dict->get(key);
   4332   if (value == NULL) { return false; }
   4333   if (data == NULL) { return true; }
   4334   if (kNone_SkPdfNativeObjectType == mapWebCapturePageSetDictionary(value)) return false;
   4335   *data = (SkPdfWebCapturePageSetDictionary*)value;
   4336   return true;
   4337 }
   4338 
   4339 bool SkPdfMapper::SkPdfWebCapturePageSetDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfWebCapturePageSetDictionary** data) const {
   4340   if (SkPdfWebCapturePageSetDictionaryFromDictionary(dict, key, data)) return true;
   4341   if (abr == NULL || *abr == '\0') return false;
   4342   return SkPdfWebCapturePageSetDictionaryFromDictionary(dict, abr, data);
   4343 }
   4344 
   4345 bool SkPdfMapper::isWebCaptureImageSetDictionary(const SkPdfNativeObject* nativeObj) const {
   4346   return true;
   4347 }
   4348 
   4349 bool SkPdfMapper::SkPdfWebCaptureImageSetDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfWebCaptureImageSetDictionary** data) const {
   4350   const SkPdfNativeObject* value = dict->get(key);
   4351   if (value == NULL) { return false; }
   4352   if (data == NULL) { return true; }
   4353   if (kNone_SkPdfNativeObjectType == mapWebCaptureImageSetDictionary(value)) return false;
   4354   *data = (SkPdfWebCaptureImageSetDictionary*)value;
   4355   return true;
   4356 }
   4357 
   4358 bool SkPdfMapper::SkPdfWebCaptureImageSetDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfWebCaptureImageSetDictionary** data) const {
   4359   if (SkPdfWebCaptureImageSetDictionaryFromDictionary(dict, key, data)) return true;
   4360   if (abr == NULL || *abr == '\0') return false;
   4361   return SkPdfWebCaptureImageSetDictionaryFromDictionary(dict, abr, data);
   4362 }
   4363 
   4364 bool SkPdfMapper::isSourceInformationDictionary(const SkPdfNativeObject* nativeObj) const {
   4365   return true;
   4366 }
   4367 
   4368 bool SkPdfMapper::SkPdfSourceInformationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfSourceInformationDictionary** data) const {
   4369   const SkPdfNativeObject* value = dict->get(key);
   4370   if (value == NULL) { return false; }
   4371   if (data == NULL) { return true; }
   4372   if (kNone_SkPdfNativeObjectType == mapSourceInformationDictionary(value)) return false;
   4373   *data = (SkPdfSourceInformationDictionary*)value;
   4374   return true;
   4375 }
   4376 
   4377 bool SkPdfMapper::SkPdfSourceInformationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfSourceInformationDictionary** data) const {
   4378   if (SkPdfSourceInformationDictionaryFromDictionary(dict, key, data)) return true;
   4379   if (abr == NULL || *abr == '\0') return false;
   4380   return SkPdfSourceInformationDictionaryFromDictionary(dict, abr, data);
   4381 }
   4382 
   4383 bool SkPdfMapper::isURLAliasDictionary(const SkPdfNativeObject* nativeObj) const {
   4384   return true;
   4385 }
   4386 
   4387 bool SkPdfMapper::SkPdfURLAliasDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfURLAliasDictionary** data) const {
   4388   const SkPdfNativeObject* value = dict->get(key);
   4389   if (value == NULL) { return false; }
   4390   if (data == NULL) { return true; }
   4391   if (kNone_SkPdfNativeObjectType == mapURLAliasDictionary(value)) return false;
   4392   *data = (SkPdfURLAliasDictionary*)value;
   4393   return true;
   4394 }
   4395 
   4396 bool SkPdfMapper::SkPdfURLAliasDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfURLAliasDictionary** data) const {
   4397   if (SkPdfURLAliasDictionaryFromDictionary(dict, key, data)) return true;
   4398   if (abr == NULL || *abr == '\0') return false;
   4399   return SkPdfURLAliasDictionaryFromDictionary(dict, abr, data);
   4400 }
   4401 
   4402 bool SkPdfMapper::isWebCaptureCommandDictionary(const SkPdfNativeObject* nativeObj) const {
   4403   return true;
   4404 }
   4405 
   4406 bool SkPdfMapper::SkPdfWebCaptureCommandDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfWebCaptureCommandDictionary** data) const {
   4407   const SkPdfNativeObject* value = dict->get(key);
   4408   if (value == NULL) { return false; }
   4409   if (data == NULL) { return true; }
   4410   if (kNone_SkPdfNativeObjectType == mapWebCaptureCommandDictionary(value)) return false;
   4411   *data = (SkPdfWebCaptureCommandDictionary*)value;
   4412   return true;
   4413 }
   4414 
   4415 bool SkPdfMapper::SkPdfWebCaptureCommandDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfWebCaptureCommandDictionary** data) const {
   4416   if (SkPdfWebCaptureCommandDictionaryFromDictionary(dict, key, data)) return true;
   4417   if (abr == NULL || *abr == '\0') return false;
   4418   return SkPdfWebCaptureCommandDictionaryFromDictionary(dict, abr, data);
   4419 }
   4420 
   4421 bool SkPdfMapper::isWebCaptureCommandSettingsDictionary(const SkPdfNativeObject* nativeObj) const {
   4422   return true;
   4423 }
   4424 
   4425 bool SkPdfMapper::SkPdfWebCaptureCommandSettingsDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfWebCaptureCommandSettingsDictionary** data) const {
   4426   const SkPdfNativeObject* value = dict->get(key);
   4427   if (value == NULL) { return false; }
   4428   if (data == NULL) { return true; }
   4429   if (kNone_SkPdfNativeObjectType == mapWebCaptureCommandSettingsDictionary(value)) return false;
   4430   *data = (SkPdfWebCaptureCommandSettingsDictionary*)value;
   4431   return true;
   4432 }
   4433 
   4434 bool SkPdfMapper::SkPdfWebCaptureCommandSettingsDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfWebCaptureCommandSettingsDictionary** data) const {
   4435   if (SkPdfWebCaptureCommandSettingsDictionaryFromDictionary(dict, key, data)) return true;
   4436   if (abr == NULL || *abr == '\0') return false;
   4437   return SkPdfWebCaptureCommandSettingsDictionaryFromDictionary(dict, abr, data);
   4438 }
   4439 
   4440 bool SkPdfMapper::isBoxColorInformationDictionary(const SkPdfNativeObject* nativeObj) const {
   4441   return true;
   4442 }
   4443 
   4444 bool SkPdfMapper::SkPdfBoxColorInformationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfBoxColorInformationDictionary** data) const {
   4445   const SkPdfNativeObject* value = dict->get(key);
   4446   if (value == NULL) { return false; }
   4447   if (data == NULL) { return true; }
   4448   if (kNone_SkPdfNativeObjectType == mapBoxColorInformationDictionary(value)) return false;
   4449   *data = (SkPdfBoxColorInformationDictionary*)value;
   4450   return true;
   4451 }
   4452 
   4453 bool SkPdfMapper::SkPdfBoxColorInformationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfBoxColorInformationDictionary** data) const {
   4454   if (SkPdfBoxColorInformationDictionaryFromDictionary(dict, key, data)) return true;
   4455   if (abr == NULL || *abr == '\0') return false;
   4456   return SkPdfBoxColorInformationDictionaryFromDictionary(dict, abr, data);
   4457 }
   4458 
   4459 bool SkPdfMapper::isBoxStyleDictionary(const SkPdfNativeObject* nativeObj) const {
   4460   return true;
   4461 }
   4462 
   4463 bool SkPdfMapper::SkPdfBoxStyleDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfBoxStyleDictionary** data) const {
   4464   const SkPdfNativeObject* value = dict->get(key);
   4465   if (value == NULL) { return false; }
   4466   if (data == NULL) { return true; }
   4467   if (kNone_SkPdfNativeObjectType == mapBoxStyleDictionary(value)) return false;
   4468   *data = (SkPdfBoxStyleDictionary*)value;
   4469   return true;
   4470 }
   4471 
   4472 bool SkPdfMapper::SkPdfBoxStyleDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfBoxStyleDictionary** data) const {
   4473   if (SkPdfBoxStyleDictionaryFromDictionary(dict, key, data)) return true;
   4474   if (abr == NULL || *abr == '\0') return false;
   4475   return SkPdfBoxStyleDictionaryFromDictionary(dict, abr, data);
   4476 }
   4477 
   4478 bool SkPdfMapper::isPrinterMarkAnnotationDictionary(const SkPdfNativeObject* nativeObj) const {
   4479   return true;
   4480 }
   4481 
   4482 bool SkPdfMapper::SkPdfPrinterMarkAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfPrinterMarkAnnotationDictionary** data) const {
   4483   const SkPdfNativeObject* value = dict->get(key);
   4484   if (value == NULL) { return false; }
   4485   if (data == NULL) { return true; }
   4486   if (kNone_SkPdfNativeObjectType == mapPrinterMarkAnnotationDictionary(value)) return false;
   4487   *data = (SkPdfPrinterMarkAnnotationDictionary*)value;
   4488   return true;
   4489 }
   4490 
   4491 bool SkPdfMapper::SkPdfPrinterMarkAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfPrinterMarkAnnotationDictionary** data) const {
   4492   if (SkPdfPrinterMarkAnnotationDictionaryFromDictionary(dict, key, data)) return true;
   4493   if (abr == NULL || *abr == '\0') return false;
   4494   return SkPdfPrinterMarkAnnotationDictionaryFromDictionary(dict, abr, data);
   4495 }
   4496 
   4497 bool SkPdfMapper::isPrinterMarkFormDictionary(const SkPdfNativeObject* nativeObj) const {
   4498   return true;
   4499 }
   4500 
   4501 bool SkPdfMapper::SkPdfPrinterMarkFormDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfPrinterMarkFormDictionary** data) const {
   4502   const SkPdfNativeObject* value = dict->get(key);
   4503   if (value == NULL) { return false; }
   4504   if (data == NULL) { return true; }
   4505   if (kNone_SkPdfNativeObjectType == mapPrinterMarkFormDictionary(value)) return false;
   4506   *data = (SkPdfPrinterMarkFormDictionary*)value;
   4507   return true;
   4508 }
   4509 
   4510 bool SkPdfMapper::SkPdfPrinterMarkFormDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfPrinterMarkFormDictionary** data) const {
   4511   if (SkPdfPrinterMarkFormDictionaryFromDictionary(dict, key, data)) return true;
   4512   if (abr == NULL || *abr == '\0') return false;
   4513   return SkPdfPrinterMarkFormDictionaryFromDictionary(dict, abr, data);
   4514 }
   4515 
   4516 bool SkPdfMapper::isSeparationDictionary(const SkPdfNativeObject* nativeObj) const {
   4517   return true;
   4518 }
   4519 
   4520 bool SkPdfMapper::SkPdfSeparationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfSeparationDictionary** data) const {
   4521   const SkPdfNativeObject* value = dict->get(key);
   4522   if (value == NULL) { return false; }
   4523   if (data == NULL) { return true; }
   4524   if (kNone_SkPdfNativeObjectType == mapSeparationDictionary(value)) return false;
   4525   *data = (SkPdfSeparationDictionary*)value;
   4526   return true;
   4527 }
   4528 
   4529 bool SkPdfMapper::SkPdfSeparationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfSeparationDictionary** data) const {
   4530   if (SkPdfSeparationDictionaryFromDictionary(dict, key, data)) return true;
   4531   if (abr == NULL || *abr == '\0') return false;
   4532   return SkPdfSeparationDictionaryFromDictionary(dict, abr, data);
   4533 }
   4534 
   4535 bool SkPdfMapper::isPDF_XOutputIntentDictionary(const SkPdfNativeObject* nativeObj) const {
   4536   return true;
   4537 }
   4538 
   4539 bool SkPdfMapper::SkPdfPDF_XOutputIntentDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfPDF_XOutputIntentDictionary** data) const {
   4540   const SkPdfNativeObject* value = dict->get(key);
   4541   if (value == NULL) { return false; }
   4542   if (data == NULL) { return true; }
   4543   if (kNone_SkPdfNativeObjectType == mapPDF_XOutputIntentDictionary(value)) return false;
   4544   *data = (SkPdfPDF_XOutputIntentDictionary*)value;
   4545   return true;
   4546 }
   4547 
   4548 bool SkPdfMapper::SkPdfPDF_XOutputIntentDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfPDF_XOutputIntentDictionary** data) const {
   4549   if (SkPdfPDF_XOutputIntentDictionaryFromDictionary(dict, key, data)) return true;
   4550   if (abr == NULL || *abr == '\0') return false;
   4551   return SkPdfPDF_XOutputIntentDictionaryFromDictionary(dict, abr, data);
   4552 }
   4553 
   4554 bool SkPdfMapper::isTrapNetworkAnnotationDictionary(const SkPdfNativeObject* nativeObj) const {
   4555   return true;
   4556 }
   4557 
   4558 bool SkPdfMapper::SkPdfTrapNetworkAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfTrapNetworkAnnotationDictionary** data) const {
   4559   const SkPdfNativeObject* value = dict->get(key);
   4560   if (value == NULL) { return false; }
   4561   if (data == NULL) { return true; }
   4562   if (kNone_SkPdfNativeObjectType == mapTrapNetworkAnnotationDictionary(value)) return false;
   4563   *data = (SkPdfTrapNetworkAnnotationDictionary*)value;
   4564   return true;
   4565 }
   4566 
   4567 bool SkPdfMapper::SkPdfTrapNetworkAnnotationDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfTrapNetworkAnnotationDictionary** data) const {
   4568   if (SkPdfTrapNetworkAnnotationDictionaryFromDictionary(dict, key, data)) return true;
   4569   if (abr == NULL || *abr == '\0') return false;
   4570   return SkPdfTrapNetworkAnnotationDictionaryFromDictionary(dict, abr, data);
   4571 }
   4572 
   4573 bool SkPdfMapper::isTrapNetworkAppearanceStreamDictionary(const SkPdfNativeObject* nativeObj) const {
   4574   return true;
   4575 }
   4576 
   4577 bool SkPdfMapper::SkPdfTrapNetworkAppearanceStreamDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfTrapNetworkAppearanceStreamDictionary** data) const {
   4578   const SkPdfNativeObject* value = dict->get(key);
   4579   if (value == NULL) { return false; }
   4580   if (data == NULL) { return true; }
   4581   if (kNone_SkPdfNativeObjectType == mapTrapNetworkAppearanceStreamDictionary(value)) return false;
   4582   *data = (SkPdfTrapNetworkAppearanceStreamDictionary*)value;
   4583   return true;
   4584 }
   4585 
   4586 bool SkPdfMapper::SkPdfTrapNetworkAppearanceStreamDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfTrapNetworkAppearanceStreamDictionary** data) const {
   4587   if (SkPdfTrapNetworkAppearanceStreamDictionaryFromDictionary(dict, key, data)) return true;
   4588   if (abr == NULL || *abr == '\0') return false;
   4589   return SkPdfTrapNetworkAppearanceStreamDictionaryFromDictionary(dict, abr, data);
   4590 }
   4591 
   4592 bool SkPdfMapper::isOpiVersionDictionary(const SkPdfNativeObject* nativeObj) const {
   4593   return true;
   4594 }
   4595 
   4596 bool SkPdfMapper::SkPdfOpiVersionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfOpiVersionDictionary** data) const {
   4597   const SkPdfNativeObject* value = dict->get(key);
   4598   if (value == NULL) { return false; }
   4599   if (data == NULL) { return true; }
   4600   if (kNone_SkPdfNativeObjectType == mapOpiVersionDictionary(value)) return false;
   4601   *data = (SkPdfOpiVersionDictionary*)value;
   4602   return true;
   4603 }
   4604 
   4605 bool SkPdfMapper::SkPdfOpiVersionDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfOpiVersionDictionary** data) const {
   4606   if (SkPdfOpiVersionDictionaryFromDictionary(dict, key, data)) return true;
   4607   if (abr == NULL || *abr == '\0') return false;
   4608   return SkPdfOpiVersionDictionaryFromDictionary(dict, abr, data);
   4609 }
   4610 
   4611 bool SkPdfMapper::isMultiMasterFontDictionary(const SkPdfNativeObject* nativeObj) const {
   4612   const SkPdfNativeObject* ret = NULL;
   4613   if (!nativeObj->isDictionary()) return false;
   4614   ret = nativeObj->get("Subtype", "");
   4615   if (ret == NULL || !ret->isName()) return false;
   4616   if ((ret->nameValue2() != "MMType1")) return false;
   4617 
   4618   return true;
   4619 }
   4620 
   4621 bool SkPdfMapper::SkPdfMultiMasterFontDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, SkPdfMultiMasterFontDictionary** data) const {
   4622   const SkPdfNativeObject* value = dict->get(key);
   4623   if (value == NULL) { return false; }
   4624   if (data == NULL) { return true; }
   4625   if (kNone_SkPdfNativeObjectType == mapMultiMasterFontDictionary(value)) return false;
   4626   *data = (SkPdfMultiMasterFontDictionary*)value;
   4627   return true;
   4628 }
   4629 
   4630 bool SkPdfMapper::SkPdfMultiMasterFontDictionaryFromDictionary(const SkPdfNativeObject* dict, const char* key, const char* abr, SkPdfMultiMasterFontDictionary** data) const {
   4631   if (SkPdfMultiMasterFontDictionaryFromDictionary(dict, key, data)) return true;
   4632   if (abr == NULL || *abr == '\0') return false;
   4633   return SkPdfMultiMasterFontDictionaryFromDictionary(dict, abr, data);
   4634 }
   4635