gecko/dom/ipc/moz.build
Jed Davis eb69e55005 Bug 973090 - IPC remoting for child GC/CC logging. r=mccr8, r=bent
This has a few semi-interdependent pieces:

* Factoring out the file opening/closing/renaming from the GC/CC logging.

* Using IPC to have the child log to files that the parent opened.

* Changing nsIMemoryInfoDumper.dumpGCAndCCLogsToFile to report completion
  of child process logging (which was impossible before this, and which is
  needed to have a meaningful test case).

* Changing about:memory to dump logs for child processes, matching the
  behavior of the "Measure" button, because it can tell the user where
  they are now.

* Add a test for multiprocess GC/CC log dumping (only of the XPCOM
  interface, not by clicking buttons and scraping the about:memory page,
  but done as a chrome mochitest to start remote browsers); based on
  test_memoryReporters2.xul in the same directory.
2014-05-13 13:13:00 -04:00

139 lines
3.3 KiB
Python

# -*- Mode: python; c-basic-offset: 4; 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/.
TEST_DIRS += ['tests']
EXPORTS += [
'nsICachedFileDescriptorListener.h',
'PCOMContentPermissionRequestChild.h',
]
EXPORTS.mozilla.dom.ipc += [
'Blob.h',
'nsIRemoteBlob.h',
]
EXPORTS.mozilla.dom += [
'ContentChild.h',
'ContentParent.h',
'ContentProcess.h',
'CrashReporterChild.h',
'CrashReporterParent.h',
'FileDescriptorSetChild.h',
'FileDescriptorSetParent.h',
'FilePickerParent.h',
'PermissionMessageUtils.h',
'StructuredCloneUtils.h',
'TabChild.h',
'TabContext.h',
'TabMessageUtils.h',
'TabParent.h',
]
EXPORTS.mozilla += [
'AppProcessChecker.h',
'PreallocatedProcessManager.h',
'ProcessPriorityManager.h',
]
UNIFIED_SOURCES += [
'AppProcessChecker.cpp',
'ColorPickerParent.cpp',
'ContentParent.cpp',
'ContentProcess.cpp',
'CrashReporterParent.cpp',
'FileDescriptorSetChild.cpp',
'FileDescriptorSetParent.cpp',
'FilePickerParent.cpp',
'PermissionMessageUtils.cpp',
'PreallocatedProcessManager.cpp',
'ProcessPriorityManager.cpp',
'StructuredCloneUtils.cpp',
'TabChild.cpp',
'TabContext.cpp',
'TabMessageUtils.cpp',
'TabParent.cpp',
]
# Blob.cpp cannot be compiled in unified mode because it triggers a fatal gcc warning.
# ContentChild.cpp cannot be compiled in unified mode because it forces NSPR logging.
# CrashReporterChild.cpp cannot be compiled in unified mode because of name clashes
# in OS X headers.
SOURCES += [
'Blob.cpp',
'ContentChild.cpp',
'CrashReporterChild.cpp',
]
IPDL_SOURCES += [
'DOMTypes.ipdlh',
'PBlob.ipdl',
'PBlobStream.ipdl',
'PBrowser.ipdl',
'PColorPicker.ipdl',
'PContent.ipdl',
'PContentPermission.ipdlh',
'PContentPermissionRequest.ipdl',
'PCrashReporter.ipdl',
'PCycleCollectWithLogs.ipdl',
'PDocumentRenderer.ipdl',
'PFileDescriptorSet.ipdl',
'PFilePicker.ipdl',
'PMemoryReportRequest.ipdl',
'PTabContext.ipdlh',
]
FAIL_ON_WARNINGS = True
include('/ipc/chromium/chromium-config.mozbuild')
FINAL_LIBRARY = 'xul'
LOCAL_INCLUDES += [
'../src/base',
'../src/geolocation',
'../src/storage',
'/chrome/src',
'/content/base/src',
'/content/media/webspeech/synth/ipc',
'/docshell/base',
'/dom/base',
'/dom/bluetooth',
'/dom/bluetooth/ipc',
'/dom/devicestorage',
'/dom/filesystem',
'/dom/fmradio/ipc',
'/dom/indexedDB',
'/dom/indexedDB/ipc',
'/dom/mobilemessage/src/ipc',
'/extensions/cookie',
'/hal/sandbox',
'/js/ipc',
'/layout/base',
'/netwerk/base/src',
'/toolkit/xre',
'/uriloader/exthandler',
'/widget/xpwidgets',
'/xpcom/base',
'/xpcom/threads',
]
DEFINES['BIN_SUFFIX'] = '"%s"' % CONFIG['BIN_SUFFIX']
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android', 'gtk2', 'gonk', 'qt'):
DEFINES['MOZ_ENABLE_FREETYPE'] = True
for var in ('MOZ_PERMISSIONS', 'MOZ_CHILD_PERMISSIONS'):
if CONFIG[var]:
DEFINES[var] = True
if CONFIG['ENABLE_TESTS']:
LOCAL_INCLUDES += [
'ipc/glue',
]
JAR_MANIFESTS += ['jar.mn']