dom/ipc/moz.build
author Ryan Hunt <rhunt@eqrion.net>
Mon, 04 Mar 2019 20:15:58 -0600
changeset 521235 48241ea6a125e5ec01dbb323da92adabfb4ea480
parent 518856 70bcec52a7731c976c1a83b54c2d3d716ffc7bfd
child 522015 e5b9c443c421e5c77177584bfd60099b9b7212b5
permissions -rw-r--r--
Bug 1532725 - Rename PRemoteFrame to PBrowserBridge. r=nika Differential Revision: https://phabricator.services.mozilla.com/D22132

# -*- 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',
]

XPIDL_MODULE = 'dom'

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',
    'BrowserBridgeParent.h',
    'CoalescedInputData.h',
    'CoalescedMouseData.h',
    'CoalescedWheelData.h',
    'ContentChild.h',
    'ContentParent.h',
    'ContentProcess.h',
    'ContentProcessManager.h',
    'CPOWManagerGetter.h',
    'CSPMessageUtils.h',
    'DocShellMessageUtils.h',
    'FilePickerParent.h',
    'JSWindowActorChild.h',
    'JSWindowActorParent.h',
    'JSWindowActorService.h',
    'MemoryReportRequest.h',
    'PermissionMessageUtils.h',
    'TabChild.h',
    'TabContext.h',
    'TabMessageUtils.h',
    'TabParent.h',
    'URLClassifierChild.h',
    'URLClassifierParent.h',
    'WindowGlobalChild.h',
    'WindowGlobalParent.h',
]

EXPORTS.mozilla += [
    'PreallocatedProcessManager.h',
    'ProcessHangMonitor.h',
    'ProcessHangMonitorIPC.h',
    'ProcessPriorityManager.h',
]

UNIFIED_SOURCES += [
    'BrowserBridgeChild.cpp',
    'BrowserBridgeParent.cpp',
    'CoalescedMouseData.cpp',
    'CoalescedWheelData.cpp',
    'ColorPickerParent.cpp',
    'ContentParent.cpp',
    'ContentProcess.cpp',
    'ContentProcessManager.cpp',
    'CSPMessageUtils.cpp',
    'DocShellMessageUtils.cpp',
    'FilePickerParent.cpp',
    'JSWindowActorChild.cpp',
    'JSWindowActorParent.cpp',
    'JSWindowActorService.cpp',
    'MemMapSnapshot.cpp',
    'MemoryReportRequest.cpp',
    'MMPrinter.cpp',
    'PermissionMessageUtils.cpp',
    'PreallocatedProcessManager.cpp',
    'ProcessPriorityManager.cpp',
    'SharedMap.cpp',
    'SharedStringMap.cpp',
    'StructuredCloneData.cpp',
    'TabChild.cpp',
    'TabContext.cpp',
    'TabMessageUtils.cpp',
    'TabParent.cpp',
    'URLClassifierParent.cpp',
    'WindowGlobalChild.cpp',
    'WindowGlobalParent.cpp',
]

# ContentChild.cpp cannot be compiled in unified mode on  linux due to Time conflict
SOURCES += [
    'ContentChild.cpp',
    'ProcessHangMonitor.cpp',
]

IPDL_SOURCES += [
    'DOMTypes.ipdlh',
    'MemoryReportTypes.ipdlh',
    'PBrowser.ipdl',
    'PBrowserBridge.ipdl',
    'PBrowserOrId.ipdlh',
    'PColorPicker.ipdl',
    'PContent.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'] == 'Darwin':
    USE_LIBS += [
        'mozsandbox',
    ]

if CONFIG['MOZ_CONTENT_SANDBOX'] and CONFIG['OS_ARCH'] == '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/cookie',
    '/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']

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
    DEFINES['MOZ_ENABLE_FREETYPE'] = True

if CONFIG['MOZ_TOOLKIT_SEARCH']:
    DEFINES['MOZ_TOOLKIT_SEARCH'] = True

JAR_MANIFESTS += ['jar.mn']

BROWSER_CHROME_MANIFESTS += ['tests/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')