Update framework locations in package-root
https://bugs.webkit.org/show_bug.cgi?id=132571

Reviewed by Simon Fraser.

* Scripts/package-root:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168298 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Optimize PutByVal when subscript is a rope string.
<https://webkit.org/b/132572>

Add a JSString::toIdentifier() that is smarter when the JSString is
really a rope string. Use this in baseline & DFG's PutByVal to avoid
allocating new StringImpls that we immediately deduplicate anyway.

Reviewed by Antti Koivisto.

* dfg/DFGOperations.cpp:
(JSC::DFG::operationPutByValInternal):
* jit/JITOperations.cpp:
* runtime/JSString.h:
(JSC::JSString::toIdentifier):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168300 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use a layer delegate instead of web_disableAllActions wherever possible
https://bugs.webkit.org/show_bug.cgi?id=132560
<rdar://problem/16459284>

Reviewed by Simon Fraser.

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayerMac::commonInit):
If we own the platform layer, set its delegate to the action-disabling WebActionDisablingCALayerDelegate.
If we don't, its actual owner might want to control the delegate, so continue using web_disableAllActions.

* platform/graphics/cocoa/WebActionDisablingCALayerDelegate.h: Added.
* platform/graphics/cocoa/WebActionDisablingCALayerDelegate.mm: Added.
(+[WebActionDisablingCALayerDelegate shared]):
(-[WebActionDisablingCALayerDelegate actionForLayer:forKey:]):
Add a class that can act as the delegate of a CALayer, and disables all actions.

* platform/graphics/cocoa/WebCoreCALayerExtras.h: Renamed from Source/WebCore/platform/graphics/mac/WebCoreCALayerExtras.h.
* platform/graphics/cocoa/WebCoreCALayerExtras.mm: Renamed from Source/WebCore/platform/graphics/mac/WebCoreCALayerExtras.mm.
(-[CALayer web_disableAllActions]):
Move WebCoreCALayerExtras from mac/ to cocoa/.

* UIProcess/API/mac/WKView.mm:
(-[WKView _setAcceleratedCompositingModeRootLayer:]):
* UIProcess/ios/RemoteLayerTreeHostIOS.mm:
(WebKit::RemoteLayerTreeHost::createLayer):
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::showDebugIndicator):
* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::createLayer):
* UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
Make use of WebActionDisablingCALayerDelegate where possible.
Also, UIKit disables actions for us, so don't bother doing anything on iOS.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168301 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Enhance IDL compiler so it supports unrestricted float and double
https://bugs.webkit.org/show_bug.cgi?id=132460

Reviewed by Dirk Schulze.

Source/WebCore:
Updated IDL compiler so it supports unrestricted types.
Also updated the IDL files so they use unrestricted float and
double.

Tests:
* canvas/philip/tests/2d.gradient.linear.nonfinite.html:
* canvas/philip/tests/2d.gradient.object.invalidoffset.html:
* canvas/philip/tests/2d.gradient.radial.nonfinite.html:
* canvas/philip/tests/2d.imageData.get.nonfinite.html:
* canvas/philip/tests/2d.imageData.put.nonfinite.html:
* canvas/philip/tests/2d.missingargs.html:
* fast/canvas/canvas-getImageData-invalid-expected.txt:
* fast/canvas/canvas-putImageData-expected.txt:
* fast/canvas/canvas-putImageData.js:

