CSS JIT: backtracking with current / parent element for child
https://bugs.webkit.org/show_bug.cgi?id=132057

Patch by Yusuke Suzuki <utatane.tea@gmail.com> on 2014-04-28
Reviewed by Benjamin Poulain.

Calculate appropriate backtracking start height from the closest
descendant. And at first, we use it for a simple optimization.

1. When backtracking start height equals to current height, we
can simply jump to a descendant element check phase.
2. When backtracking start height equals to current height + 1, we
can simply jump to a descendant element traversing phase.

We can apply this optimization to fragments with adjacent combinators.
But, in the meantime, we start to implement it for a fragment with
child combinator.

Source/WebCore:
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorFragment::SelectorFragment):
(WebCore::SelectorCompiler::TagNamePattern::TagNamePattern):
(WebCore::SelectorCompiler::solveDescendantBacktrackingActionForChild):
(WebCore::SelectorCompiler::solveBacktrackingAction):
(WebCore::SelectorCompiler::equalTagNames):
(WebCore::SelectorCompiler::equalTagNamePatterns):
(WebCore::SelectorCompiler::computeBacktrackingStartHeightFromDescendant):
(WebCore::SelectorCompiler::computeBacktrackingHeightFromDescendant):
(WebCore::SelectorCompiler::requiresAdjacentTail):
(WebCore::SelectorCompiler::requiresDescendantTail):
(WebCore::SelectorCompiler::SelectorCodeGenerator::computeBacktrackingInformation):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToParentNode):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToParentElement):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateParentElementTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateAncestorTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateIndirectAdjacentTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):

LayoutTests:
* fast/selectors/backtracking-child-combinator-with-tail-expected.txt: Added.
* fast/selectors/backtracking-child-combinator-with-tail.html: Added.
* fast/selectors/backtracking-child-combinator-without-tail-expected.txt: Added.
* fast/selectors/backtracking-child-combinator-without-tail.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167920 268f45cc-cd09-0410-ab3c-d52691b4dbfc
SelectorCodeGenerator::generateElementIsNthChild() leaks the parent register :nth-child() is non-filtering
https://bugs.webkit.org/show_bug.cgi?id=132311

Reviewed by Andreas Kling.


Source/WebCore: 
In two cases, the parent register was never returned to the register allocator:
-Non filtering selectors (the early return).
-Non marking selectors (at the moment: only querySelector API).

Unfortunately, generateElementIsNthChild() makes function call, which forces us to do this manual allocation
of the parentElement register. Long term, I want RegisterAllocator and FunctionCall to have a special type for that.

Test: fast/selectors/several-nth-child.html

* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):

LayoutTests: 
* fast/selectors/several-nth-child-expected.txt: Added.
* fast/selectors/several-nth-child.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167921 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Simplify tryCacheGetById
https://bugs.webkit.org/show_bug.cgi?id=132314

Reviewed by Oliver Hunt and Filip Pizlo.

This is neutral across all benchmarks we track, although it looks like a wee 0.5% progression on sunspider.

* jit/Repatch.cpp:
(JSC::tryCacheGetByID): If we fail to cache on self, we just repatch to call tryBuildGetByIDList next time.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167922 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<rdar://problem/16750708> REGRESSION (r159358): Crash in InjectedBundleHitTestResult::frame
https://bugs.webkit.org/show_bug.cgi?id=132318

Reviewed by Andy Estes.

* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction): Fixed a typo: set
the source frame, not the destination frame.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Changed to get the
frame for the action not from a hit test result, because some link activation actions are
not mouse events, but rather from the event’s target.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167923 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK][WK2] Avoid Vector copies in WebViewBaseInputMethodFilter::setPreedit()
https://bugs.webkit.org/show_bug.cgi?id=132323

Reviewed by Carlos Garcia Campos.

* UIProcess/API/gtk/WebViewBaseInputMethodFilter.cpp:
(WebKit::WebViewBaseInputMethodFilter::setPreedit): Inline the Vector object construction into
the WebPageProxy::setComposition() call to avoid extra Vector copies and moves.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167924 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed GTK gardening.

* platform/gtk/TestExpectations: Flagged some tests.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167925 268f45cc-cd09-0410-ab3c-d52691b4dbfc
check-webkit-style should understand --git-index
https://bugs.webkit.org/show_bug.cgi?id=125364

