# -*- 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") XPIDL_SOURCES += [ 'nsIHangReport.idl', 'nsIRemoteWebProgress.idl', 'nsIRemoteWebProgressRequest.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', 'CoalescedInputData.h', 'CoalescedMouseData.h', 'CoalescedWheelData.h', 'ContentChild.h', 'ContentParent.h', 'ContentProcess.h', 'ContentProcessManager.h', 'CPOWManagerGetter.h', 'CSPMessageUtils.h', 'DocShellMessageUtils.h', 'EffectsInfo.h', 'FilePickerParent.h', 'JSWindowActor.h', 'JSWindowActorChild.h', 'JSWindowActorParent.h', 'JSWindowActorService.h', 'MemoryReportRequest.h', 'PermissionMessageUtils.h', 'PropertyBagUtils.h', 'ReferrerInfoUtils.h', 'RemoteBrowser.h', 'RemoteWebProgress.h', 'RemoteWebProgressRequest.h', 'TabContext.h', 'TabMessageUtils.h', 'URLClassifierChild.h', 'URLClassifierParent.h', 'UserActivationIPCUtils.h', 'WindowGlobalActor.h', 'WindowGlobalChild.h', 'WindowGlobalParent.h', ] EXPORTS.mozilla += [ 'PreallocatedProcessManager.h', 'ProcessHangMonitor.h', 'ProcessHangMonitorIPC.h', 'ProcessPriorityManager.h', ] EXPORTS += [ 'nsQueryActor.h', ] UNIFIED_SOURCES += [ 'BrowserBridgeChild.cpp', 'BrowserBridgeHost.cpp', 'BrowserBridgeParent.cpp', 'BrowserChild.cpp', 'BrowserHost.cpp', 'BrowserParent.cpp', 'CoalescedMouseData.cpp', 'CoalescedWheelData.cpp', 'ColorPickerParent.cpp', 'ContentParent.cpp', 'ContentProcess.cpp', 'ContentProcessManager.cpp', 'CSPMessageUtils.cpp', 'DocShellMessageUtils.cpp', 'FilePickerParent.cpp', 'JSWindowActor.cpp', 'JSWindowActorChild.cpp', 'JSWindowActorParent.cpp', 'JSWindowActorService.cpp', 'MemMapSnapshot.cpp', 'MemoryReportRequest.cpp', 'MMPrinter.cpp', 'PermissionMessageUtils.cpp', 'PreallocatedProcessManager.cpp', 'ProcessPriorityManager.cpp', 'PropertyBagUtils.cpp', 'ReferrerInfoUtils.cpp', 'RemoteBrowser.cpp', 'RemoteWebProgress.cpp', 'RemoteWebProgressRequest.cpp', 'SharedMap.cpp', 'SharedStringMap.cpp', 'StructuredCloneData.cpp', 'TabContext.cpp', 'TabMessageUtils.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', ] PREPROCESSED_IPDL_SOURCES += [ 'PContent.ipdl', ] IPDL_SOURCES += [ 'DOMTypes.ipdlh', 'MemoryReportTypes.ipdlh', 'PBrowser.ipdl', 'PBrowserBridge.ipdl', 'PBrowserOrId.ipdlh', 'PColorPicker.ipdl', 'PContentPermission.ipdlh', 'PContentPermissionRequest.ipdl', 'PCycleCollectWithLogs.ipdl', 'PFilePicker.ipdl', 'PLoginReputation.ipdl', 'PPluginWidget.ipdl', 'PProcessHangMonitor.ipdl', 'PrefsTypes.ipdlh', 'PTabContext.ipdlh', 'PURLClassifier.ipdl', 'PURLClassifierInfo.ipdlh', 'PURLClassifierLocal.ipdl', 'PWindowGlobal.ipdl', 'ServiceWorkerConfiguration.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/webspeech/synth/ipc', '/dom/security', '/dom/storage', '/extensions/permissions', '/extensions/spellcheck/src', '/gfx/2d', '/hal/sandbox', '/js/xpconnect/loader', '/js/xpconnect/src', '/layout/base', '/media/webrtc', '/netwerk/base', '/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['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/JSWindowActor/browser.ini', ] MOCHITEST_CHROME_MANIFESTS += ['tests/chrome.ini'] MOCHITEST_MANIFESTS += ['tests/mochitest.ini'] XPCSHELL_TESTS_MANIFESTS += ['tests/xpcshell.ini'] CXXFLAGS += CONFIG['TK_CFLAGS'] if CONFIG['CC_TYPE'] in ('clang', 'gcc'): CXXFLAGS += ['-Wno-error=shadow'] if CONFIG['FUZZING'] and CONFIG['FUZZING_INTERFACES']: TEST_DIRS += [ 'fuzztest' ] # Add libFuzzer configuration directives include('/tools/fuzzing/libfuzzer-config.mozbuild')