Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (152612 => 152613)
--- trunk/Source/_javascript_Core/ChangeLog 2013-07-14 06:03:05 UTC (rev 152612)
+++ trunk/Source/_javascript_Core/ChangeLog 2013-07-14 06:12:03 UTC (rev 152613)
@@ -1,3 +1,15 @@
+2013-07-13 Commit Queue <[email protected]>
+
+ Unreviewed, rolling out r151978.
+ http://trac.webkit.org/changeset/151978
+ https://bugs.webkit.org/show_bug.cgi?id=118651
+
+ Caused regressions at least 3 websites (Requested by rniwa on
+ #webkit).
+
+ * runtime/JSCJSValue.h:
+ * runtime/JSString.h:
+
2013-07-12 Chris Curtis <[email protected]>
Optimize addStrackTraceIfNecessary to be faster in the case when it's not necessary
Modified: trunk/Source/_javascript_Core/runtime/JSCJSValue.h (152612 => 152613)
--- trunk/Source/_javascript_Core/runtime/JSCJSValue.h 2013-07-14 06:03:05 UTC (rev 152612)
+++ trunk/Source/_javascript_Core/runtime/JSCJSValue.h 2013-07-14 06:12:03 UTC (rev 152613)
@@ -220,7 +220,6 @@
// been set in the ExecState already.
double toNumber(ExecState*) const;
JSString* toString(ExecState*) const;
- AtomicString toAtomicString(ExecState*) const;
WTF::String toWTFString(ExecState*) const;
WTF::String toWTFStringInline(ExecState*) const;
JSObject* toObject(ExecState*) const;
Modified: trunk/Source/_javascript_Core/runtime/JSString.h (152612 => 152613)
--- trunk/Source/_javascript_Core/runtime/JSString.h 2013-07-14 06:03:05 UTC (rev 152612)
+++ trunk/Source/_javascript_Core/runtime/JSString.h 2013-07-14 06:12:03 UTC (rev 152613)
@@ -139,7 +139,6 @@
const String& value(ExecState*) const;
const String& tryGetValue() const;
unsigned length() { return m_length; }
- AtomicString atomicString(ExecState*) const;
JSValue toPrimitive(ExecState*, PreferredPrimitiveType) const;
JS_EXPORT_PRIVATE bool toBoolean() const;
@@ -372,19 +371,6 @@
return m_value;
}
-inline AtomicString JSString::atomicString(ExecState* exec) const
-{
- if (isRope()) {
- static_cast<const JSRopeString*>(this)->resolveRope(exec);
- if (exec->hadException())
- return nullAtom;
- }
- const AtomicString atomicValue(m_value);
- if (atomicValue.impl() != m_value.impl())
- m_value = atomicValue;
- return atomicValue;
-}
-
inline const String& JSString::tryGetValue() const
{
if (isRope())
@@ -530,13 +516,6 @@
return toStringSlowCase(exec);
}
-inline AtomicString JSValue::toAtomicString(ExecState* exec) const
-{
- if (isString())
- return jsCast<JSString*>(asCell())->atomicString(exec);
- return toStringSlowCase(exec)->value(exec);
-}
-
inline String JSValue::toWTFString(ExecState* exec) const
{
if (isString())
Modified: trunk/Source/WebCore/ChangeLog (152612 => 152613)
--- trunk/Source/WebCore/ChangeLog 2013-07-14 06:03:05 UTC (rev 152612)
+++ trunk/Source/WebCore/ChangeLog 2013-07-14 06:12:03 UTC (rev 152613)
@@ -1,3 +1,26 @@
+2013-07-13 Commit Queue <[email protected]>
+
+ Unreviewed, rolling out r151978.
+ http://trac.webkit.org/changeset/151978
+ https://bugs.webkit.org/show_bug.cgi?id=118651
+
+ Caused regressions at least 3 websites (Requested by rniwa on
+ #webkit).
+
+ * bindings/js/JSDOMBinding.cpp:
+ * bindings/js/JSDOMBinding.h:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GetNativeTypeFromSignature):
+ (JSValueToNative):
+ * bindings/scripts/IDLAttributes.txt:
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::setJSTestObjReflectedStringAttr):
+ (WebCore::setJSTestObjReflectedURLAttr):
+ (WebCore::setJSTestObjReflectedCustomURLAttr):
+ * dom/Document.idl:
+ * dom/Element.idl:
+ * dom/Node.idl:
+
2013-07-13 Joone Hur <[email protected]>
Caret should respect text background color
Modified: trunk/Source/WebCore/bindings/js/JSDOMBinding.cpp (152612 => 152613)
--- trunk/Source/WebCore/bindings/js/JSDOMBinding.cpp 2013-07-14 06:03:05 UTC (rev 152612)
+++ trunk/Source/WebCore/bindings/js/JSDOMBinding.cpp 2013-07-14 06:12:03 UTC (rev 152613)
@@ -109,13 +109,6 @@
return value.toString(exec)->value(exec);
}
-AtomicString valueToAtomicStringWithNullCheck(ExecState* exec, JSValue value)
-{
- if (value.isNull())
- return nullAtom;
- return value.toAtomicString(exec);
-}
-
String valueToStringWithUndefinedOrNullCheck(ExecState* exec, JSValue value)
{
if (value.isUndefinedOrNull())
@@ -123,13 +116,6 @@
return value.toString(exec)->value(exec);
}
-AtomicString valueToAtomicStringWithUndefinedOrNullCheck(ExecState* exec, JSValue value)
-{
- if (value.isUndefinedOrNull())
- return nullAtom;
- return value.toAtomicString(exec);
-}
-
JSValue jsDateOrNull(ExecState* exec, double value)
{
if (!std::isfinite(value))
Modified: trunk/Source/WebCore/bindings/js/JSDOMBinding.h (152612 => 152613)
--- trunk/Source/WebCore/bindings/js/JSDOMBinding.h 2013-07-14 06:03:05 UTC (rev 152612)
+++ trunk/Source/WebCore/bindings/js/JSDOMBinding.h 2013-07-14 06:12:03 UTC (rev 152613)
@@ -249,10 +249,7 @@
AtomicStringImpl* findAtomicString(JSC::PropertyName);
String valueToStringWithNullCheck(JSC::ExecState*, JSC::JSValue); // null if the value is null
- AtomicString valueToAtomicStringWithNullCheck(JSC::ExecState*, JSC::JSValue);
-
String valueToStringWithUndefinedOrNullCheck(JSC::ExecState*, JSC::JSValue); // null if the value is null or undefined
- AtomicString valueToAtomicStringWithUndefinedOrNullCheck(JSC::ExecState*, JSC::JSValue);
inline int32_t finiteInt32Value(JSC::JSValue value, JSC::ExecState* exec, bool& okay)
{
Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (152612 => 152613)
--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm 2013-07-14 06:03:05 UTC (rev 152612)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm 2013-07-14 06:12:03 UTC (rev 152613)
@@ -3334,11 +3334,6 @@
return "int";
}
- # FIXME: GetNativeType should support Atomic extension.
- if ($type eq "DOMString" and ($signature->extendedAttributes->{"Atomic"} or $signature->extendedAttributes->{"Reflect"})) {
- return "const AtomicString&";
- }
-
return GetNativeType($type);
}
@@ -3478,23 +3473,12 @@
if ($type eq "DOMString") {
# FIXME: This implements [TreatNullAs=NullString] and [TreatUndefinedAs=NullString],
# but the Web IDL spec requires [TreatNullAs=EmptyString] and [TreatUndefinedAs=EmptyString].
- if (($signature->extendedAttributes->{"TreatNullAs"} and $signature->extendedAttributes->{"TreatNullAs"} eq "NullString")
- and ($signature->extendedAttributes->{"TreatUndefinedAs"} and $signature->extendedAttributes->{"TreatUndefinedAs"} eq "NullString")) {
- if ($signature->extendedAttributes->{"Atomic"}) {
- return "valueToStringWithUndefinedOrNullCheck(exec, $value)";
- } else {
- return "valueToAtomicStringWithUndefinedOrNullCheck(exec, $value)";
- }
+ if (($signature->extendedAttributes->{"TreatNullAs"} and $signature->extendedAttributes->{"TreatNullAs"} eq "NullString") and ($signature->extendedAttributes->{"TreatUndefinedAs"} and $signature->extendedAttributes->{"TreatUndefinedAs"} eq "NullString")) {
+ return "valueToStringWithUndefinedOrNullCheck(exec, $value)"
}
- if ($signature->extendedAttributes->{"Reflect"}) {
- return "valueToAtomicStringWithNullCheck(exec, $value)";
+ if (($signature->extendedAttributes->{"TreatNullAs"} and $signature->extendedAttributes->{"TreatNullAs"} eq "NullString") or $signature->extendedAttributes->{"Reflect"}) {
+ return "valueToStringWithNullCheck(exec, $value)"
}
- if ($signature->extendedAttributes->{"TreatNullAs"} and $signature->extendedAttributes->{"TreatNullAs"} eq "NullString") {
- return "valueToStringWithNullCheck(exec, $value)";
- }
- if ($signature->extendedAttributes->{"Atomic"}) {
- return "$value.isEmpty() ? nullAtom : $value.toAtomicString(exec)";
- }
# FIXME: Add the case for 'if ($signature->extendedAttributes->{"TreatUndefinedAs"} and $signature->extendedAttributes->{"TreatUndefinedAs"} eq "NullString"))'.
return "$value.isEmpty() ? String() : $value.toString(exec)->value(exec)";
}
Modified: trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt (152612 => 152613)
--- trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt 2013-07-14 06:03:05 UTC (rev 152612)
+++ trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt 2013-07-14 06:12:03 UTC (rev 152613)
@@ -19,7 +19,6 @@
#
ActiveDOMObject
-Atomic
CPPPureInterface
CachedAttribute
CallWith=ScriptExecutionContext|ScriptState|ScriptArguments|CallStack
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp (152612 => 152613)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp 2013-07-14 06:03:05 UTC (rev 152612)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp 2013-07-14 06:12:03 UTC (rev 152613)
@@ -1278,7 +1278,7 @@
UNUSED_PARAM(exec);
JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
TestObj* impl = static_cast<TestObj*>(castedThis->impl());
- const AtomicString& nativeValue(valueToAtomicStringWithNullCheck(exec, value));
+ const String& nativeValue(valueToStringWithNullCheck(exec, value));
if (exec->hadException())
return;
impl->setAttribute(WebCore::HTMLNames::reflectedstringattrAttr, nativeValue);
@@ -1326,7 +1326,7 @@
UNUSED_PARAM(exec);
JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
TestObj* impl = static_cast<TestObj*>(castedThis->impl());
- const AtomicString& nativeValue(valueToAtomicStringWithNullCheck(exec, value));
+ const String& nativeValue(valueToStringWithNullCheck(exec, value));
if (exec->hadException())
return;
impl->setAttribute(WebCore::HTMLNames::reflectedurlattrAttr, nativeValue);
@@ -1338,7 +1338,7 @@
UNUSED_PARAM(exec);
JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
TestObj* impl = static_cast<TestObj*>(castedThis->impl());
- const AtomicString& nativeValue(valueToAtomicStringWithNullCheck(exec, value));
+ const String& nativeValue(valueToStringWithNullCheck(exec, value));
if (exec->hadException())
return;
impl->setAttribute(WebCore::HTMLNames::customContentStringAttrAttr, nativeValue);
@@ -1374,7 +1374,7 @@
UNUSED_PARAM(exec);
JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
TestObj* impl = static_cast<TestObj*>(castedThis->impl());
- const AtomicString& nativeValue(valueToAtomicStringWithNullCheck(exec, value));
+ const String& nativeValue(valueToStringWithNullCheck(exec, value));
if (exec->hadException())
return;
impl->setAttribute(WebCore::HTMLNames::customContentURLAttrAttr, nativeValue);
Modified: trunk/Source/WebCore/dom/Document.idl (152612 => 152613)
--- trunk/Source/WebCore/dom/Document.idl 2013-07-14 06:03:05 UTC (rev 152612)
+++ trunk/Source/WebCore/dom/Document.idl 2013-07-14 06:12:03 UTC (rev 152613)
@@ -29,7 +29,7 @@
readonly attribute DOMImplementation implementation;
readonly attribute Element documentElement;
- [ReturnNewObject, RaisesException] Element createElement([TreatNullAs=NullString,Default=Undefined,Atomic] optional DOMString tagName);
+ [ReturnNewObject, RaisesException] Element createElement([TreatNullAs=NullString,Default=Undefined] optional DOMString tagName);
DocumentFragment createDocumentFragment();
[ReturnNewObject] Text createTextNode([Default=Undefined] optional DOMString data);
[ReturnNewObject] Comment createComment([Default=Undefined] optional DOMString data);
@@ -38,7 +38,7 @@
[Default=Undefined] optional DOMString data);
[ReturnNewObject, RaisesException] Attr createAttribute([Default=Undefined] optional DOMString name);
[ReturnNewObject, RaisesException] EntityReference createEntityReference([Default=Undefined] optional DOMString name);
- NodeList getElementsByTagName([Default=Undefined, Atomic] optional DOMString tagname);
+ NodeList getElementsByTagName([Default=Undefined] optional DOMString tagname);
// Introduced in DOM Level 2:
@@ -48,9 +48,9 @@
[TreatNullAs=NullString,Default=Undefined] optional DOMString qualifiedName);
[ObjCLegacyUnnamedParameters, ReturnNewObject, RaisesException] Attr createAttributeNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
[TreatNullAs=NullString,Default=Undefined] optional DOMString qualifiedName);
- [ObjCLegacyUnnamedParameters] NodeList getElementsByTagNameNS([TreatNullAs=NullString,Default=Undefined,Atomic] optional DOMString namespaceURI,
- [Default=Undefined,Atomic] optional DOMString localName);
- Element getElementById([Default=Undefined,Atomic] optional DOMString elementId);
+ [ObjCLegacyUnnamedParameters] NodeList getElementsByTagNameNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
+ [Default=Undefined] optional DOMString localName);
+ Element getElementById([Default=Undefined] optional DOMString elementId);
// DOM Level 3 Core
@@ -216,8 +216,8 @@
readonly attribute DOMString compatMode;
// NodeSelector - Selector API
- [RaisesException] Element querySelector([Atomic] DOMString selectors);
- [RaisesException] NodeList querySelectorAll([Atomic] DOMString selectors);
+ [RaisesException] Element querySelector(DOMString selectors);
+ [RaisesException] NodeList querySelectorAll(DOMString selectors);
#if defined(ENABLE_FULLSCREEN_API) && ENABLE_FULLSCREEN_API
// Mozilla version
@@ -338,9 +338,9 @@
#if defined(ENABLE_CUSTOM_ELEMENTS) && ENABLE_CUSTOM_ELEMENTS
[Conditional=CUSTOM_ELEMENTS, ImplementedAs=registerElement, CallWith=ScriptState, RaisesException] CustomElementConstructor webkitRegister(DOMString name, optional Dictionary options);
- [ReturnNewObject, RaisesException] Element createElement([Atomic] DOMString localName, [TreatNullAs=NullString, Atomic] DOMString typeExtension);
- [ReturnNewObject, RaisesException] Element createElementNS([TreatNullAs=NullString, Atomic] DOMString namespaceURI, DOMString qualifiedName,
- [TreatNullAs=NullString, Atomic] DOMString typeExtension);
+ [ReturnNewObject, RaisesException] Element createElement(DOMString localName, [TreatNullAs=NullString] DOMString typeExtension);
+ [ReturnNewObject, RaisesException] Element createElementNS([TreatNullAs=NullString] DOMString namespaceURI, DOMString qualifiedName,
+ [TreatNullAs=NullString] DOMString typeExtension);
#endif
#if defined(LANGUAGE_CPP) && LANGUAGE_CPP
Modified: trunk/Source/WebCore/dom/Element.idl (152612 => 152613)
--- trunk/Source/WebCore/dom/Element.idl 2013-07-14 06:03:05 UTC (rev 152612)
+++ trunk/Source/WebCore/dom/Element.idl 2013-07-14 06:12:03 UTC (rev 152613)
@@ -27,14 +27,14 @@
[TreatReturnedNullStringAs=Null] readonly attribute DOMString tagName;
- [TreatReturnedNullStringAs=Null] DOMString getAttribute([Default=Undefined, Atomic] optional DOMString name);
- [ObjCLegacyUnnamedParameters, RaisesException] void setAttribute([Default=Undefined, Atomic] optional DOMString name,
- [Default=Undefined, Atomic] optional DOMString value);
- void removeAttribute([Default=Undefined, Atomic] optional DOMString name);
- Attr getAttributeNode([Default=Undefined, Atomic] optional DOMString name);
+ [TreatReturnedNullStringAs=Null] DOMString getAttribute([Default=Undefined] optional DOMString name);
+ [ObjCLegacyUnnamedParameters, RaisesException] void setAttribute([Default=Undefined] optional DOMString name,
+ [Default=Undefined] optional DOMString value);
+ void removeAttribute([Default=Undefined] optional DOMString name);
+ Attr getAttributeNode([Default=Undefined] optional DOMString name);
[RaisesException] Attr setAttributeNode([Default=Undefined] optional Attr newAttr);
[RaisesException] Attr removeAttributeNode([Default=Undefined] optional Attr oldAttr);
- NodeList getElementsByTagName([Default=Undefined, Atomic] optional DOMString name);
+ NodeList getElementsByTagName([Default=Undefined] optional DOMString name);
#if !defined(LANGUAGE_OBJECTIVE_C)
// For ObjC this is defined on Node for legacy support.
@@ -44,21 +44,21 @@
// DOM Level 2 Core
- [ObjCLegacyUnnamedParameters] DOMString getAttributeNS([TreatNullAs=NullString, Default=Undefined, Atomic] optional DOMString namespaceURI,
- [Default=Undefined, Atomic] optional DOMString localName);
- [ObjCLegacyUnnamedParameters, RaisesException] void setAttributeNS([TreatNullAs=NullString, Default=Undefined, Atomic] optional DOMString namespaceURI,
- [Default=Undefined, Atomic] optional DOMString qualifiedName,
- [Default=Undefined, Atomic] optional DOMString value);
- [ObjCLegacyUnnamedParameters] void removeAttributeNS([TreatNullAs=NullString, Atomic] DOMString namespaceURI,
- [Atomic] DOMString localName);
- [ObjCLegacyUnnamedParameters] NodeList getElementsByTagNameNS([TreatNullAs=NullString, Default=Undefined, Atomic] optional DOMString namespaceURI,
- [Default=Undefined, Atomic] optional DOMString localName);
- [ObjCLegacyUnnamedParameters] Attr getAttributeNodeNS([TreatNullAs=NullString, Default=Undefined, Atomic] optional DOMString namespaceURI,
- [Default=Undefined, Atomic] optional DOMString localName);
+ [ObjCLegacyUnnamedParameters] DOMString getAttributeNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
+ [Default=Undefined] optional DOMString localName);
+ [ObjCLegacyUnnamedParameters, RaisesException] void setAttributeNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
+ [Default=Undefined] optional DOMString qualifiedName,
+ [Default=Undefined] optional DOMString value);
+ [ObjCLegacyUnnamedParameters] void removeAttributeNS([TreatNullAs=NullString] DOMString namespaceURI,
+ DOMString localName);
+ [ObjCLegacyUnnamedParameters] NodeList getElementsByTagNameNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
+ [Default=Undefined] optional DOMString localName);
+ [ObjCLegacyUnnamedParameters] Attr getAttributeNodeNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
+ [Default=Undefined] optional DOMString localName);
[RaisesException] Attr setAttributeNodeNS([Default=Undefined] optional Attr newAttr);
boolean hasAttribute(DOMString name);
- [ObjCLegacyUnnamedParameters] boolean hasAttributeNS([TreatNullAs=NullString, Default=Undefined, Atomic] optional DOMString namespaceURI,
- [Default=Undefined, Atomic] optional DOMString localName);
+ [ObjCLegacyUnnamedParameters] boolean hasAttributeNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
+ [Default=Undefined] optional DOMString localName);
readonly attribute CSSStyleDeclaration style;
@@ -99,8 +99,8 @@
#endif
// NodeSelector - Selector API
- [RaisesException] Element querySelector([Atomic] DOMString selectors);
- [RaisesException] NodeList querySelectorAll([Atomic] DOMString selectors);
+ [RaisesException] Element querySelector(DOMString selectors);
+ [RaisesException] NodeList querySelectorAll(DOMString selectors);
// WebKit extension, pending specification.
[RaisesException] boolean webkitMatchesSelector([Default=Undefined] optional DOMString selectors);
Modified: trunk/Source/WebCore/dom/Node.idl (152612 => 152613)
--- trunk/Source/WebCore/dom/Node.idl 2013-07-14 06:03:05 UTC (rev 152612)
+++ trunk/Source/WebCore/dom/Node.idl 2013-07-14 06:12:03 UTC (rev 152613)
@@ -126,10 +126,10 @@
#if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP
#if !defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C
- void addEventListener([Atomic] DOMString type,
+ void addEventListener(DOMString type,
EventListener listener,
optional boolean useCapture);
- void removeEventListener([Atomic] DOMString type,
+ void removeEventListener(DOMString type,
EventListener listener,
optional boolean useCapture);
[RaisesException] boolean dispatchEvent(Event event);