Browse Source

Merge pull request #8218 from amccreight/no-sync

Split pdfjschildbootstrap.js to avoid sync IPC
Yury Delendik 8 years ago committed by GitHub
parent
commit
a2ddf2f9ca
  1. 10
      extensions/firefox/content/PdfJs.jsm
  2. 31
      extensions/firefox/content/pdfjschildbootstrap-enabled.js
  3. 9
      extensions/firefox/content/pdfjschildbootstrap.js
  4. 2
      gulpfile.js

10
extensions/firefox/content/PdfJs.jsm

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

31
extensions/firefox/content/pdfjschildbootstrap-enabled.js vendored

@ -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();
}

9
extensions/firefox/content/pdfjschildbootstrap.js vendored

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

2
gulpfile.js

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

Loading…
Cancel
Save