Web Inspector: AXI: Expose Accessibility Tree parent of the selected node
https://bugs.webkit.org/show_bug.cgi?id=129943

Patch by James Craig <jcraig@apple.com> on 2014-03-14
Reviewed by Timothy Hatcher.

Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html

Web Accessibility Node Inspector now displays a link to the AX parent node,
because it's not a 1:1 match with the DOMNode parent.

Source/WebCore:

* inspector/InspectorDOMAgent.cpp: Support for DOMNode.role and AccessibilityProperties.axParentNodeId.
(WebCore::InspectorDOMAgent::buildObjectForNode): Support for role.
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties): Support for axParentNodeId.
* inspector/protocol/DOM.json: Added axParentNodeId on AccessibilityProperties, and role on DOMNode.

Source/WebInspectorUI:

* Localizations/en.lproj/localizedStrings.js: new "Parent" string.
* UserInterface/Base/DOMUtilities.js: Updating linkifyNodeReference to include role; adding new roleSelectorForNode method.
* UserInterface/Models/DOMNode.js: AX Parent support and adding role to DOMNode (will be exposed as AX Parent link and in overlays).
* UserInterface/Views/DOMNodeDetailsSidebarPanel.js: Accessibility parent node.

LayoutTests:

* inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
* inspector-protocol/dom/getAccessibilityPropertiesForNode.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165633 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: AXI: Include Role as an extra attribute in the page overlay.
https://bugs.webkit.org/show_bug.cgi?id=130214

Patch by James Craig <jcraig@apple.com> on 2014-03-14
Reviewed by Timothy Hatcher.

Adding Role to the Web Inspector element overlay.

* inspector/InspectorOverlay.cpp:
(WebCore::buildObjectForElementInfo):
* inspector/InspectorOverlayPage.js:
(_createElementTitle):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165634 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Mac] Avoid creating DOMCSSStyleDeclaration in WebHTMLConverter
https://bugs.webkit.org/show_bug.cgi?id=130226

Reviewed by Andreas Kling.

Extracted HTMLConverterCaches in C++ that directly calls getPropertyCSSValue on computed style
and inline style to avoid creating Objective-C wrappers for CSSComputedStyleDeclaration.

This improves the runtime of PerformanceTests/Interactive/CopyAll.html from 31-32s to 25-26s (20%).

* platform/mac/HTMLConverter.h:
* platform/mac/HTMLConverter.mm:
(HTMLConverterCaches::computedStylePropertyForElement):
(HTMLConverterCaches::inlineStylePropertyForElement):
(stringFromCSSValue):
(-[WebHTMLConverter _computedStringForNode:property:]):
(floatValueFromPrimitiveValue):
(_getFloat):
(-[WebHTMLConverter _getComputedFloat:forNode:property:]):
(-[WebHTMLConverter _computedColorForNode:property:]):
(-[WebHTMLConverter dealloc]):
(-[WebHTMLConverter init]):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165635 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove libWebKitSystemInterfaceLion.a
https://bugs.webkit.org/show_bug.cgi?id=130254

Reviewed by Geoffrey Garen and Andreas Kling.

Tools:

No need to copy the Lion libraries into the build.

* Scripts/copy-webkitlibraries-to-product-directory:

WebKitLibraries:

We don't support Lion any more.

* libWebKitSystemInterfaceLion.a: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165636 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Crash when using a mixture of In-Band and Out-of-Band Tracks
https://bugs.webkit.org/show_bug.cgi?id=130247

Reviewed by Eric Carlson.

* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::processNewAndRemovedTextTracks): Do not include
the new Out-of-Band placeholder tracks in our counts of in-band tracks.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165637 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Shapes] polygon default fill-rule should be omitted from the serialization
https://bugs.webkit.org/show_bug.cgi?id=129840

Reviewed by Dirk Schulze.

Source/WebCore:

