diff --git a/web/default_preferences.js b/web/default_preferences.js index 8ef7ad90c..77b82cf5c 100644 --- a/web/default_preferences.js +++ b/web/default_preferences.js @@ -22,5 +22,6 @@ var DEFAULT_PREFERENCES = { showPreviousViewOnLoad: true, defaultZoomValue: '', ifAvailableShowOutlineOnLoad: false, - enableHandToolOnLoad: false + enableHandToolOnLoad: false, + enableWebGL: false }; diff --git a/web/viewer.js b/web/viewer.js index 5b4d92cdd..32df03377 100644 --- a/web/viewer.js +++ b/web/viewer.js @@ -216,10 +216,20 @@ var PDFView = { pageCountField: document.getElementById('pageCountField') }); - this.initialized = true; container.addEventListener('scroll', function() { self.lastScroll = Date.now(); }, false); + + var initializedPromise = Promise.all([ + Preferences.get('enableWebGL').then(function (value) { + PDFJS.disableWebGL = !value; + }) + // TODO move more preferences and other async stuff here + ]); + + return initializedPromise.then(function () { + PDFView.initialized = true; + }); }, getPage: function pdfViewGetPage(n) { @@ -1652,8 +1662,10 @@ var DocumentOutlineView = function documentOutlineView(outline) { //#endif function webViewerLoad(evt) { - PDFView.initialize(); + PDFView.initialize().then(webViewerInitialized); +} +function webViewerInitialized() { //#if (GENERIC || B2G) var params = PDFView.parseQueryString(document.location.search.substring(1)); var file = 'file' in params ? params.file : DEFAULT_URL;