Patch by Jozsef Berta <jberta.u-szeged@partner.samsung.com> on 2014-04-29
Reviewed by Csaba Osztrogonác.

* Scripts/webkitpy/common/checkout/scm/git.py:
(Git.create_patch): The command now supports the --cached option.
* Scripts/webkitpy/style/main.py:
(CheckWebKitStyle.main): Passing the --git-index option.
* Scripts/webkitpy/style/optparser.py:
(CommandOptionValues.__init__): The git-index option is switched off by default.
(CommandOptionValues.__eq__): Equality check for the new option.
(ArgumentParser._create_option_parser):Adding the --git-index option
(ArgumentParser.parse):
* Scripts/webkitpy/style/optparser_unittest.py: New tests for the --git-index option
(CommandOptionValuesTest.test_init):
(CommandOptionValuesTest.test_eq):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167926 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed EFL gardening.

Removed remaining editing/pasteboard which are already skipped.

* platform/efl/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167927 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Store the containing region map inside the flow thread
https://bugs.webkit.org/show_bug.cgi?id=131647

Reviewed by Mihnea Ovidenie.

Source/WebCore:
The patch moves the containing region map inside the flow thread where
it can be better handled in case the region chain changes and the map
needs to be cleared.

As a result of this move we are able to also cleanup the lines region
information of a block flow when it is removed from the tree.

Test: fast/regions/inline-strike-through.html

* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::InlineFlowBox):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::removeFlowChildInfo):
(WebCore::RenderFlowThread::invalidateRegions):
(WebCore::RenderFlowThread::removeLineRegionInfo):
(WebCore::RenderFlowThread::checkLinesConsistency):
(WebCore::RenderFlowThread::containingRegionMap):
* rendering/RenderFlowThread.h:
* rendering/RootInlineBox.cpp:
(WebCore::containingRegionMap):
(WebCore::RootInlineBox::~RootInlineBox):
(WebCore::RootInlineBox::paint):
(WebCore::RootInlineBox::containingRegion):
(WebCore::RootInlineBox::clearContainingRegion):
(WebCore::RootInlineBox::setContainingRegion):

LayoutTests:
Add a test that verifies the containing region map is properly cleared
when the region chain changes.

* fast/regions/inline-strike-through-expected.txt: Added.
* fast/regions/inline-strike-through.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167928 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LLINT loadisFromInstruction doesn't need special case for big endians
https://bugs.webkit.org/show_bug.cgi?id=132330

Patch by Tomas Popela <tpopela@redhat.com> on 2014-04-29
Reviewed by Mark Lam.

The change introduced in r167076 was wrong. We should not apply the offset
adjustment on loadisFromInstruction usage as the instruction
(UnlinkedInstruction) is declared as an union (i.e. with the int32_t
operand variable). The offset of the other union members will be the
same as the offset of the first one, that is 0. The behavior here is the
same on little and big endian architectures. Thus we don't need
special case for big endians.

* llint/LowLevelInterpreter.asm:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167929 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Regions] Fix getClientRects() for content nodes
https://bugs.webkit.org/show_bug.cgi?id=117407

Reviewed by David Hyatt.

Source/WebCore:
This patch modifies getClientRects() to return a list of fragments
for a fragmented box instead of a single rectangle positioned inside
the region where the box center would appear.

The approach is to split the border box of the element in regions using
the layout positioning. Then each fragment is mapped to the view coordinates
and the result added to the list of rectangles. To preserve the originating
region when mapping the fragment through the ancestor tree I've introduced
the concept of a current region. The current region is stored inside a
CurrentRenderRegionMaintainer object, created whenever an algorithm needing
it needs to run. When the maintainer is destroyed, the cleanup is made
automatically. The RenderFlowThread holds a pointer to this structure for
easy access.

