diff --git a/web/default_preferences.js b/web/default_preferences.js
deleted file mode 100644
index b8fed8c18..000000000
--- a/web/default_preferences.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright 2013 Mozilla Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-var DEFAULT_PREFERENCES;
-
-(function defaultPreferencesLoaderWrapper() {
- function loaded() {
- try {
- DEFAULT_PREFERENCES = JSON.parse(xhr.responseText);
- } catch (e) {
- console.error('Unable to load DEFAULT_PREFERENCES: ' + e);
- DEFAULT_PREFERENCES = {};
- }
- var event = document.createEvent('CustomEvent');
- event.initCustomEvent('defaultpreferencesloaded', true, true, null);
- document.dispatchEvent(event);
- }
- var xhr = new XMLHttpRequest();
- xhr.open('GET', 'default_preferences.json');
- xhr.onload = xhr.onerror = loaded;
- xhr.send();
-})();
diff --git a/web/preferences.js b/web/preferences.js
index 49907315e..471808fd8 100644
--- a/web/preferences.js
+++ b/web/preferences.js
@@ -12,7 +12,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-/* globals DEFAULT_PREFERENCES */
'use strict';
@@ -26,21 +25,29 @@
}
}(this, function (exports) {
-var defaultPreferences;
-if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('PRODUCTION')) {
- defaultPreferences = Promise.resolve(
- PDFJSDev.json('$ROOT/web/default_preferences.json'));
-} else {
- defaultPreferences = new Promise(function (resolve) {
- if (DEFAULT_PREFERENCES) {
- resolve(DEFAULT_PREFERENCES);
- return;
+var defaultPreferences = null;
+function getDefaultPreferences() {
+ if (!defaultPreferences) {
+ if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('PRODUCTION')) {
+ defaultPreferences = Promise.resolve(
+ PDFJSDev.json('$ROOT/web/default_preferences.json'));
+ } else {
+ defaultPreferences = new Promise(function (resolve) {
+ var xhr = new XMLHttpRequest();
+ xhr.open('GET', 'default_preferences.json');
+ xhr.onload = xhr.onerror = function loaded() {
+ try {
+ resolve(JSON.parse(xhr.responseText));
+ } catch (e) {
+ console.error('Unable to load default preferences: ' + e);
+ resolve({});
+ }
+ };
+ xhr.send();
+ });
}
- document.addEventListener('defaultpreferencesloaded', function loaded() {
- resolve(DEFAULT_PREFERENCES);
- document.removeEventListener('defaultpreferencesloaded', loaded);
- });
- });
+ }
+ return defaultPreferences;
}
function cloneObj(obj) {
@@ -69,7 +76,7 @@ var Preferences = {
* have been initialized.
*/
initialize: function preferencesInitialize() {
- return this.initializedPromise = defaultPreferences.then(
+ return this.initializedPromise = getDefaultPreferences().then(
function (defaults) {
Object.defineProperty(this, 'defaults', {
diff --git a/web/viewer.html b/web/viewer.html
index d45bde539..22ff8af8e 100644
--- a/web/viewer.html
+++ b/web/viewer.html
@@ -60,10 +60,6 @@ See https://github.com/adobe-type-tools/cmap-resources
-
-
-
-
diff --git a/web/viewer.js b/web/viewer.js
index a743e7e08..01c27a608 100644
--- a/web/viewer.js
+++ b/web/viewer.js
@@ -169,15 +169,9 @@ function webViewerLoad() {
var config = getViewerConfiguration();
if (typeof PDFJSDev === 'undefined' || !PDFJSDev.test('PRODUCTION')) {
require.config({paths: {'pdfjs': '../src', 'pdfjs-web': '.'}});
- require(['pdfjs-web/pdfjs'], function () {
- // Ensure that src/main_loader.js has loaded all the necessary
- // dependencies *before* the viewer loads, to prevent issues in browsers
- // relying on e.g. the Promise/URL polyfill in src/shared/util.js (fixes
- // issue 7448).
- require(['pdfjs-web/app', 'pdfjs-web/pdf_print_service'], function (web) {
- window.PDFViewerApplication = web.PDFViewerApplication;
- web.PDFViewerApplication.run(config);
- });
+ require(['pdfjs-web/app', 'pdfjs-web/pdf_print_service'], function (web) {
+ window.PDFViewerApplication = web.PDFViewerApplication;
+ web.PDFViewerApplication.run(config);
});
} else {
window.PDFViewerApplication = pdfjsWebLibs.pdfjsWebApp.PDFViewerApplication;
@@ -185,4 +179,9 @@ function webViewerLoad() {
}
}
-document.addEventListener('DOMContentLoaded', webViewerLoad, true);
+if (document.readyState === 'interactive' ||
+ document.readyState === 'complete') {
+ webViewerLoad();
+} else {
+ document.addEventListener('DOMContentLoaded', webViewerLoad, true);
+}