Browse Source

Skip PdfJs.enabled check in bootstrap-enabled.

If we only invoke the bootstrap-enabled script when PdfJs.enabled is
true, then we don't need to check it again in the script.

This avoids a sync IPC call to the parent process.

It also keeps PdfJs.jsm from importing PdfjsContentUtils.jsm in the
child process until it is actually needed, which is one steps towards
not loading it until it is really needed.
Andrew McCreight 8 years ago
parent
commit
740e1ab450
  1. 10
      extensions/firefox/content/PdfJs.jsm
  2. 2
      extensions/firefox/content/pdfjschildbootstrap-enabled.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;
} }

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

@ -27,5 +27,5 @@ Components.utils.import("resource://pdf.js/PdfJs.jsm");
if (Services.appinfo.processType === Services.appinfo.PROCESS_TYPE_CONTENT) { if (Services.appinfo.processType === Services.appinfo.PROCESS_TYPE_CONTENT) {
// register various pdfjs factories that hook us into content loading. // register various pdfjs factories that hook us into content loading.
PdfJs.updateRegistration(); PdfJs.ensureRegistered();
} }

Loading…
Cancel
Save