refactor and shadow

This commit is contained in:
Saebekassebil 2012-03-27 00:05:14 +02:00
parent 878854f7cf
commit 94a1558843

View File

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