Source code
Revision control
Copy as Markdown
Other Tools
# -*- 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
with Files("nsBlock*"):
# Parts of these files are really Layout: Floats
BUG_COMPONENT = ("Core", "Layout: Block and Inline")
with Files("Block*"):
# Parts of these files are really Layout: Floats
BUG_COMPONENT = ("Core", "Layout: Block and Inline")
with Files("nsColumn*"):
BUG_COMPONENT = ("Core", "Layout: Columns")
with Files("Column*"):
BUG_COMPONENT = ("Core", "Layout: Columns")
with Files("nsLine*"):
# Parts of these files are really Layout: Floats
BUG_COMPONENT = ("Core", "Layout: Block and Inline")
with Files("nsInlineFrame.*"):
BUG_COMPONENT = ("Core", "Layout: Block and Inline")
with Files("BRFrame.*"):
BUG_COMPONENT = ("Core", "Layout: Block and Inline")
with Files("WBRFrame.*"):
BUG_COMPONENT = ("Core", "Layout: Block and Inline")
with Files("nsFirstLetterFrame.*"):
BUG_COMPONENT = ("Core", "Layout: Block and Inline")
with Files("MathML*"):
BUG_COMPONENT = ("Core", "MathML")
with Files("Text*"):
BUG_COMPONENT = ("Core", "Layout: Text and Fonts")
with Files("nsText*"):
BUG_COMPONENT = ("Core", "Layout: Text and Fonts")
with Files("nsFrameSetFrame*"):
BUG_COMPONENT = ("Core", "Layout: Images, Video, and HTML Frames")
with Files("nsSubDocumentFrame*"):
BUG_COMPONENT = ("Core", "Layout: Images, Video, and HTML Frames")
with Files("nsFlex*"):
BUG_COMPONENT = ("Core", "Layout: Flexbox")
with Files("nsFloatManager.*"):
BUG_COMPONENT = ("Core", "Layout: Floats")
with Files("nsIntervalSet.*"):
BUG_COMPONENT = ("Core", "Layout: Floats")
with Files("nsGrid*"):
BUG_COMPONENT = ("Core", "Layout: Grid")
with Files("nsHTMLCanvasFrame.*"):
BUG_COMPONENT = ("Core", "Layout: Images, Video, and HTML Frames")
with Files("nsImage*"):
BUG_COMPONENT = ("Core", "Layout: Images, Video, and HTML Frames")
with Files("nsAbsoluteContainingBlock.*"):
BUG_COMPONENT = ("Core", "Layout: Positioned")
with Files("Sticky*"):
BUG_COMPONENT = ("Core", "Layout: Positioned")
with Files("nsRuby*"):
BUG_COMPONENT = ("Core", "Layout: Ruby")
with Files("Ruby*"):
BUG_COMPONENT = ("Core", "Layout: Ruby")
with Files("*Scroll*"):
BUG_COMPONENT = ("Core", "Layout: Scrolling and Overflow")
with Files("nsFont*"):
BUG_COMPONENT = ("Core", "Layout: Text and Fonts")
with Files("nsVideoFrame.*"):
BUG_COMPONENT = ("Core", "Audio/Video")
EXPORTS += [
"JustificationUtils.h",
"nsAtomicContainerFrame.h",
"nsBlockFrame.h",
"nsCanvasFrame.h",
"nsContainerFrame.h",
"nsDirection.h",
"nsFloatManager.h",
"nsFrameList.h",
"nsFrameSelection.h",
"nsFrameState.h",
"nsFrameStateBits.h",
"nsHTMLParts.h",
"nsIAnonymousContentCreator.h",
"nsIFrame.h",
"nsIFrameInlines.h",
"nsILineIterator.h",
"nsIntervalSet.h",
"nsIScrollPositionListener.h",
"nsIStatefulFrame.h",
"nsLineBox.h",
"nsPageSequenceFrame.h",
"nsPlaceholderFrame.h",
"nsQueryFrame.h",
"nsRubyBaseContainerFrame.h",
"nsRubyBaseFrame.h",
"nsRubyFrame.h",
"nsRubyTextContainerFrame.h",
"nsRubyTextFrame.h",
"nsSplittableFrame.h",
"nsSubDocumentFrame.h",
"nsTextFrame.h",
"nsTextFrameUtils.h",
"nsTextRunTransformations.h",
"RubyUtils.h",
"ScrollAnimationBezierPhysics.h",
"ScrollAnimationMSDPhysics.h",
"ScrollAnimationPhysics.h",
"ScrollbarActivity.h",
"ScrollSnap.h",
"ScrollVelocityQueue.h",
"TextDrawTarget.h",
"Visibility.h",
]
EXPORTS.mozilla += [
"!FrameIdList.h",
"!FrameTypeList.h",
"AnonymousContentKey.h",
"AspectRatio.h",
"AutoCopyListener.h",
"ColumnUtils.h",
"CSSAlignUtils.h",
"CSSOrderAwareFrameIterator.h",
"IntrinsicISizesCache.h",
"LayoutMessageUtils.h",
"nsVideoFrame.h",
"PrintedSheetFrame.h",
"ReflowInput.h",
"ReflowOutput.h",
"ScrollbarPreferences.h",
"ScrollContainerFrame.h",
"ScrollGeneration.h",
"ScrollOrigin.h",
"ScrollPositionUpdate.h",
"ScrollSnapInfo.h",
"ScrollSnapTargetId.h",
"SelectionMovementUtils.h",
"ViewportFrame.h",
"WritingModes.h",
]
EXPORTS.mozilla.layout += [
"ScrollAnchorContainer.h",
]
UNIFIED_SOURCES += [
"AspectRatio.cpp",
"BlockReflowState.cpp",
"BRFrame.cpp",
"ColumnSetWrapperFrame.cpp",
"ColumnUtils.cpp",
"CSSAlignUtils.cpp",
"CSSOrderAwareFrameIterator.cpp",
"MathMLTextRunFactory.cpp",
"MiddleCroppingBlockFrame.cpp",
"nsAbsoluteContainingBlock.cpp",
"nsBackdropFrame.cpp",
"nsBlockFrame.cpp",
"nsBlockReflowContext.cpp",
"nsCanvasFrame.cpp",
"nsColumnSetFrame.cpp",
"nsContainerFrame.cpp",
"nsFirstLetterFrame.cpp",
"nsFlexContainerFrame.cpp",
"nsFloatManager.cpp",
"nsFontInflationData.cpp",
"nsFrameList.cpp",
"nsFrameSelection.cpp",
"nsFrameSetFrame.cpp",
"nsFrameState.cpp",
"nsGridContainerFrame.cpp",
"nsHTMLCanvasFrame.cpp",
"nsIFrame.cpp",
"nsILineIterator.cpp",
"nsImageFrame.cpp",
"nsImageMap.cpp",
"nsInlineFrame.cpp",
"nsIntervalSet.cpp",
"nsLeafFrame.cpp",
"nsLineBox.cpp",
"nsLineLayout.cpp",
"nsPageContentFrame.cpp",
"nsPageFrame.cpp",
"nsPageSequenceFrame.cpp",
"nsPlaceholderFrame.cpp",
"nsRubyBaseContainerFrame.cpp",
"nsRubyBaseFrame.cpp",
"nsRubyContentFrame.cpp",
"nsRubyFrame.cpp",
"nsRubyTextContainerFrame.cpp",
"nsRubyTextFrame.cpp",
"nsSplittableFrame.cpp",
"nsSubDocumentFrame.cpp",
"nsTextFrame.cpp",
"nsTextFrameUtils.cpp",
"nsTextPaintStyle.cpp",
"nsTextRunTransformations.cpp",
"nsVideoFrame.cpp",
"PrintedSheetFrame.cpp",
"ReflowInput.cpp",
"ReflowOutput.cpp",
"RubyUtils.cpp",
"ScrollAnchorContainer.cpp",
"ScrollAnimationBezierPhysics.cpp",
"ScrollAnimationMSDPhysics.cpp",
"ScrollbarActivity.cpp",
"ScrollContainerFrame.cpp",
"ScrollPositionUpdate.cpp",
"ScrollSnap.cpp",
"ScrollSnapInfo.cpp",
"ScrollVelocityQueue.cpp",
"SelectionMovementUtils.cpp",
"StickyScrollContainer.cpp",
"ViewportFrame.cpp",
"WBRFrame.cpp",
]
# on win32 if we add these files to UNIFIED_SOURCES then the compiler generates
# larger stack frames for some recursive functions that cause us to hit stack
if CONFIG["OS_ARCH"] == "WINNT" and CONFIG["TARGET_CPU"] == "x86":
SOURCES += [
"TextOverflow.cpp",
]
else:
UNIFIED_SOURCES += [
"TextOverflow.cpp",
]
SOURCES += [
# If this file gets compiled with ScrollPositionUpdate.cpp, the specialized
# `operator<<` for ScrollGeneration<> won't be visible
"ScrollGeneration.cpp",
]
GeneratedFile(
"FrameIdList.h",
script="GenerateFrameLists.py",
entry_point="generate_frame_id_list_h",
inputs=["FrameClasses.py"],
)
GeneratedFile(
"FrameTypeList.h",
script="GenerateFrameLists.py",
entry_point="generate_frame_type_list_h",
inputs=["FrameClasses.py"],
)
include("/ipc/chromium/chromium-config.mozbuild")
FINAL_LIBRARY = "xul"
LOCAL_INCLUDES += [
"../base",
"../forms",
"../painting",
"../style",
"../tables",
"../xul",
"/docshell/base",
"/dom/base",
"/dom/html",
"/dom/xul",
"/gfx/cairo/cairo/src",
]
JAR_MANIFESTS += ["jar.mn"]
CONTENT_ACCESSIBLE_FILES.html = [
"folder.png",
]
MOCHITEST_MANIFESTS += ["test/mochitest.toml"]
MOCHITEST_CHROME_MANIFESTS += ["test/chrome.toml"]
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]