Fix CPU(ARM_TRADITIONAL) build after r159039.
https://bugs.webkit.org/show_bug.cgi?id=124149

Reviewed by Geoffrey Garen.

* assembler/ARMAssembler.h:
(JSC::ARMAssembler::firstRegister):
(JSC::ARMAssembler::lastRegister):
(JSC::ARMAssembler::firstFPRegister):
(JSC::ARMAssembler::lastFPRegister):
* assembler/MacroAssemblerARM.h:
* jit/FPRInfo.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159055 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Regions] Selection focusNode set to the "region" block, instead of the "source" block
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
Remove block based APIs from the WebKit2 C API
https://bugs.webkit.org/show_bug.cgi?id=124157

Reviewed by Sam Weinig.

Source/WebKit2:

Remove most of the block based C APIs from WebKit2. We want to discourage people from using
them since any C API "objects" captured by blocks won't be implicitly retained which
can lead to dangling pointer bugs.

* UIProcess/API/C/WKDatabaseManager.cpp:
* UIProcess/API/C/WKDatabaseManager.h:
* UIProcess/API/C/WKFrame.cpp:
* UIProcess/API/C/WKFrame.h:
* UIProcess/API/C/WKPage.cpp:
* UIProcess/API/C/WKPage.h:
* UIProcess/API/C/WKPagePrivate.h:

Tools:

Update for WK2 changes.

* MiniBrowser/mac/WK2BrowserWindowController.m:
(dumpSource):
(-[WK2BrowserWindowController dumpSourceToConsole:]):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159059 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add a testcase for a tiled layer inside an iframe
https://bugs.webkit.org/show_bug.cgi?id=124159

Reviewed by Tim Horton.

Add a test for a tiled compositing layer inside an iframe.

* compositing/tiling/resources/tiled-layer-tall.html: Added.
* compositing/tiling/tiled-in-iframe.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159060 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove the OperationsNotDeletable attribute from most of the WebIDL interfaces
https://bugs.webkit.org/show_bug.cgi?id=124151

Reviewed by Geoffrey Garen.

The OperationsNotDeletable attribute currently doesn't have any effect, but will soon enforce
non-configurability of operations on the interface that uses the attribute. Non-configurability
of operations is the default behavior at the moment, but will be changed to follow the WebIDL
specification which requires that the operations are configurable (i.e. -- in JSC terms -- deletable).
IE and Firefox already exhibit this behavior in the majority of cases, while Chrome and Opera don't.

The attribute remains in use on the Location interface to mimic the Unforgeable attribute which
also makes operations of an interface non-configurable. Unforgeable attribute will be used instead
when support for it will be added to the JSC bindings generator.

