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/. 6 7with Files("**"): 8 BUG_COMPONENT = ("Core", "DOM: Content Processes") 9 10DIRS += ["jsactor"] 11 12XPIDL_SOURCES += [ 13 "nsIDOMProcessChild.idl", 14 "nsIDOMProcessParent.idl", 15 "nsIHangReport.idl", 16 "nsILoginDetectionService.idl", 17] 18 19XPIDL_MODULE = "dom" 20 21XPCOM_MANIFESTS += [ 22 "components.conf", 23] 24 25EXTRA_JS_MODULES += [ 26 "ManifestMessagesChild.jsm", 27] 28 29EXPORTS.mozilla.dom.ipc += [ 30 "IdType.h", 31 "MemMapSnapshot.h", 32 "SharedMap.h", 33 "SharedMapChangeEvent.h", 34 "SharedStringMap.h", 35 "StringTable.h", 36 "StructuredCloneData.h", 37] 38 39EXPORTS.mozilla.dom += [ 40 "BrowserBridgeChild.h", 41 "BrowserBridgeHost.h", 42 "BrowserBridgeParent.h", 43 "BrowserChild.h", 44 "BrowserHost.h", 45 "BrowserParent.h", 46 "ClonedErrorHolder.h", 47 "CoalescedInputData.h", 48 "CoalescedMouseData.h", 49 "CoalescedTouchData.h", 50 "CoalescedWheelData.h", 51 "ContentChild.h", 52 "ContentParent.h", 53 "ContentProcess.h", 54 "ContentProcessManager.h", 55 "CSPMessageUtils.h", 56 "DocShellMessageUtils.h", 57 "EffectsInfo.h", 58 "FilePickerParent.h", 59 "InProcessChild.h", 60 "InProcessParent.h", 61 "LoginDetectionService.h", 62 "MaybeDiscarded.h", 63 "MemoryReportRequest.h", 64 "NativeThreadId.h", 65 "PermissionMessageUtils.h", 66 "ProcessActor.h", 67 "ProcessIsolation.h", 68 "PropertyBagUtils.h", 69 "ReferrerInfoUtils.h", 70 "RefMessageBodyService.h", 71 "RemoteBrowser.h", 72 "RemoteType.h", 73 "RemoteWebProgressRequest.h", 74 "SharedMessageBody.h", 75 "TabContext.h", 76 "TabMessageTypes.h", 77 "TabMessageUtils.h", 78 "URLClassifierChild.h", 79 "URLClassifierParent.h", 80 "UserActivationIPCUtils.h", 81 "VsyncChild.h", 82 "VsyncMainChild.h", 83 "VsyncParent.h", 84 "VsyncWorkerChild.h", 85 "WindowGlobalActor.h", 86 "WindowGlobalChild.h", 87 "WindowGlobalParent.h", 88] 89 90EXPORTS.mozilla += [ 91 "PreallocatedProcessManager.h", 92 "ProcessHangMonitor.h", 93 "ProcessHangMonitorIPC.h", 94 "ProcessPriorityManager.h", 95] 96 97UNIFIED_SOURCES += [ 98 "BrowserBridgeChild.cpp", 99 "BrowserBridgeHost.cpp", 100 "BrowserBridgeParent.cpp", 101 "BrowserChild.cpp", 102 "BrowserHost.cpp", 103 "BrowserParent.cpp", 104 "ClonedErrorHolder.cpp", 105 "CoalescedInputData.cpp", 106 "CoalescedMouseData.cpp", 107 "CoalescedTouchData.cpp", 108 "CoalescedWheelData.cpp", 109 "ColorPickerParent.cpp", 110 "ContentParent.cpp", 111 "ContentProcess.cpp", 112 "ContentProcessManager.cpp", 113 "CSPMessageUtils.cpp", 114 "DocShellMessageUtils.cpp", 115 "FilePickerParent.cpp", 116 "InProcessImpl.cpp", 117 "LoginDetectionService.cpp", 118 "MemMapSnapshot.cpp", 119 "MemoryReportRequest.cpp", 120 "MMPrinter.cpp", 121 "PermissionMessageUtils.cpp", 122 "PreallocatedProcessManager.cpp", 123 "ProcessActor.cpp", 124 "ProcessIsolation.cpp", 125 "ProcessPriorityManager.cpp", 126 "PropertyBagUtils.cpp", 127 "ReferrerInfoUtils.cpp", 128 "RefMessageBodyService.cpp", 129 "RemoteBrowser.cpp", 130 "RemoteWebProgressRequest.cpp", 131 "SharedMap.cpp", 132 "SharedMessageBody.cpp", 133 "SharedStringMap.cpp", 134 "StructuredCloneData.cpp", 135 "TabContext.cpp", 136 "TabMessageUtils.cpp", 137 "URLClassifierParent.cpp", 138 "WindowGlobalActor.cpp", 139 "WindowGlobalChild.cpp", 140 "WindowGlobalParent.cpp", 141] 142 143# ContentChild.cpp cannot be compiled in unified mode on linux due to Time conflict 144SOURCES += [ 145 "ContentChild.cpp", 146 "ProcessHangMonitor.cpp", 147 "VsyncMainChild.cpp", 148 "VsyncParent.cpp", 149 "VsyncWorkerChild.cpp", 150] 151 152PREPROCESSED_IPDL_SOURCES += [ 153 "PBrowser.ipdl", 154 "PBrowserBridge.ipdl", 155 "PContent.ipdl", 156] 157 158IPDL_SOURCES += [ 159 "DOMTypes.ipdlh", 160 "MemoryReportTypes.ipdlh", 161 "PColorPicker.ipdl", 162 "PContentPermission.ipdlh", 163 "PContentPermissionRequest.ipdl", 164 "PCycleCollectWithLogs.ipdl", 165 "PFilePicker.ipdl", 166 "PInProcess.ipdl", 167 "PLoginReputation.ipdl", 168 "PProcessHangMonitor.ipdl", 169 "PrefsTypes.ipdlh", 170 "PTabContext.ipdlh", 171 "PURLClassifier.ipdl", 172 "PURLClassifierInfo.ipdlh", 173 "PURLClassifierLocal.ipdl", 174 "PVsync.ipdl", 175 "PWindowGlobal.ipdl", 176 "ServiceWorkerConfiguration.ipdlh", 177 "WindowGlobalTypes.ipdlh", 178] 179 180include("/ipc/chromium/chromium-config.mozbuild") 181 182FINAL_LIBRARY = "xul" 183 184if CONFIG["MOZ_SANDBOX"] and (CONFIG["OS_TARGET"] in ["Darwin", "Linux"]): 185 USE_LIBS += [ 186 "mozsandbox", 187 ] 188 189LOCAL_INCLUDES += [ 190 "/caps", 191 "/chrome", 192 "/docshell/base", 193 "/dom/base", 194 "/dom/bindings", 195 "/dom/events", 196 "/dom/filesystem", 197 "/dom/geolocation", 198 "/dom/media/webrtc", 199 "/dom/media/webspeech/synth/ipc", 200 "/dom/security", 201 "/dom/storage", 202 "/extensions/spellcheck/src", 203 "/gfx/2d", 204 "/hal/sandbox", 205 "/js/xpconnect/loader", 206 "/js/xpconnect/src", 207 "/layout/base", 208 "/media/webrtc", 209 "/netwerk/base", 210 "/netwerk/protocol/http", 211 "/toolkit/components/printingui/ipc", 212 "/toolkit/crashreporter", 213 "/toolkit/xre", 214 "/uriloader/exthandler", 215 "/widget", 216 "/xpcom/base", 217 "/xpcom/threads", 218] 219 220if CONFIG["MOZ_SANDBOX"] and CONFIG["OS_ARCH"] == "WINNT": 221 LOCAL_INCLUDES += [ 222 "/security/sandbox/chromium", 223 "/security/sandbox/chromium-shim", 224 ] 225 226if CONFIG["OS_ARCH"] != "WINNT": 227 LOCAL_INCLUDES += [ 228 "/modules/libjar", 229 ] 230 231DEFINES["BIN_SUFFIX"] = '"%s"' % CONFIG["BIN_SUFFIX"] 232 233DEFINES["MOZ_APP_NAME"] = '"%s"' % CONFIG["MOZ_APP_NAME"] 234 235if CONFIG["MOZ_WIDGET_TOOLKIT"] == "android": 236 DEFINES["MOZ_ENABLE_FREETYPE"] = True 237 238JAR_MANIFESTS += ["jar.mn"] 239 240BROWSER_CHROME_MANIFESTS += [ 241 "tests/browser.ini", 242 "tests/JSProcessActor/browser.ini", 243 "tests/JSWindowActor/browser.ini", 244] 245 246MOCHITEST_CHROME_MANIFESTS += ["tests/chrome.ini"] 247MOCHITEST_MANIFESTS += ["tests/mochitest.ini"] 248XPCSHELL_TESTS_MANIFESTS += ["tests/xpcshell.ini"] 249 250if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": 251 CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"] 252 253if CONFIG["FUZZING"] and CONFIG["FUZZING_INTERFACES"]: 254 TEST_DIRS += ["fuzztest"] 255 256# Add libFuzzer configuration directives 257include("/tools/fuzzing/libfuzzer-config.mozbuild") 258