'use strict';
// Checking if the typed arrays are supported
-(function() {
+(function checkTypedArrayCompatibility() {
if (typeof Uint8Array !== 'undefined')
return;
return this.slice(start, end);
}
- function set_function(array, offset) {
+ function setArrayOffset(array, offset) {
if (arguments.length < 2)
offset = 0;
for (var i = 0, n = array.length; i < n; ++i, ++offset)
result.subarray = subarray;
result.buffer = result;
result.byteLength = result.length;
- result.set = set_function;
+ result.set = setArrayOffset;
if (typeof arg1 === 'object' && arg1.buffer)
result.buffer = arg1.buffer;
})();
// Object.create() ?
-(function() {
+(function checkObjectCreateCompatibility() {
if (typeof Object.create !== 'undefined')
return;
- Object.create = function(proto) {
- var constructor = function() {};
+ Object.create = function objectCreate(proto) {
+ var constructor = function objectCreateConstructor() {};
constructor.prototype = proto;
return new constructor();
};
})();
// Object.defineProperty() ?
-(function() {
+(function checkObjectDefinePropertyCompatibility() {
if (typeof Object.defineProperty !== 'undefined')
return;
- Object.defineProperty = function(obj, name, def) {
+ Object.defineProperty = function objectDefineProperty(obj, name, def) {
delete obj[name];
if ('get' in def)
obj.__defineGetter__(name, def['get']);
if ('set' in def)
obj.__defineSetter__(name, def['set']);
if ('value' in def) {
- obj.__defineSetter__(name, function(value) {
- this.__defineGetter__(name, function() {
+ obj.__defineSetter__(name, function objectDefinePropertySetter(value) {
+ this.__defineGetter__(name, function objectDefinePropertyGetter() {
return value;
});
return value;
})();
// No XMLHttpRequest.response ?
-(function() {
+(function checkXMLHttpRequestResponseCompatibility() {
var xhrPrototype = XMLHttpRequest.prototype;
if ('response' in xhrPrototype ||
'mozResponseArrayBuffer' in xhrPrototype ||
// IE ?
if (typeof VBArray !== 'undefined') {
Object.defineProperty(xhrPrototype, 'response', {
- get: function() {
+ get: function xmlHttpRequestResponseGet() {
return new Uint8Array(new VBArray(this.responseBody).toArray());
}
});
})();
// window.btoa (base64 encode function) ?
-(function() {
+(function checkWindowBtoaCompatibility() {
if ('btoa' in window)
return;
var digits =
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
- window.btoa = function(chars) {
+ window.btoa = function windowBtoa(chars) {
var buffer = '';
var i, n;
for (i = 0, n = chars.length; i < n; i += 3) {
})();
// Function.prototype.bind ?
-(function() {
+(function checkFunctionPrototypeBindCompatibility() {
if (typeof Function.prototype.bind !== 'undefined')
return;
- Function.prototype.bind = function(obj) {
+ Function.prototype.bind = function functionPrototypeBind(obj) {
var fn = this, headArgs = Array.prototype.slice.call(arguments, 1);
- var bound = function() {
+ var bound = function functionPrototypeBindBound() {
var args = Array.prototype.concat.apply(headArgs, arguments);
return fn.apply(obj, args);
};
})();
// IE9 text/html data URI
-(function() {
+(function checkDocumentDocumentModeCompatibility() {
if (document.documentMode !== 9)
return;
// overriding the src property
var originalSrcDescriptor = Object.getOwnPropertyDescriptor(
HTMLIFrameElement.prototype, 'src');
Object.defineProperty(HTMLIFrameElement.prototype, 'src', {
- get: function() { return this.$src; },
- set: function(src) {
+ get: function htmlIFrameElementPrototypeSrcGet() { return this.$src; },
+ set: function htmlIFrameElementPrototypeSrcSet(src) {
this.$src = src;
if (src.substr(0, 14) != 'data:text/html') {
originalSrcDescriptor.set.call(this, src);
// for text/html, using blank document and then
// document's open, write, and close operations
originalSrcDescriptor.set.call(this, 'about:blank');
- setTimeout((function() {
+ setTimeout((function htmlIFrameElementPrototypeSrcOpenWriteClose() {
var doc = this.contentDocument;
doc.open('text/html');
doc.write(src.substr(src.indexOf(',') + 1));
enumerable: true
});
})();
+
var kMaxScale = 4.0;
-var Cache = function(size) {
+var Cache = function cacheCache(size) {
var data = [];
- this.push = function(view) {
+ this.push = function cachePush(view) {
data.push(view);
if (data.length > size)
data.shift().update();
currentScale: kDefaultScale,
initialBookmark: document.location.hash.substring(1),
- setScale: function(val, resetAutoSettings) {
+ setScale: function pdfViewSetScale(val, resetAutoSettings) {
var pages = this.pages;
for (var i = 0; i < pages.length; i++)
pages[i].update(val * kCssUnits);
window.dispatchEvent(event);
},
- parseScale: function(value, resetAutoSettings) {
+ parseScale: function pdfViewParseScale(value, resetAutoSettings) {
if ('custom' == value)
return;
}
},
- zoomIn: function() {
+ zoomIn: function pdfViewZoomIn() {
var newScale = Math.min(kMaxScale, this.currentScale * kDefaultScaleDelta);
this.setScale(newScale, true);
},
- zoomOut: function() {
+ zoomOut: function pdfViewZoomOut() {
var newScale = Math.max(kMinScale, this.currentScale / kDefaultScaleDelta);
this.setScale(newScale, true);
},
return currentPageNumber;
},
- open: function(url, scale) {
+ open: function pdfViewOpen(url, scale) {
if (url.indexOf('http') == 0)
return;
});
},
- navigateTo: function(dest) {
+ navigateTo: function pdfViewNavigateTo(dest) {
if (typeof dest === 'string')
dest = this.destinations[dest];
if (!(dest instanceof Array))
}
},
- getDestinationHash: function(dest) {
+ getDestinationHash: function pdfViewGetDestinationHash(dest) {
if (typeof dest === 'string')
return '#' + escape(dest);
if (dest instanceof Array) {
return '';
},
- error: function() {
+ error: function pdfViewError() {
var loadingIndicator = document.getElementById('loading');
loadingIndicator.innerHTML = 'Error';
},
- progress: function(level) {
+ progress: function pdfViewProgress(level) {
var percent = Math.round(level * 100);
var loadingIndicator = document.getElementById('loading');
loadingIndicator.innerHTML = 'Loading... ' + percent + '%';
},
- load: function(data, scale) {
+ load: function pdfViewLoad(data, scale) {
var loadingIndicator = document.getElementById('loading');
loadingIndicator.style.display = 'none';
this.page = 1;
},
- setHash: function(hash) {
+ setHash: function pdfViewSetHash(hash) {
if (!hash)
return;
PDFView.navigateTo(unescape(hash));
},
- switchSidebarView: function(view) {
+ switchSidebarView: function pdfViewSwitchSidebarView(view) {
var thumbsScrollView = document.getElementById('sidebarScrollView');
var outlineScrollView = document.getElementById('outlineScrollView');
var thumbsSwitchButton = document.getElementById('thumbsSwitch');
}
},
- getVisiblePages: function() {
+ getVisiblePages: function pdfViewGetVisiblePages() {
var pages = this.pages;
var kBottomMargin = 10;
var visiblePages = [];
}
};
-var PageView = function(container, content, id, pageWidth, pageHeight,
- stats, navigateTo) {
+var PageView = function pageView(container, content, id, pageWidth, pageHeight,
+ stats, navigateTo) {
this.id = id;
this.content = content;
container.appendChild(anchor);
container.appendChild(div);
- this.update = function(scale) {
+ this.update = function pageViewUpdate(scale) {
this.scale = scale || this.scale;
div.style.width = (this.width * this.scale) + 'px';
div.style.height = (this.height * this.scale) + 'px';
function setupLinks(content, scale) {
function bindLink(link, dest) {
link.href = PDFView.getDestinationHash(dest);
- link.onclick = function() {
+ link.onclick = function pageViewSetupLinksOnclick() {
if (dest)
PDFView.navigateTo(dest);
return false;
}
}
- this.scrollIntoView = function(dest) {
+ this.scrollIntoView = function pageViewScrollIntoView(dest) {
if (!dest) {
div.scrollIntoView(true);
return;
if (scale)
PDFView.setScale(scale, true);
- setTimeout(function() {
+ setTimeout(function pageViewScrollIntoViewRelayout() {
// letting page to re-layout before scrolling
var scale = PDFView.currentScale;
var x = Math.min(boundingRect[0].x, boundingRect[1].x);
}, 0);
};
- this.draw = function() {
+ this.draw = function pageviewDraw() {
if (div.hasChildNodes()) {
this.updateStats();
return false;
return true;
};
- this.updateStats = function() {
+ this.updateStats = function pageViewUpdateStats() {
var t1 = stats.compile, t2 = stats.fonts, t3 = stats.render;
var str = 'Time to compile/fonts/render: ' +
(t1 - stats.begin) + '/' + (t2 - t1) + '/' + (t3 - t2) + ' ms';
};
};
-var ThumbnailView = function(container, page, id, pageRatio) {
+var ThumbnailView = function thumbnailView(container, page, id, pageRatio) {
var anchor = document.createElement('a');
anchor.href = '#' + id;
anchor.onclick = function stopNivigation() {
anchor.appendChild(div);
container.appendChild(anchor);
- this.draw = function() {
+ this.draw = function thumbnailViewDraw() {
if (div.hasChildNodes())
return;
div.style.height = (view.height * scaleY) + 'px';
div.style.lineHeight = (view.height * scaleY) + 'px';
- page.startRendering(ctx, function() { });
+ page.startRendering(ctx, function thumbnailViewDrawStartRendering() {});
};
};
-var DocumentOutlineView = function(outline) {
+var DocumentOutlineView = function documentOutlineView(outline) {
var outlineView = document.getElementById('outlineView');
function bindItemLink(domObj, item) {
domObj.href = PDFView.getDestinationHash(item.dest);
- domObj.onclick = function(e) {
+ domObj.onclick = function documentOutlineViewOnclick(e) {
PDFView.navigateTo(item.dest);
return false;
};
}
};
-window.addEventListener('load', function(evt) {
+window.addEventListener('load', function webViewerLoad(evt) {
var params = document.location.search.substring(1).split('&');
for (var i = 0; i < params.length; i++) {
var param = params[i].split('=');
document.getElementById('fileInput').value = null;
}, true);
-window.addEventListener('pdfload', function(evt) {
+window.addEventListener('pdfload', function webViewerPdfload(evt) {
PDFView.load(evt.detail);
}, true);
-window.addEventListener('pdfprogress', function(evt) {
+window.addEventListener('pdfprogress', function webViewerPdfProgress(evt) {
PDFView.progress(evt.detail);
}, true);
-window.addEventListener('pdferror', function(evt) {
+window.addEventListener('pdferror', function webViewerPdfError(evt) {
PDFView.error();
}, true);
PDFView.page = firstPage.id;
}
-window.addEventListener('scroll', function onscroll(evt) {
+window.addEventListener('scroll', function webViewerScroll(evt) {
updateViewarea();
}, true);
-window.addEventListener('resize', function onscroll(evt) {
+window.addEventListener('resize', function webViewerResize(evt) {
if (document.getElementById('pageWidthOption').selected ||
document.getElementById('pageFitOption').selected)
PDFView.parseScale(document.getElementById('scaleSelect').value);
updateViewarea();
});
-window.addEventListener('hashchange', function(evt) {
+window.addEventListener('hashchange', function webViewerHashchange(evt) {
PDFView.setHash(document.location.hash.substring(1));
});
-window.addEventListener('change', function(evt) {
+window.addEventListener('change', function webViewerChange(evt) {
var files = evt.target.files;
if (!files || files.length == 0)
return;
// Read the local file into a Uint8Array.
var fileReader = new FileReader();
- fileReader.onload = function(evt) {
+ fileReader.onload = function webViewerChangeFileReaderOnload(evt) {
var data = evt.target.result;
var buffer = new ArrayBuffer(data.length);
var uint8Array = new Uint8Array(buffer);
document.title = file.name;
}, true);
-window.addEventListener('transitionend', function(evt) {
+window.addEventListener('transitionend', function webViewerTransitionend(evt) {
var pageIndex = 0;
var pagesCount = PDFView.pages.length;