gecko/layout/base/moz.build
Cameron McCormack 40fb431145 Bug 979133 - Add facility to log the restyle process. r=dbaron
Set the MOZ_DEBUG_RESTYLE environment variable and every restyle will have
detailed logging printed to stderr. By default, restyles for animations are
not logged; you can include them by also setting MOZ_DEBUG_RESTYLE_ANIMATIONS.

If you wish to limit restyle logging to a particular change, you can call
nsPresContext::StartRestyleLogging() and nsPresContext::StopRestyleLogging()
at appropriate points. (You might want to add a couple of helper methods
temporarily on nsIDocument and then expose them to your page with Web IDL
to make them easier to call.) You do not need to have set MOZ_DEBUG_RESTYLE
for this to work.
2014-09-25 15:45:36 +10:00

145 lines
3.5 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/.
XPIDL_SOURCES += [
'nsIStyleSheetService.idl',
]
if CONFIG['MOZ_DEBUG']:
UNIFIED_SOURCES += [
'nsAutoLayoutPhase.cpp',
]
XPIDL_MODULE = 'layout_base'
EXPORTS += [
'ActiveLayerTracker.h',
'CaretAssociationHint.h',
'DisplayItemClip.h',
'DisplayListClipState.h',
'FrameLayerBuilder.h',
'FramePropertyTable.h',
'LayerState.h',
'nsArenaMemoryStats.h',
'nsBidi.h',
'nsBidiPresUtils.h',
'nsCaret.h',
'nsChangeHint.h',
'nsCompatibility.h',
'nsCSSFrameConstructor.h',
'nsDisplayItemTypes.h',
'nsDisplayItemTypesList.h',
'nsDisplayList.h',
'nsDisplayListInvalidation.h',
'nsFrameManager.h',
'nsFrameManagerBase.h',
'nsFrameTraversal.h',
'nsIFrameTraversal.h',
'nsILayoutDebugger.h',
'nsILayoutHistoryState.h',
'nsIPercentHeightObserver.h',
'nsIPresShell.h',
'nsIReflowCallback.h',
'nsLayoutUtils.h',
'nsPresArena.h',
'nsPresContext.h',
'nsPresState.h',
'nsRefreshDriver.h',
'nsStyleChangeList.h',
'ScrollbarStyles.h',
'StackArena.h',
'Units.h',
'UnitTransforms.h',
'WordMovementType.h',
]
EXPORTS.mozilla += [
'GeometryUtils.h',
'PaintTracker.h',
'RestyleLogging.h',
]
UNIFIED_SOURCES += [
'ActiveLayerTracker.cpp',
'DisplayItemClip.cpp',
'DisplayListClipState.cpp',
'FrameLayerBuilder.cpp',
'FramePropertyTable.cpp',
'GeometryUtils.cpp',
'MaskLayerImageCache.cpp',
'nsBidi.cpp',
'nsBidiPresUtils.cpp',
'nsCaret.cpp',
'nsCounterManager.cpp',
'nsCSSColorUtils.cpp',
'nsCSSFrameConstructor.cpp',
'nsCSSRendering.cpp',
'nsCSSRenderingBorders.cpp',
'nsDisplayList.cpp',
'nsDisplayListInvalidation.cpp',
'nsFrameManager.cpp',
'nsFrameTraversal.cpp',
'nsGenConList.cpp',
'nsLayoutDebugger.cpp',
'nsLayoutHistoryState.cpp',
'nsLayoutUtils.cpp',
'nsPresContext.cpp',
'nsQuoteList.cpp',
'nsStyleChangeList.cpp',
'nsStyleSheetService.cpp',
'PaintTracker.cpp',
'PositionedEventTargeting.cpp',
'RestyleManager.cpp',
'RestyleTracker.cpp',
'SelectionCarets.cpp',
'StackArena.cpp',
'TouchCaret.cpp',
]
# nsDocumentViewer.cpp and nsPresShell.cpp need to be built separately
# because they force NSPR logging.
# nsPresArena.cpp needs to be built separately because it uses plarena.h.
# nsRefreshDriver.cpp needs to be built separately because of name clashes in the OS X headers
SOURCES += [
'nsDocumentViewer.cpp',
'nsPresArena.cpp',
'nsPresShell.cpp',
'nsRefreshDriver.cpp',
]
FAIL_ON_WARNINGS = True
MSVC_ENABLE_PGO = True
include('/ipc/chromium/chromium-config.mozbuild')
LOCAL_INCLUDES += [
'../../content/base/src',
'../../content/html/content/src',
'../../content/svg/content/src',
'../forms',
'../generic',
'../mathml',
'../printing',
'../style',
'../svg',
'../tables',
'../xul',
'../xul/tree/',
'/docshell/base',
'/dom/base',
'/dom/xbl',
'/view',
]
FINAL_LIBRARY = 'xul'
MOCHITEST_MANIFESTS += ['tests/mochitest.ini']
MOCHITEST_CHROME_MANIFESTS += ['tests/chrome/chrome.ini']
BROWSER_CHROME_MANIFESTS += ['tests/browser.ini']
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']