summaryrefslogtreecommitdiffstats
path: root/uriloader/exthandler/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'uriloader/exthandler/moz.build')
-rw-r--r--uriloader/exthandler/moz.build146
1 files changed, 146 insertions, 0 deletions
diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
new file mode 100644
index 0000000000..0575fd95a5
--- /dev/null
+++ b/uriloader/exthandler/moz.build
@@ -0,0 +1,146 @@
+# -*- 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/.
+
+SPHINX_TREES["/uriloader/exthandler"] = "docs"
+
+with Files("**"):
+ BUG_COMPONENT = ("Firefox", "File Handling")
+
+TEST_DIRS += ["tests"]
+
+XPIDL_SOURCES += [
+ "nsCExternalHandlerService.idl",
+ "nsIContentDispatchChooser.idl",
+ "nsIExternalHelperAppService.idl",
+ "nsIExternalProtocolService.idl",
+ "nsIHandlerService.idl",
+ "nsIHelperAppLauncherDialog.idl",
+ "nsISharingHandlerApp.idl",
+]
+
+XPIDL_MODULE = "exthandler"
+
+if CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
+ osdir = "win"
+ LOCAL_INCLUDES += ["win"]
+elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
+ osdir = "mac"
+elif CONFIG["MOZ_WIDGET_TOOLKIT"] in ("android", "uikit"):
+ osdir = CONFIG["MOZ_WIDGET_TOOLKIT"]
+else:
+ osdir = "unix"
+
+EXPORTS += [osdir + "/nsOSHelperAppService.h"]
+
+EXPORTS += [
+ "ContentHandlerService.h",
+ "nsExternalHelperAppService.h",
+ "nsMIMEInfoChild.h",
+ "nsOSHelperAppServiceChild.h",
+]
+
+EXPORTS += [
+ "nsLocalHandlerApp.h",
+]
+
+EXPORTS.mozilla.dom += [
+ "ExternalHelperAppChild.h",
+ "ExternalHelperAppParent.h",
+]
+
+UNIFIED_SOURCES += [
+ "ContentHandlerService.cpp",
+ "ExternalHelperAppChild.cpp",
+ "ExternalHelperAppParent.cpp",
+ "HandlerServiceParent.cpp",
+ "nsExternalHelperAppService.cpp",
+ "nsExternalProtocolHandler.cpp",
+ "nsLocalHandlerApp.cpp",
+ "nsMIMEInfoImpl.cpp",
+ "nsOSHelperAppServiceChild.cpp",
+]
+
+if CONFIG["MOZ_BUILD_APP"] == "browser":
+ DEFINES["MOZ_BUILD_APP_IS_BROWSER"] = True
+
+if CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
+ UNIFIED_SOURCES += [
+ "mac/nsLocalHandlerAppMac.mm",
+ "mac/nsMIMEInfoMac.mm",
+ "mac/nsOSHelperAppService.mm",
+ ]
+elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "uikit":
+ UNIFIED_SOURCES += [
+ "uikit/nsLocalHandlerAppUIKit.mm",
+ "uikit/nsMIMEInfoUIKit.mm",
+ "uikit/nsOSHelperAppService.mm",
+ ]
+else:
+ # These files can't be built in unified mode because they redefine LOG.
+ SOURCES += [
+ osdir + "/nsOSHelperAppService.cpp",
+ ]
+
+if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
+ UNIFIED_SOURCES += [
+ "unix/nsGNOMERegistry.cpp",
+ "unix/nsMIMEInfoUnix.cpp",
+ ]
+elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "android":
+ UNIFIED_SOURCES += [
+ "android/nsMIMEInfoAndroid.cpp",
+ ]
+elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
+ UNIFIED_SOURCES += [
+ "win/nsMIMEInfoWin.cpp",
+ ]
+
+if CONFIG["MOZ_ENABLE_DBUS"]:
+ UNIFIED_SOURCES += [
+ "nsDBusHandlerApp.cpp",
+ ]
+ EXPORTS.mozilla += [
+ "DBusHelpers.h",
+ ]
+
+EXTRA_JS_MODULES += [
+ "ExtHandlerService.sys.mjs",
+ "WebHandlerApp.sys.mjs",
+]
+
+EXTRA_JS_MODULES.handlers += [
+ "HandlerList.sys.mjs",
+]
+
+XPCOM_MANIFESTS += [
+ "components.conf",
+]
+
+IPDL_SOURCES += [
+ "PExternalHelperApp.ipdl",
+ "PHandlerService.ipdl",
+]
+
+include("/ipc/chromium/chromium-config.mozbuild")
+
+FINAL_LIBRARY = "xul"
+
+LOCAL_INCLUDES += [
+ "/docshell/base",
+ "/dom/base",
+ "/dom/ipc",
+ "/netwerk/base",
+ "/netwerk/protocol/http",
+]
+
+if CONFIG["MOZ_ENABLE_DBUS"]:
+ CXXFLAGS += CONFIG["MOZ_DBUS_CFLAGS"]
+
+if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
+ CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
+ CXXFLAGS += CONFIG["MOZ_DBUS_GLIB_CFLAGS"]
+
+REQUIRES_UNIFIED_BUILD = True