Tests: fast/regions/cssom/client-rects-fixed-content.html
       fast/regions/cssom/client-rects-forced-breaks.html
       fast/regions/cssom/client-rects-inline-complex.html
       fast/regions/cssom/client-rects-inline.html
       fast/regions/cssom/client-rects-nested-regions.html
       fast/regions/cssom/client-rects-positioned.html
       fast/regions/cssom/client-rects-relative-position.html
       fast/regions/cssom/client-rects-simple-block.html
       fast/regions/cssom/client-rects-transforms.html
       fast/regions/cssom/client-rects-unsplittable-float.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::absoluteQuads): Split the box in fragments.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::absoluteQuads): Split the box in fragments.
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::RenderFlowThread):
(WebCore::RenderFlowThread::mapFromFlowToRegion):
(WebCore::RenderFlowThread::mapLocalToContainer):
(WebCore::RenderFlowThread::currentRegion):
* rendering/RenderFlowThread.h:
* rendering/RenderNamedFlowFragment.cpp:
(WebCore::RenderNamedFlowFragment::absoluteQuadsForBoxInRegion): Get
the fragments for this box in the region.
* rendering/RenderNamedFlowFragment.h:
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::absoluteQuadsForBox): Virtual function
that can be used to implement fragments to client rects mapping.
* rendering/RenderNamedFlowThread.h:
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::rectFlowPortionForBox): Small change to correctly
map empty rectangles to containers.
(WebCore::CurrentRenderRegionMaintainer::CurrentRenderRegionMaintainer):
(WebCore::CurrentRenderRegionMaintainer::~CurrentRenderRegionMaintainer):
* rendering/RenderRegion.h:
(WebCore::RenderRegion::absoluteQuadsForBoxInRegion):
(WebCore::CurrentRenderRegionMaintainer::region):

LayoutTests:
Tests verifying getClientRects works correctly in different situations.

* fast/regions/cssom/client-rects-fixed-content-expected.txt: Added.
* fast/regions/cssom/client-rects-fixed-content.html: Added.
* fast/regions/cssom/client-rects-forced-breaks-expected.txt: Added.
* fast/regions/cssom/client-rects-forced-breaks.html: Added.
* fast/regions/cssom/client-rects-inline-complex-expected.txt: Added.
* fast/regions/cssom/client-rects-inline-complex.html: Added.
* fast/regions/cssom/client-rects-inline-expected.txt: Added.
* fast/regions/cssom/client-rects-inline.html: Added.
* fast/regions/cssom/client-rects-nested-regions-expected.txt: Added.
* fast/regions/cssom/client-rects-nested-regions.html: Added.
* fast/regions/cssom/client-rects-positioned-expected.txt: Added.
* fast/regions/cssom/client-rects-positioned.html: Added.
* fast/regions/cssom/client-rects-relative-position-expected.txt: Added.
* fast/regions/cssom/client-rects-relative-position.html: Added.
* fast/regions/cssom/client-rects-simple-block-expected.txt: Added.
* fast/regions/cssom/client-rects-simple-block.html: Added.
* fast/regions/cssom/client-rects-transforms-expected.txt: Added.
* fast/regions/cssom/client-rects-transforms.html: Added.
* fast/regions/cssom/client-rects-unsplittable-float-expected.txt: Added.
* fast/regions/cssom/client-rects-unsplittable-float.html: Added.
* fast/regions/resources/helper.js:
(testClientRects): Function that compares the actual client rects for an
element to a list of expected client rects.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167930 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Shapes] shape-outside polygon fails when first vertex is 0,0
https://bugs.webkit.org/show_bug.cgi?id=132132

Reviewed by Bem Jones-Bey.

Source/WebCore:
ShapeInterval now distinguishes between x1==x2 - isEmpty() and x1,x2 haven't been
set yet - isUndefined(). Removed the ShapeInterval setX1() and setX2() methods, since
they're no longer used.

The polygon algorithm for computing excluded intervals now ignores horizontal
edges. It also ignores edges whose lower vertex matches the top of the line, if
the edge's Y direction is upwards (away from the top of the line). The rationale
for this was explained here:
http://hansmuller-webkit.blogspot.com/2012/11/revised-horizontal-box-algorithm.html

Test: fast/shapes/shape-outside-floats/shape-outside-polygon-zero-vertex.html

* rendering/shapes/PolygonShape.cpp:
(WebCore::OffsetPolygonEdge::clippedEdgeXRange):
(WebCore::PolygonShape::getExcludedIntervals):
* rendering/shapes/ShapeInterval.h:
(WebCore::ShapeInterval::ShapeInterval):
(WebCore::ShapeInterval::isUndefined):
(WebCore::ShapeInterval::x1):
(WebCore::ShapeInterval::x2):
(WebCore::ShapeInterval::width):
(WebCore::ShapeInterval::isEmpty):
(WebCore::ShapeInterval::setX1):
(WebCore::ShapeInterval::setX2):
(WebCore::ShapeInterval::overlaps):
(WebCore::ShapeInterval::contains):
(WebCore::ShapeInterval::unite):

