Source code
Revision control
Copy as Markdown
Other Tools
# -*- 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
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/nsLocalHandlerAppWin.cpp",
"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"]