Modifying the default polygon string opening to be "polygon(" rather than
"polygon(nonzero".

Updated existing parsing tests.

* css/CSSBasicShapes.cpp:
(WebCore::buildPolygonString):

LayoutTests:

Modifying tests to expect the default fill-rule to be omitted. In addition,
animation-test-helpers now parses its arguments as an unbounded list, rather
than as a fixed number of capturing parentheses.

* animations/resources/animation-test-helpers.js:
* css3/masking/clip-path-animation-expected.txt:
* css3/masking/clip-path-animation.html:
* fast/masking/parsing-clip-path-shape-expected.txt:
* fast/masking/parsing-clip-path-shape.html:
* fast/shapes/parsing/parsing-shape-inside-expected.txt:
* fast/shapes/parsing/parsing-shape-lengths-expected.txt:
* fast/shapes/parsing/parsing-shape-lengths.html:
* fast/shapes/parsing/parsing-shape-outside-expected.txt:
* fast/shapes/parsing/parsing-test-utils.js:
* fast/shapes/shape-inside/shape-inside-animation-expected.txt:
* fast/shapes/shape-inside/shape-inside-animation.html:
* fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt:
* fast/shapes/shape-outside-floats/shape-outside-animation.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165638 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix crash when resizing the visited link table
https://bugs.webkit.org/show_bug.cgi?id=130257
<rdar://problem/16328177>

Reviewed by Dan Bernstein.

We're iterating over the old table, so use currentTableSize in the loop termination condition.

* UIProcess/VisitedLinkProvider.cpp:
(WebKit::VisitedLinkProvider::resizeTable):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165639 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Improve dom error messages
https://bugs.webkit.org/show_bug.cgi?id=130103

Reviewed by Andreas Kling.

Source/JavaScriptCore:

Add new helper function.

* runtime/Error.h:
(JSC::throwVMTypeError):

Source/WebCore:

