# 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",
    "ClipRect.cpp",
    "ClipRect.h",
    "ClipRects.h",
    "ClipRectsCache.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",
    "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_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_coordinator.cc",
    "ng/ng_layout_coordinator.h",
    "ng/ng_layout_inline_items_builder.cc",
    "ng/ng_layout_inline_items_builder.h",
    "ng/ng_layout_input_node.cc",
    "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_legacy_block_layout_algorithm.cc",
    "ng/ng_legacy_block_layout_algorithm.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",
  ]
}
