# 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/. # For BinaryPath::GetLong for Windows LOCAL_INCLUDES += ["/xpcom/build"] BROWSER_CHROME_MANIFESTS += ["test/browser.toml"] XPCSHELL_TESTS_MANIFESTS += ["test/unit/xpcshell.toml"] TEST_DIRS += [ "test/gtest", ] JAR_MANIFESTS += ["jar.mn"] XPIDL_SOURCES += [ "nsIShellService.idl", ] if CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa": XPIDL_SOURCES += [ "nsIMacShellService.idl", ] SOURCES += [ "nsMacShellService.mm", ] LOCAL_INCLUDES += [ # For CocoaFileUtils "/xpcom/io" ] # UniformTypeIdentifiers only exists on macOS 11+; weak-link it so builds # targeting older macOS still load (its use is guarded by @available). OS_LIBS += [ "-weak_framework UniformTypeIdentifiers", ] elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": XPIDL_SOURCES += [ "nsIGNOMEShellService.idl", "nsIOpenTabsProvider.idl", ] MOZ_SRC_FILES += [ "OpenTabsProvider.sys.mjs", ] SOURCES += [ "nsGNOMEShellService.cpp", ] LOCAL_INCLUDES += [ "/widget", "/widget/gtk", # for nsWindow ] if CONFIG["MOZ_ENABLE_DBUS"]: SOURCES += [ "nsGNOMEShellDBusHelper.cpp", "nsGNOMEShellSearchProvider.cpp", ] include("/ipc/chromium/chromium-config.mozbuild") elif CONFIG["OS_ARCH"] == "WINNT": XPIDL_SOURCES += [ "nsILimitedAccessFeature.idl", "nsISecondaryTile.idl", "nsIWindowsShellService.idl", ] SOURCES += [ "nsWindowsShellService.cpp", "Windows11TaskbarPinning.cpp", "WindowsDefaultBrowser.cpp", "WindowsUIElement.cpp", "WindowsUIOverlayImage.cpp", "WindowsUserChoice.cpp", ] MOZ_SRC_FILES += [ "CustomIconManager.sys.mjs", ] LOCAL_INCLUDES += [ "../../../other-licenses/nsis/Contrib/CityHash/cityhash", "/toolkit/xre", "rust/shell_windows/src", ] OS_LIBS += [ "bcrypt", "crypt32", "propsys", "windowscodecs", ] FINAL_TARGET_FILES.components.shell.assets += [ "assets/kit.gif", ] FINAL_TARGET_FILES += ["content/blank.pdf", "content/confused_fox.pdf"] MOZ_SRC_FILES += [ "WindowsSetDefaultAppCmdHandler.sys.mjs", ] XPCOM_MANIFESTS += [ "components.conf", ] XPIDL_MODULE = "shellservice" if SOURCES: FINAL_LIBRARY = "browsercomps" MOZ_SRC_FILES += [ "HeadlessShell.sys.mjs", "ScreenshotChild.sys.mjs", "ShellService.sys.mjs", "WindowsSetDefaultRedirect.sys.mjs", ] MOZ_SRC_FILES += [ "StartupOSIntegration.sys.mjs", ] for var in ( "MOZ_APP_DISPLAYNAME", "MOZ_APP_NAME", "MOZ_APP_VERSION", "MOZ_DEFAULT_BROWSER_AGENT", ): DEFINES[var] = '"%s"' % CONFIG[var] if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"] with Files("**"): BUG_COMPONENT = ("Firefox", "Shell Integration")