LayoutTests:
* fast/shapes/shape-outside-floats/shape-outside-polygon-zero-vertex-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-polygon-zero-vertex.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167931 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Generate Eclipse project + ninja build for GTK+ if Eclipse in available in the PATH
https://bugs.webkit.org/show_bug.cgi?id=132190

Patch by Enrique Ocaña González <eocanha@igalia.com> on 2014-04-29
Reviewed by Gustavo Noronha Silva.

* Scripts/webkitdirs.pm:
(canUseEclipse): Test if Eclipse is in the path. This is the same method used to test
    if ninja is in the path.
(generateBuildSystemFromCMakeProject): Use the eclipse generator if possible, fallback
    to the previous ninja generator if not.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167932 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: SpeechSynthesisUtterance cannot addEventListener
https://bugs.webkit.org/show_bug.cgi?id=132321

Reviewed by Mario Sanchez Prada.


Source/WebCore: 
Modified an existing test (speech-synthesis-speak.html) to use addEventTarget.

* Modules/speech/SpeechSynthesisUtterance.idl:

LayoutTests: 
* platform/mac/fast/speechsynthesis/speech-synthesis-speak.html:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167933 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: Row span info is wrong for table cells when a footer section is placed above a body section
https://bugs.webkit.org/show_bug.cgi?id=131832

Reviewed by Mario Sanchez Prada.


Source/WebCore: 
If a <footer> section is placed before the body, it renders AX row information and order incorrectly.
This also affects ARIA tables because they add their children by looking at renderer children, instead
interrogating the RenderTable directly.

Test: accessibility/table-with-footer-section-above-body.html

* accessibility/AccessibilityARIAGrid.cpp:
(WebCore::AccessibilityARIAGrid::addTableCellChild):
(WebCore::AccessibilityARIAGrid::addChildren):
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::addChildren):
(WebCore::AccessibilityTable::addChildrenFromSection):
* accessibility/AccessibilityTable.h:
* accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::rowIndexRange):
(WebCore::AccessibilityTableCell::columnIndexRange):

LayoutTests: 
* accessibility/table-with-footer-section-above-body-expected.txt: Added.
* accessibility/table-with-footer-section-above-body.html: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167934 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Shapes] complex calc values for shape-margin return null for computed style
https://bugs.webkit.org/show_bug.cgi?id=132313

Reviewed by Bem Jones-Bey.

Source/WebCore:
We need to pass RenderStyle* to the cssValuePool when parsing
shape-margin in order to use calc() as a parameter.

I've added the new test case to parsing-shape-margin.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):

LayoutTests:
* fast/shapes/parsing/parsing-shape-margin.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167935 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Shapes] complex calc args for inset round vanish
https://bugs.webkit.org/show_bug.cgi?id=132293

Reviewed by Bem Jones-Bey.

Source/WebCore:
In order to use calc in the rounded parameters for inset shapes, we need
to pass RenderStyle for the value creation as we did for the width arguments.
Without taking RenderStyle into account, we hit an assert not reache
in CSSPrimitiveValue::init in the debug builds.

I've added new parsing test.

* css/BasicShapeFunctions.cpp:
(WebCore::valueForBasicShape):
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::init):
* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::create):
* css/CSSValuePool.h:
(WebCore::CSSValuePool::createValue):

LayoutTests:
* fast/shapes/parsing/parsing-shape-outside-expected.txt:
* fast/shapes/parsing/parsing-test-utils.js:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167936 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Wrap CSS length conversion arguments in an object
https://bugs.webkit.org/show_bug.cgi?id=131552

Reviewed by Andreas Kling.

This patch introduces a class CSSToLengthConversionData to wrap the
data required to convert CSS lengths to Lengths. This simplifies the
plumbing that goes on whenever we need to resolve CSS lengths and
makes it easier to update the arguments needed for resolving these (in
particular adding a RenderView for resolving viewport units at style
recalc time; removing the computingFontSize bool also appears
possible).

