Remove JSInlineGetOwnPropertySlot attribute as it is no longer necessary
authoroliver@apple.com <oliver@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 18 Dec 2013 18:26:09 +0000 (18:26 +0000)
committeroliver@apple.com <oliver@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 18 Dec 2013 18:26:09 +0000 (18:26 +0000)
https://bugs.webkit.org/show_bug.cgi?id=125875

Reviewed by Brady Eidson.

Tested this on dromaeo and acid3 (the original reason for this attribute)
and it no longer provided any benefit. This makes it easier to reason about
creation of getOwnPropertySlot during binding generation.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bindings/scripts/IDLAttributes.txt:
* dom/Document.idl:
* dom/Element.idl:
* dom/Node.idl:

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

Source/WebCore/ChangeLog
Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
Source/WebCore/bindings/scripts/IDLAttributes.txt
Source/WebCore/dom/Document.idl
Source/WebCore/dom/Element.idl
Source/WebCore/dom/Node.idl

index c223383..f03b8ec 100644 (file)
@@ -1,3 +1,22 @@
+2013-12-17  Oliver Hunt  <oliver@apple.com>
+
+        Remove JSInlineGetOwnPropertySlot attribute as it is no longer necessary
+        https://bugs.webkit.org/show_bug.cgi?id=125875
+
+        Reviewed by Brady Eidson.
+
+        Tested this on dromaeo and acid3 (the original reason for this attribute)
+        and it no longer provided any benefit. This makes it easier to reason about
+        creation of getOwnPropertySlot during binding generation.
+
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (GenerateHeader):
+        (GenerateImplementation):
+        * bindings/scripts/IDLAttributes.txt:
+        * dom/Document.idl:
+        * dom/Element.idl:
+        * dom/Node.idl:
+
 2013-12-18  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
 
         Fix ASSERTION FAILED in WebCore::SVGLengthContext::determineViewport
index b479dc3..ee45158 100644 (file)
@@ -588,10 +588,6 @@ sub GenerateHeader
         $headerIncludes{"<runtime/CallData.h>"} = 1;
     }
 
-    if ($interface->extendedAttributes->{"JSInlineGetOwnPropertySlot"}) {
-        $headerIncludes{"<runtime/Lookup.h>"} = 1;
-    }
-
     if ($hasParent && $interface->extendedAttributes->{"JSGenerateToNativeObject"}) {
         $headerIncludes{"$interfaceName.h"} = 1;
     }
@@ -913,15 +909,6 @@ sub GenerateHeader
 
     push(@headerContent, "};\n\n");
 
-    if ($interface->extendedAttributes->{"JSInlineGetOwnPropertySlot"} && !$interface->extendedAttributes->{"CustomGetOwnPropertySlot"}) {
-        push(@headerContent, "ALWAYS_INLINE bool ${className}::getOwnPropertySlot(JSC::JSObject* object, JSC::ExecState* exec, JSC::PropertyName propertyName, JSC::PropertySlot& slot)\n");
-        push(@headerContent, "{\n");
-        push(@headerContent, "    ${className}* thisObject = JSC::jsCast<${className}*>(object);\n");
-        push(@headerContent, "    ASSERT_GC_OBJECT_INHERITS(thisObject, info());\n");
-        push(@headerContent, GenerateGetOwnPropertySlotBody($interface, $interfaceName, $className, $numAttributes > 0, 1));
-        push(@headerContent, "}\n\n");
-    }
-
     if (!$hasParent ||
         GetGenerateIsReachable($interface) ||
         GetCustomIsReachable($interface) ||
@@ -1797,14 +1784,12 @@ sub GenerateImplementation
     # Attributes
     if ($hasGetter) {
         if (!$interface->extendedAttributes->{"CustomGetOwnPropertySlot"}) {
-            if (!$interface->extendedAttributes->{"JSInlineGetOwnPropertySlot"}) {
-                push(@implContent, "bool ${className}::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot& slot)\n");
-                push(@implContent, "{\n");
-                push(@implContent, "    ${className}* thisObject = jsCast<${className}*>(object);\n");
-                push(@implContent, "    ASSERT_GC_OBJECT_INHERITS(thisObject, info());\n");
-                push(@implContent, GenerateGetOwnPropertySlotBody($interface, $interfaceName, $className, $numAttributes > 0, 0));
-                push(@implContent, "}\n\n");
-            }
+            push(@implContent, "bool ${className}::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot& slot)\n");
+            push(@implContent, "{\n");
+            push(@implContent, "    ${className}* thisObject = jsCast<${className}*>(object);\n");
+            push(@implContent, "    ASSERT_GC_OBJECT_INHERITS(thisObject, info());\n");
+            push(@implContent, GenerateGetOwnPropertySlotBody($interface, $interfaceName, $className, $numAttributes > 0, 0));
+            push(@implContent, "}\n\n");
         }
 
         if ($indexedGetterFunction || $namedGetterFunction
index 59171f3..e4c292b 100644 (file)
@@ -78,7 +78,6 @@ JSCustomPushEventHandlerScope
 JSCustomToNativeObject
 JSGenerateToJSObject
 JSGenerateToNativeObject
-JSInlineGetOwnPropertySlot
 JSLegacyParent=*
 JSNoStaticTables
 JSWindowEventListener
index a1a07f7..b0d8d2f 100644 (file)
@@ -21,7 +21,6 @@
 [
     CustomToJSObject,
     JSGenerateToNativeObject,
-    JSInlineGetOwnPropertySlot,
 ] interface Document : Node {
 
     // DOM Level 1 Core
index 475435a..6e79054 100644 (file)
@@ -20,7 +20,6 @@
 
 [
     JSGenerateToNativeObject,
-    JSInlineGetOwnPropertySlot,
 ] interface Element : Node {
 
     // DOM Level 1 Core
index d49f328..12b3045 100644 (file)
@@ -26,7 +26,6 @@
     CustomToJSObject,
     EventTarget,
     JSGenerateToNativeObject,
-    JSInlineGetOwnPropertySlot,
     ObjCPolymorphic,
 ] interface Node
 #if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C