Merge pull request #8218 from amccreight/no-sync

Split pdfjschildbootstrap.js to avoid sync IPC
This commit is contained in:
Yury Delendik 2017-04-03 17:37:22 -05:00 committed by GitHub
commit a2ddf2f9ca
4 changed files with 39 additions and 13 deletions

View File

@ -173,9 +173,9 @@ var PdfJs = {
updateRegistration: function updateRegistration() {
if (this.enabled) {
this._ensureRegistered();
this.ensureRegistered();
} else {
this._ensureUnregistered();
this.ensureUnregistered();
}
},
@ -188,7 +188,7 @@ var PdfJs = {
Services.obs.removeObserver(this, TOPIC_PLUGIN_INFO_UPDATED);
this._initialized = false;
}
this._ensureUnregistered();
this.ensureUnregistered();
},
_migrate: function migrate() {
@ -307,7 +307,7 @@ var PdfJs = {
return !enabledPluginFound;
},
_ensureRegistered: function _ensureRegistered() {
ensureRegistered: function ensureRegistered() {
if (this._registered) {
return;
}
@ -318,7 +318,7 @@ var PdfJs = {
this._registered = true;
},
_ensureUnregistered: function _ensureUnregistered() {
ensureUnregistered: function ensureUnregistered() {
if (!this._registered) {
return;
}

View File

@ -0,0 +1,31 @@
/* Copyright 2014 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.
*/
/* globals Components, PdfJs, Services */
"use strict";
/*
* pdfjschildbootstrap-enabled.js loads into the content process to
* take care of initializing our built-in version of pdfjs when
* running remote. It will only be run when PdfJs.enable is true.
*/
Components.utils.import("resource://gre/modules/Services.jsm");
Components.utils.import("resource://pdf.js/PdfJs.jsm");
if (Services.appinfo.processType === Services.appinfo.PROCESS_TYPE_CONTENT) {
// register various pdfjs factories that hook us into content loading.
PdfJs.ensureRegistered();
}

View File

@ -12,7 +12,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* globals Components, PdfjsContentUtils, PdfJs, Services */
/* globals Components, PdfjsContentUtils */
"use strict";
@ -21,14 +21,7 @@
* initializing our built-in version of pdfjs when running remote.
*/
Components.utils.import("resource://gre/modules/Services.jsm");
Components.utils.import("resource://pdf.js/PdfJs.jsm");
Components.utils.import("resource://pdf.js/PdfjsContentUtils.jsm");
// init content utils shim pdfjs will use to access privileged apis.
PdfjsContentUtils.init();
if (Services.appinfo.processType === Services.appinfo.PROCESS_TYPE_CONTENT) {
// register various pdfjs factories that hook us into content loading.
PdfJs.updateRegistration();
}

View File

@ -821,6 +821,8 @@ gulp.task('mozcentral-pre', ['buildnumber', 'locale'], function () {
.pipe(gulp.dest(MOZCENTRAL_CONTENT_DIR)),
gulp.src(FIREFOX_CONTENT_DIR + 'pdfjschildbootstrap.js')
.pipe(gulp.dest(MOZCENTRAL_CONTENT_DIR)),
gulp.src(FIREFOX_CONTENT_DIR + 'pdfjschildbootstrap-enabled.js')
.pipe(gulp.dest(MOZCENTRAL_CONTENT_DIR)),
gulp.src(FIREFOX_EXTENSION_DIR + 'chrome-mozcentral.manifest')
.pipe(rename('chrome.manifest'))
.pipe(gulp.dest(MOZCENTRAL_EXTENSION_DIR)),