Note that the zoom argument, which was previously a float in some
places and a double in others is now a float.

This is a port of a Blink patch by timloh@chromium.org.

No new tests, no behavior change.

* CMakeLists.txt:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.xcodeproj/project.pbxproj:
* css/BasicShapeFunctions.cpp:
(WebCore::convertToLength):
(WebCore::convertToLengthSize):
(WebCore::convertToCenterCoordinate):
(WebCore::cssValueToBasicShapeRadius):
(WebCore::basicShapeForValue):
* css/BasicShapeFunctions.h:
* css/CSSCalculationValue.cpp:
(WebCore::CSSCalcValue::computeLengthPx):
(WebCore::determineCategory):
* css/CSSCalculationValue.h:
(WebCore::CSSCalcValue::createCalculationValue):
* css/CSSGradientValue.cpp:
(WebCore::CSSGradientValue::addStops):
(WebCore::positionFromValue):
(WebCore::CSSGradientValue::computeEndPoint):
(WebCore::CSSLinearGradientValue::createGradient):
(WebCore::CSSRadialGradientValue::resolveRadius):
(WebCore::CSSRadialGradientValue::createGradient):
* css/CSSGradientValue.h:
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::computeLength):
(WebCore::CSSPrimitiveValue::computeLengthDouble):
* css/CSSPrimitiveValue.h:
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::convertToLength):
* css/CSSToLengthConversionData.cpp: Added.
(WebCore::CSSToLengthConversionData::zoom):
* css/CSSToLengthConversionData.h: Added.
(WebCore::CSSToLengthConversionData::CSSToLengthConversionData):
(WebCore::CSSToLengthConversionData::style):
(WebCore::CSSToLengthConversionData::rootStyle):
(WebCore::CSSToLengthConversionData::computingFontSize):
(WebCore::CSSToLengthConversionData::copyWithAdjustedZoom):
* css/CSSToStyleMap.cpp:
(WebCore::CSSToStyleMap::CSSToStyleMap):
(WebCore::CSSToStyleMap::mapFillSize):
(WebCore::CSSToStyleMap::mapFillXPosition):
(WebCore::CSSToStyleMap::mapFillYPosition):
(WebCore::CSSToStyleMap::mapNinePieceImageQuad):
* css/CSSToStyleMap.h:
(WebCore::CSSToStyleMap::CSSToStyleMap): Deleted.
* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyAuto::applyValue):
(WebCore::ApplyPropertyClip::convertToLength):
(WebCore::ApplyPropertyLength::applyValue):
(WebCore::ApplyPropertyBorderRadius::applyValue):
(WebCore::ApplyPropertyComputeLength::applyValue):
(WebCore::ApplyPropertyFontSize::applyValue):
(WebCore::csstoLengthConversionDataWithTextZoomFactor):
(WebCore::ApplyPropertyMarqueeIncrement::applyValue):
(WebCore::ApplyPropertyLineHeight::applyValue):
(WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue):
(WebCore::ApplyPropertyWordSpacing::applyValue):
(WebCore::ApplyPropertyPageSize::mmLength):
(WebCore::ApplyPropertyPageSize::inchLength):
(WebCore::ApplyPropertyPageSize::applyValue):
(WebCore::ApplyPropertyVerticalAlign::applyValue):
(WebCore::ApplyPropertyClipPath::applyValue):
(WebCore::ApplyPropertyShape::applyValue):
(WebCore::ApplyPropertyTextIndent::applyValue):
* css/MediaQueryEvaluator.cpp:
(WebCore::colorMediaFeatureEval):
(WebCore::color_indexMediaFeatureEval):
(WebCore::monochromeMediaFeatureEval):
(WebCore::orientationMediaFeatureEval):
(WebCore::aspect_ratioMediaFeatureEval):
(WebCore::device_aspect_ratioMediaFeatureEval):
(WebCore::device_pixel_ratioMediaFeatureEval):
(WebCore::resolutionMediaFeatureEval):
(WebCore::gridMediaFeatureEval):
(WebCore::computeLength):
(WebCore::device_heightMediaFeatureEval):
(WebCore::device_widthMediaFeatureEval):
(WebCore::heightMediaFeatureEval):
(WebCore::widthMediaFeatureEval):
(WebCore::min_colorMediaFeatureEval):
(WebCore::max_colorMediaFeatureEval):
(WebCore::min_color_indexMediaFeatureEval):
(WebCore::max_color_indexMediaFeatureEval):
(WebCore::min_monochromeMediaFeatureEval):
(WebCore::max_monochromeMediaFeatureEval):
(WebCore::min_aspect_ratioMediaFeatureEval):
(WebCore::max_aspect_ratioMediaFeatureEval):
(WebCore::min_device_aspect_ratioMediaFeatureEval):
(WebCore::max_device_aspect_ratioMediaFeatureEval):
(WebCore::min_device_pixel_ratioMediaFeatureEval):
(WebCore::max_device_pixel_ratioMediaFeatureEval):
(WebCore::min_heightMediaFeatureEval):
(WebCore::max_heightMediaFeatureEval):
(WebCore::min_widthMediaFeatureEval):
(WebCore::max_widthMediaFeatureEval):
(WebCore::min_device_heightMediaFeatureEval):
(WebCore::max_device_heightMediaFeatureEval):
(WebCore::min_device_widthMediaFeatureEval):
(WebCore::max_device_widthMediaFeatureEval):
(WebCore::min_resolutionMediaFeatureEval):
(WebCore::max_resolutionMediaFeatureEval):
(WebCore::animationMediaFeatureEval):
(WebCore::transitionMediaFeatureEval):
(WebCore::transform_2dMediaFeatureEval):
(WebCore::transform_3dMediaFeatureEval):
(WebCore::view_modeMediaFeatureEval):
(WebCore::video_playable_inlineMediaFeatureEval):
(WebCore::hoverMediaFeatureEval):
(WebCore::pointerMediaFeatureEval):
(WebCore::MediaQueryEvaluator::eval):
* css/SVGCSSStyleSelector.cpp:
(WebCore::StyleResolver::applySVGProperty):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::State::clear):
(WebCore::StyleResolver::State::initForStyleResolve):
(WebCore::StyleResolver::convertToIntLength):
(WebCore::StyleResolver::convertToFloatLength):
(WebCore::createGridTrackBreadth):
(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::createFilterOperations):
* css/StyleResolver.h:
(WebCore::StyleResolver::State::setStyle):
(WebCore::StyleResolver::State::cssToLengthConversionData):
* css/TransformFunctions.cpp:
(WebCore::convertToFloatLength):
(WebCore::transformsForValue):
* css/TransformFunctions.h:
* css/WebKitCSSMatrix.cpp:
(WebCore::WebKitCSSMatrix::setMatrixValue):
* rendering/RenderThemeIOS.mm:
(WebCore::applyCommonButtonPaddingToStyle):
(WebCore::RenderThemeIOS::adjustButtonStyle):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167937 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Shapes] off-by-one error in Shape::createRasterShape()
https://bugs.webkit.org/show_bug.cgi?id=132154

