Bug 1352218, part 1 - Split pdf.js boot strap file. r=Yury
One is always run, the other is only run when PdfJs.enabled is true in
the parent process. This refactoring enables the next patch.
The extensions changes are from:
https://github.com/mozilla/pdf.js/pull/8218
MozReview-Commit-ID: HwQ3yk8Jck4
--- a/browser/components/nsBrowserGlue.js
+++ b/browser/components/nsBrowserGlue.js
@@ -902,16 +902,19 @@ BrowserGlue.prototype = {
// pdf content handler, and initializes parent side message manager
// shim for privileged api access.
PdfJs.init(true);
// child only: similar to the call above for parent - register content
// handler and init message manager child shim for privileged api access.
// With older versions of the extension installed, this load will fail
// passively.
Services.ppmm.loadProcessScript("resource://pdf.js/pdfjschildbootstrap.js", true);
+ if (PdfJs.enabled) {
+ Services.ppmm.loadProcessScript("resource://pdf.js/pdfjschildbootstrap-enabled.js", true);
+ }
if (AppConstants.platform == "win") {
// For Windows 7, initialize the jump list module.
const WINTASKBAR_CONTRACTID = "@mozilla.org/windows-taskbar;1";
if (WINTASKBAR_CONTRACTID in Cc &&
Cc[WINTASKBAR_CONTRACTID].getService(Ci.nsIWinTaskbar).available) {
let temp = {};
Cu.import("resource:///modules/WindowsJumpLists.jsm", temp);
new file mode 100644
--- /dev/null
+++ b/browser/extensions/pdfjs/content/pdfjschildbootstrap-enabled.js
@@ -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.updateRegistration();
+}
--- a/browser/extensions/pdfjs/content/pdfjschildbootstrap.js
+++ b/browser/extensions/pdfjs/content/pdfjschildbootstrap.js
@@ -7,28 +7,21 @@
* 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, PdfjsContentUtils, PdfJs, Services */
+/* globals Components, PdfjsContentUtils */
"use strict";
/*
* pdfjschildbootstrap.js loads into the content process to take care of
* 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();
-}