* Modules/battery/BatteryManager.idl:
* Modules/encryptedmedia/MediaKeySession.idl:
* Modules/encryptedmedia/MediaKeys.idl:
* Modules/gamepad/GamepadList.idl:
* Modules/geolocation/Geolocation.idl:
* Modules/indexeddb/IDBCursor.idl:
* Modules/indexeddb/IDBDatabase.idl:
* Modules/indexeddb/IDBFactory.idl:
* Modules/indexeddb/IDBIndex.idl:
* Modules/indexeddb/IDBKeyRange.idl:
* Modules/indexeddb/IDBObjectStore.idl:
* Modules/indexeddb/IDBTransaction.idl:
* Modules/indexeddb/IDBVersionChangeEvent.idl:
* Modules/mediacontrols/MediaControlsHost.idl:
* Modules/mediasource/MediaSource.idl:
* Modules/mediasource/SourceBuffer.idl:
* Modules/mediasource/SourceBufferList.idl:
* Modules/mediastream/MediaStream.idl:
* Modules/mediastream/MediaStreamTrack.idl:
* Modules/mediastream/RTCDTMFSender.idl:
* Modules/mediastream/RTCDataChannel.idl:
* Modules/mediastream/RTCPeerConnection.idl:
* Modules/mediastream/RTCStatsReport.idl:
* Modules/mediastream/RTCStatsResponse.idl:
* Modules/networkinfo/NetworkInfoConnection.idl:
* Modules/notifications/Notification.idl:
* Modules/notifications/NotificationCenter.idl:
* Modules/proximity/DeviceProximityEvent.idl:
* Modules/quota/StorageInfo.idl:
* Modules/quota/StorageQuota.idl:
* Modules/speech/SpeechGrammarList.idl:
* Modules/speech/SpeechRecognition.idl:
* Modules/speech/SpeechRecognitionResult.idl:
* Modules/speech/SpeechRecognitionResultList.idl:
* Modules/speech/SpeechSynthesis.idl:
* Modules/webaudio/AnalyserNode.idl:
* Modules/webaudio/AudioBuffer.idl:
* Modules/webaudio/AudioBufferSourceNode.idl:
* Modules/webaudio/AudioContext.idl:
* Modules/webaudio/AudioListener.idl:
* Modules/webaudio/AudioNode.idl:
* Modules/webaudio/AudioParam.idl:
* Modules/webaudio/BiquadFilterNode.idl:
* Modules/webaudio/OscillatorNode.idl:
* Modules/webaudio/PannerNode.idl:
* Modules/webdatabase/Database.idl:
* Modules/webdatabase/DatabaseSync.idl:
* Modules/webdatabase/SQLResultSetRowList.idl:
* Modules/webdatabase/SQLTransaction.idl:
* Modules/webdatabase/SQLTransactionSync.idl:
* Modules/websockets/WebSocket.idl:
* crypto/CryptoKey.idl:
* crypto/SubtleCrypto.idl:
* css/CSSHostRule.idl:
* css/CSSMediaRule.idl:
* css/CSSPrimitiveValue.idl:
* css/CSSRuleList.idl:
* css/CSSStyleDeclaration.idl:
* css/CSSStyleSheet.idl:
* css/CSSSupportsRule.idl:
* css/CSSValueList.idl:
* css/DOMWindowCSS.idl:
* css/FontLoader.idl:
* css/MediaList.idl:
* css/MediaQueryList.idl:
* css/MediaQueryListListener.idl:
* css/StyleMedia.idl:
* css/StyleSheet.idl:
* css/StyleSheetList.idl:
* css/WebKitCSSFilterValue.idl:
* css/WebKitCSSKeyframesRule.idl:
* css/WebKitCSSMatrix.idl:
* css/WebKitCSSTransformValue.idl:
* dom/CharacterData.idl:
* dom/ChildNode.idl:
* dom/ClientRectList.idl:
* dom/Clipboard.idl:
* dom/CompositionEvent.idl:
* dom/CustomEvent.idl:
* dom/DOMCoreException.idl:
* dom/DOMImplementation.idl:
* dom/DOMNamedFlowCollection.idl:
* dom/DOMStringList.idl:
* dom/DOMStringMap.idl:
* dom/DataTransferItem.idl:
* dom/DataTransferItemList.idl:
* dom/DeviceMotionEvent.idl:
* dom/DeviceOrientationEvent.idl:
* dom/Document.idl:
* dom/DocumentFragment.idl:
* dom/DocumentType.idl:
* dom/Element.idl:
* dom/Event.idl:
* dom/EventException.idl:
* dom/EventListener.idl:
* dom/EventTarget.idl:
* dom/HashChangeEvent.idl:
* dom/KeyboardEvent.idl:
* dom/MessageEvent.idl:
* dom/MessagePort.idl:
* dom/MouseEvent.idl:
* dom/MutationEvent.idl:
* dom/MutationObserver.idl:
* dom/NamedNodeMap.idl:
* dom/Node.idl:
* dom/NodeFilter.idl:
* dom/NodeIterator.idl:
* dom/NodeList.idl:
* dom/Range.idl:
* dom/RangeException.idl:
* dom/ShadowRoot.idl:
* dom/Text.idl:
* dom/TextEvent.idl:
* dom/TouchEvent.idl:
* dom/TouchList.idl:
* dom/TreeWalker.idl:
* dom/UIEvent.idl:
* dom/WebKitNamedFlow.idl:
* dom/WheelEvent.idl:
* fileapi/Blob.idl:
* fileapi/FileException.idl:
* fileapi/FileList.idl:
* fileapi/FileReader.idl:
* fileapi/FileReaderSync.idl:
* html/DOMFormData.idl:
* html/DOMSettableTokenList.idl:
* html/DOMTokenList.idl:
* html/DOMURL.idl:
* html/HTMLAllCollection.idl:
* html/HTMLAnchorElement.idl:
* html/HTMLButtonElement.idl:
* html/HTMLCanvasElement.idl:
* html/HTMLCollection.idl:
* html/HTMLDocument.idl:
* html/HTMLElement.idl:
* html/HTMLEmbedElement.idl:
* html/HTMLFieldSetElement.idl:
* html/HTMLFormControlsCollection.idl:
* html/HTMLFormElement.idl:
* html/HTMLFrameElement.idl:
* html/HTMLIFrameElement.idl:
* html/HTMLInputElement.idl:
* html/HTMLKeygenElement.idl:
* html/HTMLMarqueeElement.idl:
* html/HTMLMediaElement.idl:
* html/HTMLObjectElement.idl:
* html/HTMLOptionsCollection.idl:
* html/HTMLOutputElement.idl:
* html/HTMLSelectElement.idl:
* html/HTMLTableElement.idl:
* html/HTMLTableRowElement.idl:
* html/HTMLTableSectionElement.idl:
* html/HTMLTextAreaElement.idl:
* html/HTMLVideoElement.idl:
* html/MediaController.idl:
* html/RadioNodeList.idl:
* html/TimeRanges.idl:
* html/canvas/CanvasGradient.idl:
* html/canvas/CanvasRenderingContext2D.idl:
* html/canvas/DOMPath.idl:
* html/canvas/EXTDrawBuffers.idl:
* html/canvas/OESVertexArrayObject.idl:
* html/canvas/WebGLDebugShaders.idl:
* html/canvas/WebGLLoseContext.idl:
* html/canvas/WebGLRenderingContext.idl:
* html/track/AudioTrackList.idl:
* html/track/TextTrack.idl:
* html/track/TextTrackCue.idl:
* html/track/TextTrackCueList.idl:
* html/track/TextTrackList.idl:
* html/track/TextTrackRegionList.idl:
* html/track/VideoTrackList.idl:
* loader/appcache/DOMApplicationCache.idl:
* page/Console.idl:
* page/Crypto.idl:
* page/DOMSecurityPolicy.idl:
* page/DOMSelection.idl:
* page/DOMWindow.idl:
* page/EventSource.idl:
* page/History.idl:
* page/Navigator.idl:
* page/Performance.idl:
* page/PerformanceEntryList.idl:
* page/SpeechInputResultList.idl:
* page/WindowBase64.idl:
* page/WindowTimers.idl:
* plugins/DOMMimeTypeArray.idl:
* plugins/DOMPlugin.idl:
* plugins/DOMPluginArray.idl:
* storage/Storage.idl:
* storage/StorageEvent.idl:
* svg/SVGAngle.idl:
* svg/SVGAnimationElement.idl:
* svg/SVGColor.idl:
* svg/SVGCursorElement.idl:
* svg/SVGDocument.idl:
* svg/SVGElement.idl:
* svg/SVGElementInstanceList.idl:
* svg/SVGException.idl:
* svg/SVGFEDropShadowElement.idl:
* svg/SVGFEGaussianBlurElement.idl:
* svg/SVGFEMorphologyElement.idl:
* svg/SVGFilterElement.idl:
* svg/SVGGraphicsElement.idl:
* svg/SVGLength.idl:
* svg/SVGLengthList.idl:
* svg/SVGMarkerElement.idl:
* svg/SVGMaskElement.idl:
* svg/SVGMatrix.idl:
* svg/SVGNumberList.idl:
* svg/SVGPaint.idl:
* svg/SVGPathElement.idl:
* svg/SVGPathSegList.idl:
* svg/SVGPatternElement.idl:
* svg/SVGPoint.idl:
* svg/SVGPointList.idl:
* svg/SVGSVGElement.idl:
* svg/SVGStringList.idl:
* svg/SVGTests.idl:
* svg/SVGTextContentElement.idl:
* svg/SVGTransform.idl:
* svg/SVGTransformList.idl:
* workers/DedicatedWorkerGlobalScope.idl:
* workers/Worker.idl:
* workers/WorkerGlobalScope.idl:
* workers/WorkerLocation.idl:
* xml/DOMParser.idl:
* xml/XMLHttpRequest.idl:
* xml/XMLHttpRequestException.idl:
* xml/XMLHttpRequestUpload.idl:
* xml/XMLSerializer.idl:
* xml/XPathEvaluator.idl:
* xml/XPathException.idl:
* xml/XPathExpression.idl:
* xml/XPathNSResolver.idl:
* xml/XPathResult.idl:
* xml/XSLTProcessor.idl:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159061 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix layout test

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159062 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ExtJS breaks with modern Array.prototype.values API due to use of with()
https://bugs.webkit.org/show_bug.cgi?id=123440