Reviewed by Bem Jones-Bey.

Source/WebCore:
This is a port of a patch for a bug that was reported by and fixed in Blink by
David Vest: https://codereview.chromium.org/237123002/.  Shape::createRasterShape()
now consistently reports "end-point exclusive" intervals. Before the patch
an entire row of pixels was above the shape-image-threshold, the interval's end
index was reported as image.width. Now it's image.width + 1, which is consistent
with the way the end index is reported if the last above threshold pixel is within
an image row.

Two existing tests were revised to account for this change.

* rendering/shapes/RasterShape.cpp:
(WebCore::RasterShape::getExcludedIntervals):
* rendering/shapes/Shape.cpp:
(WebCore::Shape::createRasterShape):

LayoutTests:
Change two tests that had incorrect X values to account for the off-by-one
in Shape::createRasterShape().

* fast/shapes/shape-outside-floats/shape-outside-insert-svg-shape.html:
* fast/shapes/shape-outside-floats/shape-outside-linear-gradient-expected.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167938 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION (r167751): svn-create-patch is very slow
https://bugs.webkit.org/show_bug.cgi?id=132300

Reviewed by Alexey Proskuryakov.

* Scripts/svn-create-patch:
Change default behavior of svn-create-patch to no longer run the style checker. It can still be run
by calling `svn-create-patch --style`.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167939 268f45cc-cd09-0410-ab3c-d52691b4dbfc