# Copyright 2016 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//third_party/WebKit/Source/core/core.gni")

blink_core_sources("layout") {
  split_count = 5

  sources = [
    "BidiRun.h",
    "BidiRunForLine.cpp",
    "BidiRunForLine.h",
    "ColumnBalancer.cpp",
    "ColumnBalancer.h",
    "CounterNode.cpp",
    "CounterNode.h",
    "DepthOrderedLayoutObjectList.cpp",
    "DepthOrderedLayoutObjectList.h",
    "FlexibleBoxAlgorithm.cpp",
    "FlexibleBoxAlgorithm.h",
    "FloatingObjects.cpp",
    "FloatingObjects.h",
    "FragmentainerIterator.cpp",
    "FragmentainerIterator.h",
    "FragmentationContext.h",
    "GeneratedChildren.h",
    "Grid.cpp",
    "Grid.h",
    "GridTrackSizingAlgorithm.cpp",
    "GridTrackSizingAlgorithm.h",
    "HitTestCache.cpp",
    "HitTestCache.h",
    "HitTestCanvasResult.cpp",
    "HitTestLocation.cpp",
    "HitTestLocation.h",
    "HitTestResult.cpp",
    "HitTestingTransformState.cpp",
    "HitTestingTransformState.h",
    "ImageQualityController.cpp",
    "ImageQualityController.h",
    "IntersectionGeometry.cpp",
    "IntersectionGeometry.h",
    "LayoutAnalyzer.cpp",
    "LayoutAnalyzer.h",
    "LayoutBR.cpp",
    "LayoutBlock.cpp",
    "LayoutBlockFlow.cpp",
    "LayoutBlockFlowLine.cpp",
    "LayoutBox.cpp",
    "LayoutBoxModelObject.cpp",
    "LayoutButton.cpp",
    "LayoutButton.h",
    "LayoutCounter.cpp",
    "LayoutCounter.h",
    "LayoutDeprecatedFlexibleBox.cpp",
    "LayoutDeprecatedFlexibleBox.h",
    "LayoutDetailsMarker.cpp",
    "LayoutDetailsMarker.h",
    "LayoutEmbeddedObject.cpp",
    "LayoutFieldset.cpp",
    "LayoutFieldset.h",
    "LayoutFileUploadControl.cpp",
    "LayoutFileUploadControl.h",
    "LayoutFlexibleBox.cpp",
    "LayoutFlexibleBox.h",
    "LayoutFlowThread.cpp",
    "LayoutFlowThread.h",
    "LayoutFrame.cpp",
    "LayoutFrame.h",
    "LayoutFrameSet.cpp",
    "LayoutFrameSet.h",
    "LayoutFullScreen.cpp",
    "LayoutFullScreen.h",
    "LayoutGeometryMap.cpp",
    "LayoutGeometryMap.h",
    "LayoutGeometryMapStep.h",
    "LayoutGrid.cpp",
    "LayoutGrid.h",
    "LayoutHTMLCanvas.cpp",
    "LayoutHTMLCanvas.h",
    "LayoutIFrame.cpp",
    "LayoutIFrame.h",
    "LayoutImage.cpp",
    "LayoutImageResource.cpp",
    "LayoutImageResourceStyleImage.cpp",
    "LayoutInline.cpp",
    "LayoutInline.h",
    "LayoutListBox.cpp",
    "LayoutListBox.h",
    "LayoutListItem.cpp",
    "LayoutListMarker.cpp",
    "LayoutListMarker.h",
    "LayoutMedia.cpp",
    "LayoutMedia.h",
    "LayoutMenuList.cpp",
    "LayoutMenuList.h",
    "LayoutMultiColumnFlowThread.cpp",
    "LayoutMultiColumnFlowThread.h",
    "LayoutMultiColumnSet.cpp",
    "LayoutMultiColumnSet.h",
    "LayoutMultiColumnSpannerPlaceholder.cpp",
    "LayoutMultiColumnSpannerPlaceholder.h",
    "LayoutObject.cpp",
    "LayoutObjectChildList.cpp",
    "LayoutPagedFlowThread.cpp",
    "LayoutPagedFlowThread.h",
    "LayoutPart.cpp",
    "LayoutProgress.cpp",
    "LayoutProgress.h",
    "LayoutQuote.cpp",
    "LayoutQuote.h",
    "LayoutReplaced.cpp",
    "LayoutRuby.cpp",
    "LayoutRuby.h",
    "LayoutRubyBase.cpp",
    "LayoutRubyBase.h",
    "LayoutRubyRun.cpp",
    "LayoutRubyRun.h",
    "LayoutRubyText.cpp",
    "LayoutRubyText.h",
    "LayoutScrollbar.cpp",
    "LayoutScrollbar.h",
    "LayoutScrollbarPart.cpp",
    "LayoutScrollbarPart.h",
    "LayoutScrollbarTheme.cpp",
    "LayoutScrollbarTheme.h",
    "LayoutSearchField.cpp",
    "LayoutSearchField.h",
    "LayoutSlider.cpp",
    "LayoutSlider.h",
    "LayoutSliderContainer.cpp",
    "LayoutSliderContainer.h",
    "LayoutSliderThumb.cpp",
    "LayoutSliderThumb.h",
    "LayoutState.cpp",
    "LayoutTable.cpp",
    "LayoutTable.h",
    "LayoutTableBoxComponent.cpp",
    "LayoutTableBoxComponent.h",
    "LayoutTableCaption.cpp",
    "LayoutTableCaption.h",
    "LayoutTableCell.cpp",
    "LayoutTableCell.h",
    "LayoutTableCol.cpp",
    "LayoutTableCol.h",
    "LayoutTableRow.cpp",
    "LayoutTableRow.h",
    "LayoutTableSection.cpp",
    "LayoutTableSection.h",
    "LayoutText.cpp",
    "LayoutTextCombine.cpp",
    "LayoutTextCombine.h",
    "LayoutTextControl.cpp",
    "LayoutTextControl.h",
    "LayoutTextControlMultiLine.cpp",
    "LayoutTextControlMultiLine.h",
    "LayoutTextControlSingleLine.cpp",
    "LayoutTextControlSingleLine.h",
    "LayoutTextFragment.cpp",
    "LayoutTextFragment.h",
    "LayoutTextTrackContainer.cpp",
    "LayoutTextTrackContainer.h",
    "LayoutTheme.cpp",
    "LayoutTheme.h",
    "LayoutThemeDefault.cpp",
    "LayoutThemeDefault.h",
    "LayoutThemeFontProvider.cpp",
    "LayoutThemeFontProvider.h",
    "LayoutThemeMac.h",
    "LayoutThemeMac.mm",
    "LayoutThemeMobile.cpp",
    "LayoutThemeMobile.h",
    "LayoutTreeAsText.cpp",
    "LayoutVTTCue.cpp",
    "LayoutVTTCue.h",
    "LayoutVideo.cpp",
    "LayoutVideo.h",
    "LayoutView.cpp",
    "LayoutWordBreak.cpp",
    "LayoutWordBreak.h",
    "ListMarkerText.cpp",
    "ListMarkerText.h",
    "MultiColumnFragmentainerGroup.cpp",
    "MultiColumnFragmentainerGroup.h",
    "OrderIterator.cpp",
    "OrderIterator.h",
    "OverflowModel.h",
    "PaintInvalidationState.cpp",
    "PaintInvalidationState.h",
    "PointerEventsHitRules.cpp",
    "PointerEventsHitRules.h",
    "ScrollAlignment.cpp",
    "ScrollAnchor.cpp",
    "ScrollAnchor.h",
    "SubtreeLayoutScope.cpp",
    "SubtreeLayoutScope.h",
    "TableLayoutAlgorithm.h",
    "TableLayoutAlgorithmAuto.cpp",
    "TableLayoutAlgorithmAuto.h",
    "TableLayoutAlgorithmFixed.cpp",
    "TableLayoutAlgorithmFixed.h",
    "TextAutosizer.cpp",
    "TextAutosizer.h",
    "TextRunConstructor.cpp",
    "TextRunConstructor.h",
    "TracedLayoutObject.cpp",
    "TracedLayoutObject.h",
    "VerticalPositionCache.h",
    "ViewFragmentationContext.cpp",
    "ViewFragmentationContext.h",
    "api/HitTestAction.h",
    "api/LayoutAPIShim.h",
    "api/LayoutBlockItem.h",
    "api/LayoutBoxItem.h",
    "api/LayoutBoxModel.h",
    "api/LayoutEmbeddedItem.h",
    "api/LayoutFullScreenItem.h",
    "api/LayoutImageItem.h",
    "api/LayoutItem.h",
    "api/LayoutLIItem.h",
    "api/LayoutMenuListItem.h",
    "api/LayoutPartItem.h",
    "api/LayoutProgressItem.h",
    "api/LayoutSliderItem.h",
    "api/LayoutTextControlItem.h",
    "api/LayoutTextFragmentItem.h",
    "api/LayoutTextItem.h",
    "api/LayoutViewItem.h",
    "api/LineLayoutAPIShim.h",
    "api/LineLayoutBR.h",
    "api/LineLayoutBlockFlow.h",
    "api/LineLayoutBox.h",
    "api/LineLayoutBoxModel.h",
    "api/LineLayoutInline.h",
    "api/LineLayoutItem.h",
    "api/LineLayoutListMarker.h",
    "api/LineLayoutRubyBase.h",
    "api/LineLayoutRubyRun.h",
    "api/LineLayoutRubyText.h",
    "api/LineLayoutSVGInline.h",
    "api/LineLayoutSVGInlineText.h",
    "api/LineLayoutSVGTextPath.h",
    "api/LineLayoutText.h",
    "api/LineLayoutTextCombine.h",
    "api/SelectionState.h",
    "compositing/CompositedLayerMapping.cpp",
    "compositing/CompositedLayerMapping.h",
    "compositing/CompositingInputsUpdater.cpp",
    "compositing/CompositingInputsUpdater.h",
    "compositing/CompositingLayerAssigner.cpp",
    "compositing/CompositingLayerAssigner.h",
    "compositing/CompositingReasonFinder.cpp",
    "compositing/CompositingReasonFinder.h",
    "compositing/CompositingRequirementsUpdater.cpp",
    "compositing/CompositingRequirementsUpdater.h",
    "compositing/CompositingState.h",
    "compositing/CompositingTriggers.h",
    "compositing/GraphicsLayerTreeBuilder.cpp",
    "compositing/GraphicsLayerTreeBuilder.h",
    "compositing/GraphicsLayerUpdater.cpp",
    "compositing/GraphicsLayerUpdater.h",
    "compositing/PaintLayerCompositor.cpp",
    "compositing/PaintLayerCompositor.h",
    "line/AbstractInlineTextBox.cpp",
    "line/AbstractInlineTextBox.h",
    "line/BreakingContext.cpp",
    "line/EllipsisBox.cpp",
    "line/EllipsisBox.h",
    "line/GlyphOverflow.h",
    "line/InlineBox.cpp",
    "line/InlineFlowBox.cpp",
    "line/InlineIterator.h",
    "line/InlineTextBox.cpp",
    "line/LineBoxList.cpp",
    "line/LineBreaker.cpp",
    "line/LineBreaker.h",
    "line/LineWidth.cpp",
    "line/LineWidth.h",
    "line/RootInlineBox.cpp",
    "line/TrailingObjects.cpp",
    "line/TrailingObjects.h",
    "ng/layout_ng_block_flow.cc",
    "ng/layout_ng_block_flow.h",
    "ng/ng_absolute_utils.cc",
    "ng/ng_absolute_utils.h",
    "ng/ng_bidi_paragraph.cc",
    "ng/ng_bidi_paragraph.h",
    "ng/ng_block_layout_algorithm.cc",
    "ng/ng_block_layout_algorithm.h",
    "ng/ng_block_node.cc",
    "ng/ng_block_node.h",
    "ng/ng_box_fragment.cc",
    "ng/ng_box_fragment.h",
    "ng/ng_break_token.h",
    "ng/ng_constraint_space.cc",
    "ng/ng_constraint_space.h",
    "ng/ng_constraint_space_builder.cc",
    "ng/ng_constraint_space_builder.h",
    "ng/ng_floating_object.h",
    "ng/ng_fragment.cc",
    "ng/ng_fragment.h",
    "ng/ng_fragment_builder.cc",
    "ng/ng_fragment_builder.h",
    "ng/ng_inline_layout_algorithm.cc",
    "ng/ng_inline_layout_algorithm.h",
    "ng/ng_inline_node.cc",
    "ng/ng_inline_node.h",
    "ng/ng_layout_algorithm.h",
    "ng/ng_layout_inline_items_builder.cc",
    "ng/ng_layout_inline_items_builder.h",
    "ng/ng_layout_input_node.h",
    "ng/ng_layout_opportunity_iterator.cc",
    "ng/ng_layout_opportunity_iterator.h",
    "ng/ng_layout_opportunity_tree_node.cc",
    "ng/ng_layout_opportunity_tree_node.h",
    "ng/ng_length_utils.cc",
    "ng/ng_length_utils.h",
    "ng/ng_line_builder.cc",
    "ng/ng_line_builder.h",
    "ng/ng_macros.h",
    "ng/ng_out_of_flow_layout_part.cc",
    "ng/ng_out_of_flow_layout_part.h",
    "ng/ng_physical_box_fragment.cc",
    "ng/ng_physical_box_fragment.h",
    "ng/ng_physical_fragment.cc",
    "ng/ng_physical_fragment.h",
    "ng/ng_physical_text_fragment.h",
    "ng/ng_text_fragment.cc",
    "ng/ng_text_fragment.h",
    "ng/ng_text_layout_algorithm.cc",
    "ng/ng_text_layout_algorithm.h",
    "ng/ng_units.cc",
    "ng/ng_units.h",
    "ng/ng_writing_mode.cc",
    "ng/ng_writing_mode.h",
    "shapes/BoxShape.cpp",
    "shapes/BoxShape.h",
    "shapes/PolygonShape.cpp",
    "shapes/PolygonShape.h",
    "shapes/RasterShape.cpp",
    "shapes/RasterShape.h",
    "shapes/RectangleShape.cpp",
    "shapes/RectangleShape.h",
    "shapes/Shape.cpp",
    "shapes/Shape.h",
    "shapes/ShapeInterval.h",
    "shapes/ShapeOutsideInfo.cpp",
    "shapes/ShapeOutsideInfo.h",
    "svg/line/SVGInlineFlowBox.cpp",
    "svg/line/SVGInlineFlowBox.h",
    "svg/line/SVGInlineTextBox.cpp",
    "svg/line/SVGInlineTextBox.h",
    "svg/line/SVGRootInlineBox.cpp",
    "svg/line/SVGRootInlineBox.h",
  ]

  if (is_win) {
    sources += [
      "LayoutThemeFontProviderWin.cpp",
      "LayoutThemeWin.cpp",
      "LayoutThemeWin.h",
    ]
  } else {  # Not Windows.
    sources += [ "LayoutThemeFontProviderDefault.cpp" ]
  }

  if (is_linux) {
    sources += [
      "LayoutThemeLinux.cpp",
      "LayoutThemeLinux.h",
    ]
  }

  if (is_android) {
    sources += [
      "LayoutThemeAndroid.cpp",
      "LayoutThemeAndroid.h",
    ]
  }

  configs += [
    # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
    "//build/config/compiler:no_size_t_to_int_warning",
  ]
}
