# -*- 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 = ("Core", "DOM: Content Processes") DIRS += ["jsactor"] XPIDL_SOURCES += [ "nsIDOMProcessChild.idl", "nsIDOMProcessParent.idl", "nsIHangReport.idl", "nsILoginDetectionService.idl", ] XPIDL_MODULE = "dom" XPCOM_MANIFESTS += [ "components.conf", ] EXTRA_JS_MODULES += [ "ManifestMessagesChild.jsm", ] EXPORTS.mozilla.dom.ipc += [ "IdType.h", "MemMapSnapshot.h", "SharedMap.h", "SharedMapChangeEvent.h", "SharedStringMap.h", "StringTable.h", "StructuredCloneData.h", ] EXPORTS.mozilla.dom += [ "BrowserBridgeChild.h", "BrowserBridgeHost.h", "BrowserBridgeParent.h", "BrowserChild.h", "BrowserHost.h", "BrowserParent.h", "ClonedErrorHolder.h", "CoalescedInputData.h", "CoalescedMouseData.h", "CoalescedTouchData.h", "CoalescedWheelData.h", "ContentChild.h", "ContentParent.h", "ContentProcess.h", "ContentProcessManager.h", "CSPMessageUtils.h", "DocShellMessageUtils.h", "EffectsInfo.h", "FilePickerParent.h", "InProcessChild.h", "InProcessParent.h", "JSOracleChild.h", "JSOracleParent.h", "JSValidatorChild.h", "JSValidatorParent.h", "JSValidatorUtils.h", "LoginDetectionService.h", "MaybeDiscarded.h", "MemoryReportRequest.h", "NativeThreadId.h", "PageLoadEventUtils.h", "PermissionMessageUtils.h", "ProcessActor.h", "ProcessIsolation.h", "PropertyBagUtils.h", "ReferrerInfoUtils.h", "RefMessageBodyService.h", "RemoteBrowser.h", "RemoteType.h", "RemoteWebProgressRequest.h", "SharedMessageBody.h", "TabContext.h", "TabMessageTypes.h", "TabMessageUtils.h", "URLClassifierChild.h", "URLClassifierParent.h", "UserActivationIPCUtils.h", "VsyncChild.h", "VsyncMainChild.h", "VsyncParent.h", "VsyncWorkerChild.h", "WindowGlobalActor.h", "WindowGlobalChild.h", "WindowGlobalParent.h", ] EXPORTS.mozilla += [ "PreallocatedProcessManager.h", "ProcessHangMonitor.h", "ProcessHangMonitorIPC.h", "ProcessPriorityManager.h", ] UNIFIED_SOURCES += [ "BrowserBridgeChild.cpp", "BrowserBridgeHost.cpp", "BrowserBridgeParent.cpp", "BrowserChild.cpp", "BrowserHost.cpp", "BrowserParent.cpp", "ClonedErrorHolder.cpp", "CoalescedInputData.cpp", "CoalescedMouseData.cpp", "CoalescedTouchData.cpp", "CoalescedWheelData.cpp", "ColorPickerParent.cpp", "ContentParent.cpp", "ContentProcess.cpp", "ContentProcessManager.cpp", "CSPMessageUtils.cpp", "DocShellMessageUtils.cpp", "FilePickerParent.cpp", "InProcessImpl.cpp", "JSOracleChild.cpp", "JSOracleParent.cpp", "JSValidatorChild.cpp", "JSValidatorParent.cpp", "JSValidatorUtils.cpp", "LoginDetectionService.cpp", "MemMapSnapshot.cpp", "MemoryReportRequest.cpp", "MMPrinter.cpp", "PermissionMessageUtils.cpp", "PreallocatedProcessManager.cpp", "ProcessActor.cpp", "ProcessIsolation.cpp", "ProcessPriorityManager.cpp", "PropertyBagUtils.cpp", "ReferrerInfoUtils.cpp", "RefMessageBodyService.cpp", "RemoteBrowser.cpp", "RemoteWebProgressRequest.cpp", "SharedMap.cpp", "SharedMessageBody.cpp", "SharedStringMap.cpp", "StructuredCloneData.cpp", "TabContext.cpp", "URLClassifierParent.cpp", "WindowGlobalActor.cpp", "WindowGlobalChild.cpp", "WindowGlobalParent.cpp", ] # ContentChild.cpp cannot be compiled in unified mode on linux due to Time conflict SOURCES += [ "ContentChild.cpp", "ProcessHangMonitor.cpp", "VsyncMainChild.cpp", "VsyncParent.cpp", "VsyncWorkerChild.cpp", ] PREPROCESSED_IPDL_SOURCES += [ "PBrowser.ipdl", "PBrowserBridge.ipdl", "PContent.ipdl", ] IPDL_SOURCES += [ "DOMTypes.ipdlh", "MemoryReportTypes.ipdlh", "PColorPicker.ipdl", "PContentPermission.ipdlh", "PContentPermissionRequest.ipdl", "PCycleCollectWithLogs.ipdl", "PFilePicker.ipdl", "PInProcess.ipdl", "PJSOracle.ipdl", "PJSValidator.ipdl", "PLoginReputation.ipdl", "PProcessHangMonitor.ipdl", "PrefsTypes.ipdlh", "PTabContext.ipdlh", "PURLClassifier.ipdl", "PURLClassifierInfo.ipdlh", "PURLClassifierLocal.ipdl", "PVsync.ipdl", "PWindowGlobal.ipdl", "ServiceWorkerConfiguration.ipdlh", "WindowGlobalTypes.ipdlh", ] include("/ipc/chromium/chromium-config.mozbuild") FINAL_LIBRARY = "xul" if CONFIG["MOZ_SANDBOX"] and (CONFIG["OS_TARGET"] in ["Darwin", "Linux"]): USE_LIBS += [ "mozsandbox", ] LOCAL_INCLUDES += [ "/caps", "/chrome", "/docshell/base", "/dom/base", "/dom/bindings", "/dom/events", "/dom/filesystem", "/dom/geolocation", "/dom/media/webrtc", "/dom/media/webspeech/synth/ipc", "/dom/security", "/dom/storage", "/extensions/spellcheck/src", "/gfx/2d", "/hal/sandbox", "/js/xpconnect/loader", "/js/xpconnect/src", "/layout/base", "/media/webrtc", "/netwerk/base", "/netwerk/dns", "/netwerk/protocol/http", "/toolkit/components/printingui/ipc", "/toolkit/crashreporter", "/toolkit/xre", "/uriloader/exthandler", "/widget", "/xpcom/base", "/xpcom/threads", ] if CONFIG["MOZ_SANDBOX"] and CONFIG["OS_ARCH"] == "WINNT": LOCAL_INCLUDES += [ "/security/sandbox/chromium", "/security/sandbox/chromium-shim", ] if CONFIG["MOZ_SANDBOX"] and CONFIG["OS_ARCH"] == "OpenBSD": LOCAL_INCLUDES += [ "/xpcom/build", ] if CONFIG["OS_ARCH"] != "WINNT": LOCAL_INCLUDES += [ "/modules/libjar", ] DEFINES["BIN_SUFFIX"] = '"%s"' % CONFIG["BIN_SUFFIX"] DEFINES["MOZ_APP_NAME"] = '"%s"' % CONFIG["MOZ_APP_NAME"] if CONFIG["MOZ_WIDGET_TOOLKIT"] == "android": DEFINES["MOZ_ENABLE_FREETYPE"] = True JAR_MANIFESTS += ["jar.mn"] BROWSER_CHROME_MANIFESTS += [ "tests/browser.ini", "tests/JSProcessActor/browser.ini", "tests/JSWindowActor/browser.ini", ] MOCHITEST_CHROME_MANIFESTS += ["tests/chrome.ini"] MOCHITEST_MANIFESTS += ["tests/mochitest.ini"] XPCSHELL_TESTS_MANIFESTS += ["tests/xpcshell.ini"] if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"] if CONFIG["FUZZING"] and CONFIG["FUZZING_INTERFACES"]: TEST_DIRS += ["fuzztest"] # Add libFuzzer configuration directives include("/tools/fuzzing/libfuzzer-config.mozbuild")