# 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 = [
    "BackgroundBleedAvoidance.h",
    "BaselineAlignment.cpp",
    "BaselineAlignment.h",
    "BidiRun.h",
    "BidiRunForLine.cpp",
    "BidiRunForLine.h",
    "CollapsedBorderValue.cpp",
    "CollapsedBorderValue.h",
    "ColumnBalancer.cpp",
    "ColumnBalancer.h",
    "ContentChangeType.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",
    "GridLayoutUtils.cpp",
    "GridLayoutUtils.h",
    "GridTrackSizingAlgorithm.cpp",
    "GridTrackSizingAlgorithm.h",
    "HitTestCache.cpp",
    "HitTestCache.h",
    "HitTestCanvasResult.cpp",
    "HitTestCanvasResult.h",
    "HitTestLocation.cpp",
    "HitTestLocation.h",
    "HitTestRequest.h",
    "HitTestResult.cpp",
    "HitTestResult.h",
    "HitTestingTransformState.cpp",
    "HitTestingTransformState.h",
    "IntersectionGeometry.cpp",
    "IntersectionGeometry.h",
    "LayoutAnalyzer.cpp",
    "LayoutAnalyzer.h",
    "LayoutBR.cpp",
    "LayoutBR.h",
    "LayoutBlock.cpp",
    "LayoutBlock.h",
    "LayoutBlockFlow.cpp",
    "LayoutBlockFlow.h",
    "LayoutBlockFlowLine.cpp",
    "LayoutBox.cpp",
    "LayoutBox.h",
    "LayoutBoxModelObject.cpp",
    "LayoutBoxModelObject.h",
    "LayoutButton.cpp",
    "LayoutButton.h",
    "LayoutCounter.cpp",
    "LayoutCounter.h",
    "LayoutDeprecatedFlexibleBox.cpp",
    "LayoutDeprecatedFlexibleBox.h",
    "LayoutDetailsMarker.cpp",
    "LayoutDetailsMarker.h",
    "LayoutEmbeddedContent.cpp",
    "LayoutEmbeddedContent.h",
    "LayoutEmbeddedObject.cpp",
    "LayoutEmbeddedObject.h",
    "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",
    "LayoutImage.h",
    "LayoutImageResource.cpp",
    "LayoutImageResource.h",
    "LayoutImageResourceStyleImage.cpp",
    "LayoutImageResourceStyleImage.h",
    "LayoutInline.cpp",
    "LayoutInline.h",
    "LayoutListBox.cpp",
    "LayoutListBox.h",
    "LayoutListItem.cpp",
    "LayoutListItem.h",
    "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",
    "LayoutObject.h",
    "LayoutObjectChildList.cpp",
    "LayoutObjectChildList.h",
    "LayoutObjectInlines.h",
    "LayoutPagedFlowThread.cpp",
    "LayoutPagedFlowThread.h",
    "LayoutProgress.cpp",
    "LayoutProgress.h",
    "LayoutQuote.cpp",
    "LayoutQuote.h",
    "LayoutReplaced.cpp",
    "LayoutReplaced.h",
    "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",
    "LayoutState.h",
    "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",
    "LayoutText.h",
    "LayoutTextCombine.cpp",
    "LayoutTextCombine.h",
    "LayoutTextControl.cpp",
    "LayoutTextControl.h",
    "LayoutTextControlMultiLine.cpp",
    "LayoutTextControlMultiLine.h",
    "LayoutTextControlSingleLine.cpp",
    "LayoutTextControlSingleLine.h",
    "LayoutTextFragment.cpp",
    "LayoutTextFragment.h",
    "LayoutTheme.cpp",
    "LayoutTheme.h",
    "LayoutThemeDefault.cpp",
    "LayoutThemeDefault.h",
    "LayoutThemeFontProvider.cpp",
    "LayoutThemeFontProvider.h",
    "LayoutThemeMac.h",
    "LayoutThemeMac.mm",
    "LayoutThemeMobile.cpp",
    "LayoutThemeMobile.h",
    "LayoutTreeAsText.cpp",
    "LayoutTreeAsText.h",
    "LayoutVTTCue.cpp",
    "LayoutVTTCue.h",
    "LayoutVideo.cpp",
    "LayoutVideo.h",
    "LayoutView.cpp",
    "LayoutView.h",
    "LayoutWordBreak.cpp",
    "LayoutWordBreak.h",
    "ListMarkerText.cpp",
    "ListMarkerText.h",
    "MapCoordinatesFlags.h",
    "MinMaxSize.cpp",
    "MinMaxSize.h",
    "MultiColumnFragmentainerGroup.cpp",
    "MultiColumnFragmentainerGroup.h",
    "OrderIterator.cpp",
    "OrderIterator.h",
    "OverflowModel.h",
    "PointerEventsHitRules.cpp",
    "PointerEventsHitRules.h",
    "ScrollAlignment.cpp",
    "ScrollAlignment.h",
    "ScrollAnchor.cpp",
    "ScrollAnchor.h",
    "SubtreeLayoutScope.cpp",
    "SubtreeLayoutScope.h",
    "TableGridCell.cpp",
    "TableGridCell.h",
    "TableLayoutAlgorithm.h",
    "TableLayoutAlgorithmAuto.cpp",
    "TableLayoutAlgorithmAuto.h",
    "TableLayoutAlgorithmFixed.cpp",
    "TableLayoutAlgorithmFixed.h",
    "TextAutosizer.cpp",
    "TextAutosizer.h",
    "TextDecorationOffset.cpp",
    "TextDecorationOffset.h",
    "TextDecorationOffsetBase.cpp",
    "TextDecorationOffsetBase.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/LayoutFullScreenItem.h",
    "api/LayoutImageItem.h",
    "api/LayoutItem.h",
    "api/LayoutLIItem.h",
    "api/LayoutMenuListItem.h",
    "api/LayoutProgressItem.h",
    "api/LayoutSliderItem.cpp",
    "api/LayoutSliderItem.h",
    "api/LayoutTextControlItem.h",
    "api/LayoutTextFragmentItem.h",
    "api/LayoutTextItem.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.cpp",
    "api/SelectionState.h",
    "line/AbstractInlineTextBox.cpp",
    "line/AbstractInlineTextBox.h",
    "line/BreakingContext.cpp",
    "line/BreakingContextInlineHeaders.h",
    "line/EllipsisBox.cpp",
    "line/EllipsisBox.h",
    "line/GlyphOverflow.h",
    "line/InlineBox.cpp",
    "line/InlineBox.h",
    "line/InlineFlowBox.cpp",
    "line/InlineFlowBox.h",
    "line/InlineIterator.h",
    "line/InlineTextBox.cpp",
    "line/InlineTextBox.h",
    "line/LayoutTextInfo.h",
    "line/LineBoxList.cpp",
    "line/LineBoxList.h",
    "line/LineBreaker.cpp",
    "line/LineBreaker.h",
    "line/LineInfo.h",
    "line/LineLayoutState.h",
    "line/LineVerticalPositionType.h",
    "line/LineWidth.cpp",
    "line/LineWidth.h",
    "line/RootInlineBox.cpp",
    "line/RootInlineBox.h",
    "line/TrailingObjects.cpp",
    "line/TrailingObjects.h",
    "line/WordMeasurement.h",
    "ng/exclusions/ng_exclusion_space.cc",
    "ng/exclusions/ng_exclusion_space.h",
    "ng/geometry/ng_bfc_offset.cc",
    "ng/geometry/ng_bfc_offset.h",
    "ng/geometry/ng_bfc_rect.cc",
    "ng/geometry/ng_bfc_rect.h",
    "ng/geometry/ng_border_edges.cc",
    "ng/geometry/ng_border_edges.h",
    "ng/geometry/ng_box_strut.cc",
    "ng/geometry/ng_box_strut.h",
    "ng/geometry/ng_edge.h",
    "ng/geometry/ng_logical_offset.cc",
    "ng/geometry/ng_logical_offset.h",
    "ng/geometry/ng_logical_rect.cc",
    "ng/geometry/ng_logical_rect.h",
    "ng/geometry/ng_logical_size.cc",
    "ng/geometry/ng_logical_size.h",
    "ng/geometry/ng_margin_strut.cc",
    "ng/geometry/ng_margin_strut.h",
    "ng/geometry/ng_physical_location.cc",
    "ng/geometry/ng_physical_location.h",
    "ng/geometry/ng_physical_offset.cc",
    "ng/geometry/ng_physical_offset.h",
    "ng/geometry/ng_physical_offset_rect.cc",
    "ng/geometry/ng_physical_offset_rect.h",
    "ng/geometry/ng_physical_rect.cc",
    "ng/geometry/ng_physical_rect.h",
    "ng/geometry/ng_physical_size.cc",
    "ng/geometry/ng_physical_size.h",
    "ng/geometry/ng_static_position.cc",
    "ng/geometry/ng_static_position.h",
    "ng/inline/empty_offset_mapping_builder.h",
    "ng/inline/ng_baseline.cc",
    "ng/inline/ng_baseline.h",
    "ng/inline/ng_bidi_paragraph.cc",
    "ng/inline/ng_bidi_paragraph.h",
    "ng/inline/ng_inline_box_state.cc",
    "ng/inline/ng_inline_box_state.h",
    "ng/inline/ng_inline_break_token.cc",
    "ng/inline/ng_inline_break_token.h",
    "ng/inline/ng_inline_fragment_traversal.cc",
    "ng/inline/ng_inline_fragment_traversal.h",
    "ng/inline/ng_inline_item.cc",
    "ng/inline/ng_inline_item.h",
    "ng/inline/ng_inline_item_result.cc",
    "ng/inline/ng_inline_item_result.h",
    "ng/inline/ng_inline_items_builder.cc",
    "ng/inline/ng_inline_items_builder.h",
    "ng/inline/ng_inline_layout_algorithm.cc",
    "ng/inline/ng_inline_layout_algorithm.h",
    "ng/inline/ng_inline_node.cc",
    "ng/inline/ng_inline_node.h",
    "ng/inline/ng_inline_node_data.cc",
    "ng/inline/ng_inline_node_data.h",
    "ng/inline/ng_line_box_fragment.cc",
    "ng/inline/ng_line_box_fragment.h",
    "ng/inline/ng_line_box_fragment_builder.cc",
    "ng/inline/ng_line_box_fragment_builder.h",
    "ng/inline/ng_line_breaker.cc",
    "ng/inline/ng_line_breaker.h",
    "ng/inline/ng_line_height_metrics.cc",
    "ng/inline/ng_line_height_metrics.h",
    "ng/inline/ng_list_layout_algorithm.cc",
    "ng/inline/ng_list_layout_algorithm.h",
    "ng/inline/ng_offset_mapping.cc",
    "ng/inline/ng_offset_mapping.h",
    "ng/inline/ng_offset_mapping_builder.cc",
    "ng/inline/ng_offset_mapping_builder.h",
    "ng/inline/ng_physical_line_box_fragment.cc",
    "ng/inline/ng_physical_line_box_fragment.h",
    "ng/inline/ng_physical_text_fragment.cc",
    "ng/inline/ng_physical_text_fragment.h",
    "ng/inline/ng_text_fragment.cc",
    "ng/inline/ng_text_fragment.h",
    "ng/inline/ng_text_fragment_builder.cc",
    "ng/inline/ng_text_fragment_builder.h",
    "ng/layout_ng_block_flow.cc",
    "ng/layout_ng_block_flow.h",
    "ng/layout_ng_list_item.cc",
    "ng/layout_ng_list_item.h",
    "ng/layout_ng_mixin.cc",
    "ng/layout_ng_mixin.h",
    "ng/layout_ng_table_cell.cc",
    "ng/layout_ng_table_cell.h",
    "ng/legacy_layout_tree_walking.cc",
    "ng/legacy_layout_tree_walking.h",
    "ng/ng_absolute_utils.cc",
    "ng/ng_absolute_utils.h",
    "ng/ng_base_fragment_builder.cc",
    "ng/ng_base_fragment_builder.h",
    "ng/ng_block_break_token.cc",
    "ng/ng_block_break_token.h",
    "ng/ng_block_child_iterator.cc",
    "ng/ng_block_child_iterator.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.cc",
    "ng/ng_break_token.h",
    "ng/ng_column_layout_algorithm.cc",
    "ng/ng_column_layout_algorithm.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_container_fragment_builder.cc",
    "ng/ng_container_fragment_builder.h",
    "ng/ng_exclusion.cc",
    "ng/ng_exclusion.h",
    "ng/ng_floats_utils.cc",
    "ng/ng_floats_utils.h",
    "ng/ng_fragment.cc",
    "ng/ng_fragment.h",
    "ng/ng_fragment_builder.cc",
    "ng/ng_fragment_builder.h",
    "ng/ng_fragmentation_utils.cc",
    "ng/ng_fragmentation_utils.h",
    "ng/ng_layout_algorithm.h",
    "ng/ng_layout_input_node.cc",
    "ng/ng_layout_input_node.h",
    "ng/ng_layout_result.cc",
    "ng/ng_layout_result.h",
    "ng/ng_length_utils.cc",
    "ng/ng_length_utils.h",
    "ng/ng_macros.h",
    "ng/ng_out_of_flow_layout_part.cc",
    "ng/ng_out_of_flow_layout_part.h",
    "ng/ng_out_of_flow_positioned_descendant.h",
    "ng/ng_page_layout_algorithm.cc",
    "ng/ng_page_layout_algorithm.h",
    "ng/ng_physical_box_fragment.cc",
    "ng/ng_physical_box_fragment.h",
    "ng/ng_physical_container_fragment.cc",
    "ng/ng_physical_container_fragment.h",
    "ng/ng_physical_fragment.cc",
    "ng/ng_physical_fragment.h",
    "ng/ng_positioned_float.cc",
    "ng/ng_positioned_float.h",
    "ng/ng_relative_utils.cc",
    "ng/ng_relative_utils.h",
    "ng/ng_space_utils.cc",
    "ng/ng_space_utils.h",
    "ng/ng_text_decoration_offset.cc",
    "ng/ng_text_decoration_offset.h",
    "ng/ng_unpositioned_float.cc",
    "ng/ng_unpositioned_float.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",
      "WebFontRenderingWin.cpp",
    ]
  } else {  # Not Windows.
    sources += [ "LayoutThemeFontProviderDefault.cpp" ]
  }

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

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

  if (is_fuchsia) {
    sources += [ "LayoutThemeFuchsia.cpp" ]
  }

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