Reviewed by Beth Dakin.

Source/JavaScriptCore:

As with our attempt to make Arguments use the Array prototype, ExtJS has
a weird dependency on not adding new APIs to core types.  In this case
Array.prototype.values.  The fix is to remove it, and push for ES6 to drop
the API.

* runtime/ArrayPrototype.cpp:

LayoutTests:

Update tests for removal of Array.prototype.values, and add test to ensure that
it's gone.

* js/Object-getOwnPropertyNames-expected.txt:
* js/array-iterators-expected.txt:
* js/basic-for-of-expected.txt:
* js/script-tests/Object-getOwnPropertyNames.js:
* js/script-tests/array-iterators.js:
* js/script-tests/basic-for-of.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159063 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG Int52 boxing code may clobber the source without telling anyone
https://bugs.webkit.org/show_bug.cgi?id=124137

Source/JavaScriptCore: 

Reviewed by Mark Hahnenberg.

* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::boxInt52): This is called in places where source is expected to be unchanged. We never call this expecting super-amazing codegen. So, preserve the source's value the dumb way (by recovering it mathematically).
* jit/AssemblyHelpers.h: Document the invariant for boxInt52.
* jsc.cpp:
(GlobalObject::finishCreation): It's been super annoying that sometimes we say noInline() and sometimes we say neverInlineFunction(). The LayoutTests harnesses ensure that we have something called noInline(), but it's great to also ensure that the shell has it.

