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