[V8] Added V8CustomIndexedGetter to IDLs that correspond to existing custom indexedPr...
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 1 Mar 2013 06:24:16 +0000 (06:24 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 1 Mar 2013 06:24:16 +0000 (06:24 +0000)
https://bugs.webkit.org/show_bug.cgi?id=110852

Patch by Koji Hara <kojih@chromium.org> on 2013-02-28
Reviewed by Kentaro Hara.

Add V8CustomIndexedGetter attribute that indicates the interface have custom implementation of a getter of indexed properties.
(Also added to the wiki)
https://trac.webkit.org/wiki/WebKitIDL#V8CustomIndexedGetter
Add V8CustomIndexedGetter to IDLs that correspond to existing custom indexedPropertyGetter.
We want to clean up CodeGeneratorV8.pm.
The problem is that all implementations of indexed properties and named properties are currently delegated to custom bindings.
We want to auto-generate as much code as possible.
As a starting point, this commit assures a interface has [V8CustomIndexedGetter] ==> there's custom implementation of indexed getter.

No test. Simple refactoring.

* bindings/scripts/IDLAttributes.txt: Add V8CustomIndexedGetter attribute.
* dom/NamedNodeMap.idl: Add V8CustomIndexedGetter attribute.
* html/HTMLAppletElement.idl: Add V8CustomIndexedGetter attribute.
* html/HTMLEmbedElement.idl: Add V8CustomIndexedGetter attribute.
* html/HTMLFormElement.idl: Add V8CustomIndexedGetter attribute.
* html/HTMLObjectElement.idl: Add V8CustomIndexedGetter attribute.
* html/HTMLOptionsCollection.idl: Add V8CustomIndexedGetter attribute.
* html/HTMLSelectElement.idl: Add V8CustomIndexedGetter attribute.
* page/DOMWindow.idl: Add V8CustomIndexedGetter attribute.
* storage/Storage.idl: Add V8CustomIndexedGetter attribute.

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

Source/WebCore/ChangeLog
Source/WebCore/bindings/scripts/IDLAttributes.txt
Source/WebCore/dom/NamedNodeMap.idl
Source/WebCore/html/HTMLAppletElement.idl
Source/WebCore/html/HTMLEmbedElement.idl
Source/WebCore/html/HTMLFormElement.idl
Source/WebCore/html/HTMLObjectElement.idl
Source/WebCore/html/HTMLOptionsCollection.idl
Source/WebCore/html/HTMLSelectElement.idl
Source/WebCore/page/DOMWindow.idl
Source/WebCore/storage/Storage.idl

index a082d2f..558b4f1 100644 (file)
@@ -1,3 +1,32 @@
+2013-02-28  Koji Hara  <kojih@chromium.org>
+
+        [V8] Added V8CustomIndexedGetter to IDLs that correspond to existing custom indexedPropertyGetter.
+        https://bugs.webkit.org/show_bug.cgi?id=110852
+
+        Reviewed by Kentaro Hara.
+
+        Add V8CustomIndexedGetter attribute that indicates the interface have custom implementation of a getter of indexed properties.
+        (Also added to the wiki)
+        https://trac.webkit.org/wiki/WebKitIDL#V8CustomIndexedGetter
+        Add V8CustomIndexedGetter to IDLs that correspond to existing custom indexedPropertyGetter.
+        We want to clean up CodeGeneratorV8.pm.
+        The problem is that all implementations of indexed properties and named properties are currently delegated to custom bindings.
+        We want to auto-generate as much code as possible.
+        As a starting point, this commit assures a interface has [V8CustomIndexedGetter] ==> there's custom implementation of indexed getter.
+
+        No test. Simple refactoring.
+
+        * bindings/scripts/IDLAttributes.txt: Add V8CustomIndexedGetter attribute.
+        * dom/NamedNodeMap.idl: Add V8CustomIndexedGetter attribute.
+        * html/HTMLAppletElement.idl: Add V8CustomIndexedGetter attribute.
+        * html/HTMLEmbedElement.idl: Add V8CustomIndexedGetter attribute.
+        * html/HTMLFormElement.idl: Add V8CustomIndexedGetter attribute.
+        * html/HTMLObjectElement.idl: Add V8CustomIndexedGetter attribute.
+        * html/HTMLOptionsCollection.idl: Add V8CustomIndexedGetter attribute.
+        * html/HTMLSelectElement.idl: Add V8CustomIndexedGetter attribute.
+        * page/DOMWindow.idl: Add V8CustomIndexedGetter attribute.
+        * storage/Storage.idl: Add V8CustomIndexedGetter attribute.
+
 2013-02-28  Xingnan Wang  <xingnan.wang@intel.com>
 
         Heap-use-after-free in WebCore::AudioNodeInput::updateInternalBus
index 1861118..8edac12 100644 (file)
@@ -116,6 +116,7 @@ V8CacheAttributeForGC
 V8Custom
 V8CustomConstructor
 V8CustomGetter
+V8CustomIndexedGetter
 V8CustomIsReachable
 V8CustomSetter
 V8CustomToJSObject
index f374dc2..8e04793 100644 (file)
@@ -22,6 +22,7 @@
     GenerateIsReachable=ImplElementRoot,
     IndexedGetter,
     NamedGetter,
+    V8CustomIndexedGetter,
     ImplementationLacksVTable
 ] interface NamedNodeMap {
 
index f80b11a..073cfd7 100644 (file)
@@ -21,6 +21,7 @@
 [
     CustomNamedSetter,
     JSCustomGetOwnPropertySlotAndDescriptor,
+    V8CustomIndexedGetter,
     CustomCall
 ] interface HTMLAppletElement : HTMLElement {
     [Reflect] attribute DOMString align;
index 28bcce2..43a120b 100644 (file)
@@ -22,6 +22,7 @@
     CustomNamedSetter,
     JSCustomGetOwnPropertySlotAndDescriptor,
     CustomCall,
+    V8CustomIndexedGetter,
     V8SkipVTableValidation
 ] interface HTMLEmbedElement : HTMLElement {
 attribute [Reflect] DOMString align;
index 8ad6c27..c57d859 100644 (file)
@@ -20,6 +20,7 @@
 
 [
     IndexedGetter,
+    V8CustomIndexedGetter,
     CustomNamedGetter
 ] interface HTMLFormElement : HTMLElement {
     [Reflect=accept_charset] attribute DOMString acceptCharset;
index c3c9cad..5ce02fb 100644 (file)
@@ -21,6 +21,7 @@
 [
     CustomNamedSetter,
     JSCustomGetOwnPropertySlotAndDescriptor,
+    V8CustomIndexedGetter,
     CustomCall
 ] interface HTMLObjectElement : HTMLElement {
     readonly attribute HTMLFormElement form;
index 74fb710..b240f24 100644 (file)
@@ -23,6 +23,7 @@
     CustomIndexedSetter,
     NamedGetter,
     GenerateIsReachable=ImplOwnerNodeRoot,
+    V8CustomIndexedGetter,
     V8DependentLifetime,
 ] interface HTMLOptionsCollection : HTMLCollection {
     attribute long selectedIndex;
index 3d06bc9..74164a5 100644 (file)
@@ -21,6 +21,7 @@
 [
     IndexedGetter,
     CustomIndexedSetter,
+    V8CustomIndexedGetter,
     V8SkipVTableValidation
 ] interface HTMLSelectElement : HTMLElement {
     attribute [Reflect] boolean autofocus;
index 7e2bed0..154e444 100644 (file)
@@ -40,6 +40,7 @@
     JSLegacyParent=JSDOMWindowBase,
     V8CustomToJSObject,
     V8NoWrapperCache,
+    V8CustomIndexedGetter,
     InterfaceName=Window
 ] interface DOMWindow {
     // DOM Level 0
index 58b0e2c..98c3b42 100644 (file)
@@ -28,6 +28,7 @@
     JSGenerateIsReachable=ImplFrame,
     CustomDeleteProperty,
     CustomEnumerateProperty,
+    V8CustomIndexedGetter,
     CustomNamedSetter,
 ] interface Storage {
     [NotEnumerable] readonly attribute unsigned long length getter raises(DOMException);