Diff
Modified: trunk/Source/WebCore/ChangeLog (144418 => 144419)
--- trunk/Source/WebCore/ChangeLog 2013-03-01 06:23:57 UTC (rev 144418)
+++ trunk/Source/WebCore/ChangeLog 2013-03-01 06:24:16 UTC (rev 144419)
@@ -1,3 +1,32 @@
+2013-02-28 Koji Hara <[email protected]>
+
+ [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 <[email protected]>
Heap-use-after-free in WebCore::AudioNodeInput::updateInternalBus
Modified: trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt (144418 => 144419)
--- trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt 2013-03-01 06:23:57 UTC (rev 144418)
+++ trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt 2013-03-01 06:24:16 UTC (rev 144419)
@@ -116,6 +116,7 @@
V8Custom
V8CustomConstructor
V8CustomGetter
+V8CustomIndexedGetter
V8CustomIsReachable
V8CustomSetter
V8CustomToJSObject
Modified: trunk/Source/WebCore/dom/NamedNodeMap.idl (144418 => 144419)
--- trunk/Source/WebCore/dom/NamedNodeMap.idl 2013-03-01 06:23:57 UTC (rev 144418)
+++ trunk/Source/WebCore/dom/NamedNodeMap.idl 2013-03-01 06:24:16 UTC (rev 144419)
@@ -22,6 +22,7 @@
GenerateIsReachable=ImplElementRoot,
IndexedGetter,
NamedGetter,
+ V8CustomIndexedGetter,
ImplementationLacksVTable
] interface NamedNodeMap {
Modified: trunk/Source/WebCore/html/HTMLAppletElement.idl (144418 => 144419)
--- trunk/Source/WebCore/html/HTMLAppletElement.idl 2013-03-01 06:23:57 UTC (rev 144418)
+++ trunk/Source/WebCore/html/HTMLAppletElement.idl 2013-03-01 06:24:16 UTC (rev 144419)
@@ -21,6 +21,7 @@
[
CustomNamedSetter,
JSCustomGetOwnPropertySlotAndDescriptor,
+ V8CustomIndexedGetter,
CustomCall
] interface HTMLAppletElement : HTMLElement {
[Reflect] attribute DOMString align;
Modified: trunk/Source/WebCore/html/HTMLEmbedElement.idl (144418 => 144419)
--- trunk/Source/WebCore/html/HTMLEmbedElement.idl 2013-03-01 06:23:57 UTC (rev 144418)
+++ trunk/Source/WebCore/html/HTMLEmbedElement.idl 2013-03-01 06:24:16 UTC (rev 144419)
@@ -22,6 +22,7 @@
CustomNamedSetter,
JSCustomGetOwnPropertySlotAndDescriptor,
CustomCall,
+ V8CustomIndexedGetter,
V8SkipVTableValidation
] interface HTMLEmbedElement : HTMLElement {
attribute [Reflect] DOMString align;
Modified: trunk/Source/WebCore/html/HTMLFormElement.idl (144418 => 144419)
--- trunk/Source/WebCore/html/HTMLFormElement.idl 2013-03-01 06:23:57 UTC (rev 144418)
+++ trunk/Source/WebCore/html/HTMLFormElement.idl 2013-03-01 06:24:16 UTC (rev 144419)
@@ -20,6 +20,7 @@
[
IndexedGetter,
+ V8CustomIndexedGetter,
CustomNamedGetter
] interface HTMLFormElement : HTMLElement {
[Reflect=accept_charset] attribute DOMString acceptCharset;
Modified: trunk/Source/WebCore/html/HTMLObjectElement.idl (144418 => 144419)
--- trunk/Source/WebCore/html/HTMLObjectElement.idl 2013-03-01 06:23:57 UTC (rev 144418)
+++ trunk/Source/WebCore/html/HTMLObjectElement.idl 2013-03-01 06:24:16 UTC (rev 144419)
@@ -21,6 +21,7 @@
[
CustomNamedSetter,
JSCustomGetOwnPropertySlotAndDescriptor,
+ V8CustomIndexedGetter,
CustomCall
] interface HTMLObjectElement : HTMLElement {
readonly attribute HTMLFormElement form;
Modified: trunk/Source/WebCore/html/HTMLOptionsCollection.idl (144418 => 144419)
--- trunk/Source/WebCore/html/HTMLOptionsCollection.idl 2013-03-01 06:23:57 UTC (rev 144418)
+++ trunk/Source/WebCore/html/HTMLOptionsCollection.idl 2013-03-01 06:24:16 UTC (rev 144419)
@@ -23,6 +23,7 @@
CustomIndexedSetter,
NamedGetter,
GenerateIsReachable=ImplOwnerNodeRoot,
+ V8CustomIndexedGetter,
V8DependentLifetime,
] interface HTMLOptionsCollection : HTMLCollection {
attribute long selectedIndex;
Modified: trunk/Source/WebCore/html/HTMLSelectElement.idl (144418 => 144419)
--- trunk/Source/WebCore/html/HTMLSelectElement.idl 2013-03-01 06:23:57 UTC (rev 144418)
+++ trunk/Source/WebCore/html/HTMLSelectElement.idl 2013-03-01 06:24:16 UTC (rev 144419)
@@ -21,6 +21,7 @@
[
IndexedGetter,
CustomIndexedSetter,
+ V8CustomIndexedGetter,
V8SkipVTableValidation
] interface HTMLSelectElement : HTMLElement {
attribute [Reflect] boolean autofocus;
Modified: trunk/Source/WebCore/page/DOMWindow.idl (144418 => 144419)
--- trunk/Source/WebCore/page/DOMWindow.idl 2013-03-01 06:23:57 UTC (rev 144418)
+++ trunk/Source/WebCore/page/DOMWindow.idl 2013-03-01 06:24:16 UTC (rev 144419)
@@ -40,6 +40,7 @@
JSLegacyParent=JSDOMWindowBase,
V8CustomToJSObject,
V8NoWrapperCache,
+ V8CustomIndexedGetter,
InterfaceName=Window
] interface DOMWindow {
// DOM Level 0
Modified: trunk/Source/WebCore/storage/Storage.idl (144418 => 144419)
--- trunk/Source/WebCore/storage/Storage.idl 2013-03-01 06:23:57 UTC (rev 144418)
+++ trunk/Source/WebCore/storage/Storage.idl 2013-03-01 06:24:16 UTC (rev 144419)
@@ -28,6 +28,7 @@
JSGenerateIsReachable=ImplFrame,
CustomDeleteProperty,
CustomEnumerateProperty,
+ V8CustomIndexedGetter,
CustomNamedSetter,
] interface Storage {
[NotEnumerable] readonly attribute unsigned long length getter raises(DOMException);