1. 16 Nov, 2013 1 commit
  2. 15 Nov, 2013 4 commits
    • zoltan@webkit.org's avatar
      Move BreakingContext and LineBreaker into their own files · 64be122e
      zoltan@webkit.org authored
      <https://webkit.org/b/124336>
      
      Reviewed by David Hyatt.
      
      In this change I introduced 'line' subdirectory inside 'rendering', this directory will contain all the classes
      which have been refactored from RenderBlockLineLayout.cpp. This change contains the separation of BreakingContext,
      and the separation of LineBreaker classes. Since I wanted to keep the helper functions organized, I also added a
      new file called LineInlineHeaders.h, which contains the functions which used in LineBreaker.h and BreakingContext.h.
      I moved LineInfo class into line directory. It was necessary this time, since I added a cpp for it. I'll move the
      rest of the line layout related helper classes later. (I wanted to minimize merge conflicts.)
      
      No new tests, no behavior change.
      
      * CMakeLists.txt:
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCoreCommon.props:
      * WebCore.xcodeproj/project.pbxproj:
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::createRun):
      * rendering/line/BreakingContextInlineHeaders.h: Added.
      (WebCore::WordMeasurement::WordMeasurement):
      (WebCore::TrailingObjects::TrailingObjects):
      (WebCore::TrailingObjects::setTrailingWhitespace):
      (WebCore::TrailingObjects::clear):
      (WebCore::TrailingObjects::appendBoxIfNeeded):
      (WebCore::deprecatedAddMidpoint):
      (WebCore::startIgnoringSpaces):
      (WebCore::stopIgnoringSpaces):
      (WebCore::ensureLineBoxInsideIgnoredSpaces):
      (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
      (WebCore::BreakingContext::BreakingContext):
      (WebCore::BreakingContext::currentObject):
      (WebCore::BreakingContext::lineBreak):
      (WebCore::BreakingContext::lineBreakRef):
      (WebCore::BreakingContext::lineWidth):
      (WebCore::BreakingContext::atEnd):
      (WebCore::BreakingContext::clearLineBreakIfFitsOnLine):
      (WebCore::BreakingContext::commitLineBreakAtCurrentWidth):
      (WebCore::BreakingContext::initializeForCurrentObject):
      (WebCore::BreakingContext::increment):
      (WebCore::BreakingContext::handleBR):
      (WebCore::borderPaddingMarginStart):
      (WebCore::borderPaddingMarginEnd):
      (WebCore::shouldAddBorderPaddingMargin):
      (WebCore::previousInFlowSibling):
      (WebCore::inlineLogicalWidth):
      (WebCore::BreakingContext::handleOutOfFlowPositioned):
      (WebCore::BreakingContext::handleFloat):
      (WebCore::shouldSkipWhitespaceAfterStartObject):
      (WebCore::BreakingContext::handleEmptyInline):
      (WebCore::BreakingContext::handleReplaced):
      (WebCore::firstPositiveWidth):
      (WebCore::updateSegmentsForShapes):
      (WebCore::iteratorIsBeyondEndOfRenderCombineText):
      (WebCore::nextCharacter):
      (WebCore::updateCounterIfNeeded):
      (WebCore::measureHyphenWidth):
      (WebCore::textWidth):
      (WebCore::ensureCharacterGetsLineBox):
      (WebCore::tryHyphenating):
      (WebCore::BreakingContext::handleText):
      (WebCore::textBeginsWithBreakablePosition):
      (WebCore::BreakingContext::canBreakAtThisPosition):
      (WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):
      (WebCore::checkMidpoints):
      (WebCore::BreakingContext::handleEndOfLine):
      * rendering/line/LineBreaker.cpp: Added.
      (WebCore::LineBreaker::reset):
      (WebCore::LineBreaker::skipTrailingWhitespace):
      (WebCore::LineBreaker::skipLeadingWhitespace):
      * rendering/line/LineBreaker.h: Added.
      (WebCore::LineBreaker::LineBreaker):
      (WebCore::LineBreaker::lineWasHyphenated):
      (WebCore::LineBreaker::positionedObjects):
      (WebCore::LineBreaker::clear):
      * rendering/line/LineInfo.cpp: Added.
      (WebCore::LineInfo::setEmpty):
      * rendering/line/LineInfo.h: Renamed from Source/WebCore/rendering/LineInfo.h.
      (WebCore::LineInfo::LineInfo):
      (WebCore::LineInfo::isFirstLine):
      (WebCore::LineInfo::isLastLine):
      (WebCore::LineInfo::isEmpty):
      (WebCore::LineInfo::previousLineBrokeCleanly):
      (WebCore::LineInfo::floatPaginationStrut):
      (WebCore::LineInfo::runsFromLeadingWhitespace):
      (WebCore::LineInfo::resetRunsFromLeadingWhitespace):
      (WebCore::LineInfo::incrementRunsFromLeadingWhitespace):
      (WebCore::LineInfo::setFirstLine):
      (WebCore::LineInfo::setLastLine):
      (WebCore::LineInfo::setPreviousLineBrokeCleanly):
      (WebCore::LineInfo::setFloatPaginationStrut):
      * rendering/line/LineInlineHeaders.h: Added.
      (WebCore::hasInlineDirectionBordersPaddingOrMargin):
      (WebCore::lineStyle):
      (WebCore::requiresLineBoxForContent):
      (WebCore::shouldCollapseWhiteSpace):
      (WebCore::skipNonBreakingSpace):
      (WebCore::alwaysRequiresLineBox):
      (WebCore::requiresLineBox):
      (WebCore::setStaticPositions):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159354 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      64be122e
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r159337. · 37afb394
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/159337
      https://bugs.webkit.org/show_bug.cgi?id=124423
      
      broke a bunch of fast/regions tests on EFL/GTK (Requested by
      philn on #webkit).
      
      Source/WebCore:
      
      * rendering/InlineFlowBox.cpp:
      (WebCore::InlineFlowBox::setLayoutOverflow):
      (WebCore::InlineFlowBox::setVisualOverflow):
      * rendering/InlineFlowBox.h:
      * rendering/RenderBlock.cpp:
      (WebCore::RenderBlock::addOverflowFromChildren):
      (WebCore::RenderBlock::paint):
      (WebCore::RenderBlock::paintObject):
      (WebCore::RenderBlock::estimateRegionRangeForBoxChild):
      (WebCore::RenderBlock::updateRegionRangeForBoxChild):
      * rendering/RenderBlockFlow.cpp:
      (WebCore::RenderBlockFlow::hasNextPage):
      (WebCore::RenderBlockFlow::relayoutForPagination):
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::RenderBlockFlow::positionNewFloatOnLine):
      * rendering/RenderBox.cpp:
      (WebCore::RenderBox::borderBoxRectInRegion):
      (WebCore::RenderBox::computeRectForRepaint):
      (WebCore::RenderBox::addLayoutOverflow):
      (WebCore::RenderBox::addVisualOverflow):
      (WebCore::RenderBox::isUnsplittableForPagination):
      (WebCore::RenderBox::overflowRectForPaintRejection):
      * rendering/RenderBox.h:
      * rendering/RenderBoxModelObject.cpp:
      (WebCore::RenderBoxModelObject::paintFillLayerExtended):
      * rendering/RenderBoxModelObject.h:
      * rendering/RenderBoxRegionInfo.h:
      (WebCore::RenderBoxRegionInfo::createOverflow):
      * rendering/RenderFlowThread.cpp:
      (WebCore::RenderFlowThread::paintFlowThreadPortionInRegion):
      (WebCore::RenderFlowThread::hitTestFlowThreadPortionInRegion):
      (WebCore::RenderFlowThread::checkRegionsWithStyling):
      (WebCore::RenderFlowThread::mapFromLocalToFlowThread):
      (WebCore::RenderFlowThread::mapFromFlowThreadToLocal):
      (WebCore::RenderFlowThread::addRegionsOverflowFromChild):
      (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
      * rendering/RenderFlowThread.h:
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::updateLayerPositions):
      (WebCore::expandClipRectForDescendantsAndReflection):
      (WebCore::RenderLayer::paintLayer):
      (WebCore::RenderLayer::paintLayerContents):
      (WebCore::RenderLayer::updatePaintingInfoForFragments):
      (WebCore::RenderLayer::paintForegroundForFragments):
      (WebCore::RenderLayer::hitTest):
      (WebCore::RenderLayer::hitTestLayer):
      (WebCore::RenderLayer::calculateClipRects):
      (WebCore::RenderLayer::parentClipRects):
      (WebCore::RenderLayer::calculateRects):
      (WebCore::RenderLayer::intersectsDamageRect):
      (WebCore::RenderLayer::repaintIncludingDescendants):
      * rendering/RenderLayer.h:
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::computeCompositingRequirements):
      * rendering/RenderListItem.cpp:
      (WebCore::RenderListItem::addOverflowFromChildren):
      * rendering/RenderMultiColumnSet.cpp:
      (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
      (WebCore::RenderMultiColumnSet::repaintFlowThreadContent):
      * rendering/RenderMultiColumnSet.h:
      * rendering/RenderNamedFlowFragment.cpp:
      (WebCore::RenderNamedFlowFragment::createStyle):
      * rendering/RenderNamedFlowFragment.h:
      * rendering/RenderOverflow.h:
      * rendering/RenderRegion.cpp:
      (WebCore::RenderRegion::flowThreadPortionOverflowRect):
      (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
      (WebCore::shouldPaintRegionContentsInPhase):
      (WebCore::RenderRegion::paintObject):
      (WebCore::RenderRegion::hitTestContents):
      (WebCore::RenderRegion::computeOverflowFromFlowThread):
      (WebCore::RenderRegion::repaintFlowThreadContent):
      (WebCore::RenderRegion::repaintFlowThreadContentRectangle):
      (WebCore::RenderRegion::insertedIntoTree):
      (WebCore::RenderRegion::ensureOverflowForBox):
      (WebCore::RenderRegion::rectFlowPortionForBox):
      (WebCore::RenderRegion::addLayoutOverflowForBox):
      (WebCore::RenderRegion::addVisualOverflowForBox):
      (WebCore::RenderRegion::layoutOverflowRectForBox):
      (WebCore::RenderRegion::visualOverflowRectForBox):
      (WebCore::RenderRegion::visualOverflowRectForBoxForPropagation):
      * rendering/RenderRegion.h:
      * rendering/RenderReplaced.cpp:
      (WebCore::RenderReplaced::shouldPaint):
      * rendering/RootInlineBox.cpp:
      (WebCore::RootInlineBox::paint):
      
      LayoutTests:
      
      * fast/regions/bottom-overflow-out-of-first-region-expected.html:
      * fast/regions/bottom-overflow-out-of-first-region.html:
      * fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005-expected.html:
      * fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html:
      * fast/regions/element-in-named-flow-absolute-from-fixed-expected.txt:
      * fast/regions/element-in-named-flow-fixed-from-absolute-expected.txt:
      * fast/regions/element-inflow-fixed-from-outflow-static-expected.txt:
      * fast/regions/element-outflow-static-from-inflow-fixed-expected.txt:
      * fast/regions/float-pushed-width-change-2-expected.html:
      * fast/regions/float-pushed-width-change-2.html:
      * fast/regions/float-pushed-width-change-expected.html:
      * fast/regions/float-pushed-width-change.html:
      * fast/regions/layers/dynamic-layer-added-with-no-layout-expected.txt: Removed.
      * fast/regions/layers/dynamic-layer-removed-with-no-layout-expected.txt: Removed.
      * fast/regions/layers/regions-promoted-to-layers-expected.txt: Removed.
      * fast/regions/layers/regions-promoted-to-layers-horizontal-bt-expected.txt: Removed.
      * fast/regions/layers/regions-promoted-to-layers-vertical-lr-expected.txt: Removed.
      * fast/regions/layers/regions-promoted-to-layers-vertical-rl-expected.txt: Removed.
      * fast/regions/outline-sides-in-region-expected.html:
      * fast/regions/outline-sides-in-region.html:
      * fast/regions/overflow-first-and-last-regions-expected.html: Removed.
      * fast/regions/overflow-first-and-last-regions-in-container-hidden-expected.html: Removed.
      * fast/regions/overflow-first-and-last-regions-in-container-hidden.html: Removed.
      * fast/regions/overflow-first-and-last-regions.html: Removed.
      * fast/regions/overflow-last-region-expected.html: Added.
      * fast/regions/overflow-last-region.html: Added.
      * fast/regions/overflow-nested-regions-expected.html: Removed.
      * fast/regions/overflow-nested-regions.html: Removed.
      * fast/regions/overflow-region-float-expected.html: Removed.
      * fast/regions/overflow-region-float.html: Removed.
      * fast/regions/overflow-region-inline-expected.html: Removed.
      * fast/regions/overflow-region-inline.html: Removed.
      * fast/regions/overflow-region-transform-expected.html: Removed.
      * fast/regions/overflow-region-transform.html: Removed.
      * fast/regions/overflow-scrollable-rotated-fragment-expected.html:
      * fast/regions/overflow-scrollable-rotated-fragment.html:
      * fast/regions/top-overflow-out-of-second-region-expected.html: Removed.
      * fast/regions/top-overflow-out-of-second-region.html:
      * fast/regions/webkit-flow-float-unable-to-push-expected.html:
      * fast/regions/webkit-flow-float-unable-to-push.html:
      * fast/repaint/increasing-region-content-height-expected.txt:
      * fast/repaint/increasing-region-content-height.html:
      * platform/gtk/fast/regions/text-region-split-vertical-rl-expected.txt: Added.
      * platform/mac-wk2/TestExpectations:
      * platform/mac/fast/regions/top-overflow-out-of-second-region-expected.png: Added.
      * platform/mac/fast/regions/top-overflow-out-of-second-region-expected.txt: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159347 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      37afb394
    • antti@apple.com's avatar
      Hovering over text using simple line path should not cause switch to line boxes · 52e1a9f3
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124418
      
      Reviewed by Anders Carlsson.
      
      Source/WebCore: 
      
      Test: fast/text/simple-lines-hover.html
      
      * rendering/RenderText.cpp:
      (WebCore::RenderText::absoluteRects):
      (WebCore::RenderText::absoluteQuadsClippedToEllipsis):
      (WebCore::RenderText::absoluteQuads):
              
          Collect quads and rects directly from simple lines without requiring the line box switch.
      
      * rendering/SimpleLineLayoutFunctions.cpp:
      (WebCore::SimpleLineLayout::collectTextAbsoluteRects):
      (WebCore::SimpleLineLayout::collectTextAbsoluteQuads):
              
          Add these.
      
      * rendering/SimpleLineLayoutFunctions.h:
      * rendering/SimpleLineLayoutResolver.h:
      (WebCore::SimpleLineLayout::RunResolver::Run::start):
      (WebCore::SimpleLineLayout::RunResolver::Run::end):
              
          For future use.
      
      LayoutTests: 
      
      * fast/text/simple-lines-hover-expected.html: Added.
      * fast/text/simple-lines-hover.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159345 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      52e1a9f3
    • stavila@adobe.com's avatar
      [CSS Regions] Implement visual overflow for first & last regions · 81613fc9
      stavila@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=118665
      
      Source/WebCore:
      
      In order to properly propagate the visual overflow of elements flowed inside regions,
      the responsiblity of painting and hit-testing content inside flow threads has been
      moved to the flow thread layer's level.
      Each region keeps the associated overflow with each box in the RenderBoxRegionInfo
      structure, including one for the flow thread itself. This data is used during
      painting and hit-testing.
      
      Reviewed by David Hyatt.
      
      Tests: fast/regions/overflow-first-and-last-regions-in-container-hidden.html
             fast/regions/overflow-first-and-last-regions.html
             fast/regions/overflow-nested-regions.html
             fast/regions/overflow-region-float.html
             fast/regions/overflow-region-inline.html
             fast/regions/overflow-region-transform.html
      
      * rendering/InlineFlowBox.cpp:
      (WebCore::InlineFlowBox::setLayoutOverflow):
      (WebCore::InlineFlowBox::setVisualOverflow):
      * rendering/InlineFlowBox.h:
      * rendering/RenderBlock.cpp:
      (WebCore::RenderBlock::addOverflowFromChildren):
      (WebCore::RenderBlock::paint):
      (WebCore::RenderBlock::paintObject):
      (WebCore::RenderBlock::estimateRegionRangeForBoxChild):
      (WebCore::RenderBlock::updateRegionRangeForBoxChild):
      * rendering/RenderBlockFlow.cpp:
      (WebCore::RenderBlockFlow::hasNextPage):
      (WebCore::RenderBlockFlow::relayoutForPagination):
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::RenderBlockFlow::positionNewFloatOnLine):
      * rendering/RenderBox.cpp:
      (WebCore::RenderBox::borderBoxRectInRegion):
      (WebCore::RenderBox::computeRectForRepaint):
      (WebCore::RenderBox::addLayoutOverflow):
      (WebCore::RenderBox::addVisualOverflow):
      (WebCore::RenderBox::isUnsplittableForPagination):
      (WebCore::RenderBox::overflowRectForPaintRejection):
      * rendering/RenderBox.h:
      (WebCore::RenderBox::canHaveOutsideRegionRange):
      * rendering/RenderBoxModelObject.cpp:
      (WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
      (WebCore::RenderBoxModelObject::paintFillLayerExtended):
      * rendering/RenderBoxModelObject.h:
      * rendering/RenderBoxRegionInfo.h:
      (WebCore::RenderBoxRegionInfo::createOverflow):
      * rendering/RenderFlowThread.cpp:
      (WebCore::RenderFlowThread::objectShouldPaintInFlowRegion):
      (WebCore::RenderFlowThread::mapFromLocalToFlowThread):
      (WebCore::RenderFlowThread::mapFromFlowThreadToLocal):
      (WebCore::RenderFlowThread::decorationsClipRectForBoxInRegion):
      (WebCore::RenderFlowThread::flipForWritingModeLocalCoordinates):
      (WebCore::RenderFlowThread::addRegionsOverflowFromChild):
      (WebCore::RenderFlowThread::addRegionsVisualOverflow):
      (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
      * rendering/RenderFlowThread.h:
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::updateLayerPositions):
      (WebCore::expandClipRectForRegionAndReflection):
      (WebCore::expandClipRectForDescendantsAndReflection):
      (WebCore::RenderLayer::paintLayer):
      (WebCore::RenderLayer::paintLayerContents):
      (WebCore::RenderLayer::updatePaintingInfoForFragments):
      (WebCore::RenderLayer::paintForegroundForFragments):
      (WebCore::RenderLayer::hitTest):
      (WebCore::RenderLayer::hitTestLayer):
      (WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
      (WebCore::RenderLayer::calculateClipRects):
      (WebCore::RenderLayer::parentClipRects):
      (WebCore::RenderLayer::calculateRects):
      (WebCore::RenderLayer::intersectsDamageRect):
      (WebCore::RenderLayer::updateDescendantsLayerListsIfNeeded):
      (WebCore::RenderLayer::repaintIncludingDescendants):
      (WebCore::RenderLayer::paintNamedFlowThreadInsideRegion):
      (WebCore::RenderLayer::paintFlowThreadIfRegion):
      (WebCore::RenderLayer::hitTestFlowThreadIfRegion):
      * rendering/RenderLayer.h:
      (WebCore::ClipRect::inflateX):
      (WebCore::ClipRect::inflateY):
      (WebCore::ClipRect::inflate):
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::computeCompositingRequirements):
      * rendering/RenderListItem.cpp:
      (WebCore::RenderListItem::addOverflowFromChildren):
      * rendering/RenderMultiColumnSet.cpp:
      (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
      (WebCore::RenderMultiColumnSet::repaintFlowThreadContent):
      * rendering/RenderMultiColumnSet.h:
      * rendering/RenderNamedFlowFragment.cpp:
      (WebCore::RenderNamedFlowFragment::createStyle):
      (WebCore::RenderNamedFlowFragment::namedFlowThread):
      * rendering/RenderNamedFlowFragment.h:
      * rendering/RenderOverflow.h:
      * rendering/RenderRegion.cpp:
      (WebCore::RenderRegion::flowThreadPortionOverflowRect):
      (WebCore::RenderRegion::flowThreadPortionLocation):
      (WebCore::RenderRegion::regionContainerLayer):
      (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
      (WebCore::RenderRegion::computeOverflowFromFlowThread):
      (WebCore::RenderRegion::repaintFlowThreadContent):
      (WebCore::RenderRegion::repaintFlowThreadContentRectangle):
      (WebCore::RenderRegion::insertedIntoTree):
      (WebCore::RenderRegion::ensureOverflowForBox):
      (WebCore::RenderRegion::rectFlowPortionForBox):
      (WebCore::RenderRegion::addLayoutOverflowForBox):
      (WebCore::RenderRegion::addVisualOverflowForBox):
      (WebCore::RenderRegion::layoutOverflowRectForBox):
      (WebCore::RenderRegion::visualOverflowRectForBox):
      (WebCore::RenderRegion::visualOverflowRectForBoxForPropagation):
      * rendering/RenderRegion.h:
      * rendering/RenderReplaced.cpp:
      (WebCore::RenderReplaced::shouldPaint):
      * rendering/RootInlineBox.cpp:
      (WebCore::RootInlineBox::paint):
      
      LayoutTests:
      
      Rebased some tests due to regions layers changes.
      Updated some tests to increase clarity. Some of them were only passing because two
      regions were close together and the fact that an element was being painted
      inside the wrong region was not visible. Floats are now also unsplittable.
              - bottom-overflow-out-of-first-region
              - float-pushed-width-change-2
              - float-pushed-width-change
              - webkit-flow-float-unable-to-push
      
      Changed top-overflow-out-of-second-region to reftest.
      
      Added new tests for testing the visual overflow in different situations
      (transformed, inline, opacity, floating).
      
      Reviewed by David Hyatt.
      
      * fast/regions/bottom-overflow-out-of-first-region-expected.html:
      * fast/regions/bottom-overflow-out-of-first-region.html:
      * fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005-expected.html:
      * fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html:
      * fast/regions/element-in-named-flow-absolute-from-fixed-expected.txt:
      * fast/regions/element-in-named-flow-fixed-from-absolute-expected.txt:
      * fast/regions/element-inflow-fixed-from-outflow-static-expected.txt:
      * fast/regions/element-outflow-static-from-inflow-fixed-expected.txt:
      * fast/regions/float-pushed-width-change-2-expected.html:
      * fast/regions/float-pushed-width-change-2.html:
      * fast/regions/float-pushed-width-change-expected.html:
      * fast/regions/float-pushed-width-change.html:
      * fast/regions/layers/dynamic-layer-added-with-no-layout-expected.txt: Added.
      * fast/regions/layers/dynamic-layer-removed-with-no-layout-expected.txt: Added.
      * fast/regions/layers/regions-promoted-to-layers-expected.txt: Added.
      * fast/regions/layers/regions-promoted-to-layers-horizontal-bt-expected.txt: Added.
      * fast/regions/layers/regions-promoted-to-layers-vertical-lr-expected.txt: Added.
      * fast/regions/layers/regions-promoted-to-layers-vertical-rl-expected.txt: Added.
      * fast/regions/outline-sides-in-region-expected.html:
      * fast/regions/outline-sides-in-region.html:
      * fast/regions/overflow-first-and-last-regions-expected.html: Added.
      * fast/regions/overflow-first-and-last-regions-in-container-hidden-expected.html: Added.
      * fast/regions/overflow-first-and-last-regions-in-container-hidden.html: Added.
      * fast/regions/overflow-first-and-last-regions.html: Added.
      * fast/regions/overflow-last-region-expected.html: Removed.
      * fast/regions/overflow-last-region.html: Removed.
      * fast/regions/overflow-nested-regions-expected.html: Added.
      * fast/regions/overflow-nested-regions.html: Added.
      * fast/regions/overflow-region-float-expected.html: Added.
      * fast/regions/overflow-region-float.html: Added.
      * fast/regions/overflow-region-inline-expected.html: Added.
      * fast/regions/overflow-region-inline.html: Added.
      * fast/regions/overflow-region-transform-expected.html: Added.
      * fast/regions/overflow-region-transform.html: Added.
      * fast/regions/overflow-scrollable-rotated-fragment-expected.html:
      * fast/regions/overflow-scrollable-rotated-fragment.html:
      * fast/regions/top-overflow-out-of-second-region-expected.html: Copied from LayoutTests/fast/regions/top-overflow-out-of-second-region.html.
      * fast/regions/top-overflow-out-of-second-region.html:
      * fast/regions/webkit-flow-float-unable-to-push-expected.html:
      * fast/regions/webkit-flow-float-unable-to-push.html:
      * platform/gtk/fast/regions/text-region-split-vertical-rl-expected.txt: Removed.
      * platform/mac-wk2/TestExpectations:
      * platform/mac/fast/regions/top-overflow-out-of-second-region-expected.png: Removed.
      * platform/mac/fast/regions/top-overflow-out-of-second-region-expected.txt: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159337 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      81613fc9
  3. 14 Nov, 2013 6 commits
    • bjonesbe@adobe.com's avatar
      ASSERTION FAILED:... · 40a09c02
      bjonesbe@adobe.com authored
      ASSERTION FAILED: rangesIntersect(m_renderer.pixelSnappedLogicalTopForFloat(floatingObject), m_renderer.pixelSnappedLogicalBottomForFloat(floatingObject), m_lineTop, m_lineBottom) ../../Source/WebCore/rendering/FloatingObjects.cpp(463)
      https://bugs.webkit.org/show_bug.cgi?id=124375
      
      Reviewed by Alexandru Chiculita.
      
      When moving the placed floats tree over to LayoutUnit, I forgot to
      update these asserts, which causes issues on ports with subpixel
      layout enabled.
      
      No new tests, no behavior change.
      
      * rendering/FloatingObjects.cpp:
      (WebCore::FindNextFloatLogicalBottomAdapter::collectIfNeeded):
      (WebCore::::collectIfNeeded):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159324 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      40a09c02
    • betravis@adobe.com's avatar
      [CSS Shapes] Accept the new <box> value for shape-outside · edfb6516
      betravis@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124227
      
      Reviewed by David Hyatt.
      
      Source/WebCore:
      
      The shape-outside property can now be set to the box values [margin/border/padding/content]-box.
      This patch adds the parsing code required to accept the new values, and the layout code
      to create a rectangle shape that has the size and position of the appropriate box.
      
      Tests: fast/shapes/shape-outside-floats/shape-outside-boxes-001.html
             fast/shapes/shape-outside-floats/shape-outside-boxes-002.html
             fast/shapes/shape-outside-floats/shape-outside-boxes-003.html
      
      * css/CSSComputedStyleDeclaration.cpp:
      (WebCore::ComputedStyleExtractor::propertyValue): Output the new box values.
      * css/CSSParser.cpp:
      (WebCore::CSSParser::parseValue): Accept the new box values.
      * css/CSSValueKeywords.in: Add margin-box value.
      * css/DeprecatedStyleBuilder.cpp:
      (WebCore::ApplyPropertyShape::applyValue): Accept the new box values.
      * rendering/RenderBoxModelObject.h:
      (WebCore::RenderBoxModelObject::borderLogicalWidth): Added new utility methods to help
      with box sizing.
      (WebCore::RenderBoxModelObject::borderLogicalHeight): Ditto.
      (WebCore::RenderBoxModelObject::paddingLogicalWidth): Ditto.
      (WebCore::RenderBoxModelObject::paddingLogicalHeight): Ditto.
      * rendering/shapes/Shape.cpp:
      (WebCore::Shape::createShape): You can create a shape from a box's dimensions, rather
      than always using a BasicShape or RasterShape value.
      * rendering/shapes/Shape.h:
      * rendering/shapes/ShapeInfo.cpp:
      (WebCore::::computedShape): Create the appropriate shape based on the box values.
      * rendering/shapes/ShapeInfo.h:
      (WebCore::ShapeInfo::setShapeSize): Adjust for the box size when using a box value.
      (WebCore::ShapeInfo::logicalTopOffset): Ditto.
      (WebCore::ShapeInfo::logicalLeftOffset): Ditto.
      * rendering/shapes/ShapeInsideInfo.cpp:
      (WebCore::ShapeInsideInfo::isEnabledFor): Enable for the box values.
      * rendering/shapes/ShapeOutsideInfo.cpp:
      (WebCore::ShapeOutsideInfo::isEnabledFor): Disable for shape-inside.
      * rendering/style/ShapeValue.h:
      (WebCore::ShapeValue::createBoxValue): Create the appropriate shape value for a box.
      (WebCore::ShapeValue::box): Return the box value for this ShapeValue.
      (WebCore::ShapeValue::ShapeValue): Create a ShapeValue from a box value.
      
      LayoutTests:
      
      Test the different box values with different writing modes.
      
      * fast/shapes/parsing/parsing-shape-inside-expected.html: Adding box values as invalid.
      * fast/shapes/parsing/parsing-shape-inside.html: Ditto.
      * fast/shapes/parsing/parsing-shape-outside-expected.html: Adding box values as valid.
      * fast/shapes/parsing/parsing-shape-outside.html: Ditto.
      * fast/shapes/shape-outside-floats/shape-outside-boxes-001-expected.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-boxes-001.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-boxes-002-expected.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-boxes-002.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-boxes-003-expected.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-boxes-003.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159307 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      edfb6516
    • bdakin@apple.com's avatar
      Add a new mode where fixed elements don't constrain their positions during a · 817d70e7
      bdakin@apple.com authored
      rubber band
      https://bugs.webkit.org/show_bug.cgi?id=124260
      
      Reviewed by Tim Horton.
      
      This patch adds a new enum called ScrollBehaviorForFixedElements, which has
      two values, StickToDocumentBounds or StickToWindowBounds. StickToDocumentBounds 
      corresponds to our current behavior, where fixed elements constrain 
      their positions during a rubber-band so that they stay stuck to the document.
      The new mode, StickToWindowBounds, will cause fixed elements to always stay
      fixed relative to the window.
      
      scrollOffsetForFixedPosition() now takes a new parameter for the fixed behavior
      so that it knows whether or not to constrain the position.
      * page/FrameView.cpp:
      (WebCore::FrameView::scrollOffsetForFixedPosition):
              
      Right now, just return StickToDocumentBounds and retain existing behavior.
      (WebCore::FrameView::scrollBehaviorForFixedElements):
      * page/FrameView.h:
      
      The scrolling thread needs to know about the fixed element scroll behavior,
      so this code makes ScrollingStateScrollingNodes keep track of that 
      information to pass over to the scrolling thread.
      * page/scrolling/ScrollingStateScrollingNode.cpp:
      (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
      (WebCore::ScrollingStateScrollingNode::setScrollBehaviorForFixedElements):
      * page/scrolling/ScrollingStateScrollingNode.h:
      * page/scrolling/ScrollingTreeScrollingNode.cpp:
      (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
      (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
      * page/scrolling/ScrollingTreeScrollingNode.h:
      (WebCore::ScrollingTreeScrollingNode::scrollBehaviorForFixedElements):
      * page/scrolling/mac/ScrollingCoordinatorMac.h:
      * page/scrolling/mac/ScrollingCoordinatorMac.mm:
      (WebCore::ScrollingCoordinatorMac::frameViewRootLayerDidChange):
      (WebCore::ScrollingCoordinatorMac::setScrollBehaviorForFixedElementsForNode):
      * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
      (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
              
      Here is the new enum.
      * platform/ScrollTypes.h:
              
      Another place where we only want to constrain scroll position if that is the
      mode we are in.
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::customPositionForVisibleRectComputation):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159300 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      817d70e7
    • hmuller@adobe.com's avatar
      [CSS Shapes] Empty polygons with non-zero shape-padding cause an ASSERT crash · ae389127
      hmuller@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124324
      
      Reviewed by Andreas Kling.
      
      Source/WebCore:
      
      PolygonShape::shapePaddingBounds() and PolygonShape::shapeMarginBounds() no
      longer attempt to compute a new FloatPolygon when the original is empty, i.e.
      when it has less than three vertices.
      
      Tests: fast/shapes/shape-inside/shape-inside-empty-polygon-crash.html
             fast/shapes/shape-outside-floats/shape-outside-floats-empty-polygon-crash.html
      
      * rendering/shapes/PolygonShape.cpp:
      (WebCore::PolygonShape::shapePaddingBounds): Don't compute a padding FloatPolygon if the original polygon is empty.
      (WebCore::PolygonShape::shapeMarginBounds): Don't compute a margin FloatPolygon if the original polygon is empty.
      
      LayoutTests:
      
      * fast/shapes/shape-inside/shape-inside-empty-polygon-crash-expected.txt: Added.
      * fast/shapes/shape-inside/shape-inside-empty-polygon-crash.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-floats-empty-polygon-crash-expected.txt: Added.
      * fast/shapes/shape-outside-floats/shape-outside-floats-empty-polygon-crash.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159291 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ae389127
    • gyuyoung.kim@samsung.com's avatar
      Generate toSVGPolyline|gonElement() to replace static_cast<> · d9284ee2
      gyuyoung.kim@samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124341
      
      Reviewed by Andreas Kling.
      
      toSVGFoo() supports more plenty helper functions. So, toSVGFoo() needs
      to be used instead of static_cast<>.
      
      Additionally, cleanup other static_cast<> as well.
      
      No new tests, no behavior changes.
      
      * rendering/svg/SVGPathData.cpp:
      (WebCore::updatePathFromEllipseElement):
      (WebCore::updatePathFromLineElement):
      (WebCore::updatePathFromPolygonElement):
      (WebCore::updatePathFromPolylineElement):
      * svg/SVGPolygonElement.h:
      * svg/SVGPolylineElement.h:
      * svg/svgtags.in: Add *generateTypeHelpers* keyword to polygon, polyline
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159281 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d9284ee2
    • gyuyoung.kim@samsung.com's avatar
      Introduce FILTER_TYPE_CASTS for child filter class · 19709355
      gyuyoung.kim@samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124332
      
      Reviewed by Andreas Kling.
      
      To use TYPE_CASTS_BASE, define FILTER_TYPE_CASTS macro. Thanks to
      it, static_cast<SVGFilter*> can be replaced by toSVGFilter().
      
      No new tests, no behavior changes.
      
      * platform/graphics/filters/Filter.h:
          Add isSVGFilter() to check if casting object is SVGFilter object.
      (WebCore::Filter::isSVGFilter):
      * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
      (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
      * svg/graphics/filters/SVGFEImage.cpp:
      (WebCore::FEImage::determineAbsolutePaintRect):
      (WebCore::FEImage::platformApplySoftware):
      * svg/graphics/filters/SVGFilter.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159277 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      19709355
  4. 13 Nov, 2013 7 commits
    • mrobinson@webkit.org's avatar
      [MathML] The double bar vertical delimiter does not stretch properly · 140b8547
      mrobinson@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=123543
      
      Reviewed by Chris Fleizach.
      
      Source/WebCore:
      
      * rendering/mathml/RenderMathMLOperator.cpp: Add stretching support for U+2225, which
      is another version of the vertical bar.
      
      LayoutTests:
      
      * mathml/presentation/mo-stretch.html: Add &DoubleVerticalBar; to this test,
      which covers the other version of the vertical bar.
      * platform/gtk/mathml/presentation/mo-stretch-expected.png:
      * platform/gtk/mathml/presentation/mo-stretch-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159219 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      140b8547
    • commit-queue@webkit.org's avatar
      Delete unused TextPainter function · b7e91438
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124292
      
      Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2013-11-13
      Reviewed by Tim Horton.
      
      New tests are unnecessary since there is no behavior change
      
      * rendering/TextPainter.cpp:
      (WebCore::TextPainter::paintText):
      * rendering/TextPainter.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159214 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b7e91438
    • hmuller@adobe.com's avatar
      [CSS Shapes] Determining if a line is inside of a shape should only happen in one place · 347603af
      hmuller@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121708
      
      Reviewed by Andreas Kling.
      
      The ShapeInfo::lineOverlapsShapeBounds() methods now delegate to the Shape object. The
      logic for the Shape overlap test is now the same for ShapeInsideInfo and ShapeOutsideInfo.
      
      No new tests, this is just a refactoring of existing code.
      
      * rendering/shapes/Shape.h:
      (WebCore::Shape::lineOverlapsShapeMarginBounds): Apply lineOverlapsLayoutRect() to the shape-margin bounds LayoutRect.
      (WebCore::Shape::lineOverlapsShapePaddingBounds): Apply lineOverlapsLayoutRect() to the shape-padding bounds LayoutRect.
      (WebCore::Shape::lineOverlapsLayoutRect): The common code for checking if a line and a LayoutRect overlap.
      * rendering/shapes/ShapeInsideInfo.h: Use lineOverlapsShapePaddingBounds() for lineOverlapShapeBounds().
      * rendering/shapes/ShapeOutsideInfo.h: Use lineOverlapsShapeMarginBounds() for lineOverlapShapeBounds().
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159205 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      347603af
    • antti@apple.com's avatar
      Factor simple line creation loop to function · bac9dee1
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124279
      
      Reviewed by Andreas Kling.
      
      * rendering/SimpleLineLayout.cpp:
      (WebCore::SimpleLineLayout::Style::Style):
              
          Capture style that affects line layout to a struct.
      
      (WebCore::SimpleLineLayout::textWidth):
      (WebCore::SimpleLineLayout::measureWord):
      (WebCore::SimpleLineLayout::createLineRuns):
              
          Factor the line loop here.
      
      (WebCore::SimpleLineLayout::createTextRuns):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159194 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bac9dee1
    • antti@apple.com's avatar
      Support overflow-wrap:break-word on simple line path · 02a025d9
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124206
      
      Source/WebCore: 
      
      Reviewed by Andreas Kling.
      
      Pure text documents are rendered with break-word. It is also common in discussion board type sites.
              
      This also makes many <textarea>'s rendered using the simple line path.
      
      Tests: fast/forms/basic-textareas-quirks-simple-lines.html
             fast/forms/linebox-overflow-in-textarea-padding-simple-lines.html
             fast/forms/negativeLineHeight-simple-lines.html
             fast/forms/textAreaLineHeight-simple-lines.html
      
      * rendering/RenderBlock.cpp:
      (WebCore::RenderBlock::updateShapeInsideInfoAfterStyleChange):
      (WebCore::RenderBlock::markShapeInsideDescendantsForLayout):
              
          Invalidate the cached line layout mode on shape-inside style change.
      
      * rendering/SimpleLineLayout.cpp:
      (WebCore::SimpleLineLayout::canUseForText):
      (WebCore::SimpleLineLayout::canUseFor):
      (WebCore::SimpleLineLayout::createTextRuns):
      
      LayoutTests: 
      
      Reviewed by Andreas Kling.
              
      Force these to use line boxes, add ref test versions comparing the paths.
      
      * fast/forms/basic-textareas-quirks-simple-lines-expected.html: Added.
      * fast/forms/basic-textareas-quirks-simple-lines.html: Added.
      * fast/forms/basic-textareas-quirks.html:
      * fast/forms/linebox-overflow-in-textarea-padding-simple-lines-expected.html: Added.
      * fast/forms/linebox-overflow-in-textarea-padding-simple-lines.html: Added.
      * fast/forms/linebox-overflow-in-textarea-padding.html:
      * fast/forms/negativeLineHeight-simple-lines-expected.html: Added.
      * fast/forms/negativeLineHeight-simple-lines.html: Added.
      * fast/forms/negativeLineHeight.html:
      * fast/forms/textAreaLineHeight-simple-lines-expected.html: Added.
      * fast/forms/textAreaLineHeight-simple-lines.html: Added.
      * fast/forms/textAreaLineHeight.html:
      * fast/parser/entity-comment-in-textarea.html: Made this independent of line layout mode.
      * fast/replaced/width100percent-textarea.html:
      * platform/mac/fast/parser/entity-comment-in-textarea-expected.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159192 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      02a025d9
    • ossy@webkit.org's avatar
      Cleanup the build from unused parameters in WebCore · f9f65af6
      ossy@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124199.
      
      Patch by Tibor Meszaros <mtibor@inf.u-szeged.hu> on 2013-11-13
      Reviewed by Csaba Osztrogonác.
      
      * css/CSSCursorImageValue.cpp:
      (WebCore::CSSCursorImageValue::cachedOrPendingImage):
      * dom/Document.cpp:
      (WebCore::Document::scriptedAnimationControllerSetThrottled):
      * fileapi/ThreadableBlobRegistry.cpp:
      (WebCore::ThreadableBlobRegistry::registerBlobURL):
      * html/HTMLAnchorElement.cpp:
      (WebCore::shouldProhibitLinks):
      * html/parser/XSSAuditor.cpp:
      (WebCore::isSemicolonSeparatedAttribute):
      * inspector/InspectorConsoleInstrumentation.h:
      (WebCore::InspectorInstrumentation::addMessageToConsole):
      * loader/DocumentThreadableLoader.cpp:
      (WebCore::DocumentThreadableLoader::didReceiveData):
      (WebCore::DocumentThreadableLoader::didFail):
      (WebCore::DocumentThreadableLoader::preflightFailure):
      * loader/cache/CachedImage.cpp:
      (WebCore::CachedImage::imageSizeForRenderer):
      * page/animation/ImplicitAnimation.cpp:
      (WebCore::ImplicitAnimation::animate):
      * page/animation/KeyframeAnimation.cpp:
      (WebCore::KeyframeAnimation::animate):
      * platform/graphics/WidthIterator.cpp:
      (WebCore::applyFontTransforms):
      * rendering/RenderView.cpp:
      (WebCore::RenderView::setIsInWindow):
      * rendering/style/RenderStyle.cpp:
      (WebCore::RenderStyle::changeRequiresLayout):
      (WebCore::RenderStyle::changeRequiresLayerRepaint):
      (WebCore::RenderStyle::changeRequiresRecompositeLayer):
      * testing/Internals.cpp:
      (WebCore::Internals::setHeaderHeight):
      (WebCore::Internals::setCaptionsStyleSheetOverride):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159188 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f9f65af6
    • akling@apple.com's avatar
      RenderTableSection: Cell structures don't need allocation padding. · 194ce1d3
      akling@apple.com authored
      <https://webkit.org/b/124263>
      
      The row structure data gets shrunk-to-fit once we get to layout,
      but per-row cell structures get no such luxury. Fortuntely we know
      ahead of time how many cells a row needs to accomodate, so we can
      just use Vector::resizeToFit() instead of Vector::grow().
      
      1.25 MB progression on HTML5-8266 locally.
      
      Reviewed by Antti Koivisto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159186 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      194ce1d3
  5. 12 Nov, 2013 6 commits
    • bjonesbe@adobe.com's avatar
      Make the placed floats tree use LayoutUnit instead of int · 102fef8c
      bjonesbe@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124207
      
      Reviewed by Alexandru Chiculita.
      
      The dimensions of floats are in LayoutUnits, so it doesn't make sense
      to be converting to ints for use in the placed floats tree.
      
      Also add missed "explicit" to single argument FloatingObjects
      constructor.
      
      No new tests, no behavior change.
      
      * rendering/FloatingObjects.cpp:
      (WebCore::rangesIntersect):
      (WebCore::ComputeFloatOffsetAdapter::ComputeFloatOffsetAdapter):
      (WebCore::ComputeFloatOffsetAdapter::lowValue):
      (WebCore::ComputeFloatOffsetAdapter::highValue):
      (WebCore::FindNextFloatLogicalBottomAdapter::FindNextFloatLogicalBottomAdapter):
      (WebCore::FindNextFloatLogicalBottomAdapter::lowValue):
      (WebCore::FindNextFloatLogicalBottomAdapter::highValue):
      * rendering/FloatingObjects.h:
      * rendering/RenderFlowThread.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159166 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      102fef8c
    • bjonesbe@adobe.com's avatar
      Move ValueToString out to its own header file to remove duplication · 3afbee3d
      bjonesbe@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124237
      
      Reviewed by Alexandru Chiculita.
      
      The ValueToString struct is used in many places for debugging. Move it
      out to its own header file to remove all the duplicated definitions
      and make it possible for the specializations to be placed in the
      header files with the implementation of the classes they print.
      
      No new tests, no behavior change.
      
      * GNUmakefile.list.am:
      * WebCore.xcodeproj/project.pbxproj:
      * html/HTMLMediaElement.h:
      * platform/LayoutUnit.h:
      * platform/PODInterval.h:
      * platform/PODIntervalTree.h:
      * platform/PODRedBlackTree.h:
      * platform/ValueToString.h: Added.
      * platform/graphics/FloatPolygon.h:
      * rendering/FloatingObjects.cpp:
      * rendering/FloatingObjects.h:
      * rendering/RenderBlock.h:
      * rendering/RenderBlockFlow.h:
      * rendering/RenderFlowThread.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159159 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3afbee3d
    • hyatt@apple.com's avatar
      Fix windows build bustage. · 1750ad38
      hyatt@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159154 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1750ad38
    • hyatt@apple.com's avatar
      Make RenderBlockRareData be in a hashtable instead of being a member variable. · e96ebafe
      hyatt@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124056
      
      Reviewed by Anders Carlsson.
      
      Right now RenderBlock has 4 bytes taken up by a m_rareData member that is almost
      never allocated. This is better off in a separate hash, so that RenderBlock can
      get 4 bytes back.
              
      Since RenderBlockFlow's rare data member was recently removed and folded into
      RenderBlock, we need to undo that change and put the rare data member back in
      RenderBlockFlow. RenderBlockFlowRareData inheriting from RenderBlockRareData
      was not a good idea anyway, since RenderBlockFlows also very rarely need the
      RenderBlockRareData members, and were thus paying a heavier cost when the rare
      data was created than was necessary.
       
      * rendering/RenderBlock.cpp:
      (WebCore::RenderBlockRareData::RenderBlockRareData):
      (WebCore::RenderBlock::~RenderBlock):
      (WebCore::RenderBlock::hasRareData):
      (WebCore::getRareData):
      (WebCore::ensureRareData):
      (WebCore::RenderBlock::ensureShapeInsideInfo):
      (WebCore::RenderBlock::shapeInsideInfo):
      (WebCore::RenderBlock::setShapeInsideInfo):
      (WebCore::RenderBlock::paginationStrut):
      (WebCore::RenderBlock::pageLogicalOffset):
      (WebCore::RenderBlock::setPaginationStrut):
      (WebCore::RenderBlock::setPageLogicalOffset):
      * rendering/RenderBlock.h:
      * rendering/RenderBlockFlow.cpp:
      (WebCore::RenderBlockFlow::setMaxMarginBeforeValues):
      (WebCore::RenderBlockFlow::setMaxMarginAfterValues):
      (WebCore::RenderBlockFlow::setMustDiscardMarginBefore):
      (WebCore::RenderBlockFlow::setMustDiscardMarginAfter):
      (WebCore::RenderBlockFlow::mustDiscardMarginBefore):
      (WebCore::RenderBlockFlow::mustDiscardMarginAfter):
      (WebCore::RenderBlockFlow::setBreakAtLineToAvoidWidow):
      (WebCore::RenderBlockFlow::setDidBreakAtLineToAvoidWidow):
      (WebCore::RenderBlockFlow::clearDidBreakAtLineToAvoidWidow):
      (WebCore::RenderBlockFlow::clearShouldBreakAtLineToAvoidWidow):
      (WebCore::RenderBlockFlow::setRenderNamedFlowFragment):
      (WebCore::RenderBlockFlow::ensureRareBlockFlowData):
      (WebCore::RenderBlockFlow::materializeRareBlockFlowData):
      * rendering/RenderBlockFlow.h:
      (WebCore::RenderBlockFlow::shouldBreakAtLineToAvoidWidow):
      (WebCore::RenderBlockFlow::lineBreakToAvoidWidow):
      (WebCore::RenderBlockFlow::didBreakAtLineToAvoidWidow):
      (WebCore::RenderBlockFlow::lineGridBox):
      (WebCore::RenderBlockFlow::setLineGridBox):
      (WebCore::RenderBlockFlow::renderNamedFlowFragment):
      (WebCore::RenderBlockFlow::maxPositiveMarginBefore):
      (WebCore::RenderBlockFlow::maxNegativeMarginBefore):
      (WebCore::RenderBlockFlow::maxPositiveMarginAfter):
      (WebCore::RenderBlockFlow::maxNegativeMarginAfter):
      (WebCore::RenderBlockFlow::initMaxMarginValues):
      (WebCore::RenderBlockFlow::hasRareBlockFlowData):
      (WebCore::RenderBlockFlow::rareBlockFlowData):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159150 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e96ebafe
    • alex.christensen@flexsim.com's avatar
      [WinCairo] Preparation for ENABLE(VIDEO). · 0e4d08bf
      alex.christensen@flexsim.com authored
      https://bugs.webkit.org/show_bug.cgi?id=57420
      
      Reviewed by Martin Robinson.
      
      Source/WebCore: 
      
      * platform/FileSystem.h:
      * platform/graphics/MediaPlayer.cpp:
      * rendering/RenderMediaControls.cpp:
      * rendering/RenderThemeWin.cpp:
      (WebCore::RenderThemeWin::adjustSliderThumbSize):
      Separated CG code from GStreamer code.
      
      Source/WebKit/win: 
      
      * FullscreenVideoController.cpp:
      Don't compile if using GStreamer.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159122 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0e4d08bf
    • antti@apple.com's avatar
      Text on simple lines sometimes paints one pixel off · cbdae682
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124200
      
      Reviewed by Andreas Kling.
      
      Source/WebCore: 
      
      Test: fast/text/line-runs-simple-lines.html
      
      * rendering/SimpleLineLayout.cpp:
      (WebCore::SimpleLineLayout::adjustRunOffsets):
              
          Don't round on run construction time.
      
      (WebCore::SimpleLineLayout::createTextRuns):
      * rendering/SimpleLineLayoutResolver.h:
      (WebCore::SimpleLineLayout::RunResolver::Run::rect):
              
          Instead round when generating rects.
      
      (WebCore::SimpleLineLayout::RunResolver::Run::baseline):
              
          Provide the baseline (used by painting) as unrounded FloatPoint.
      
      LayoutTests: 
      
      * fast/text/line-runs-rounding-simple-lines-expected.html: Added.
      * fast/text/line-runs-rounding-simple-lines.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159105 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cbdae682
  6. 11 Nov, 2013 7 commits
    • simon.fraser@apple.com's avatar
      REGRESSION (r155660): box-shadow causes overlay scrollbars to be in the wrong... · 1c06cdda
      simon.fraser@apple.com authored
      REGRESSION (r155660): box-shadow causes overlay scrollbars to be in the wrong position when element is composited (85647)
      https://bugs.webkit.org/show_bug.cgi?id=124090
      
      Source/WebCore:
      
      Reviewed by Beth Dakin.
      
      After r155660 we did fewer layouts, so were left with overlay scrollbars in the
      wrong locations because nothing would update them after RenderLayerBacking
      computed a new offsetFromRenderer.
      
      First part of the fix is to wean positionOverflowControlsLayers() off of
      an absolute offset from the root. Do this by not using Widget::frameRect()
      to position the layers, but instead RenderLayer::rectFor{Horizontal|Vertical}Scrollbar
      which is what we used to position the scrollbars in the first place.
      
      Second part of the fix is to call positionOverflowControlsLayers() from
      RenderLayerBacking::updateGraphicsLayerGeometry() if the offsetFromRenderer
      changed.
      
      Test: compositing/overflow/overflow-scrollbar-layer-positions.html
      
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::positionOverflowControls):
      * rendering/RenderLayerBacking.cpp:
      (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
      (WebCore::RenderLayerBacking::positionOverflowControlsLayers):
      * rendering/RenderLayerBacking.h:
      
      LayoutTests:
      
      Reviewed by Beth Dakin.
      
      Test, but it doesn't actually test the fix until we enable overlay scrollbars
      in tests (bug 60716).
      
      * compositing/overflow/overflow-scrollbar-layer-positions-expected.txt: Added.
      * compositing/overflow/overflow-scrollbar-layer-positions.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159082 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1c06cdda
    • antti@apple.com's avatar
      End of line whitespace should collapse with white-space:pre-wrap;... · aae30d1b
      antti@apple.com authored
      End of line whitespace should collapse with white-space:pre-wrap; overflow-wrap:break-word in all cases
      https://bugs.webkit.org/show_bug.cgi?id=124158
      
      Source/WebCore: 
      
      Reviewed by Dave Hyatt.
              
      If a word just fits the line but the following space overflows we fail to collapse whitespaces 
      at the end of the line. This happens because with break-word we end up taking word breaking
      code path that does not have pre-wrap whitespace handling.
              
      This patch makes the behavior consistent and also matches Firefox.
      
      Test: fast/text/break-word-pre-wrap.html
      
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::BreakingContext::handleText):
              
          Don't take the word break code path if we are pre-wrap and the current character is space.
          Instead proceed to break the line normally as this is a valid break position.
      
      LayoutTests: 
      
      Reviewed by Dave Hyatt.
              
      Added a specific test and updates the test results of some complex tests that demonstrate the same issue.
      
      * fast/text/break-word-pre-wrap-expected.html: Added.
      * fast/text/break-word-pre-wrap.html: Added.
      * platform/mac/fast/forms/basic-textareas-expected.png:
      * platform/mac/fast/forms/basic-textareas-expected.txt:
      * platform/mac/fast/forms/basic-textareas-quirks-expected.png:
      * platform/mac/fast/forms/basic-textareas-quirks-expected.txt:
      * platform/mac-mountainlion/fast/forms/basic-textareas-expected.txt:
      * platform/mac-mountainlion/fast/forms/basic-textareas-quirks-expected.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159071 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aae30d1b
    • betravis@adobe.com's avatar
      Web Inspector: [CSS Shapes] Highlight shape-outside when its element is... · 3422dd42
      betravis@adobe.com authored
      Web Inspector: [CSS Shapes] Highlight shape-outside when its element is selected in the Web Inspector
      https://bugs.webkit.org/show_bug.cgi?id=124071
      
      Reviewed by Timothy Hatcher.
      
      Source/WebCore:
      
      Adding code to pass computed shape information (path and bounds) to the Inspector overlay
      canvas, and the code to display it. The code creates a path based on ShapeInfo's computed
      shape. The shape highlight draws whenever an element is highlighted, via selection in
      the Inspector elements view.
      
      Test: inspector-protocol/model/highlight-shape-outside.html
      
      * inspector/InspectorOverlay.cpp:
      (WebCore::localPointToRoot): Convert a local point to be relative to the root view.
      (WebCore::appendPathCommandAndPoints): Helper for building a single segment's worth
      of the overall path.
      (WebCore::appendPathSegment): Build a single segment's worth of the overall path.
      (WebCore::buildObjectForShapeOutside): Build an object to pass to the Inspector overlay
      that represents the shape.
      (WebCore::buildObjectForElementInfo): Call buildObjectForShapeOutside and pass the
      resulting object along.
      * inspector/InspectorOverlayPage.js:
      (pathCommand): Draw a single path command.
      (drawPath): Draw the overall path.
      (_drawShapeHighlight): Draw the highlight for the given shapeInfo.
      (drawNodeHighlight): Call _drawShapeHighlight.
      * rendering/shapes/PolygonShape.h:
      (WebCore::PolygonShape::polygon): Expose the underlying vertex information for a
      PolygonShape.
      * rendering/shapes/RasterShape.h:
      * rendering/shapes/RectangleShape.h:
      (WebCore::RectangleShape::logicalRx): Expose the logical radii for a shape.
      (WebCore::RectangleShape::logicalRy): Ditto.
      * rendering/shapes/Shape.h:
      * rendering/shapes/ShapeInfo.h:
      (WebCore::ShapeInfo::computedShapePhysicalBoundingBox): The physical bounds of a
      shape in renderer coordinates.
      (WebCore::ShapeInfo::shapeToRendererPoint): Convert shape coordinates to renderer
      coordinates.
      (WebCore::ShapeInfo::shapeToRendererSize): Ditto.
      (WebCore::ShapeInfo::ShapeInfo):
      
      LayoutTests:
      
      Test that the information passed to the Inspector overlay properly corresponds to the
      underlying shape. Retrieving the shape highlight information involves a series of
      steps and has been abstracted into shape-info-helper.js, which supplies
      Inspector.shapeOutsideInfo inside an Inspector test, and the ShapeInfoHelper.runShapesTest
      method to begin a test.
      
      * inspector-protocol/model/highlight-shape-outside-expected.txt: Added.
      * inspector-protocol/model/highlight-shape-outside.html: Added.
      * inspector-protocol/resources/shape-info-helper.js: Added.
      (window.ShapeInfoHelper): Exposes ShapeInfoHelper.runShapesTest.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159070 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3422dd42
    • commit-queue@webkit.org's avatar
      Fix build after r158967 · fafed391
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124160
      
      Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-11-11
      Reviewed by Anders Carlsson.
      
      After r158967, gcc debug builds with "-Werror=type-limits" enabled
      fail. This patch fixes it.
      
      * rendering/shapes/RasterShape.h:
      (WebCore::RasterShapeIntervals::intervalsAt):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159065 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fafed391
    • commit-queue@webkit.org's avatar
      [CSS Regions] Selection focusNode set to the "region" block, instead of the "source" block · 5ce6c901
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=120769
      
      Patch by Javier Fernandez <jfernandez@igalia.com> on 2013-11-11
      Reviewed by David Hyatt.
      
      Source/WebCore:
      
      When a point hits a Region block, current positionForPoint algorithm determines its
      position in the DOM and returns either the start or end offset for such block, since
      Region blocks have no children in the DOM.
      
      It's necessary to map the point into Flow Thread coordinates in order to determine
      the DOM position of the specific element rendered by the Region.
      
      Top margin, padding and border points should be mapped to the beginning of the Region
      block, while bottom points are mapped to the block end. The Left coordinate its just
      adjusted to fit in the Flow Thread boundaries, since its not affected by the Flow
      direction.
      
      Besides, when inspecting the Flow Thread blocks looking for the last candidate box,
      the Region originally associated to the point might be taken into account. Only the
      blocks/boxes rendered by the Region are potential candidates.
      
      Tests: fast/regions/selection/position-for-point-1-vert-lr.html
             fast/regions/selection/position-for-point-1-vert-rl.html
             fast/regions/selection/position-for-point-1.html
             fast/regions/selection/position-for-point-vert-lr.html
             fast/regions/selection/position-for-point-vert-rl.html
             fast/regions/selection/position-for-point.html
      
      * rendering/RenderBlock.cpp:
      (WebCore::isChildHitTestCandidate):
      (WebCore::RenderBlock::positionForPoint):
      * rendering/RenderBlockFlow.cpp:
      (WebCore::RenderBlockFlow::positionForPoint): Added.
      It just redirects the call to the associated RenderNamedFlowFragment instance.
      * rendering/RenderBlockFlow.h:
      * rendering/RenderRegion.cpp:
      (WebCore::RenderRegion::mapRegionPointIntoFlowThreadCoordinates): Added.
      It performs the coordinates mapping.
      (WebCore::RenderRegion::positionForPoint): Added.
      It determines the corresponding LayoutPoint in the FlowThread the Region
      is associated to, forwarding the call to the RenderBlock class using the
      FlowThread's first child block and such new point.
      * rendering/RenderRegion.h:
      
      LayoutTests:
      
      * fast/regions/resources/helper.js:
      (selectContentFromIdToPos):
      (selectContentFromIdToPosVert):
      (.document.onmouseup):
      (onMouseUpLogSelectionAndFocus):
      * fast/regions/selection/position-for-point-1-expected.txt: Added.
      * fast/regions/selection/position-for-point-1-vert-lr-expected.txt: Added.
      * fast/regions/selection/position-for-point-1-vert-lr.html: Added.
      * fast/regions/selection/position-for-point-1-vert-rl-expected.txt: Added.
      * fast/regions/selection/position-for-point-1-vert-rl.html: Added.
      * fast/regions/selection/position-for-point-1.html: Added.
      * fast/regions/selection/position-for-point-expected.txt: Added.
      * fast/regions/selection/position-for-point-vert-lr-expected.txt: Added.
      * fast/regions/selection/position-for-point-vert-lr.html: Added.
      * fast/regions/selection/position-for-point-vert-rl-expected.txt: Added.
      * fast/regions/selection/position-for-point-vert-rl.html: Added.
      * fast/regions/selection/position-for-point.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159057 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5ce6c901
    • akling@apple.com's avatar
      Kill InlineFlowBox::rendererLineBoxes(). · 5e087b0b
      akling@apple.com authored
      <https://webkit.org/b/124141>
      
      We only ever used this to access the RenderLineBoxList for non-root
      boxes, and those always have a RenderInline renderer.
      
      Tighten things up by losing the virtual rendererLineBoxes() and
      calling RenderInline::lineBoxes() directly.
      
      Reviewed by Antti Koivisto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159049 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5e087b0b
    • akling@apple.com's avatar
      Bring the LineFragmentationData back to RootInlineBox. · c42a9a53
      akling@apple.com authored
      <https://webkit.org/b/124136>
      
      Now that we have the simple line layout path, almost all the root
      line boxes end up with some kind of fragmentation data, so we might
      as well put the members back on RootInlineBox and avoid the extra
      allocation (and indirection.)
      
      1.74 MB progression on HTML5 spec at <http://whatwg.org/c>
      
      Reviewed by Antti Koivisto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c42a9a53
  7. 10 Nov, 2013 9 commits
    • akling@apple.com's avatar
      Shrink RenderInline. · 4ea8c6b7
      akling@apple.com authored
      <https://webkit.org/b/124134>
      
      Move the "always create line boxes" bit from RenderInline up to
      RenderElement. I didn't do this earlier because there were no bits
      free on RenderObject but thanks to RenderElement we now have tons!
      
      540 kB progression on HTML5 spec at <http://whatwg.org/c>
      
      Reviewed by Anders Carlsson.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159038 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4ea8c6b7
    • weinig@apple.com's avatar
      Reduce the size of RenderBlockFlow by making its rare data inherit from RenderBlockRareData · 924a77a5
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124124
      
      Reviewed by Anders Carlsson.
      
      Reduce RenderBlockFlow by one word.
      
      * rendering/RenderBlock.cpp:
      * rendering/RenderBlock.h:
      * rendering/RenderBlockFlow.cpp:
      * rendering/RenderBlockFlow.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159034 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      924a77a5
    • antti@apple.com's avatar
      Use start/end instead of textOffset/textLength for simple text runs · 596791b3
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124130
      
      Reviewed by Oliver Hunt.
              
      The code reads better this way.
      
      * rendering/SimpleLineLayout.cpp:
      (WebCore::SimpleLineLayout::createTextRuns):
      * rendering/SimpleLineLayout.h:
      (WebCore::SimpleLineLayout::Run::Run):
      * rendering/SimpleLineLayoutFunctions.h:
      (WebCore::SimpleLineLayout::findTextCaretMinimumOffset):
      (WebCore::SimpleLineLayout::findTextCaretMaximumOffset):
      (WebCore::SimpleLineLayout::containsTextCaretOffset):
      (WebCore::SimpleLineLayout::isTextRendered):
      * rendering/SimpleLineLayoutResolver.h:
      (WebCore::SimpleLineLayout::RunResolver::Run::text):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159032 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      596791b3
    • antti@apple.com's avatar
      Implement white-space property on simple line layout path · b39b467b
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124122
      
      Source/WebCore: 
      
      Reviewed by Andreas Kling.
              
      Support all values of the white-space property and the tab-size property.
      
      Tests: fast/forms/basic-textareas-simple-lines.html
             fast/text/embed-at-end-of-pre-wrap-line-simple-lines.html
             fast/text/whitespace/pre-wrap-line-test-simple-lines.html
             fast/text/whitespace/pre-wrap-long-word-simple-lines.html
             fast/text/whitespace/pre-wrap-spaces-after-newline-simple-lines.html
      
      * rendering/SimpleLineLayout.cpp:
      (WebCore::SimpleLineLayout::canUseFor):
      (WebCore::SimpleLineLayout::isWhitespace):
      (WebCore::SimpleLineLayout::skipWhitespaces):
      (WebCore::SimpleLineLayout::textWidth):
      (WebCore::SimpleLineLayout::measureWord):
      (WebCore::SimpleLineLayout::createTextRuns):
      * rendering/SimpleLineLayoutFunctions.cpp:
      (WebCore::SimpleLineLayout::paintDebugBorders):
      (WebCore::SimpleLineLayout::paintFlow):
      
      LayoutTests: 
      
      Reviewed by Andreas Kling.
              
      The simple line layout produces slightly different runs in some pre-wrap cases compared
      to the line box path (with less unnecessary boxes). To keep the test coverage this patch forces the
      existing render tree dump based tests to use line boxes. It also adds new ref tests for
      the same cases where the test uses the simple line path and the ref is forced on the line box path.
      This ensures that the paths produce pixel-identical results.
      
      * fast/forms/basic-textareas-simple-lines-expected.html: Added.
      * fast/forms/basic-textareas-simple-lines.html: Added.
      * fast/forms/basic-textareas.html:
      * fast/text/embed-at-end-of-pre-wrap-line-simple-lines-expected.html: Added.
      * fast/text/embed-at-end-of-pre-wrap-line-simple-lines.html: Added.
      * fast/text/embed-at-end-of-pre-wrap-line.html:
      * fast/text/whitespace/pre-wrap-line-test-simple-lines-expected.html: Added.
      * fast/text/whitespace/pre-wrap-line-test-simple-lines.html: Added.
      * fast/text/whitespace/pre-wrap-line-test.html:
      * fast/text/whitespace/pre-wrap-long-word-simple-lines-expected.html: Added.
      * fast/text/whitespace/pre-wrap-long-word-simple-lines.html: Added. New simple test for overflowing lines which was only covered by the very large basic-textareas.html.
      * fast/text/whitespace/pre-wrap-spaces-after-newline-simple-lines-expected.html: Added.
      * fast/text/whitespace/pre-wrap-spaces-after-newline-simple-lines.html: Added.
      * fast/text/whitespace/pre-wrap-spaces-after-newline.html:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159030 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b39b467b
    • andersca@apple.com's avatar
      Fix build. · f0f2b0a0
      andersca@apple.com authored
      * rendering/RenderMultiColumnBlock.cpp:
      (WebCore::RenderMultiColumnBlock::computeColumnCountAndWidth):
      (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159028 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f0f2b0a0
    • andersca@apple.com's avatar
      Remove all 'std' using directives from WebCore · 8629863f
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124125
      
      Reviewed by Sam Weinig.
      
      As per the coding style guidelines.
      
      * loader/CrossOriginPreflightResultCache.cpp:
      (WebCore::CrossOriginPreflightResultCache::appendEntry):
      (WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
      * loader/WorkerThreadableLoader.cpp:
      * loader/appcache/ApplicationCacheStorage.cpp:
      (WebCore::ApplicationCacheStorage::loadCache):
      * loader/appcache/ManifestParser.cpp:
      (WebCore::parseManifest):
      * loader/cache/MemoryCache.cpp:
      (WebCore::MemoryCache::deadCapacity):
      (WebCore::MemoryCache::lruListFor):
      * page/CaptionUserPreferencesMediaAF.cpp:
      * page/Chrome.cpp:
      * page/DOMTimer.cpp:
      (WebCore::DOMTimer::intervalClampedToMinimum):
      * page/FocusController.cpp:
      * page/Frame.cpp:
      (WebCore::Frame::resizePageRectsKeepingRatio):
      * page/PageGroupLoadDeferrer.cpp:
      * page/Settings.cpp:
      * page/animation/AnimationBase.cpp:
      (WebCore::solveStepsFunction):
      (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
      (WebCore::AnimationBase::timeToNextService):
      (WebCore::AnimationBase::fractionalTime):
      (WebCore::AnimationBase::getTimeToNextEvent):
      * page/animation/KeyframeAnimation.cpp:
      (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
      * platform/DateComponents.cpp:
      * platform/ScrollAnimator.cpp:
      (WebCore::ScrollAnimator::handleWheelEvent):
      * platform/ScrollView.cpp:
      (WebCore::ScrollView::unscaledVisibleContentSize):
      (WebCore::ScrollView::setScrollOffset):
      (WebCore::ScrollView::updateScrollbars):
      (WebCore::ScrollView::scrollContents):
      * platform/Scrollbar.cpp:
      (WebCore::Scrollbar::moveThumb):
      * platform/ScrollbarThemeComposite.cpp:
      (WebCore::usedTotalSize):
      (WebCore::ScrollbarThemeComposite::thumbPosition):
      (WebCore::ScrollbarThemeComposite::thumbLength):
      * platform/SharedBuffer.cpp:
      (WebCore::SharedBuffer::append):
      (WebCore::SharedBuffer::copyBufferAndClear):
      (WebCore::SharedBuffer::getSomeData):
      * platform/ThreadTimers.cpp:
      (WebCore::ThreadTimers::updateSharedTimer):
      * platform/Timer.cpp:
      (WebCore::TimerHeapLessThanFunction::operator()):
      (WebCore::TimerBase::heapPop):
      (WebCore::TimerBase::nextUnalignedFireInterval):
      * platform/URL.cpp:
      (WebCore::findHostnamesInMailToURL):
      (WebCore::portAllowed):
      * platform/audio/AudioResampler.cpp:
      (WebCore::AudioResampler::setRate):
      * platform/audio/AudioResamplerKernel.cpp:
      (WebCore::AudioResamplerKernel::process):
      * platform/audio/Distance.cpp:
      (WebCore::DistanceEffect::gain):
      * platform/audio/DynamicsCompressorKernel.cpp:
      (WebCore::DynamicsCompressorKernel::process):
      * platform/audio/EqualPowerPanner.cpp:
      (WebCore::EqualPowerPanner::pan):
      * platform/audio/HRTFDatabase.cpp:
      (WebCore::HRTFDatabase::indexFromElevationAngle):
      * platform/audio/HRTFElevation.cpp:
      (WebCore::HRTFElevation::createForSubject):
      * platform/audio/HRTFKernel.cpp:
      (WebCore::HRTFKernel::HRTFKernel):
      (WebCore::HRTFKernel::createInterpolatedKernel):
      * platform/audio/HRTFPanner.cpp:
      (WebCore::HRTFPanner::calculateDesiredAzimuthIndexAndBlend):
      * platform/audio/Reverb.cpp:
      * platform/audio/SincResampler.cpp:
      (WebCore::SincResampler::process):
      * platform/cf/URLCF.cpp:
      * platform/graphics/Color.cpp:
      (WebCore::makeRGB):
      (WebCore::makeRGBA):
      (WebCore::colorFloatToRGBAByte):
      (WebCore::Color::light):
      (WebCore::Color::dark):
      * platform/graphics/CrossfadeGeneratedImage.cpp:
      * platform/graphics/FloatQuad.cpp:
      (WebCore::min4):
      (WebCore::max4):
      (WebCore::withinEpsilon):
      * platform/graphics/FloatSize.cpp:
      (WebCore::FloatSize::isZero):
      * platform/graphics/FontFastPath.cpp:
      (WebCore::Font::floatWidthForSimpleText):
      * platform/graphics/FontPlatformData.cpp:
      * platform/graphics/GraphicsContext.cpp:
      * platform/graphics/RoundedRect.cpp:
      (WebCore::RoundedRect::Radii::expand):
      * platform/graphics/ShadowBlur.cpp:
      (WebCore::calculateLobes):
      (WebCore::computeSliceSizesFromRadii):
      * platform/graphics/SimpleFontData.cpp:
      (WebCore::SimpleFontData::initCharWidths):
      * platform/graphics/WidthIterator.cpp:
      (WebCore::WidthIterator::WidthIterator):
      (WebCore::WidthIterator::advanceInternal):
      * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
      (WebCore::InbandTextTrackPrivateAVF::processCue):
      * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
      * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
      * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm:
      * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
      (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
      (WebCore::MediaPlayerPrivateAVFoundationObjC::currentTime):
      * platform/graphics/ca/GraphicsLayerCA.cpp:
      (WebCore::GraphicsLayerCA::setOpacity):
      (WebCore::GraphicsLayerCA::setNeedsDisplay):
      (WebCore::GraphicsLayerCA::setupAnimation):
      (WebCore::clampedContentsScaleForScale):
      * platform/graphics/ca/mac/TileController.mm:
      (WebCore::TileController::getTileIndexRangeForRect):
      (WebCore::TileController::computeTileCoverageRect):
      * platform/graphics/cg/GraphicsContextCG.cpp:
      (WebCore::GraphicsContext::setPlatformShadow):
      (WebCore::computeLineBoundsAndAntialiasingModeForText):
      * platform/graphics/cg/ImageBufferCG.cpp:
      * platform/graphics/cg/ImageBufferDataCG.cpp:
      (WebCore::ImageBufferData::getData):
      * platform/graphics/cg/ImageSourceCG.cpp:
      * platform/graphics/filters/FEDropShadow.cpp:
      * platform/graphics/filters/FEGaussianBlur.cpp:
      (WebCore::boxBlur):
      (WebCore::FEGaussianBlur::platformApplyGeneric):
      (WebCore::FEGaussianBlur::calculateUnscaledKernelSize):
      (WebCore::FEGaussianBlur::calculateStdDeviation):
      * platform/graphics/gpu/Texture.cpp:
      (WebCore::Texture::updateSubRect):
      * platform/graphics/gpu/TilingData.cpp:
      (WebCore::computeNumTiles):
      (WebCore::TilingData::tileXIndexFromSrcCoord):
      (WebCore::TilingData::tileYIndexFromSrcCoord):
      * platform/graphics/mac/ComplexTextController.cpp:
      (WebCore::ComplexTextController::ComplexTextController):
      (WebCore::ComplexTextController::offsetForPosition):
      (WebCore::ComplexTextController::advance):
      (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
      * platform/graphics/mac/FontComplexTextMac.cpp:
      (WebCore::Font::floatWidthForComplexText):
      * platform/graphics/mac/FontMac.mm:
      * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
      (WebCore::MediaPlayerPrivateQTKit::duration):
      * platform/graphics/mac/SimpleFontDataMac.mm:
      * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
      * platform/graphics/transforms/MatrixTransformOperation.cpp:
      * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
      * platform/graphics/transforms/RotateTransformOperation.cpp:
      * platform/graphics/transforms/TransformOperations.cpp:
      (WebCore::TransformOperations::blendByMatchingOperations):
      * platform/graphics/transforms/TransformationMatrix.cpp:
      (WebCore::clampEdgeValue):
      * platform/mac/ScrollAnimatorMac.mm:
      (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary):
      * platform/mac/ScrollViewMac.mm:
      (WebCore::ScrollView::platformSetContentsSize):
      (WebCore::ScrollView::platformSetScrollPosition):
      * platform/mac/ScrollbarThemeMac.mm:
      * platform/mac/ThemeMac.mm:
      * platform/mac/WebVideoFullscreenHUDWindowController.mm:
      (-[WebVideoFullscreenHUDWindowController incrementVolume]):
      (timeToString):
      * platform/network/HTTPHeaderMap.cpp:
      (WebCore::HTTPHeaderMap::copyData):
      * platform/network/ResourceRequestBase.cpp:
      * platform/network/ResourceResponseBase.cpp:
      (WebCore::ResourceResponseBase::parseCacheControlDirectives):
      * platform/network/cf/ResourceResponseCFNet.cpp:
      * platform/network/mac/ResourceResponseMac.mm:
      (WebCore::ResourceResponse::initNSURLResponse):
      * platform/text/TextBreakIteratorICU.cpp:
      (WebCore::textClone):
      (WebCore::textLatin1MoveInPrimaryContext):
      (WebCore::textLatin1MoveInPriorContext):
      (WebCore::textInChunkOrOutOfRange):
      (WebCore::textOpenLatin1):
      (WebCore::textUTF16MoveInPrimaryContext):
      (WebCore::textUTF16MoveInPriorContext):
      (WebCore::textOpenUTF16):
      * platform/text/TextCodecUTF16.cpp:
      (WebCore::TextCodecUTF16::encode):
      * platform/text/TextCodecUTF8.cpp:
      (WebCore::TextCodecUTF8::encode):
      * platform/text/TextStream.cpp:
      * platform/text/mac/LocaleMac.mm:
      * platform/text/mac/TextCodecMac.cpp:
      (WebCore::TextCodecMac::decode):
      * rendering/AutoTableLayout.cpp:
      (WebCore::AutoTableLayout::recalcColumn):
      (WebCore::AutoTableLayout::computeIntrinsicLogicalWidths):
      (WebCore::AutoTableLayout::applyPreferredLogicalWidthQuirks):
      (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
      (WebCore::AutoTableLayout::layout):
      * rendering/FixedTableLayout.cpp:
      (WebCore::FixedTableLayout::applyPreferredLogicalWidthQuirks):
      * rendering/FloatingObjects.cpp:
      (WebCore::FindNextFloatLogicalBottomAdapter::collectIfNeeded):
      (WebCore::FloatingObjects::logicalRightOffsetForPositioningFloat):
      (WebCore::FloatingObjects::logicalRightOffset):
      * rendering/InlineBox.cpp:
      * rendering/InlineFlowBox.cpp:
      (WebCore::InlineFlowBox::placeBoxRangeInInlineDirection):
      (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
      (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
      (WebCore::InlineFlowBox::computeMaxLogicalTop):
      (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
      (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
      (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
      (WebCore::InlineFlowBox::nodeAtPoint):
      (WebCore::InlineFlowBox::constrainToLineTopAndBottomIfNeeded):
      (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
      (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):
      (WebCore::InlineFlowBox::collectLeafBoxesInLogicalOrder):
      * rendering/InlineTextBox.cpp:
      (WebCore::InlineTextBox::isSelected):
      (WebCore::InlineTextBox::localSelectionRect):
      (WebCore::InlineTextBox::placeEllipsisBox):
      (WebCore::InlineTextBox::applyShadowToGraphicsContext):
      (WebCore::InlineTextBox::paint):
      (WebCore::InlineTextBox::selectionStartEnd):
      (WebCore::InlineTextBox::paintSelection):
      (WebCore::InlineTextBox::paintCompositionBackground):
      (WebCore::computeUnderlineOffset):
      (WebCore::InlineTextBox::paintDecoration):
      (WebCore::InlineTextBox::paintDocumentMarker):
      (WebCore::InlineTextBox::paintTextMatchMarker):
      (WebCore::InlineTextBox::computeRectForReplacementMarker):
      (WebCore::InlineTextBox::paintCompositionUnderline):
      * rendering/RenderBlock.cpp:
      (WebCore::RenderBlock::computeOverflow):
      (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
      (WebCore::RenderBlock::paintChild):
      (WebCore::RenderBlock::blockSelectionGap):
      (WebCore::RenderBlock::logicalLeftSelectionGap):
      (WebCore::RenderBlock::logicalRightSelectionGap):
      (WebCore::RenderBlock::calcColumnWidth):
      (WebCore::RenderBlock::adjustRectForColumns):
      (WebCore::RenderBlock::computeIntrinsicLogicalWidths):
      (WebCore::RenderBlock::computePreferredLogicalWidths):
      (WebCore::RenderBlock::adjustIntrinsicLogicalWidthsForColumns):
      (WebCore::updatePreferredWidth):
      (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
      (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
      * rendering/RenderBlockFlow.cpp:
      (WebCore::RenderBlockFlow::clearFloats):
      (WebCore::RenderBlockFlow::layoutBlock):
      (WebCore::RenderBlockFlow::layoutBlockChild):
      (WebCore::RenderBlockFlow::collapseMargins):
      (WebCore::RenderBlockFlow::clearFloatsIfNeeded):
      (WebCore::RenderBlockFlow::marginBeforeEstimateForChild):
      (WebCore::RenderBlockFlow::estimateLogicalTopPosition):
      (WebCore::RenderBlockFlow::setCollapsedBottomMargin):
      (WebCore::RenderBlockFlow::handleAfterSideOfBlock):
      (WebCore::calculateMinimumPageHeight):
      (WebCore::RenderBlockFlow::adjustLinePositionForPagination):
      (WebCore::RenderBlockFlow::removeFloatingObject):
      (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
      (WebCore::RenderBlockFlow::positionNewFloats):
      (WebCore::RenderBlockFlow::lowestFloatLogicalBottom):
      (WebCore::RenderBlockFlow::addOverhangingFloats):
      (WebCore::RenderBlockFlow::getClearDelta):
      (WebCore::RenderBlockFlow::adjustForBorderFit):
      (WebCore::RenderBlockFlow::fitBorderToLinesIfNeeded):
      (WebCore::RenderBlockFlow::updateLogicalHeight):
      (WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
      (WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren):
      (WebCore::RenderBlockFlow::relayoutForPagination):
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::updateLogicalWidthForLeftAlignedBlock):
      (WebCore::updateLogicalWidthForRightAlignedBlock):
      (WebCore::updateLogicalWidthForCenterAlignedBlock):
      (WebCore::setLogicalWidthForTextRun):
      (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):
      (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
      (WebCore::RenderBlockFlow::layoutLineBoxes):
      (WebCore::RenderBlockFlow::checkFloatsInCleanLine):
      (WebCore::RenderBlockFlow::checkPaginationAndFloatsAtEndLine):
      (WebCore::tryHyphenating):
      * rendering/RenderBox.cpp:
      (WebCore::RenderBox::scrollWidth):
      (WebCore::RenderBox::scrollHeight):
      (WebCore::RenderBox::constrainLogicalWidthInRegionByMinMax):
      (WebCore::RenderBox::constrainLogicalHeightByMinMax):
      (WebCore::RenderBox::constrainContentBoxLogicalHeightByMinMax):
      (WebCore::RenderBox::adjustBorderBoxLogicalWidthForBoxSizing):
      (WebCore::RenderBox::adjustBorderBoxLogicalHeightForBoxSizing):
      (WebCore::RenderBox::adjustContentBoxLogicalWidthForBoxSizing):
      (WebCore::RenderBox::adjustContentBoxLogicalHeightForBoxSizing):
      (WebCore::RenderBox::repaintLayerRectsForImage):
      (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats):
      (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
      (WebCore::RenderBox::containingBlockAvailableLineWidthInRegion):
      (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
      (WebCore::RenderBox::computeLogicalWidthInRegion):
      (WebCore::RenderBox::computeIntrinsicLogicalWidthUsing):
      (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
      (WebCore::RenderBox::computeInlineDirectionMargins):
      (WebCore::RenderBox::computeLogicalHeight):
      (WebCore::RenderBox::computePercentageLogicalHeight):
      (WebCore::RenderBox::computeReplacedLogicalWidthRespectingMinMaxWidth):
      (WebCore::RenderBox::computeReplacedLogicalHeightRespectingMinMaxHeight):
      (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
      (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
      (WebCore::RenderBox::computePositionedLogicalWidthUsing):
      (WebCore::RenderBox::computePositionedLogicalHeightUsing):
      (WebCore::RenderBox::applyVisualEffectOverflow):
      (WebCore::RenderBox::addLayoutOverflow):
      * rendering/RenderBoxModelObject.cpp:
      (WebCore::RenderBoxModelObject::calculateFillTileSize):
      (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatX):
      (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatY):
      (WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment):
      (WebCore::RenderBoxModelObject::paintNinePieceImage):
      (WebCore::RenderBoxModelObject::paintOneBorderSide):
      (WebCore::calculateAdjustedInnerBorder):
      (WebCore::RenderBoxModelObject::paintBoxShadow):
      (WebCore::RenderBoxModelObject::localCaretRectForEmptyElement):
      * rendering/RenderDeprecatedFlexibleBox.cpp:
      (WebCore::FlexBoxIterator::next):
      (WebCore::RenderDeprecatedFlexibleBox::computeIntrinsicLogicalWidths):
      (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
      (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
      (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
      (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
      (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
      * rendering/RenderFileUploadControl.cpp:
      (WebCore::RenderFileUploadControl::maxFilenameWidth):
      (WebCore::RenderFileUploadControl::computeIntrinsicLogicalWidths):
      (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
      * rendering/RenderImage.cpp:
      (WebCore::RenderImage::setImageSizeForAltText):
      * rendering/RenderInline.cpp:
      (WebCore::computeMargin):
      (WebCore::RenderInline::linesVisualOverflowBoundingBox):
      (WebCore::RenderInline::paintOutline):
      (WebCore::RenderInline::paintOutlineForLine):
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::clampScrollOffset):
      (WebCore::RenderLayer::scrollRectToVisible):
      (WebCore::RenderLayer::visibleContentRect):
      (WebCore::RenderLayer::updateScrollbarsAfterLayout):
      (WebCore::RenderLayer::hitTestOverflowControls):
      (WebCore::RenderLayer::hitTestLayer):
      (WebCore::RenderLayer::calculateLayerBounds):
      * rendering/RenderLayerBacking.cpp:
      * rendering/RenderLayerModelObject.cpp:
      * rendering/RenderLineBoxList.cpp:
      (WebCore::RenderLineBoxList::rangeIntersectsRect):
      (WebCore::RenderLineBoxList::anyLineIntersectsRect):
      (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
      (WebCore::RenderLineBoxList::paint):
      * rendering/RenderListBox.cpp:
      (WebCore::RenderListBox::updateFromElement):
      (WebCore::RenderListBox::layout):
      (WebCore::RenderListBox::computePreferredLogicalWidths):
      (WebCore::RenderListBox::size):
      (WebCore::RenderListBox::numVisibleItems):
      (WebCore::RenderListBox::panScroll):
      (WebCore::RenderListBox::scrollHeight):
      * rendering/RenderListItem.cpp:
      * rendering/RenderListMarker.cpp:
      * rendering/RenderMarquee.cpp:
      (WebCore::RenderMarquee::marqueeSpeed):
      (WebCore::RenderMarquee::computePosition):
      (WebCore::RenderMarquee::timerFired):
      * rendering/RenderMediaControls.cpp:
      * rendering/RenderMenuList.cpp:
      (WebCore::RenderMenuList::updateOptionsWidth):
      (WebCore::RenderMenuList::computeIntrinsicLogicalWidths):
      (WebCore::RenderMenuList::computePreferredLogicalWidths):
      * rendering/RenderMeter.cpp:
      * rendering/RenderMultiColumnBlock.cpp:
      * rendering/RenderMultiColumnSet.cpp:
      (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset):
      (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
      (WebCore::RenderMultiColumnSet::updateLogicalWidth):
      * rendering/RenderNamedFlowFragment.cpp:
      * rendering/RenderObject.cpp:
      (WebCore::RenderObject::drawLineForBoxSide):
      (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
      (WebCore::RenderObject::caretMaxOffset):
      * rendering/RenderProgress.cpp:
      * rendering/RenderRegion.cpp:
      (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
      * rendering/RenderReplaced.cpp:
      (WebCore::RenderReplaced::shouldPaint):
      (WebCore::RenderReplaced::computeReplacedLogicalWidth):
      (WebCore::RenderReplaced::computePreferredLogicalWidths):
      * rendering/RenderRubyBase.cpp:
      * rendering/RenderRubyRun.cpp:
      (WebCore::RenderRubyRun::getOverhang):
      * rendering/RenderRubyText.cpp:
      (WebCore::RenderRubyText::adjustInlineDirectionLineBounds):
      * rendering/RenderScrollbarPart.cpp:
      (WebCore::RenderScrollbarPart::computeScrollbarWidth):
      (WebCore::RenderScrollbarPart::computeScrollbarHeight):
      * rendering/RenderSearchField.cpp:
      (WebCore::RenderSearchField::computeControlLogicalHeight):
      * rendering/RenderTable.cpp:
      (WebCore::RenderTable::updateLogicalWidth):
      (WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):
      (WebCore::RenderTable::layout):
      (WebCore::RenderTable::computePreferredLogicalWidths):
      (WebCore::RenderTable::calcBorderStart):
      (WebCore::RenderTable::calcBorderEnd):
      (WebCore::RenderTable::outerBorderBefore):
      (WebCore::RenderTable::outerBorderAfter):
      (WebCore::RenderTable::outerBorderStart):
      (WebCore::RenderTable::outerBorderEnd):
      * rendering/RenderTableCell.cpp:
      (WebCore::RenderTableCell::parseColSpanFromDOM):
      (WebCore::RenderTableCell::parseRowSpanFromDOM):
      (WebCore::RenderTableCell::logicalWidthFromColumns):
      (WebCore::RenderTableCell::computePreferredLogicalWidths):
      (WebCore::RenderTableCell::layout):
      (WebCore::RenderTableCell::setOverrideLogicalContentHeightFromRowHeight):
      (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
      (WebCore::RenderTableCell::alignLeftRightBorderPaintRect):
      (WebCore::RenderTableCell::alignTopBottomBorderPaintRect):
      * rendering/RenderTableSection.cpp:
      (WebCore::RenderTableSection::ensureRows):
      (WebCore::RenderTableSection::calcRowLogicalHeight):
      (WebCore::RenderTableSection::distributeExtraLogicalHeightToPercentRows):
      (WebCore::RenderTableSection::layoutRows):
      (WebCore::RenderTableSection::firstLineBaseline):
      (WebCore::RenderTableSection::removeCachedCollapsedBorders):
      (WebCore::RenderTableSection::setCachedCollapsedBorder):
      (WebCore::RenderTableSection::cachedCollapsedBorder):
      * rendering/RenderText.cpp:
      (WebCore::makeCapitalized):
      (WebCore::RenderText::absoluteRectsForRange):
      (WebCore::RenderText::absoluteQuadsForRange):
      (WebCore::maxWordFragmentWidth):
      (WebCore::RenderText::computePreferredLogicalWidths):
      * rendering/RenderTextControl.cpp:
      (WebCore::RenderTextControl::computePreferredLogicalWidths):
      * rendering/RenderTextControlSingleLine.cpp:
      * rendering/RenderThemeMac.mm:
      (WebCore::RenderThemeMac::paintProgressBar):
      (WebCore::RenderThemeMac::paintMenuListButton):
      * rendering/RenderWidget.cpp:
      * rendering/RootInlineBox.cpp:
      (WebCore::RootInlineBox::alignBoxesInBlockDirection):
      (WebCore::RootInlineBox::beforeAnnotationsAdjustment):
      (WebCore::RootInlineBox::selectionTopAdjustedForPrecedingBlock):
      (WebCore::RootInlineBox::blockDirectionPointInLine):
      (WebCore::RootInlineBox::paddedLayoutOverflowRect):
      (WebCore::setAscentAndDescent):
      (WebCore::RootInlineBox::ascentAndDescentForBox):
      * rendering/mathml/RenderMathMLRoot.cpp:
      (WebCore::RenderMathMLRoot::layout):
      * rendering/style/RenderStyle.cpp:
      (WebCore::calcConstraintScaleFor):
      (WebCore::RenderStyle::setFontSize):
      (WebCore::RenderStyle::getShadowExtent):
      (WebCore::RenderStyle::getShadowInsetExtent):
      (WebCore::RenderStyle::getShadowHorizontalExtent):
      (WebCore::RenderStyle::getShadowVerticalExtent):
      * rendering/style/SVGRenderStyle.cpp:
      * rendering/style/ShadowData.cpp:
      (WebCore::calculateShadowExtent):
      * rendering/svg/RenderSVGResourceFilter.cpp:
      * rendering/svg/RenderSVGRoot.cpp:
      * rendering/svg/SVGInlineFlowBox.cpp:
      (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
      * rendering/svg/SVGInlineTextBox.cpp:
      (WebCore::SVGInlineTextBox::localSelectionRect):
      * svg/SVGAnimatedNumber.cpp:
      * svg/SVGAnimatedNumberOptionalNumber.cpp:
      * svg/animation/SMILTimeContainer.cpp:
      (WebCore::SMILTimeContainer::startTimer):
      (WebCore::SMILTimeContainer::updateAnimations):
      * svg/animation/SVGSMILElement.cpp:
      (WebCore::SVGSMILElement::simpleDuration):
      (WebCore::SVGSMILElement::repeatingDuration):
      (WebCore::SVGSMILElement::resolveActiveEnd):
      (WebCore::SVGSMILElement::resolveInterval):
      (WebCore::SVGSMILElement::resolveFirstInterval):
      (WebCore::SVGSMILElement::resolveNextInterval):
      (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
      * xml/XMLTreeViewer.cpp:
      * xml/parser/XMLDocumentParser.cpp:
      * xml/parser/XMLDocumentParserLibxml2.cpp:
      (WebCore::OffsetBuffer::readOutBytes):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159027 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8629863f
    • gyuyoung.kim@samsung.com's avatar
      [AX] Clean up static_cast<> to cast from AccessibilityObject · 6deaa89a
      gyuyoung.kim@samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124032
      
      Reviewed by Mario Sanchez Prada.
      
      Source/WebCore:
      
      ACCESSIBILITY_OBJECT_TYPE_CASTS can support more helpful casting functions.
      So, we need to use them as much as possible. This patch cleans up all static_cast<> in accessibility.
      
      This patch generates toAccessibilityFoo() in order to replace static_cast<> with it. Below toAccessibilityFoo()
      are generated.
      
      - toAccessibilityARIAGridRow()
      - toAccessibilityImageMapLink()
      - toAccessibilityListBox()
      - toAccessibilityListBoxOption()
      - toAccessibilityMenuListOption()
      - toAccessibilityMenuListPopup()
      - toAccessibilityScrollbar()
      - toAccessibilitySlider()
      
      No new tests, no behavior changes.
      
      * accessibility/AXObjectCache.cpp:
      (WebCore::AXObjectCache::focusedImageMapUIElement):
      * accessibility/AccessibilityARIAGridRow.h:
      * accessibility/AccessibilityImageMapLink.h:
      * accessibility/AccessibilityListBox.cpp:
      (WebCore::AccessibilityListBox::setSelectedChildren):
      (WebCore::AccessibilityListBox::selectedChildren):
      (WebCore::AccessibilityListBox::listBoxOptionAccessibilityObject):
      * accessibility/AccessibilityListBox.h:
      * accessibility/AccessibilityListBoxOption.h:
      * accessibility/AccessibilityMenuList.cpp:
      (WebCore::AccessibilityMenuList::addChildren):
      (WebCore::AccessibilityMenuList::didUpdateActiveOption):
      * accessibility/AccessibilityMenuListOption.h:
      * accessibility/AccessibilityMenuListPopup.cpp:
      (WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject):
      * accessibility/AccessibilityMenuListPopup.h:
      * accessibility/AccessibilityObject.h:
      (WebCore::AccessibilityObject::isListBoxOption):
      (WebCore::AccessibilityObject::isSliderThumb):
      * accessibility/AccessibilityRenderObject.cpp:
      (WebCore::AccessibilityRenderObject::getDocumentLinks):
      (WebCore::AccessibilityRenderObject::addImageMapChildren):
      (WebCore::AccessibilityRenderObject::addTextFieldChildren):
      * accessibility/AccessibilityScrollView.cpp:
      (WebCore::AccessibilityScrollView::addChildScrollbar):
      * accessibility/AccessibilityScrollbar.h:
      * accessibility/AccessibilitySlider.cpp:
      (WebCore::AccessibilitySlider::addChildren):
      * accessibility/AccessibilitySlider.h:
      * accessibility/AccessibilitySpinButton.cpp:
      (WebCore::AccessibilitySpinButton::addChildren):
      * accessibility/atk/WebKitAccessibleInterfaceSelection.cpp:
      (webkitAccessibleSelectionClearSelection):
      (webkitAccessibleSelectionSelectAllSelection):
      * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
      (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
      (-[WebAccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
      * rendering/RenderMenuList.cpp:
      (WebCore::RenderMenuList::didUpdateActiveOption):
      
      Source/WebKit/win:
      
      Use toAccessibilityListBox instead of using static_cast<AccessibilityListBox*>.
      
      * AccessibleBase.cpp:
      (AccessibleBase::accSelect):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159026 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6deaa89a
    • akling@apple.com's avatar
      Remove unused FragmentationDisabler class. · 188ce2e8
      akling@apple.com authored
      <https://webkit.org/b/124118>
      
      This RAII object was added in r144744 to avoid a crash when using
      MathML inside CSS regions. Its only user was removed in r157070.
      
      Reviewed by Antti Koivisto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159022 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      188ce2e8
    • akling@apple.com's avatar
      Remove RenderTheme::shouldOpenPickerWithF4Key(). · e0094c55
      akling@apple.com authored
      Rubber-stamped by Anders Carlsson.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159020 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e0094c55