-
rniwa@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=117386 Reviewed by Geoffrey Garen. Source/JavaScriptCore: Added JSValue::toAtomicString and JSString::atomicString. These two functions allow WebCore to update JSString's m_value to set isAtomic flag and avoid the AtomicStringTable lookups in subsequent attempts to obtain the AtomicString of the same value. * runtime/JSCJSValue.h: * runtime/JSString.h: (JSC::JSString::atomicString): (JSC::JSValue::toAtomicString): Source/WebCore: Added "Atomic" attribute as a WebKit extension to WebIDL, and deployed it in Element.idl and Node.idl so that the binding code can use newly added JSValue::toAtomic to update JSString's m_value. * bindings/js/JSDOMBinding.cpp: (WebCore::valueToAtomicStringWithNullCheck): Added. (WebCore::valueToAtomicStringWithUndefinedOrNullCheck): Added. * bindings/js/JSDOMBinding.h: * bindings/scripts/CodeGeneratorJS.pm: (GetNativeTypeFromSignature): Return const AtomicString& when either Atomic attribute is specified or the type is Reflect. Note that setAttribute and getAttribute both use AtomicString for all arguments. (JSValueToNative): Use AtomicString equivalents when possible when converting DOMString to a WebCore object. * bindings/scripts/IDLAttributes.txt: Added "Atomic" attribute. * bindings/scripts/test/JS/JSTestObj.cpp: Baselined test cases. (WebCore::setJSTestObjReflectedStringAttr): (WebCore::setJSTestObjReflectedURLAttr): (WebCore::setJSTestObjReflectedCustomURLAttr): * dom/Document.idl: * dom/Element.idl: * dom/Node.idl: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151978 268f45cc-cd09-0410-ab3c-d52691b4dbfc
85e57d89