* Modules/battery/BatteryManager.idl:
* Modules/gamepad/Gamepad.idl:
* Modules/geolocation/Coordinates.idl:
* Modules/mediasource/MediaSource.idl:
* Modules/mediasource/SourceBuffer.idl:
* Modules/mediasource/VideoPlaybackQuality.idl:
* Modules/mediastream/MediaSourceStates.idl:
* Modules/proximity/DeviceProximityEvent.idl:
* Modules/speech/SpeechGrammar.idl:
* Modules/speech/SpeechGrammarList.idl:
* Modules/speech/SpeechRecognitionAlternative.idl:
* Modules/speech/SpeechSynthesisEvent.idl:
* Modules/speech/SpeechSynthesisUtterance.idl:
* Modules/webaudio/AnalyserNode.idl:
* Modules/webaudio/AudioBuffer.idl:
* Modules/webaudio/AudioBufferSourceNode.idl:
* Modules/webaudio/AudioContext.idl:
* Modules/webaudio/AudioListener.idl:
* Modules/webaudio/AudioParam.idl:
* Modules/webaudio/AudioProcessingEvent.idl:
* Modules/webaudio/OfflineAudioContext.idl:
* Modules/webaudio/OscillatorNode.idl:
* Modules/webaudio/PannerNode.idl:
* bindings/scripts/CodeGenerator.pm:
* bindings/scripts/CodeGeneratorGObject.pm:
(GetGValueTypeName):
(GetGlibTypeName):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
(GenerateParametersCheck):
(JSValueToNative):
* bindings/scripts/CodeGeneratorObjC.pm:
(GetObjCType):
(GenerateHeader):
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/TestTypedefs.idl:
* css/CSSPrimitiveValue.idl:
* css/WebKitCSSMatrix.idl:
* dom/ClientRect.idl:
* dom/DeviceMotionEvent.idl:
* dom/DeviceOrientationEvent.idl:
* dom/Document.idl:
* dom/RequestAnimationFrameCallback.idl:
* dom/Touch.idl:
* dom/TransitionEvent.idl:
* dom/WebKitAnimationEvent.idl:
* dom/WebKitTransitionEvent.idl:
* dom/WheelEvent.idl:
* html/HTMLInputElement.idl:
* html/HTMLMediaElement.idl:
* html/HTMLMeterElement.idl:
* html/HTMLProgressElement.idl:
* html/MediaController.idl:
* html/TextMetrics.idl:
* html/TimeRanges.idl:
* html/canvas/CanvasRenderingContext2D.idl:
* html/canvas/WebGLRenderingContext.idl:
* html/track/DataCue.idl:
* html/track/TextTrackCue.idl:
* html/track/VTTCue.idl:
* html/track/VTTRegion.idl:
* inspector/InspectorFrontendHost.idl:
* inspector/ScriptProfile.idl:
* inspector/ScriptProfileNode.idl:
* page/DOMWindow.idl:
* page/Performance.idl:
* page/PerformanceEntry.idl:
* page/PerformanceResourceTiming.idl:
* page/SpeechInputResult.idl:
* page/WebKitPoint.idl:
* svg/SVGAngle.idl:
* svg/SVGAnimatedNumber.idl:
* svg/SVGAnimationElement.idl:
* svg/SVGFEDropShadowElement.idl:
* svg/SVGFEGaussianBlurElement.idl:
* svg/SVGFEMorphologyElement.idl:
* svg/SVGGlyphRefElement.idl:
* svg/SVGLength.idl:
* svg/SVGMatrix.idl:
* svg/SVGNumber.idl:
* svg/SVGPathElement.idl:
* svg/SVGPathSegArcAbs.idl:
* svg/SVGPathSegArcRel.idl:
* svg/SVGPathSegCurvetoCubicAbs.idl:
* svg/SVGPathSegCurvetoCubicRel.idl:
* svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
* svg/SVGPathSegCurvetoCubicSmoothRel.idl:
* svg/SVGPathSegCurvetoQuadraticAbs.idl:
* svg/SVGPathSegCurvetoQuadraticRel.idl:
* svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
* svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
* svg/SVGPathSegLinetoAbs.idl:
* svg/SVGPathSegLinetoHorizontalAbs.idl:
* svg/SVGPathSegLinetoHorizontalRel.idl:
* svg/SVGPathSegLinetoRel.idl:
* svg/SVGPathSegLinetoVerticalAbs.idl:
* svg/SVGPathSegLinetoVerticalRel.idl:
* svg/SVGPathSegMovetoAbs.idl:
* svg/SVGPathSegMovetoRel.idl:
* svg/SVGPoint.idl:
* svg/SVGRect.idl:
* svg/SVGSVGElement.idl:
* svg/SVGTextContentElement.idl:
* svg/SVGTransform.idl:
* svg/SVGZoomEvent.idl:
* testing/InternalSettings.idl:
* testing/Internals.idl:
* xml/XPathResult.idl:

LayoutTests:
* canvas/philip/tests/2d.gradient.linear.nonfinite.html:
* canvas/philip/tests/2d.gradient.object.invalidoffset.html:
* canvas/philip/tests/2d.gradient.radial.nonfinite.html:
* canvas/philip/tests/2d.imageData.get.nonfinite.html:
* canvas/philip/tests/2d.imageData.put.nonfinite.html:
* canvas/philip/tests/2d.missingargs-expected.txt:
* canvas/philip/tests/2d.missingargs.html:
* fast/canvas/canvas-getImageData-invalid-expected.txt:
* fast/canvas/canvas-putImageData-expected.txt:
* fast/canvas/canvas-putImageData.js:
* fast/canvas/linearGradient-infinite-values-expected.txt:
* fast/canvas/radialGradient-infinite-values-expected.txt:
* fast/canvas/script-tests/canvas-getImageData-invalid.js:
* fast/canvas/script-tests/linearGradient-infinite-values.js:
* fast/canvas/script-tests/radialGradient-infinite-values.js:
* platform/mac/canvas/philip/tests/2d.missingargs-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168302 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK][CMake] Unable to do make install
https://bugs.webkit.org/show_bug.cgi?id=130188

Reviewed by Carlos Garcia Campos.

.:
Only try to install the HTML documentation if the build is configured to generate it via
the new ENABLE_GTKDOC option. We cannot conditionally install something, so this allows us
to keep the HTML documentation directory as an installation source.