LayoutTests: 

Reviewed by Mark Hahnenberg.
        
Write the test as a JSRegress test because we currently need a couple
recompiles to get the bug. JSRegress tests are meant to be longer-running
stress tests and they are usually run with different compilation thresholds, so
that ensures that we will actually hit the relevant code path.

* js/regress/int52-spill-expected.txt: Added.
* js/regress/int52-spill.html: Added.
* js/regress/script-tests/int52-spill.js: Added.
(bar):
(foo):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159064 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix build after r158967
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
Unreviewed EFL gardening

Update test expectations after r158188.

* platform/efl/css2.1/t0804-c5507-padn-r-00-c-ag-expected.png:
* platform/efl/css2.1/t0804-c5507-padn-r-00-c-ag-expected.txt:
* platform/efl/css2.1/t0804-c5509-padn-l-00-b-ag-expected.png:
* platform/efl/css2.1/t0804-c5509-padn-l-00-b-ag-expected.txt:
* platform/efl/css2.1/t0804-c5510-padn-00-b-ag-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159066 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: support helpText() in DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=40194

Reviewed by Chris Fleizach.

Tools:

Implemented stubbed helpText methods so we can move aria-help.html back to LayoutTests/accessibility.

* DumpRenderTree/win/AccessibilityUIElementWin.cpp:
(AccessibilityUIElement::helpText):

LayoutTests:

Moving layout test back to its original location. Shouldn't be platform specific.

