summaryrefslogtreecommitdiffstats
path: root/embedding/components/build
diff options
context:
space:
mode:
Diffstat (limited to 'embedding/components/build')
-rw-r--r--embedding/components/build/moz.build38
-rw-r--r--embedding/components/build/nsEmbeddingModule.cpp120
2 files changed, 158 insertions, 0 deletions
diff --git a/embedding/components/build/moz.build b/embedding/components/build/moz.build
new file mode 100644
index 000000000..defbfc0c8
--- /dev/null
+++ b/embedding/components/build/moz.build
@@ -0,0 +1,38 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+SOURCES += [
+ 'nsEmbeddingModule.cpp',
+]
+
+FINAL_LIBRARY = 'xul'
+LOCAL_INCLUDES += [
+ '../appstartup',
+ '../commandhandler',
+ '../find',
+ '../printingui/ipc',
+ '../webbrowserpersist',
+ '../windowwatcher',
+]
+
+if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
+ DEFINES['PROXY_PRINTING'] = 1
+ LOCAL_INCLUDES += [
+ '../printingui/win',
+ ]
+elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
+ DEFINES['PROXY_PRINTING'] = 1
+ LOCAL_INCLUDES += [
+ '../printingui/mac',
+ ]
+
+if CONFIG['MOZ_PDF_PRINTING']:
+ DEFINES['PROXY_PRINTING'] = 1
+ LOCAL_INCLUDES += [
+ '../printingui/unixshared',
+ ]
+
+include('/ipc/chromium/chromium-config.mozbuild')
diff --git a/embedding/components/build/nsEmbeddingModule.cpp b/embedding/components/build/nsEmbeddingModule.cpp
new file mode 100644
index 000000000..48351ec3a
--- /dev/null
+++ b/embedding/components/build/nsEmbeddingModule.cpp
@@ -0,0 +1,120 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "mozilla/ModuleUtils.h"
+#include "nsDialogParamBlock.h"
+#include "nsWindowWatcher.h"
+#include "nsAppStartupNotifier.h"
+#include "nsFind.h"
+#include "nsWebBrowserFind.h"
+#include "nsWebBrowserPersist.h"
+#include "nsCommandManager.h"
+#include "nsControllerCommandTable.h"
+#include "nsCommandParams.h"
+#include "nsCommandGroup.h"
+#include "nsBaseCommandController.h"
+#include "nsNetCID.h"
+#include "nsEmbedCID.h"
+
+#ifdef NS_PRINTING
+#include "nsPrintingPromptService.h"
+#include "nsPrintingProxy.h"
+#endif
+
+
+NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsWindowWatcher, Init)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsAppStartupNotifier)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsFind)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsWebBrowserFind)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsWebBrowserPersist)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsControllerCommandTable)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsCommandManager)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsCommandParams)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsControllerCommandGroup)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsBaseCommandController)
+
+#ifdef MOZ_XUL
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsDialogParamBlock)
+#ifdef NS_PRINTING
+NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPrintingPromptService, Init)
+#ifdef PROXY_PRINTING
+NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsPrintingProxy,
+ nsPrintingProxy::GetInstance)
+#endif
+#endif
+#endif
+
+#ifdef MOZ_XUL
+NS_DEFINE_NAMED_CID(NS_DIALOGPARAMBLOCK_CID);
+#ifdef NS_PRINTING
+NS_DEFINE_NAMED_CID(NS_PRINTINGPROMPTSERVICE_CID);
+#endif
+#endif
+NS_DEFINE_NAMED_CID(NS_WINDOWWATCHER_CID);
+NS_DEFINE_NAMED_CID(NS_FIND_CID);
+NS_DEFINE_NAMED_CID(NS_WEB_BROWSER_FIND_CID);
+NS_DEFINE_NAMED_CID(NS_APPSTARTUPNOTIFIER_CID);
+NS_DEFINE_NAMED_CID(NS_WEBBROWSERPERSIST_CID);
+NS_DEFINE_NAMED_CID(NS_CONTROLLERCOMMANDTABLE_CID);
+NS_DEFINE_NAMED_CID(NS_COMMAND_MANAGER_CID);
+NS_DEFINE_NAMED_CID(NS_COMMAND_PARAMS_CID);
+NS_DEFINE_NAMED_CID(NS_CONTROLLER_COMMAND_GROUP_CID);
+NS_DEFINE_NAMED_CID(NS_BASECOMMANDCONTROLLER_CID);
+
+static const mozilla::Module::CIDEntry kEmbeddingCIDs[] = {
+#ifdef MOZ_XUL
+ { &kNS_DIALOGPARAMBLOCK_CID, false, nullptr, nsDialogParamBlockConstructor },
+#ifdef NS_PRINTING
+
+#ifdef PROXY_PRINTING
+ { &kNS_PRINTINGPROMPTSERVICE_CID, false, nullptr, nsPrintingPromptServiceConstructor,
+ mozilla::Module::MAIN_PROCESS_ONLY },
+ { &kNS_PRINTINGPROMPTSERVICE_CID, false, nullptr, nsPrintingProxyConstructor,
+ mozilla::Module::CONTENT_PROCESS_ONLY },
+#else
+ { &kNS_PRINTINGPROMPTSERVICE_CID, false, nullptr, nsPrintingPromptServiceConstructor },
+#endif
+#endif
+#endif
+ { &kNS_WINDOWWATCHER_CID, false, nullptr, nsWindowWatcherConstructor },
+ { &kNS_FIND_CID, false, nullptr, nsFindConstructor },
+ { &kNS_WEB_BROWSER_FIND_CID, false, nullptr, nsWebBrowserFindConstructor },
+ { &kNS_APPSTARTUPNOTIFIER_CID, false, nullptr, nsAppStartupNotifierConstructor },
+ { &kNS_WEBBROWSERPERSIST_CID, false, nullptr, nsWebBrowserPersistConstructor },
+ { &kNS_CONTROLLERCOMMANDTABLE_CID, false, nullptr, nsControllerCommandTableConstructor },
+ { &kNS_COMMAND_MANAGER_CID, false, nullptr, nsCommandManagerConstructor },
+ { &kNS_COMMAND_PARAMS_CID, false, nullptr, nsCommandParamsConstructor },
+ { &kNS_CONTROLLER_COMMAND_GROUP_CID, false, nullptr, nsControllerCommandGroupConstructor },
+ { &kNS_BASECOMMANDCONTROLLER_CID, false, nullptr, nsBaseCommandControllerConstructor },
+ { nullptr }
+};
+
+static const mozilla::Module::ContractIDEntry kEmbeddingContracts[] = {
+#ifdef MOZ_XUL
+ { NS_DIALOGPARAMBLOCK_CONTRACTID, &kNS_DIALOGPARAMBLOCK_CID },
+#ifdef NS_PRINTING
+ { NS_PRINTINGPROMPTSERVICE_CONTRACTID, &kNS_PRINTINGPROMPTSERVICE_CID },
+#endif
+#endif
+ { NS_WINDOWWATCHER_CONTRACTID, &kNS_WINDOWWATCHER_CID },
+ { NS_FIND_CONTRACTID, &kNS_FIND_CID },
+ { NS_WEB_BROWSER_FIND_CONTRACTID, &kNS_WEB_BROWSER_FIND_CID },
+ { NS_APPSTARTUPNOTIFIER_CONTRACTID, &kNS_APPSTARTUPNOTIFIER_CID },
+ { NS_WEBBROWSERPERSIST_CONTRACTID, &kNS_WEBBROWSERPERSIST_CID },
+ { NS_CONTROLLERCOMMANDTABLE_CONTRACTID, &kNS_CONTROLLERCOMMANDTABLE_CID },
+ { NS_COMMAND_MANAGER_CONTRACTID, &kNS_COMMAND_MANAGER_CID },
+ { NS_COMMAND_PARAMS_CONTRACTID, &kNS_COMMAND_PARAMS_CID },
+ { NS_CONTROLLER_COMMAND_GROUP_CONTRACTID, &kNS_CONTROLLER_COMMAND_GROUP_CID },
+ { NS_BASECOMMANDCONTROLLER_CONTRACTID, &kNS_BASECOMMANDCONTROLLER_CID },
+ { nullptr }
+};
+
+static const mozilla::Module kEmbeddingModule = {
+ mozilla::Module::kVersion,
+ kEmbeddingCIDs,
+ kEmbeddingContracts
+};
+
+NSMODULE_DEFN(embedcomponents) = &kEmbeddingModule;