* Source/PlatformGTK.cmake: The gtkdoc target now always builds HTML documentation, but
is only added to the default target when ENABLE_GTKDOC is turned on. gtkdoc-no-html is
never added to the default target, but will be triggered by build-webkit, so that
when ENABLE_GTKDOC is off and build-webkit isn't used, documentation isn't built at all.
* Source/cmake/OptionsGTK.cmake: Add an ENABLE_GTKDOC option to the build.

Tools:
* Scripts/webkitdirs.pm:
(buildCMakeGeneratedProject): Always build gtkdoc-no-html for WebKitGTK+. This
will give an early signal that a change has broken the documentation.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168304 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Regions] Remove regionLayoutUpdate event
https://bugs.webkit.org/show_bug.cgi?id=132564

Reviewed by Simon Fraser.

Source/WebCore:
The regionLayoutUpdate event was removed from the regions spec and was replaced by two other events:
regionOversetChange and regionFragmentChange.

No new tests needed, this patch removes a feature.

* dom/EventNames.h:
* dom/WebKitNamedFlow.cpp:
(WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent): Deleted.
* dom/WebKitNamedFlow.h:
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::resetNonPersistentData):
(WebCore::InspectorCSSAgent::willRemoveNamedFlow):
(WebCore::UpdateRegionLayoutTask::UpdateRegionLayoutTask): Deleted.
(WebCore::UpdateRegionLayoutTask::scheduleFor): Deleted.
(WebCore::UpdateRegionLayoutTask::unschedule): Deleted.
(WebCore::UpdateRegionLayoutTask::reset): Deleted.
(WebCore::UpdateRegionLayoutTask::timerFired): Deleted.
(WebCore::InspectorCSSAgent::didUpdateRegionLayout): Deleted.
(WebCore::InspectorCSSAgent::regionLayoutUpdated): Deleted.
* inspector/InspectorCSSAgent.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didUpdateRegionLayoutImpl): Deleted.
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didUpdateRegionLayout): Deleted.
* inspector/protocol/CSS.json:
* rendering/RenderNamedFlowFragment.cpp:
(WebCore::RenderNamedFlowFragment::updateOversetState):
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::removeRegionFromThread):
(WebCore::RenderNamedFlowThread::layout):
(WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEventIfNeeded): Deleted.
(WebCore::RenderNamedFlowThread::regionLayoutUpdateEventTimerFired): Deleted.
* rendering/RenderNamedFlowThread.h:

Source/WebInspectorUI:
The regionLayoutUpdate event was removed from the regions spec and was replaced by two other events:
regionOversetChange and regionFragmentChange.

* UserInterface/Controllers/DOMTreeManager.js:
(WebInspector.DOMTreeManager.prototype.get regionLayoutUpdated): Deleted.
* UserInterface/Models/ScriptTimelineRecord.js:
* UserInterface/Protocol/CSSObserver.js:
(WebInspector.CSSObserver.prototype.regionLayoutUpdated): Deleted.
* UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
* Versions/Inspector-iOS-7.0.json:

LayoutTests:
Removed test for regionLayoutUpdate event.

* fast/regions/auto-size/autoheight-regionlayoutupdate-multipletimes-expected.txt: Removed.
* fast/regions/auto-size/autoheight-regionlayoutupdate-multipletimes.html: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168306 268f45cc-cd09-0410-ab3c-d52691b4dbfc
More long hangs under IOSurfacePool::evict
https://bugs.webkit.org/show_bug.cgi?id=132576
<rdar://problem/16769469>

Reviewed by Simon Fraser.

* platform/graphics/cg/IOSurfacePool.cpp:
(WebCore::IOSurfacePool::evict):
If the pool is too full, we should be evicting in-use surfaces
even if the size of the in-use surfaces has dropped below maximumInUseBytes,
otherwise we can get stuck in an infinite loop with 0 cached surfaces
and 1+ in-use surfaces.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168308 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Blending] Move fast/repaint tests to css3/compositing/repaint
https://bugs.webkit.org/show_bug.cgi?id=132567

Patch by Ion Rosca <rosca@adobe.com> on 2014-05-05
Reviewed by Mihnea Ovidenie.

* css3/compositing/repaint/blend-mode-isolate-stacking-context-expected.txt: Renamed from LayoutTests/fast/repaint/blend-mode-isolate-stacking-context-expected.txt.
* css3/compositing/repaint/blend-mode-isolate-stacking-context.html: Renamed from LayoutTests/fast/repaint/blend-mode-isolate-stacking-context.html.
* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168309 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION (r168244): compositing/visibility/visibility-image-layers-dynamic.html 
failing.
https://bugs.webkit.org/show_bug.cgi?id=132551

Reviewed by Tim Horton.

This just needed a re-baseline after all. The bounds have increased in size 
because the size of the layer tree dump effects the bounds! So now that we are 
printing out anchor points, the bound increase by 15 pixels for every new anchor 
point print-out.

Should not longer be marked failing.
* TestExpectations:

Added comment to the test.
* compositing/visibility/visibility-image-layers-dynamic.html:

Re-baseline.
* platform/mac/compositing/visibility/visibility-image-layers-dynamic-expected.txt:



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