Fix ARM NEON build following <http://trac.webkit.org/changeset/164058>
(https://bugs.webkit.org/show_bug.cgi?id=128767)

I inadvertently didn't include header NEONHelpers.h, which defines WebCore::loadRGBA8AsFloat().

* platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164060 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[css3-text] Support -webkit-text-decoration-skip: objects
https://bugs.webkit.org/show_bug.cgi?id=128723

Patch by Yuki Sekiguchi <yuki.sekiguchi@access-company.com> on 2014-02-13
Reviewed by Dean Jackson.

Source/WebCore:

Implemented 'objects' value of text-decoration-skip.
http://www.w3.org/TR/2013/CR-css-text-decor-3-20130801/#text-decoration-skip

This is initial value and same behavior without
ENABLE_CSS3_TEXT_DECORATION_SKIP_INK flag. Threfore, this patch only
added parser code and constant for 'objects'.

Changed the initial value of text-decoration-skip.

The current implementation parses 'none', but the rendering code is
not match the spec, so this patch added FIXME to the rendering code.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::renderTextDecorationSkipFlagsToCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseTextDecorationSkip):
* css/CSSValueKeywords.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::valueToDecorationSkip):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
* rendering/style/RenderStyle.h:
* rendering/style/RenderStyleConstants.h:

LayoutTests:

Added 'objects' value to the current test case.
Added getComputedStyle() test to test renderTextDecorationSkipFlagsToCSSValue() code.

* fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip-expected.txt:
* fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164061 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IDB: Three tests crash the DatabaseProcess under ~KeyedDecoder
https://bugs.webkit.org/show_bug.cgi?id=128763

Reviewed by Anders Carlsson.

Source/WebCore:

No new tests (Covered by three existing tests)

* platform/KeyedCoding.h:
(WebCore::KeyedEncoder::encodeObjects): If the array is empty we still have to begin() and end() it.

LayoutTests:

* platform/mac-wk2/TestExpectations: One test passes, one passes with expectation changes,
  and the third is now a text failure.

* storage/indexeddb/key-type-array-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164062 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add some RELEASE_ASSERTs to catch JSLock bugs earlier
https://bugs.webkit.org/show_bug.cgi?id=128762

Reviewed by Mark Lam.

* interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):
* runtime/JSLock.cpp:
(JSC::JSLock::DropAllLocks::DropAllLocks):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164063 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS] Disable HAVE_ARM_NEON_INTRINSICS

For now, disable HAVE_ARM_NEON_INTRINSICS when building for iOS. We want
to audit the applicable code before we enable this define.

* wtf/Platform.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164064 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Shapes] Add performance test for raster shape
https://bugs.webkit.org/show_bug.cgi?id=128746

Reviewed by Ryosuke Niwa.

This patch adds performance testing for image valued shape-outside.
The test is skipped by default for now.

* Layout/Shapes/ShapeOutsideRaster.html: Added.
* Layout/Shapes/resources/shape.gif: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164065 268f45cc-cd09-0410-ab3c-d52691b4dbfc
GetByIdStatus shouldn't call takesSlowPathInDFGForImpureProperty() for self accesses, and calling that method should never assert about anything
https://bugs.webkit.org/show_bug.cgi?id=128772

Reviewed by Mark Hahnenberg.

* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeFromLLInt):
(JSC::GetByIdStatus::computeForStubInfo):
* runtime/Structure.h:
(JSC::Structure::takesSlowPathInDFGForImpureProperty):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164066 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add -[WKWebView goToBackForwardListItem:]
https://bugs.webkit.org/show_bug.cgi?id=128773

Reviewed by Andreas Kling.

* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView goToBackForwardListItem:]):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164067 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix the ARM build when HAVE_ARM_NEON_INTRINSICS is enabled

Add !HAVE(ARM_NEON_INTRINSICS)-guard around file-level inline function arithmeticSoftware to
avoid an unused function compiler warning when building with ARM Neon intrinsics.