Make the DOM error messages more descriptive, and update bindings tests.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
(GenerateParametersCheck):
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectExcitingAttr):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::jsTestEventConstructorAttr1):
(WebCore::jsTestEventConstructorAttr2):
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::jsTestEventTargetPrototypeFunctionItem):
(WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
(WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
(WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
* bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::jsTestExceptionName):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::jsTestInterfaceImplementsStr1):
(WebCore::jsTestInterfaceImplementsStr2):
(WebCore::jsTestInterfaceImplementsStr3):
(WebCore::jsTestInterfaceImplementsNode):
(WebCore::jsTestInterfaceSupplementalStr1):
(WebCore::jsTestInterfaceSupplementalStr2):
(WebCore::jsTestInterfaceSupplementalStr3):
(WebCore::jsTestInterfaceSupplementalNode):
(WebCore::setJSTestInterfaceImplementsStr2):
(WebCore::setJSTestInterfaceImplementsStr3):
(WebCore::setJSTestInterfaceImplementsNode):
(WebCore::setJSTestInterfaceSupplementalStr2):
(WebCore::setJSTestInterfaceSupplementalStr3):
(WebCore::setJSTestInterfaceSupplementalNode):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjConstructor::constructJSTestObj):
(WebCore::jsTestObjReadOnlyLongAttr):
(WebCore::jsTestObjReadOnlyStringAttr):
(WebCore::jsTestObjReadOnlyTestObjAttr):
(WebCore::jsTestObjConstructorTestSubObj):
(WebCore::jsTestObjTestSubObjEnabledBySettingConstructor):
(WebCore::jsTestObjEnumAttr):
(WebCore::jsTestObjByteAttr):
(WebCore::jsTestObjOctetAttr):
(WebCore::jsTestObjShortAttr):
(WebCore::jsTestObjUnsignedShortAttr):
(WebCore::jsTestObjLongAttr):
(WebCore::jsTestObjLongLongAttr):
(WebCore::jsTestObjUnsignedLongLongAttr):
(WebCore::jsTestObjStringAttr):
(WebCore::jsTestObjTestObjAttr):
(WebCore::jsTestObjXMLObjAttr):
(WebCore::jsTestObjCreate):
(WebCore::jsTestObjReflectedStringAttr):
(WebCore::jsTestObjReflectedIntegralAttr):
(WebCore::jsTestObjReflectedUnsignedIntegralAttr):
(WebCore::jsTestObjReflectedBooleanAttr):
(WebCore::jsTestObjReflectedURLAttr):
(WebCore::jsTestObjReflectedCustomIntegralAttr):
(WebCore::jsTestObjReflectedCustomBooleanAttr):
(WebCore::jsTestObjReflectedCustomURLAttr):
(WebCore::jsTestObjTypedArrayAttr):
(WebCore::jsTestObjAttrWithGetterException):
(WebCore::jsTestObjAttrWithSetterException):
(WebCore::jsTestObjStringAttrWithGetterException):
(WebCore::jsTestObjStringAttrWithSetterException):
(WebCore::jsTestObjCustomAttr):
(WebCore::jsTestObjWithScriptStateAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAttribute):
(WebCore::jsTestObjWithScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::jsTestObjConditionalAttr1):
(WebCore::jsTestObjConditionalAttr2):
(WebCore::jsTestObjConditionalAttr3):
(WebCore::jsTestObjConditionalAttr4Constructor):
(WebCore::jsTestObjConditionalAttr5Constructor):
(WebCore::jsTestObjConditionalAttr6Constructor):
(WebCore::jsTestObjCachedAttribute1):
(WebCore::jsTestObjCachedAttribute2):
(WebCore::jsTestObjAnyAttribute):
(WebCore::jsTestObjContentDocument):
(WebCore::jsTestObjMutablePoint):
(WebCore::jsTestObjImmutablePoint):
(WebCore::jsTestObjStrawberry):
(WebCore::jsTestObjStrictFloat):
(WebCore::jsTestObjDescription):
(WebCore::jsTestObjId):
(WebCore::jsTestObjHash):
(WebCore::jsTestObjReplaceableAttribute):
(WebCore::jsTestObjNullableDoubleAttribute):
(WebCore::jsTestObjNullableLongAttribute):
(WebCore::jsTestObjNullableBooleanAttribute):
(WebCore::jsTestObjNullableStringAttribute):
(WebCore::jsTestObjNullableLongSettableAttribute):
(WebCore::jsTestObjNullableStringValue):
(WebCore::jsTestObjAttribute):
(WebCore::jsTestObjAttributeWithReservedEnumType):
(WebCore::setJSTestObjTestSubObjEnabledBySettingConstructor):
(WebCore::setJSTestObjEnumAttr):
(WebCore::setJSTestObjByteAttr):
(WebCore::setJSTestObjOctetAttr):
(WebCore::setJSTestObjShortAttr):
(WebCore::setJSTestObjUnsignedShortAttr):
(WebCore::setJSTestObjLongAttr):
(WebCore::setJSTestObjLongLongAttr):
(WebCore::setJSTestObjUnsignedLongLongAttr):
(WebCore::setJSTestObjStringAttr):
(WebCore::setJSTestObjTestObjAttr):
(WebCore::setJSTestObjXMLObjAttr):
(WebCore::setJSTestObjCreate):
(WebCore::setJSTestObjReflectedStringAttr):
(WebCore::setJSTestObjReflectedIntegralAttr):
(WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
(WebCore::setJSTestObjReflectedBooleanAttr):
(WebCore::setJSTestObjReflectedURLAttr):
(WebCore::setJSTestObjReflectedCustomIntegralAttr):
(WebCore::setJSTestObjReflectedCustomBooleanAttr):
(WebCore::setJSTestObjReflectedCustomURLAttr):
(WebCore::setJSTestObjTypedArrayAttr):
(WebCore::setJSTestObjAttrWithGetterException):
(WebCore::setJSTestObjAttrWithSetterException):
(WebCore::setJSTestObjStringAttrWithGetterException):
(WebCore::setJSTestObjStringAttrWithSetterException):
(WebCore::setJSTestObjCustomAttr):
(WebCore::setJSTestObjWithScriptStateAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAttribute):
(WebCore::setJSTestObjWithScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::setJSTestObjConditionalAttr1):
(WebCore::setJSTestObjConditionalAttr2):
(WebCore::setJSTestObjConditionalAttr3):
(WebCore::setJSTestObjConditionalAttr4Constructor):
(WebCore::setJSTestObjConditionalAttr5Constructor):
(WebCore::setJSTestObjConditionalAttr6Constructor):
(WebCore::setJSTestObjAnyAttribute):
(WebCore::setJSTestObjMutablePoint):
(WebCore::setJSTestObjImmutablePoint):
(WebCore::setJSTestObjStrawberry):
(WebCore::setJSTestObjStrictFloat):
(WebCore::setJSTestObjId):
(WebCore::setJSTestObjReplaceableAttribute):
(WebCore::setJSTestObjNullableLongSettableAttribute):
(WebCore::setJSTestObjNullableStringValue):
(WebCore::setJSTestObjAttributeWithReservedEnumType):
(WebCore::jsTestObjPrototypeFunctionVoidMethod):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionByteMethod):
(WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionOctetMethod):
(WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionLongMethod):
(WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethod):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
(WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionSerializedValue):
(WebCore::jsTestObjPrototypeFunctionOptionsObject):
(WebCore::jsTestObjPrototypeFunctionMethodWithException):
(WebCore::jsTestObjPrototypeFunctionCustomMethod):
(WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionAddEventListener):
(WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
(WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
(WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg):
(WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
(WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
(WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
(WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
(WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
(WebCore::jsTestObjPrototypeFunctionConvert1):
(WebCore::jsTestObjPrototypeFunctionConvert2):
(WebCore::jsTestObjPrototypeFunctionConvert4):
(WebCore::jsTestObjPrototypeFunctionConvert5):
(WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
(WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
(WebCore::jsTestObjPrototypeFunctionOrange):
(WebCore::jsTestObjPrototypeFunctionStrictFunction):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithArray):
(WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
(WebCore::jsTestObjPrototypeFunctionAny):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::jsTestSerializedScriptValueInterfaceValue):
(WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
(WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
(WebCore::jsTestSerializedScriptValueInterfacePorts):
(WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
(WebCore::setJSTestSerializedScriptValueInterfaceValue):
(WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsConstructor::constructJSTestTypedefs):
(WebCore::jsTestTypedefsUnsignedLongLongAttr):
(WebCore::jsTestTypedefsImmutableSerializedScriptValue):
(WebCore::jsTestTypedefsConstructorTestSubObj):
(WebCore::jsTestTypedefsAttrWithGetterException):
(WebCore::jsTestTypedefsAttrWithSetterException):
(WebCore::jsTestTypedefsStringAttrWithGetterException):
(WebCore::jsTestTypedefsStringAttrWithSetterException):
(WebCore::setJSTestTypedefsUnsignedLongLongAttr):
(WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
(WebCore::setJSTestTypedefsAttrWithGetterException):
(WebCore::setJSTestTypedefsAttrWithSetterException):
(WebCore::setJSTestTypedefsStringAttrWithGetterException):
(WebCore::setJSTestTypedefsStringAttrWithSetterException):
(WebCore::jsTestTypedefsPrototypeFunctionFunc):
(WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
(WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
(WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
(WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithException):
* bindings/scripts/test/JS/JSattribute.cpp:
(WebCore::jsattributeReadonly):

Source/WebKit:

Make windows build.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

LayoutTests:

Update test results for new text.

* fast/canvas/webgl/bad-arguments-test-expected.txt:
* fast/canvas/webgl/null-object-behaviour-expected.txt:
* fast/canvas/winding-enumeration-expected.txt:
* fast/workers/storage/open-database-inputs-sync-expected.txt:
* js/dom/dom-as-prototype-assignment-exception-expected.txt:
* js/dom/dom-attributes-on-mismatch-type-expected.txt:
* js/dom/toString-and-valueOf-override-expected.txt:
* svg/dom/SVGLengthList-basics-expected.txt:
* svg/dom/SVGMatrix-expected.txt:
* svg/dom/SVGNumberList-basics-expected.txt:
* svg/dom/SVGPoint-expected.txt:
* svg/dom/SVGPointList-basics-expected.txt:
* svg/dom/SVGTransform-expected.txt:
* svg/dom/SVGTransformList-basics-expected.txt:
* svg/dom/SVGTransformList-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165640 268f45cc-cd09-0410-ab3c-d52691b4dbfc
FontCache: Replace DEPRECATED_DEFINE_STATIC_LOCAL with static NeverDestroyed<T>.
https://bugs.webkit.org/show_bug.cgi?id=130233

Reviewed by Andreas Kling.

No new tests.

* platform/graphics/FontCache.cpp:
(WebCore::fontCache):
(WebCore::FontVerticalDataCacheKeyTraits::emptyValue):
(WebCore::fontVerticalDataCacheInstance):
(WebCore::FontDataCacheKeyTraits::emptyValue):
* platform/graphics/FontCache.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165641 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove an unused function fix builds.

* platform/mac/HTMLConverter.mm:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165642 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EME] Extend the lifetime of MediaKeySession.
https://bugs.webkit.org/show_bug.cgi?id=129841

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/encrypted-media/encrypted-media-session-lifetime.html

In anticipation of guidance to be added to the EME Spec <https://www.w3.org/Bugs/Public/show_bug.cgi?id=24771>,
extend the lifetime of MediaKeySession by making the session an ActiveDOMObject, and returning true to
hasPendingActivity when the session is both not closed and is associated with a live MediaKeys object.

Additionally, keep the object from being destroyed while events are pending.

* Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::MediaKeySession):
* Modules/encryptedmedia/MediaKeySession.h:
* Modules/encryptedmedia/MediaKeySession.idl:

LayoutTests:

* media/encrypted-media/encrypted-media-session-lifetime-expected.txt: Added.
* media/encrypted-media/encrypted-media-session-lifetime.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165643 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: AXI: Suppress axParentNodeId entirely in getAccessibilityPropertiesForNode.html b/c the int value isn't consistent enough for a layout test.
https://bugs.webkit.org/show_bug.cgi?id=130259

Patch by James Craig <jcraig@apple.com> on 2014-03-14
Reviewed by Alexey Proskuryakov.

Removing flaky nodeId-based output from test.

* inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
* inspector-protocol/dom/getAccessibilityPropertiesForNode.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165644 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Update shapes autocompletion suggestions
https://bugs.webkit.org/show_bug.cgi?id=130255

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-03-14
Reviewed by Bem Jones-Bey.

* UserInterface/Models/CSSKeywordCompletions.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165645 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder should take a const reference to InsertedNodes
https://bugs.webkit.org/show_bug.cgi?id=130232

Reviewed by Andreas Kling.

This method doesn't modify InsertedNodes object.

No new tests, no behavior change.

* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):
* editing/ReplaceSelectionCommand.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165646 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use the correct type in webkitSoupRequestInputStreamNew()'s declaration.
Nhttps://bugs.webkit.org/show_bug.cgi?id=129974

Patch by Landry Breuil <landry@openbsd.org> on 2014-03-14
Reviewed by Andreas Kling.

* WebProcess/soup/WebKitSoupRequestInputStream.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165647 268f45cc-cd09-0410-ab3c-d52691b4dbfc
.: Add autotools boilerplate for proper os defines on OpenBSD/NetBSD/DragonFly
https://bugs.webkit.org/show_bug.cgi?id=129966

Patch by Landry Breuil <landry@openbsd.org> on 2014-03-14
Reviewed by Andreas Kling.

* Source/autotools/CheckSystemAndBasicDependencies.m4:
* Source/autotools/SetupAutomake.m4:

Source/ThirdParty: Fix leveldb build on OpenBSD/NetBSD by using the FreeBSD codepaths.
https://bugs.webkit.org/show_bug.cgi?id=129966

Patch by Landry Breuil <landry@openbsd.org> on 2014-03-14
Reviewed by Andreas Kling.

* leveldb/GNUmakefile.am:
* leveldb/port/port_posix.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165648 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Recognize openbsd/netbsd and am64 archs in Tools/Scripts.
Also allow to set MAKE in the environment.
https://bugs.webkit.org/show_bug.cgi?id=129991

Patch by Landry Breuil <landry@openbsd.org> on 2014-03-14
Reviewed by Andreas Kling.

* Scripts/webkitdirs.pm:
(determineArchitecture):
(determineNumberOfCPUs):
(isBSD):
(buildAutotoolsProject):
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.__init__):
(PlatformInfo.is_openbsd):
(PlatformInfo):
(PlatformInfo.is_netbsd):
(PlatformInfo._determine_os_name):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165649 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Gracefully handle nil name -[JSContext setName:]
https://bugs.webkit.org/show_bug.cgi?id=130262

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-03-14
Reviewed by Mark Hahnenberg.

* API/JSContext.mm:
(-[JSContext setName:]):
Gracefully handle nil input.

* API/tests/testapi.c:
(globalContextNameTest):
* API/tests/testapi.mm:
Test for nil / NULL names in the ObjC and C APIs.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165650 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Refactor Path to Path2D and remove currentPath
https://bugs.webkit.org/show_bug.cgi?id=130236

Reviewed by Dean Jackson.

Source/WebCore:

Other implementations prefer Path2D over Path. Furthermore, currentPath is not the right
way to apply a Path2D object to a context. Main argument is that currentPath creates a copy
of the Path2D object. Instead we pass Path2D as argument to fill, stroke and clip now.

Tests: fast/canvas/canvas-clip-path.html
       fast/canvas/canvas-fill-path.html
       fast/canvas/canvas-stroke-path.html

* bindings/scripts/CodeGeneratorJS.pm: WebIDL parser didn't handle enumerations
    for overloaded methods at all.
(GenerateParametersCheckExpression):
* html/canvas/CanvasRenderingContext2D.cpp: New functions with DOMPath argument.
(WebCore::CanvasRenderingContext2D::fill):
(WebCore::CanvasRenderingContext2D::stroke):
(WebCore::CanvasRenderingContext2D::clip):
(WebCore::CanvasRenderingContext2D::fillInternal): Internal method to avoid code duplication
    and copy operation.
(WebCore::CanvasRenderingContext2D::strokeInternal): Ditto.
(WebCore::CanvasRenderingContext2D::clipInternal): Ditto.
* html/canvas/CanvasRenderingContext2D.h:
* html/canvas/CanvasRenderingContext2D.idl:
* html/canvas/DOMPath.idl: Rename Path to Path2D.

LayoutTests:

Add new tests for Path2D object and new functions fill(),
stroke() and clip() with Path2D argument.

* fast/canvas/canvas-clip-path-expected.txt: Added.
* fast/canvas/canvas-clip-path.html: Added.
* fast/canvas/canvas-currentPath-crash-expected.txt: Removed.
* fast/canvas/canvas-currentPath-crash.html: Removed.
* fast/canvas/canvas-currentPath-expected.txt: Removed.
* fast/canvas/canvas-currentPath.html: Removed.
* fast/canvas/canvas-fill-path-expected.txt: Added.
* fast/canvas/canvas-fill-path.html: Added.
* fast/canvas/canvas-path-constructors-expected.txt:
* fast/canvas/canvas-path-object-expected.txt:
* fast/canvas/canvas-stroke-path-expected.txt: Added.
* fast/canvas/canvas-stroke-path.html: Added.
* fast/canvas/script-tests/canvas-clip-path.js: Added.
(areaColor):
* fast/canvas/script-tests/canvas-currentPath-crash.js: Removed.
* fast/canvas/script-tests/canvas-currentPath.js: Removed.
* fast/canvas/script-tests/canvas-fill-path.js: Added.
(areaColor):
* fast/canvas/script-tests/canvas-path-constructors.js:
* fast/canvas/script-tests/canvas-path-object.js:
* fast/canvas/script-tests/canvas-stroke-path.js: Added.
(areaColor):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165651 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS WK2] Improve behavior of fixed elments on zooming
https://bugs.webkit.org/show_bug.cgi?id=130253

Reviewed by Beth Dakin.

Correctly reposition right- and bottom-relative position:fixed
elements on zooming in WK2 iOS by telling the scrolling tree
about zoom-related viewport changes.

Source/WebCore:

* WebCore.exp.in:
* page/FrameView.cpp:
(WebCore::FrameView::rectForViewportConstrainedObjects):
(WebCore::FrameView::viewportConstrainedObjectsRect): We need to be able to
recompute the fixed position rect from the scrolling tree on iOS, so we need
a static function, similar to scrollOffsetForFixedPosition(), that computes
the constrained viewport.
* page/FrameView.h:
* page/Page.cpp:
(WebCore::Page::setPageScaleFactor): When scrolling (and, by implication, zooming)
is delegated, then setPageScaleFactor() should not affect the scroll position.
* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated): Go back to just
passing the visibleContentRect() for iOS.
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::viewportChangedViaDelegatedScrolling): Entrypoint to
the scrolling tree, called when the viewport is changed by zooming.
* page/scrolling/ScrollingTree.h:
* page/scrolling/ScrollingTreeScrollingNode.h:
* page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
* page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
(WebCore::ScrollingTreeScrollingNodeIOS::setScrollLayerPosition): Use the
new FrameView::rectForViewportConstrainedObjects() to compute the correct viewport
for fixed/sticky child nodes.
(WebCore::ScrollingTreeScrollingNodeIOS::updateForViewport):
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNodeMac::updateForViewport):

Source/WebKit2:

* Shared/mac/RemoteLayerTreeTransaction.h:
(WebKit::RemoteLayerTreeTransaction::LayerProperties::notePropertiesChanged):
Drive-by cleanup; typedef the flags field to an unsigned, to avoid ugly casting.
* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::updateScrollingTree): Pass out a flag to say
if the update contained a new fixed or sticky layer.
(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):
(WebKit::RemoteScrollingCoordinatorProxy::viewportChangedViaDelegatedScrolling):
Call into the new ScrolingTree::viewportChangedViaDelegatedScrolling().
* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
* UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm: If we got a new fixed
or sticky layer, set fixedOrStickyLayerChanged to true.
(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers): Ditto.
* UIProcess/ios/WKContentView.mm:
(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):
Remember both the old zoomScale and the filteredScale, since the fixed position rect
should be computed using the unfiltered scale.
Some FloatRect -> CGRect changes.
Now call viewportChangedViaDelegatedScrolling() on the scrolling coordinator.
(-[WKContentView fixedPositionRectFromExposedRect:scale:]): Call the
FrameView function to compute the iOS fixed position rect.
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree): If the update
got a new fixed or sticky layer, run the scrolling tree logic to make sure
it gets into the right place.
* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::updateLayerTree): If we logged here,
we'd log twice if the tiled scrolling indicator was enabled, so
hoisted the logging out into the caller.

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