[Pkg-javascript-commits] [pdf.js] 71/210: Remove LegacyPromise in src/core/pdf_manager.js
David Prévot
taffit at moszumanska.debian.org
Thu Jun 5 14:21:02 UTC 2014
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch upstream
in repository pdf.js.
commit caad87eba5bfb05a22d0b745d86f2654ce36fa0b
Author: Jonas Jenwald <jonas.jenwald at gmail.com>
Date: Thu May 1 23:36:06 2014 +0200
Remove LegacyPromise in src/core/pdf_manager.js
---
src/core/pdf_manager.js | 96 +++++++++++++++++++++++--------------------------
1 file changed, 45 insertions(+), 51 deletions(-)
diff --git a/src/core/pdf_manager.js b/src/core/pdf_manager.js
index 7c65a06..904670c 100644
--- a/src/core/pdf_manager.js
+++ b/src/core/pdf_manager.js
@@ -15,7 +15,7 @@
* limitations under the License.
*/
/* globals NotImplementedException, MissingDataException, Promise, Stream,
- PDFDocument, ChunkedStreamManager, LegacyPromise */
+ PDFDocument, ChunkedStreamManager, createPromiseCapability */
'use strict';
@@ -84,8 +84,8 @@ var LocalPdfManager = (function LocalPdfManagerClosure() {
function LocalPdfManager(data, password) {
var stream = new Stream(data);
this.pdfDocument = new PDFDocument(this, stream, password);
- this.loadedStream = new LegacyPromise();
- this.loadedStream.resolve(stream);
+ this._loadedStreamCapability = createPromiseCapability();
+ this._loadedStreamCapability.resolve(stream);
}
LocalPdfManager.prototype = Object.create(BasePdfManager.prototype);
@@ -93,28 +93,25 @@ var LocalPdfManager = (function LocalPdfManagerClosure() {
LocalPdfManager.prototype.ensure =
function LocalPdfManager_ensure(obj, prop, args) {
- var promise = new LegacyPromise();
- try {
- var value = obj[prop];
- var result;
- if (typeof(value) === 'function') {
- result = value.apply(obj, args);
- } else {
- result = value;
+ return new Promise(function (resolve, reject) {
+ try {
+ var value = obj[prop];
+ var result;
+ if (typeof value === 'function') {
+ result = value.apply(obj, args);
+ } else {
+ result = value;
+ }
+ resolve(result);
+ } catch (e) {
+ reject(e);
}
- promise.resolve(result);
- } catch (e) {
- console.log(e.stack);
- promise.reject(e);
- }
- return promise;
+ });
};
LocalPdfManager.prototype.requestRange =
function LocalPdfManager_requestRange(begin, end) {
- var promise = new LegacyPromise();
- promise.resolve();
- return promise;
+ return Promise.resolve();
};
LocalPdfManager.prototype.requestLoadedStream =
@@ -123,7 +120,7 @@ var LocalPdfManager = (function LocalPdfManagerClosure() {
LocalPdfManager.prototype.onLoadedStream =
function LocalPdfManager_getLoadedStream() {
- return this.loadedStream;
+ return this._loadedStreamCapability.promise;
};
LocalPdfManager.prototype.terminate =
@@ -159,42 +156,39 @@ var NetworkPdfManager = (function NetworkPdfManagerClosure() {
NetworkPdfManager.prototype.ensure =
function NetworkPdfManager_ensure(obj, prop, args) {
- var promise = new LegacyPromise();
- this.ensureHelper(promise, obj, prop, args);
- return promise;
- };
-
- NetworkPdfManager.prototype.ensureHelper =
- function NetworkPdfManager_ensureHelper(promise, obj, prop, args) {
- try {
- var result;
- var value = obj[prop];
- if (typeof(value) === 'function') {
- result = value.apply(obj, args);
- } else {
- result = value;
- }
- promise.resolve(result);
- } catch(e) {
- if (!(e instanceof MissingDataException)) {
- console.log(e.stack);
- promise.reject(e);
- return;
+ var pdfManager = this;
+
+ return new Promise(function (resolve, reject) {
+ function ensureHelper() {
+ try {
+ var result;
+ var value = obj[prop];
+ if (typeof value === 'function') {
+ result = value.apply(obj, args);
+ } else {
+ result = value;
+ }
+ resolve(result);
+ } catch(e) {
+ if (!(e instanceof MissingDataException)) {
+ reject(e);
+ return;
+ }
+ pdfManager.streamManager.requestRange(e.begin, e.end, ensureHelper);
+ }
}
- this.streamManager.requestRange(e.begin, e.end, function() {
- this.ensureHelper(promise, obj, prop, args);
- }.bind(this));
- }
+ ensureHelper();
+ });
};
NetworkPdfManager.prototype.requestRange =
function NetworkPdfManager_requestRange(begin, end) {
- var promise = new LegacyPromise();
- this.streamManager.requestRange(begin, end, function() {
- promise.resolve();
- });
- return promise;
+ return new Promise(function (resolve) {
+ this.streamManager.requestRange(begin, end, function() {
+ resolve();
+ });
+ }.bind(this));
};
NetworkPdfManager.prototype.requestLoadedStream =
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/pdf.js.git
More information about the Pkg-javascript-commits
mailing list