* platform/graphics/filters/FEComposite.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164068 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Change FTL stack check to use VM's stackLimit
https://bugs.webkit.org/show_bug.cgi?id=128561

Reviewed by Filip Pizlo.

Changes FTL function entry to check the call frame register against the FTL
specific stack limit (VM::m_ftlStackLimit) and throw an exception if the
stack limit has been exceeded.  Updated the exception handling code to have
a second entry that will unroll the current frame to the caller, since that
is where the exception should be processed.

* ftl/FTLCompile.cpp:
(JSC::FTL::fixFunctionBasedOnStackMaps):
* ftl/FTLIntrinsicRepository.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::lower):
* ftl/FTLState.h:
* runtime/VM.h:
(JSC::VM::addressOfFTLStackLimit):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164069 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed build fix.

Fixed typo.

* dfg/DFGIntegerCheckCombiningPhase.cpp:
(JSC::DFG::IntegerCheckCombiningPhase::run):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164070 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, roll out http://trac.webkit.org/changeset/164066.
        
It broke tests and it was just plain wrong.

* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeFromLLInt):
(JSC::GetByIdStatus::computeForStubInfo):
* runtime/Structure.h:
(JSC::Structure::takesSlowPathInDFGForImpureProperty):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164071 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix the iOS build after <http://trac.webkit.org/changeset/164064

* wtf/Platform.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164072 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Create some latched scrolling tests.
https://bugs.webkit.org/show_bug.cgi?id=127606
<rdar://problem/15911348>

Reviewed by Simon Fraser.

Tools: 

* DumpRenderTree/mac/EventSendingController.mm:
(+[EventSendingController isSelectorExcludedFromWebScript:]): Update to recognize
the new "mouseScrollByX:andY:withWheel:andMomentumPhases:" selector.
(+[EventSendingController webScriptNameForSelector:]): Ditto.
(-[EventSendingController mouseScrollByX:andY:withWheel:andMomentumPhases:]): Implement
the new wheel event sender.
* WebKitTestRunner/EventSenderProxy.h:
* WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl: Add declaration
of new mouseScrollByWithWheelAndMomentumPhases method.
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::EventSendingController::mouseScrollByWithWheelAndMomentumPhases): Added
* WebKitTestRunner/InjectedBundle/EventSendingController.h:
* WebKitTestRunner/InjectedBundle/ios/EventSenderProxyIOS.mm:
(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): Add stub for iOS.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::didReceiveMessageFromInjectedBundle): Handle the new
mouseScrollByWithWheelAndMomentumPhases message.
(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle): Handle the
new mouseScrollByWithWheelAndMomentumPhases.
* WebKitTestRunner/efl/EventSenderProxyEfl.cpp:
(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): Provide stub that
relays to the standard mouse wheel handler.
* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): Ditto.
* WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): Provide implementation
of mouse wheel gesture method.

LayoutTests: 

Add a series of tests to cover desired behavior with wheel events (including momentum).
This behavior is specific to the Mac platform, so is limited to the platform/mac and
platform/mac-wk2 directories.

* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler.html: Added.
* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div.html: Added.
* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler.html: Added.
* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe.html: Added.
* platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler.html: Added.
* platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe.html: Added.
* platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler.html: Added.
* platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe.html: Added.
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler.html: Added.
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe.html: Added.
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler.html: Added.
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select.html: Added.
* platform/mac/fast/scrolling: Added.
* platform/mac/fast/scrolling/scroll-div-latched-div-expected.txt: Added.
* platform/mac/fast/scrolling/scroll-div-latched-div.html: Added.
* platform/mac/fast/scrolling/scroll-div-latched-mainframe-expected.txt: Added.
* platform/mac/fast/scrolling/scroll-div-latched-mainframe.html: Added.
* platform/mac/fast/scrolling/scroll-iframe-latched-iframe-expected.txt: Added.
* platform/mac/fast/scrolling/scroll-iframe-latched-iframe.html: Added.
* platform/mac/fast/scrolling/scroll-iframe-latched-mainframe-expected.txt: Added.
* platform/mac/fast/scrolling/scroll-iframe-latched-mainframe.html: Added.
* platform/mac/fast/scrolling/scroll-select-latched-mainframe-expected.txt: Added.
* platform/mac/fast/scrolling/scroll-select-latched-mainframe.html: Added.
* platform/mac/fast/scrolling/scroll-select-latched-select-expected.txt: Added.
* platform/mac/fast/scrolling/scroll-select-latched-select.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164073 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Added GetMyArgumentsLength to FTL
https://bugs.webkit.org/show_bug.cgi?id=128758