* accessibility/aria-help.html: Renamed from LayoutTests/platform/mac/accessibility/aria-help.html.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159067 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Support WebCrypto KeyPair interface
https://bugs.webkit.org/show_bug.cgi?id=124161

Reviewed by Geoffrey Garen.

No new tests yet, will be tested once generateKey is implemented for any RSA algorithms.

* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.list.am:
* WebCore.xcodeproj/project.pbxproj:
Added new files.

* bindings/js/JSDOMPromise.h: Support returning a key pair via a promise.

* bindings/js/JSCryptoKeyPairCustom.cpp: Added.
(WebCore::JSCryptoKeyPair::visitChildren):
* crypto/CryptoKey.idl:
CryptoKey wrapper is reachable through KeyPair, but it doesn't have (or need)
a back pointer.

* crypto/CryptoKeyPair.cpp: Added.
(WebCore::CryptoKeyPair::CryptoKeyPair):
(WebCore::CryptoKeyPair::~CryptoKeyPair):
* crypto/CryptoKeyPair.h: Added.
(WebCore::CryptoKeyPair::create):
(WebCore::CryptoKeyPair::publicKey):
(WebCore::CryptoKeyPair::privateKey):
* crypto/CryptoKeyPair.idl: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159068 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make bytecode dumping use the right opcode names for inc/dec.

Rubber stamped by Mark Hahnenberg.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159069 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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
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
Make IDBBackingStoreTransaction be RefCounted
https://bugs.webkit.org/show_bug.cgi?id=124168

Reviewed by Tim Horton.

This is necessarily to safely add a fully asynchronous interface into the IDB mechanism.

* Modules/indexeddb/IDBBackingStoreInterface.h:
* Modules/indexeddb/IDBBackingStoreTransactionInterface.h:
* Modules/indexeddb/IDBTransactionBackend.h:

* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
(WebCore::IDBBackingStoreLevelDB::createBackingStoreTransaction):
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
* Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.h:

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

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
Fixed 64-bit linker symbols.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159073 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove ConstantFoldingPhase's weirdo compile-time optimization
https://bugs.webkit.org/show_bug.cgi?id=124169

Reviewed by Mark Hahnenberg.
        
It turns out that this compile-time optimization doesn't optimize compile times
anymore. Kill it with fire.

* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159074 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove #include from test input of the *Messages.in processing scripts.
https://bugs.webkit.org/show_bug.cgi?id=123563

Patch by Gergo Balogh <geryxyz@inf.u-szeged.hu> on 2013-11-11
Reviewed by Darin Adler.

* Scripts/webkit2/messages_unittest.py:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159075 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Mac] Characters too close together in complex Arabic text
https://bugs.webkit.org/show_bug.cgi?id=124057

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2013-11-11
Reviewed by Darin Adler.

Source/WebCore:

We weren't updating our total width variable with run's initial
advance information, leading to widths that were too narrow.

In addition, while initial advances for runs that aren't the first
run are accounted for by baking in the initial advances into the
previous character's advance, the initial advance for the first run
has to be accounted for in ComplexTextController::offsetForPosition.

Test: fast/text/complex-grapheme-cluster-with-initial-advance.html
Test: fast/text/selection-in-initial-advance-region.html

* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::adjustGlyphsAndAdvances): Update
total width variable
(WebCore::ComplexTextController::offsetOfPosition): Account for
the first run's initial advance.

LayoutTests:

complex-grapheme-cluster-with-initial-advance adds a span around a word in some
complex Arabic text, and expects that the word spacing is the same as without the
span.

selection-in-initial-advance-region simulates a mouse drag across a complex text run
with an initial advance. This makes sure that ComplexTextController::offsetForPosition
doesn't crash when there is an initial advance.

* fast/text/complex-grapheme-cluster-with-initial-advance-expected.html: Added.
* fast/text/complex-grapheme-cluster-with-initial-advance.html: Added.
* fast/text/selection-in-initial-advance-region-expected.txt: added
* fast/text/selection-in-initial-advance-region.html: added

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