1 # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 # vim: set filetype=python:
3 # This Source Code Form is subject to the terms of the Mozilla Public
4 # License, v. 2.0. If a copy of the MPL was not distributed with this
5 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
7 SPHINX_TREES["/uriloader/exthandler"] = "docs"
10 BUG_COMPONENT = ("Firefox", "File Handling")
12 TEST_DIRS += ["tests"]
15 "nsCExternalHandlerService.idl",
16 "nsIContentDispatchChooser.idl",
17 "nsIExternalHelperAppService.idl",
18 "nsIExternalProtocolService.idl",
19 "nsIHandlerService.idl",
20 "nsIHelperAppLauncherDialog.idl",
21 "nsISharingHandlerApp.idl",
24 XPIDL_MODULE = "exthandler"
26 if CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
28 LOCAL_INCLUDES += ["win"]
29 elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
31 elif CONFIG["MOZ_WIDGET_TOOLKIT"] in ("android", "uikit"):
32 osdir = CONFIG["MOZ_WIDGET_TOOLKIT"]
36 EXPORTS += [osdir + "/nsOSHelperAppService.h"]
39 "ContentHandlerService.h",
40 "nsExternalHelperAppService.h",
42 "nsOSHelperAppServiceChild.h",
46 "nsLocalHandlerApp.h",
49 EXPORTS.mozilla.dom += [
50 "ExternalHelperAppChild.h",
51 "ExternalHelperAppParent.h",
55 "ContentHandlerService.cpp",
56 "ExternalHelperAppChild.cpp",
57 "ExternalHelperAppParent.cpp",
58 "HandlerServiceParent.cpp",
59 "nsExternalHelperAppService.cpp",
60 "nsExternalProtocolHandler.cpp",
61 "nsLocalHandlerApp.cpp",
63 "nsOSHelperAppServiceChild.cpp",
66 if CONFIG["MOZ_BUILD_APP"] == "browser":
67 DEFINES["MOZ_BUILD_APP_IS_BROWSER"] = True
69 if CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
71 "mac/nsLocalHandlerAppMac.mm",
72 "mac/nsMIMEInfoMac.mm",
73 "mac/nsOSHelperAppService.mm",
75 elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "uikit":
77 "uikit/nsLocalHandlerAppUIKit.mm",
78 "uikit/nsMIMEInfoUIKit.mm",
79 "uikit/nsOSHelperAppService.mm",
82 # These files can't be built in unified mode because they redefine LOG.
84 osdir + "/nsOSHelperAppService.cpp",
87 if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
89 "unix/nsGNOMERegistry.cpp",
90 "unix/nsMIMEInfoUnix.cpp",
92 elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "android":
94 "android/nsMIMEInfoAndroid.cpp",
96 elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
98 "win/nsLocalHandlerAppWin.cpp",
99 "win/nsMIMEInfoWin.cpp",
102 if CONFIG["MOZ_ENABLE_DBUS"]:
104 "nsDBusHandlerApp.cpp",
110 EXTRA_JS_MODULES += [
111 "ExtHandlerService.sys.mjs",
112 "WebHandlerApp.sys.mjs",
115 EXTRA_JS_MODULES.handlers += [
116 "HandlerList.sys.mjs",
124 "PExternalHelperApp.ipdl",
125 "PHandlerService.ipdl",
128 include("/ipc/chromium/chromium-config.mozbuild")
130 FINAL_LIBRARY = "xul"
137 "/netwerk/protocol/http",
140 if CONFIG["MOZ_ENABLE_DBUS"]:
141 CXXFLAGS += CONFIG["MOZ_DBUS_CFLAGS"]
143 if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
144 CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]