Patch by Matthew Mirman <mmirman@apple.com> on 2014-02-13
Reviewed by Filip Pizlo.

* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength):
* tests/stress/ftl-getmyargumentslength.js: Added.
(foo):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164074 268f45cc-cd09-0410-ab3c-d52691b4dbfc
text-decoration-skip: ink skips randomly when using SVG fonts
https://bugs.webkit.org/show_bug.cgi?id=128709

Reviewed by Simon Fraser.

Source/WebCore:

This patch simply disables skipping underlines being used with SVG fonts.
It's a stopgap until we can support skipping properly with SVG fonts.

Test: svg/custom/svg-fonts-skip-ink.html

* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::ctFont):
* platform/graphics/mac/FontMac.mm:
(WebCore::Font::dashesForIntersectionsWithRect):

LayoutTests:

This text checks that some text without descenders in an SVG font renders the same with and
without text-decoration-skip: ink.

* svg/custom/svg-fonts-skip-ink-expected.html: Added.
* svg/custom/svg-fonts-skip-ink.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164075 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK][CMake] Generate GObject DOM bindings .symbols files
https://bugs.webkit.org/show_bug.cgi?id=126210

Reviewed by Martin Robinson.

.:

* Source/PlatformGTK.cmake: add checking DOM bindings API as a dependency
for documentation generation.

Source/WebCore:

No new tests. Build change only.

* CMakeLists.txt: list Quota module files and IDLs even if the feature
is disabled, for GTK, since we rely on that for our DOM bindings.
* PlatformGTK.cmake: add a new target to check for DOM symbols API by
running the new python script.
* bindings/gobject/GNUmakefile.am: call the new python script instead
of using a custom rule.

Tools:

* gtk/check-gdom-symbols: Added. Checks symbols compatibility.
(should_update_symbols_file):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164076 268f45cc-cd09-0410-ab3c-d52691b4dbfc
The JSContainerConvertor and ObjcContainerConvertor need to protect JSValueRefs.
<https://webkit.org/b/128764>

Reviewed by Mark Hahnenberg.

Added a vector of Strong<Unknown> references in the 2 containers, and append
the newly created JSValues to those vectors. This will keep all those JS objects
alive for the duration of the conversion.

* API/JSValue.mm:
(JSContainerConvertor::add):
(ObjcContainerConvertor::add):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164077 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Shapes] Add performance test for complex polygon with shape-margin
https://bugs.webkit.org/show_bug.cgi?id=128769

Reviewed by Ryosuke Niwa.

This patch modifies the logic of createShapeOutsideTest to accept multiple
CSS properties from the test. The patch adds performance test for complex
polygon shape (self intersecting at multiple places) case, moreover we
apply shape-margin on the polygon also.

* Layout/Shapes/ShapeOutsideContentBox.html:
* Layout/Shapes/ShapeOutsideInset.html:
* Layout/Shapes/ShapeOutsidePolygonWithMargin.html: Added.
* Layout/Shapes/ShapeOutsideRaster.html:
* Layout/Shapes/ShapeOutsideSimplePolygon.html:
* Layout/Shapes/resources/shapes.js:


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