]> git.parisson.com Git - pdf.js.git/commitdiff
refactor and shadow
authorSaebekassebil <saebekassebil@gmail.com>
Mon, 26 Mar 2012 22:05:14 +0000 (00:05 +0200)
committerSaebekassebil <saebekassebil@gmail.com>
Mon, 26 Mar 2012 22:05:14 +0000 (00:05 +0200)
src/obj.js

index 21f20c3fb9198069e4dd76eef4707b29bc743149..2eb9c6f1d63589ca4f0384861c8f60461eaa7801 100644 (file)
@@ -113,24 +113,19 @@ var Catalog = (function CatalogClosure() {
   Catalog.prototype = {
     get metadata() {
       var ref = this.catDict.get('Metadata');
-      if (!ref) {
-        return null;
-      }
-
-      var stream = this.xref.fetch(ref);
-      var dict = stream.dict;
-      if (isDict(dict)) {
-        var type = dict.get('Type');
-        var subtype = dict.get('Subtype');
+      var stream = this.xref.fetchIfRef(ref);
+      var metadata;
+      if (stream && isDict(stream.dict)) {
+        var type = stream.dict.get('Type');
+        var subtype = stream.dict.get('Subtype');
 
         if (isName(type) && isName(subtype) &&
             type.name === 'Metadata' && subtype.name === 'XML') {
-          var metadata = stringToPDFString(bytesToString(stream.getBytes()));
-          return metadata;
+          metadata = stringToPDFString(bytesToString(stream.getBytes()));
         }
       }
 
-      return null;
+      return shadow(this, 'metadata', metadata);
     },
     get toplevelPagesDict() {
       var pagesObj = this.catDict.get('Pages');