167 lines
4.6 KiB
Python
167 lines
4.6 KiB
Python
# -*- 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/.
|
|
|
|
|
|
with Files("**"):
|
|
BUG_COMPONENT = ("WebExtensions", "General")
|
|
|
|
EXTRA_JS_MODULES += [
|
|
"ConduitsChild.sys.mjs",
|
|
"ConduitsParent.sys.mjs",
|
|
"Extension.sys.mjs",
|
|
"ExtensionActions.sys.mjs",
|
|
"ExtensionActivityLog.sys.mjs",
|
|
"ExtensionChild.sys.mjs",
|
|
"ExtensionChildDevToolsUtils.sys.mjs",
|
|
"ExtensionCommon.sys.mjs",
|
|
"ExtensionContent.sys.mjs",
|
|
"ExtensionDNR.sys.mjs",
|
|
"ExtensionDNRLimits.sys.mjs",
|
|
"ExtensionDNRStore.sys.mjs",
|
|
"ExtensionMenus.sys.mjs",
|
|
"ExtensionPageChild.sys.mjs",
|
|
"ExtensionParent.sys.mjs",
|
|
"ExtensionPermissionMessages.sys.mjs",
|
|
"ExtensionPermissions.sys.mjs",
|
|
"ExtensionPreferencesManager.sys.mjs",
|
|
"ExtensionProcessScript.sys.mjs",
|
|
"extensionProcessScriptLoader.js",
|
|
"ExtensionScriptingStore.sys.mjs",
|
|
"ExtensionSettingsStore.sys.mjs",
|
|
"ExtensionShortcuts.sys.mjs",
|
|
"ExtensionStorage.sys.mjs",
|
|
"ExtensionStorageIDB.sys.mjs",
|
|
"ExtensionStorageSync.sys.mjs",
|
|
"ExtensionStorageSyncKinto.sys.mjs",
|
|
"ExtensionTaskScheduler.sys.mjs",
|
|
"ExtensionTelemetry.sys.mjs",
|
|
"ExtensionUserScripts.sys.mjs",
|
|
"ExtensionUserScriptsContent.sys.mjs",
|
|
"ExtensionUtils.sys.mjs",
|
|
"ExtensionWorkerChild.sys.mjs",
|
|
"FindContent.sys.mjs",
|
|
"MatchURLFilters.sys.mjs",
|
|
"MessageManagerProxy.sys.mjs",
|
|
"NativeManifests.sys.mjs",
|
|
"NativeMessaging.sys.mjs",
|
|
"ProxyChannelFilter.sys.mjs",
|
|
"Schemas.sys.mjs",
|
|
"WebNavigation.sys.mjs",
|
|
"WebNavigationFrames.sys.mjs",
|
|
]
|
|
|
|
if CONFIG["NIGHTLY_BUILD"]:
|
|
# Web Platform Test prototype is limited to Nightly for now.
|
|
EXTRA_JS_MODULES += [
|
|
"WPTMessagesChild.sys.mjs",
|
|
"WPTMessagesParent.sys.mjs",
|
|
]
|
|
|
|
EXTRA_COMPONENTS += [
|
|
"extensions-toolkit.manifest",
|
|
]
|
|
|
|
TESTING_JS_MODULES += [
|
|
"ExtensionTestCommon.sys.mjs",
|
|
"ExtensionXPCShellUtils.sys.mjs",
|
|
"MessageChannel.sys.mjs",
|
|
"test/xpcshell/data/TestWorkerWatcherChild.sys.mjs",
|
|
"test/xpcshell/data/TestWorkerWatcherParent.sys.mjs",
|
|
]
|
|
|
|
DIRS += [
|
|
"schemas",
|
|
"storage",
|
|
"webidl-api",
|
|
"webrequest",
|
|
]
|
|
|
|
IPDL_SOURCES += [
|
|
"PExtensions.ipdl",
|
|
]
|
|
|
|
XPIDL_SOURCES += [
|
|
"extIWebNavigation.idl",
|
|
"mozIExtensionAPIRequestHandling.idl",
|
|
"mozIExtensionProcessScript.idl",
|
|
"nsINativeMessagingPortal.idl",
|
|
]
|
|
|
|
XPIDL_MODULE = "webextensions"
|
|
|
|
EXPORTS.mozilla = [
|
|
"ExtensionPolicyService.h",
|
|
]
|
|
|
|
EXPORTS.mozilla.extensions = [
|
|
"DocumentObserver.h",
|
|
"ExtensionsChild.h",
|
|
"ExtensionsParent.h",
|
|
"MatchGlob.h",
|
|
"MatchPattern.h",
|
|
"WebExtensionContentScript.h",
|
|
"WebExtensionPolicy.h",
|
|
]
|
|
|
|
UNIFIED_SOURCES += [
|
|
"ExtensionPolicyService.cpp",
|
|
"ExtensionsChild.cpp",
|
|
"ExtensionsParent.cpp",
|
|
"MatchPattern.cpp",
|
|
"WebExtensionPolicy.cpp",
|
|
]
|
|
|
|
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk" and CONFIG["MOZ_ENABLE_DBUS"]:
|
|
EXPORTS.mozilla.extensions += ["NativeMessagingPortal.h"]
|
|
UNIFIED_SOURCES += ["NativeMessagingPortal.cpp"]
|
|
CXXFLAGS += CONFIG["MOZ_DBUS_GLIB_CFLAGS"]
|
|
CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
|
|
DEFINES["MOZ_APP_NAME"] = '"%s"' % CONFIG["MOZ_APP_NAME"]
|
|
|
|
XPCOM_MANIFESTS += [
|
|
"components.conf",
|
|
]
|
|
|
|
FINAL_LIBRARY = "xul"
|
|
|
|
|
|
JAR_MANIFESTS += ["jar.mn"]
|
|
|
|
BROWSER_CHROME_MANIFESTS += [
|
|
"test/browser/browser.toml",
|
|
]
|
|
|
|
MOCHITEST_MANIFESTS += [
|
|
"test/mochitest/mochitest-remote.toml",
|
|
"test/mochitest/mochitest.toml",
|
|
]
|
|
MOCHITEST_CHROME_MANIFESTS += ["test/mochitest/chrome.toml"]
|
|
XPCSHELL_TESTS_MANIFESTS += [
|
|
"test/xpcshell/native_messaging.toml",
|
|
"test/xpcshell/xpcshell-e10s.toml",
|
|
"test/xpcshell/xpcshell-legacy-ep.toml",
|
|
"test/xpcshell/xpcshell-remote.toml",
|
|
"test/xpcshell/xpcshell.toml",
|
|
]
|
|
|
|
# Only include tests that requires the WebExtensions WebIDL API bindings
|
|
# in builds where they are enabled (currently only on Nightly builds).
|
|
if CONFIG["MOZ_WEBEXT_WEBIDL_ENABLED"]:
|
|
BROWSER_CHROME_MANIFESTS += ["test/browser/browser-serviceworker.toml"]
|
|
MARIONETTE_MANIFESTS += ["test/marionette/manifest-serviceworker.toml"]
|
|
XPCSHELL_TESTS_MANIFESTS += [
|
|
"test/xpcshell/webidl-api/xpcshell.toml",
|
|
"test/xpcshell/xpcshell-serviceworker.toml",
|
|
]
|
|
MOCHITEST_MANIFESTS += ["test/mochitest/mochitest-serviceworker.toml"]
|
|
|
|
|
|
SPHINX_TREES["webextensions"] = "docs"
|
|
|
|
with Files("docs/**"):
|
|
SCHEDULES.exclusive = ["docs"]
|
|
|
|
include("/ipc/chromium/chromium-config.mozbuild")
|