Changeset 151499 in webkit
- Timestamp:
- Jun 12, 2013 7:41:19 AM (11 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 58 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r151495 r151499 1 2013-06-12 Christophe Dumez <ch.dumez@sisa.samsung.com> 2 3 Support latest Web IDL indexed property getters 4 https://bugs.webkit.org/show_bug.cgi?id=117507 5 6 Reviewed by Kentaro Hara. 7 8 Support latest Web IDL indexed property getters: 9 http://www.w3.org/TR/WebIDL/#dfn-support-indexed-properties 10 11 Drop support for outdated [IndexedGetter] and [NumericIndexedGetter] 12 IDL extended attributes. Since the new getter format specifies the 13 return type, the bindings generator is now smart enough to know if 14 the indexed getter is numeric or not on its own. 15 16 Based on Blink r149564 by <kojih@chromium.org>. 17 18 No new tests, no behavior change. 19 20 * Modules/filesystem/EntryArray.idl: 21 * Modules/filesystem/EntryArraySync.idl: 22 * Modules/gamepad/GamepadList.idl: 23 * Modules/mediasource/SourceBufferList.idl: 24 * Modules/speech/SpeechGrammarList.idl: 25 * Modules/speech/SpeechRecognitionResult.idl: 26 * Modules/speech/SpeechRecognitionResultList.idl: 27 * bindings/scripts/CodeGenerator.pm: 28 (IsNumericType): 29 * bindings/scripts/CodeGeneratorJS.pm: 30 (GenerateGetOwnPropertySlotBody): 31 (GenerateGetOwnPropertyDescriptorBody): 32 (GetIndexedGetterFunction): 33 (GenerateHeader): 34 (GenerateImplementation): 35 * bindings/scripts/IDLAttributes.txt: 36 * bindings/scripts/test/TestEventTarget.idl: 37 * bindings/scripts/test/TestTypedArray.idl: 38 * css/CSSRuleList.idl: 39 * css/CSSStyleDeclaration.idl: 40 * css/CSSValueList.idl: 41 * css/MediaList.idl: 42 * css/StyleSheetList.idl: 43 * css/WebKitCSSFilterValue.idl: 44 * css/WebKitCSSKeyframesRule.idl: 45 * css/WebKitCSSTransformValue.idl: 46 * dom/ClientRectList.idl: 47 * dom/DOMNamedFlowCollection.idl: 48 * dom/DOMStringList.idl: 49 * dom/DataTransferItemList.idl: 50 * dom/NamedNodeMap.idl: 51 * dom/NodeList.idl: 52 * dom/PropertyNodeList.idl: 53 * dom/TouchList.idl: 54 * fileapi/FileList.idl: 55 * html/DOMSettableTokenList.idl: 56 * html/DOMTokenList.idl: 57 * html/HTMLAllCollection.idl: 58 * html/HTMLCollection.idl: 59 * html/HTMLFormControlsCollection.idl: 60 * html/HTMLFormElement.idl: 61 * html/HTMLPropertiesCollection.idl: 62 * html/HTMLSelectElement.idl: 63 * html/RadioNodeList.idl: 64 * html/canvas/Float32Array.idl: 65 * html/canvas/Float64Array.idl: 66 * html/canvas/Int16Array.idl: 67 * html/canvas/Int32Array.idl: 68 * html/canvas/Int8Array.idl: 69 * html/canvas/Uint16Array.idl: 70 * html/canvas/Uint32Array.idl: 71 * html/canvas/Uint8Array.idl: 72 * html/canvas/Uint8ClampedArray.idl: 73 * html/track/AudioTrackList.idl: 74 * html/track/TextTrackCueList.idl: 75 * html/track/TextTrackList.idl: 76 * html/track/TextTrackRegionList.idl: 77 * html/track/VideoTrackList.idl: 78 * page/PerformanceEntryList.idl: 79 * page/SpeechInputResultList.idl: 80 * plugins/DOMMimeTypeArray.idl: 81 * plugins/DOMPlugin.idl: 82 * plugins/DOMPluginArray.idl: 83 1 84 2013-06-12 Christophe Dumez <ch.dumez@sisa.samsung.com> 2 85 -
trunk/Source/WebCore/Modules/filesystem/EntryArray.idl
r149796 r151499 32 32 NoInterfaceObject, 33 33 Conditional=FILE_SYSTEM, 34 IndexedGetter,35 34 JSNoStaticTables, 36 35 ImplementationLacksVTable 37 36 ] interface EntryArray { 38 37 readonly attribute unsigned long length; 39 Entry item([IsIndex] unsigned long index);38 getter Entry item([IsIndex] unsigned long index); 40 39 }; -
trunk/Source/WebCore/Modules/filesystem/EntryArraySync.idl
r149796 r151499 32 32 NoInterfaceObject, 33 33 Conditional=FILE_SYSTEM, 34 IndexedGetter,35 34 JSNoStaticTables, 36 35 ImplementationLacksVTable 37 36 ] interface EntryArraySync { 38 37 readonly attribute unsigned long length; 39 EntrySync item([IsIndex] unsigned long index);38 getter EntrySync item([IsIndex] unsigned long index); 40 39 }; -
trunk/Source/WebCore/Modules/gamepad/GamepadList.idl
r149796 r151499 27 27 NoInterfaceObject, 28 28 Conditional=GAMEPAD, 29 IndexedGetter,30 29 ImplementationLacksVTable 31 30 ] interface GamepadList { 32 31 readonly attribute unsigned long length; 33 Gamepad item([Default=Undefined] optional unsigned long index);32 getter Gamepad item([Default=Undefined] optional unsigned long index); 34 33 }; 35 34 -
trunk/Source/WebCore/Modules/mediasource/SourceBufferList.idl
r151495 r151499 31 31 [ 32 32 Conditional=MEDIA_SOURCE, 33 IndexedGetter,34 33 EventTarget, 35 34 InterfaceName=WebKitSourceBufferList 36 35 ] interface SourceBufferList { 37 36 readonly attribute unsigned long length; 38 SourceBuffer item(unsigned long index);37 getter SourceBuffer item(unsigned long index); 39 38 40 39 // EventTarget interface -
trunk/Source/WebCore/Modules/speech/SpeechGrammarList.idl
r150509 r151499 26 26 [ 27 27 Conditional=SCRIPTED_SPEECH, 28 IndexedGetter,29 28 Constructor, 30 29 ImplementationLacksVTable, … … 32 31 ] interface SpeechGrammarList { 33 32 readonly attribute unsigned long length; 34 SpeechGrammar item([IsIndex] unsigned long index);33 getter SpeechGrammar item([IsIndex] unsigned long index); 35 34 [CallWith=ScriptExecutionContext] void addFromUri(DOMString src, optional float weight); 36 35 void addFromString(DOMString string, optional float weight); -
trunk/Source/WebCore/Modules/speech/SpeechRecognitionResult.idl
r149796 r151499 27 27 NoInterfaceObject, 28 28 Conditional=SCRIPTED_SPEECH, 29 IndexedGetter,30 29 ImplementationLacksVTable 31 30 ] interface SpeechRecognitionResult { 32 31 readonly attribute unsigned long length; 33 SpeechRecognitionAlternative item([IsIndex] unsigned long index);32 getter SpeechRecognitionAlternative item([IsIndex] unsigned long index); 34 33 readonly attribute boolean isFinal; 35 34 }; -
trunk/Source/WebCore/Modules/speech/SpeechRecognitionResultList.idl
r149796 r151499 27 27 NoInterfaceObject, 28 28 Conditional=SCRIPTED_SPEECH, 29 IndexedGetter,30 29 ImplementationLacksVTable 31 30 ] interface SpeechRecognitionResultList { 32 31 readonly attribute unsigned long length; 33 SpeechRecognitionResult item([IsIndex] unsigned long index);32 getter SpeechRecognitionResult item([IsIndex] unsigned long index); 34 33 }; -
trunk/Source/WebCore/bindings/scripts/CodeGenerator.pm
r151283 r151499 49 49 "unsigned int" => 1, "unsigned short" => 1, 50 50 "unsigned long" => 1, "unsigned long long" => 1, 51 "float" => 1, "double" => 1); 51 "float" => 1, "double" => 1, "byte" => 1, 52 "octet" => 1); 52 53 53 54 my %primitiveTypeHash = ( "boolean" => 1, "void" => 1, "Date" => 1); … … 349 350 } 350 351 352 sub IsNumericType 353 { 354 my $object = shift; 355 my $type = shift; 356 357 return 1 if $numericTypeHash{$type}; 358 return 0; 359 } 360 351 361 sub IsPrimitiveType 352 362 { -
trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
r151495 r151499 354 354 my $namespaceMaybe = ($inlined ? "JSC::" : ""); 355 355 my $namedGetterFunction = GetNamedGetterFunction($interface); 356 my $indexedGetterFunction = GetIndexedGetterFunction($interface); 357 my $hasNumericIndexedGetter = $indexedGetterFunction ? $codeGenerator->IsNumericType($indexedGetterFunction->signature->type) : 0; 356 358 357 359 my @getOwnPropertySlotImpl = (); … … 364 366 365 367 my $manualLookupGetterGeneration = sub { 366 my $requiresManualLookup = $interface->extendedAttributes->{"IndexedGetter"}|| $namedGetterFunction;368 my $requiresManualLookup = ($indexedGetterFunction && !$hasNumericIndexedGetter) || $namedGetterFunction; 367 369 if ($requiresManualLookup) { 368 370 push(@getOwnPropertySlotImpl, " const ${namespaceMaybe}HashEntry* entry = getStaticValueSlotEntryWithoutCaching<$className>(exec, propertyName);\n"); … … 378 380 } 379 381 380 if ($in terface->extendedAttributes->{"IndexedGetter"} || $interface->extendedAttributes->{"NumericIndexedGetter"}) {382 if ($indexedGetterFunction) { 381 383 push(@getOwnPropertySlotImpl, " unsigned index = propertyName.asIndex();\n"); 382 384 … … 388 390 push(@getOwnPropertySlotImpl, " if (index != PropertyName::NotAnIndex && index < static_cast<$interfaceName*>(thisObject->impl())->length()) {\n"); 389 391 } 390 if ($ interface->extendedAttributes->{"NumericIndexedGetter"}) {392 if ($hasNumericIndexedGetter) { 391 393 push(@getOwnPropertySlotImpl, " slot.setValue(thisObject->getByIndex(exec, index));\n"); 392 394 } else { … … 438 440 my $namespaceMaybe = ($inlined ? "JSC::" : ""); 439 441 my $namedGetterFunction = GetNamedGetterFunction($interface); 442 my $indexedGetterFunction = GetIndexedGetterFunction($interface); 443 my $hasNumericIndexedGetter = $indexedGetterFunction ? $codeGenerator->IsNumericType($indexedGetterFunction->signature->type) : 0; 444 440 445 441 446 my @getOwnPropertyDescriptorImpl = (); … … 457 462 458 463 my $manualLookupGetterGeneration = sub { 459 my $requiresManualLookup = $interface->extendedAttributes->{"IndexedGetter"}|| $namedGetterFunction;464 my $requiresManualLookup = ($indexedGetterFunction && !$hasNumericIndexedGetter) || $namedGetterFunction; 460 465 if ($requiresManualLookup) { 461 466 push(@getOwnPropertyDescriptorImpl, " const ${namespaceMaybe}HashEntry* entry = ${className}Table.entry(exec, propertyName);\n"); … … 473 478 } 474 479 475 if ($in terface->extendedAttributes->{"IndexedGetter"} || $interface->extendedAttributes->{"NumericIndexedGetter"}) {480 if ($indexedGetterFunction) { 476 481 push(@getOwnPropertyDescriptorImpl, " unsigned index = propertyName.asIndex();\n"); 477 482 push(@getOwnPropertyDescriptorImpl, " if (index != PropertyName::NotAnIndex && index < static_cast<$interfaceName*>(thisObject->impl())->length()) {\n"); 478 if ($ interface->extendedAttributes->{"NumericIndexedGetter"}) {483 if ($hasNumericIndexedGetter) { 479 484 # Assume that if there's a setter, the index will be writable 480 485 if ($interface->extendedAttributes->{"CustomIndexedSetter"}) { … … 631 636 632 637 return 0; 638 } 639 640 sub GetIndexedGetterFunction 641 { 642 my $interface = shift; 643 return GetSpecialAccessorFunctionForType($interface, "getter", "unsigned long", 1); 633 644 } 634 645 … … 774 785 775 786 my $namedGetterFunction = GetNamedGetterFunction($interface); 787 my $indexedGetterFunction = GetIndexedGetterFunction($interface); 788 my $hasNumericIndexedGetter = $indexedGetterFunction ? $codeGenerator->IsNumericType($indexedGetterFunction->signature->type) : 0; 776 789 777 790 my $hasImpureNamedGetter = … … 781 794 782 795 my $hasComplexGetter = 783 $interface->extendedAttributes->{"IndexedGetter"} 784 || $interface->extendedAttributes->{"NumericIndexedGetter"} 796 $indexedGetterFunction 785 797 || $interface->extendedAttributes->{"JSCustomGetOwnPropertySlotAndDescriptor"} 786 798 || $hasImpureNamedGetter; … … 866 878 867 879 # Custom getOwnPropertyNames function 868 if ($interface->extendedAttributes->{"CustomEnumerateProperty"} || $in terface->extendedAttributes->{"IndexedGetter"} || $interface->extendedAttributes->{"NumericIndexedGetter"}) {880 if ($interface->extendedAttributes->{"CustomEnumerateProperty"} || $indexedGetterFunction) { 869 881 push(@headerContent, " static void getOwnPropertyNames(JSC::JSObject*, JSC::ExecState*, JSC::PropertyNameArray&, JSC::EnumerationMode mode = JSC::ExcludeDontEnumProperties);\n"); 870 882 $structureFlags{"JSC::OverridesGetPropertyNames"} = 1; … … 1001 1013 1002 1014 # Index getter 1003 if ($interface->extendedAttributes->{"IndexedGetter"}) { 1004 push(@headerContent, " static JSC::JSValue indexGetter(JSC::ExecState*, JSC::JSValue, unsigned);\n"); 1005 } 1006 if ($interface->extendedAttributes->{"NumericIndexedGetter"}) { 1007 push(@headerContent, " JSC::JSValue getByIndex(JSC::ExecState*, unsigned index);\n"); 1015 if ($indexedGetterFunction) { 1016 if ($hasNumericIndexedGetter) { 1017 push(@headerContent, " JSC::JSValue getByIndex(JSC::ExecState*, unsigned index);\n"); 1018 } else { 1019 push(@headerContent, " static JSC::JSValue indexGetter(JSC::ExecState*, JSC::JSValue, unsigned);\n"); 1020 } 1008 1021 } 1009 1022 … … 1589 1602 my $needsMarkChildren = $interface->extendedAttributes->{"JSCustomMarkFunction"} || $interface->extendedAttributes->{"EventTarget"} || $interface->name eq "EventTarget"; 1590 1603 1604 my $namedGetterFunction = GetNamedGetterFunction($interface); 1605 my $indexedGetterFunction = GetIndexedGetterFunction($interface); 1606 my $hasNumericIndexedGetter = $indexedGetterFunction ? $codeGenerator->IsNumericType($indexedGetterFunction->signature->type) : 0; 1607 1591 1608 # - Add default header template 1592 1609 push(@implContentHeader, GenerateImplementationContentHeader($interface)); 1593 1610 1594 1611 $implIncludes{"<wtf/GetPtr.h>"} = 1; 1595 $implIncludes{"<runtime/PropertyNameArray.h>"} = 1 if $in terface->extendedAttributes->{"IndexedGetter"} || $interface->extendedAttributes->{"NumericIndexedGetter"};1612 $implIncludes{"<runtime/PropertyNameArray.h>"} = 1 if $indexedGetterFunction; 1596 1613 1597 1614 AddIncludesForTypeInImpl($interfaceName); … … 1606 1623 my $numConstants = @{$interface->constants}; 1607 1624 my $numFunctions = @{$interface->functions}; 1608 1609 my $namedGetterFunction = GetNamedGetterFunction($interface);1610 1625 1611 1626 # - Add all constants … … 1920 1935 my $hasGetter = $numAttributes > 0 1921 1936 || !$interface->extendedAttributes->{"NoInterfaceObject"} 1922 || $interface->extendedAttributes->{"IndexedGetter"} 1923 || $interface->extendedAttributes->{"NumericIndexedGetter"} 1937 || $indexedGetterFunction 1924 1938 || $interface->extendedAttributes->{"JSCustomGetOwnPropertySlotAndDescriptor"} 1925 1939 || $interface->extendedAttributes->{"CustomGetOwnPropertySlot"} … … 1944 1958 } 1945 1959 1946 if ($in terface->extendedAttributes->{"IndexedGetter"} || $interface->extendedAttributes->{"NumericIndexedGetter"}1947 || $ namedGetterFunction || $interface->extendedAttributes->{"CustomNamedGetter"}1960 if ($indexedGetterFunction || $namedGetterFunction 1961 || $interface->extendedAttributes->{"CustomNamedGetter"} 1948 1962 || $interface->extendedAttributes->{"JSCustomGetOwnPropertySlotAndDescriptor"}) { 1949 1963 push(@implContent, "bool ${className}::getOwnPropertySlotByIndex(JSCell* cell, ExecState* exec, unsigned index, PropertySlot& slot)\n"); … … 1963 1977 }; 1964 1978 1965 if ($in terface->extendedAttributes->{"IndexedGetter"} || $interface->extendedAttributes->{"NumericIndexedGetter"}) {1979 if ($indexedGetterFunction) { 1966 1980 if (IndexGetterReturnsStrings($interfaceName)) { 1967 1981 push(@implContent, " if (index <= MAX_ARRAY_INDEX) {\n"); … … 1969 1983 push(@implContent, " if (index < static_cast<$interfaceName*>(thisObject->impl())->length()) {\n"); 1970 1984 } 1971 if ($ interface->extendedAttributes->{"NumericIndexedGetter"}) {1985 if ($hasNumericIndexedGetter) { 1972 1986 push(@implContent, " slot.setValue(thisObject->getByIndex(exec, index));\n"); 1973 1987 } else { … … 2426 2440 } 2427 2441 2428 if ( ($interface->extendedAttributes->{"IndexedGetter"} || $interface->extendedAttributes->{"NumericIndexedGetter"})&& !$interface->extendedAttributes->{"CustomEnumerateProperty"}) {2442 if ($indexedGetterFunction && !$interface->extendedAttributes->{"CustomEnumerateProperty"}) { 2429 2443 push(@implContent, "void ${className}::getOwnPropertyNames(JSObject* object, ExecState* exec, PropertyNameArray& propertyNames, EnumerationMode mode)\n"); 2430 2444 push(@implContent, "{\n"); 2431 2445 push(@implContent, " ${className}* thisObject = jsCast<${className}*>(object);\n"); 2432 2446 push(@implContent, " ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);\n"); 2433 if ($interface->extendedAttributes->{"IndexedGetter"} || $interface->extendedAttributes->{"NumericIndexedGetter"}) { 2434 push(@implContent, " for (unsigned i = 0; i < static_cast<${interfaceName}*>(thisObject->impl())->length(); ++i)\n"); 2435 push(@implContent, " propertyNames.add(Identifier::from(exec, i));\n"); 2436 } 2447 push(@implContent, " for (unsigned i = 0; i < static_cast<${interfaceName}*>(thisObject->impl())->length(); ++i)\n"); 2448 push(@implContent, " propertyNames.add(Identifier::from(exec, i));\n"); 2437 2449 push(@implContent, " Base::getOwnPropertyNames(thisObject, exec, propertyNames, mode);\n"); 2438 2450 push(@implContent, "}\n\n"); … … 2630 2642 } 2631 2643 2632 if ($in terface->extendedAttributes->{"IndexedGetter"}) {2644 if ($indexedGetterFunction && !$hasNumericIndexedGetter) { 2633 2645 push(@implContent, "\nJSValue ${className}::indexGetter(ExecState* exec, JSValue slotBase, unsigned index)\n"); 2634 2646 push(@implContent, "{\n"); … … 2648 2660 } 2649 2661 2650 if ($ interface->extendedAttributes->{"NumericIndexedGetter"}) {2662 if ($hasNumericIndexedGetter) { 2651 2663 push(@implContent, "\nJSValue ${className}::getByIndex(ExecState*, unsigned index)\n"); 2652 2664 push(@implContent, "{\n"); -
trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt
r151495 r151499 64 64 ImplementationNamespace=* 65 65 ImplementedAs=* 66 IndexedGetter67 66 InitializedByEventConstructor 68 67 InterfaceName=* … … 88 87 NoInterfaceObject 89 88 NotEnumerable 90 NumericIndexedGetter91 89 ObjCCustomImplementation 92 90 ObjCLegacyUnnamedParameters -
trunk/Source/WebCore/bindings/scripts/test/TestEventTarget.idl
r151434 r151499 29 29 [ 30 30 EventTarget, 31 IndexedGetter,32 31 MasqueradesAsUndefined 33 32 ] interface TestEventTarget { 34 33 35 Node item([IsIndex] unsigned long index);34 getter Node item([IsIndex] unsigned long index); 36 35 getter Node (DOMString name); 37 36 -
trunk/Source/WebCore/bindings/scripts/test/TestTypedArray.idl
r150292 r151499 27 27 [ 28 28 ConstructorTemplate=TypedArray, 29 NumericIndexedGetter,30 29 CustomIndexedSetter, 31 30 JSGenerateToNativeObject, … … 37 36 Int32Array foo(Float32Array array); 38 37 void set(); 38 39 getter double (unsigned long index); 39 40 }; -
trunk/Source/WebCore/css/CSSRuleList.idl
r149368 r151499 27 27 [ 28 28 CustomIsReachable, 29 IndexedGetter,30 29 SkipVTableValidation 31 30 ] interface CSSRuleList { 32 31 readonly attribute unsigned long length; 33 CSSRuleitem([Default=Undefined] optional unsigned long index);32 getter CSSRule item([Default=Undefined] optional unsigned long index); 34 33 }; 35 34 -
trunk/Source/WebCore/css/CSSStyleDeclaration.idl
r151336 r151499 26 26 JSCustomGetOwnPropertySlotAndDescriptor, 27 27 CustomNamedSetter, 28 IndexedGetter,29 28 CustomEnumerateProperty, 30 29 SkipVTableValidation … … 41 40 42 41 readonly attribute unsigned long length; 43 DOMString item([Default=Undefined] optional unsigned long index);42 getter DOMString item([Default=Undefined] optional unsigned long index); 44 43 readonly attribute CSSRule parentRule; 45 44 -
trunk/Source/WebCore/css/CSSValueList.idl
r149368 r151499 26 26 // Introduced in DOM Level 2: 27 27 [ 28 IndexedGetter,29 28 ImplementationLacksVTable 30 29 ] interface CSSValueList : CSSValue { 31 30 readonly attribute unsigned long length; 32 CSSValue item([Default=Undefined] optional unsigned long index);31 getter CSSValue item([Default=Undefined] optional unsigned long index); 33 32 }; 34 33 -
trunk/Source/WebCore/css/MediaList.idl
r151336 r151499 28 28 JSCustomHeader, 29 29 GenerateIsReachable, 30 IndexedGetter,31 30 ImplementationLacksVTable 32 31 ] interface MediaList { … … 35 34 readonly attribute unsigned long length; 36 35 37 [TreatReturnedNullStringAs=Null] DOMString item([Default=Undefined] optional unsigned long index);36 [TreatReturnedNullStringAs=Null] getter DOMString item([Default=Undefined] optional unsigned long index); 38 37 [RaisesException] void deleteMedium([Default=Undefined] optional DOMString oldMedium); 39 38 [RaisesException] void appendMedium([Default=Undefined] optional DOMString newMedium); -
trunk/Source/WebCore/css/StyleSheetList.idl
r151434 r151499 22 22 [ 23 23 GenerateIsReachable=ImplDocument, 24 IndexedGetter,25 24 ImplementationLacksVTable 26 25 ] interface StyleSheetList { 27 26 readonly attribute unsigned long length; 28 StyleSheet item([Default=Undefined] optional unsigned long index);27 getter StyleSheet item([Default=Undefined] optional unsigned long index); 29 28 getter CSSStyleSheet (DOMString name); 30 29 }; -
trunk/Source/WebCore/css/WebKitCSSFilterValue.idl
r141034 r151499 25 25 26 26 [ 27 Conditional=CSS_FILTERS, 28 IndexedGetter, 29 DoNotCheckConstants, 27 Conditional=CSS_FILTERS, 28 DoNotCheckConstants, 30 29 ImplementationLacksVTable 31 30 ] interface WebKitCSSFilterValue : CSSValueList { … … 50 49 51 50 readonly attribute unsigned short operationType; 51 52 getter CSSValue ([Default=Undefined] optional unsigned long index); 52 53 }; -
trunk/Source/WebCore/css/WebKitCSSKeyframesRule.idl
r149368 r151499 28 28 29 29 // Introduced in DOM Level ?: 30 [ 31 IndexedGetter 32 ] interface WebKitCSSKeyframesRule : CSSRule { 30 interface WebKitCSSKeyframesRule : CSSRule { 33 31 34 32 [TreatReturnedNullStringAs=Null, TreatNullAs=NullString] attribute DOMString name; … … 38 36 void deleteRule([Default=Undefined] optional DOMString key); 39 37 WebKitCSSKeyframeRule findRule([Default=Undefined] optional DOMString key); 38 39 getter WebKitCSSKeyframeRule (unsigned long index); 40 40 }; 41 41 -
trunk/Source/WebCore/css/WebKitCSSTransformValue.idl
r141034 r151499 28 28 29 29 [ 30 IndexedGetter, 31 DoNotCheckConstants, 30 DoNotCheckConstants, 32 31 ImplementationLacksVTable 33 32 ] interface WebKitCSSTransformValue : CSSValueList { … … 58 57 59 58 readonly attribute unsigned short operationType; 59 60 getter CSSValue ([Default=Undefined] optional unsigned long index); 60 61 }; 61 62 -
trunk/Source/WebCore/dom/ClientRectList.idl
r149368 r151499 26 26 27 27 [ 28 IndexedGetter,29 28 ImplementationLacksVTable 30 29 ] interface ClientRectList { 31 30 readonly attribute unsigned long length; 32 ClientRect item([IsIndex, Default=Undefined] optional unsigned long index);31 getter ClientRect item([IsIndex, Default=Undefined] optional unsigned long index); 33 32 // FIXME: Fix list behavior to allow custom exceptions to be thrown. 34 33 }; -
trunk/Source/WebCore/dom/DOMNamedFlowCollection.idl
r151434 r151499 33 33 InterfaceName=WebKitNamedFlowCollection, 34 34 JSGenerateToJSObject, 35 IndexedGetter,36 35 ImplementationLacksVTable 37 36 ] interface DOMNamedFlowCollection { 38 37 readonly attribute unsigned long length; 39 WebKitNamedFlow item(unsigned long index);38 getter WebKitNamedFlow item(unsigned long index); 40 39 getter WebKitNamedFlow namedItem(DOMString name); 41 40 }; -
trunk/Source/WebCore/dom/DOMStringList.idl
r149368 r151499 25 25 26 26 [ 27 IndexedGetter,28 27 JSCustomToNativeObject, 29 28 JSNoStaticTables, … … 31 30 ] interface DOMStringList { 32 31 readonly attribute unsigned long length; 33 [TreatReturnedNullStringAs=Null] DOMString item([Default=Undefined] optional unsigned long index);32 [TreatReturnedNullStringAs=Null] getter DOMString item([Default=Undefined] optional unsigned long index); 34 33 boolean contains([Default=Undefined] optional DOMString string); 35 34 }; -
trunk/Source/WebCore/dom/DataTransferItemList.idl
r151336 r151499 32 32 NoInterfaceObject, 33 33 Conditional=DATA_TRANSFER_ITEMS, 34 IndexedGetter,35 34 JSGenerateToNativeObject, 36 35 ImplementationLacksVTable 37 36 ] interface DataTransferItemList { 38 37 readonly attribute long length; 39 DataTransferItem item([Default=Undefined] optional unsigned long index);38 getter DataTransferItem item([Default=Undefined] optional unsigned long index); 40 39 41 40 void clear(); -
trunk/Source/WebCore/dom/NamedNodeMap.idl
r151434 r151499 21 21 [ 22 22 GenerateIsReachable=ImplElementRoot, 23 IndexedGetter,24 23 ImplementationLacksVTable 25 24 ] interface NamedNodeMap { … … 31 30 [RaisesException] Node removeNamedItem([Default=Undefined] optional DOMString name); 32 31 33 Node item([Default=Undefined] optional unsigned long index);32 getter Node item([Default=Undefined] optional unsigned long index); 34 33 35 34 readonly attribute unsigned long length; -
trunk/Source/WebCore/dom/NodeList.idl
r151434 r151499 21 21 [ 22 22 CustomIsReachable, 23 IndexedGetter,24 23 SkipVTableValidation 25 24 ] interface NodeList { 26 25 27 Node item([IsIndex,Default=Undefined] optional unsigned long index);26 getter Node item([IsIndex,Default=Undefined] optional unsigned long index); 28 27 getter (Node or unsigned long) (DOMString name); 29 28 -
trunk/Source/WebCore/dom/PropertyNodeList.idl
r149368 r151499 31 31 [ 32 32 Conditional=MICRODATA, 33 IndexedGetter,34 33 JSGenerateToJSObject 35 34 ] interface PropertyNodeList : NodeList { 36 35 37 36 sequence<MicroDataItemValue> getValues(); 38 Node item(unsigned long index);37 getter Node item(unsigned long index); 39 38 40 39 readonly attribute unsigned long length; -
trunk/Source/WebCore/dom/TouchList.idl
r149368 r151499 26 26 [ 27 27 Conditional=TOUCH_EVENTS, 28 IndexedGetter,29 28 ImplementationLacksVTable 30 29 ] interface TouchList { 31 30 readonly attribute unsigned long length; 32 31 33 Touch item(unsigned long index);32 getter Touch item(unsigned long index); 34 33 }; -
trunk/Source/WebCore/fileapi/FileList.idl
r149368 r151499 25 25 26 26 [ 27 IndexedGetter,28 27 JSNoStaticTables, 29 28 ImplementationLacksVTable 30 29 ] interface FileList { 31 30 readonly attribute unsigned long length; 32 File item(unsigned long index);31 getter File item(unsigned long index); 33 32 }; 34 33 -
trunk/Source/WebCore/html/DOMSettableTokenList.idl
r148269 r151499 24 24 25 25 [ 26 IndexedGetter,27 26 JSGenerateToJSObject, 28 27 SkipVTableValidation, 29 28 ] interface DOMSettableTokenList : DOMTokenList { 30 29 attribute DOMString value; 30 31 [TreatReturnedNullStringAs=Null] getter DOMString (unsigned long index); 31 32 }; 32 33 -
trunk/Source/WebCore/html/DOMTokenList.idl
r151336 r151499 25 25 [ 26 26 GenerateIsReachable=ImplElementRoot, 27 IndexedGetter,28 27 SkipVTableValidation 29 28 ] interface DOMTokenList { 30 29 readonly attribute unsigned long length; 31 [TreatReturnedNullStringAs=Null] DOMString item(unsigned long index);30 [TreatReturnedNullStringAs=Null] getter DOMString item(unsigned long index); 32 31 [RaisesException] boolean contains(DOMString token); 33 32 [RaisesException] void add(DOMString... tokens); -
trunk/Source/WebCore/html/HTMLAllCollection.idl
r151434 r151499 25 25 26 26 [ 27 IndexedGetter,28 27 CustomCall, 29 28 MasqueradesAsUndefined, … … 31 30 ] interface HTMLAllCollection { 32 31 readonly attribute unsigned long length; 33 [Custom] Node item([Default=Undefined] optional unsigned long index);32 [Custom] getter Node item([Default=Undefined] optional unsigned long index); 34 33 [Custom] getter Node namedItem(DOMString name); 35 34 // FIXME: This should return an HTMLAllCollection. -
trunk/Source/WebCore/html/HTMLCollection.idl
r151434 r151499 20 20 21 21 [ 22 IndexedGetter,23 22 CustomToJSObject, 24 23 GenerateIsReachable=ImplOwnerNodeRoot, … … 26 25 ] interface HTMLCollection { 27 26 readonly attribute unsigned long length; 28 Node item([Default=Undefined] optional unsigned long index);27 getter Node item([Default=Undefined] optional unsigned long index); 29 28 getter Node namedItem([Default=Undefined] optional DOMString name); 30 29 -
trunk/Source/WebCore/html/HTMLFormControlsCollection.idl
r151434 r151499 20 20 21 21 [ 22 IndexedGetter,23 22 GenerateIsReachable=ImplOwnerNodeRoot, 24 23 ] interface HTMLFormControlsCollection : HTMLCollection { 24 getter Node ([Default=Undefined] optional unsigned long index); 25 25 [Custom] getter Node namedItem([Default=Undefined] optional DOMString name); 26 26 }; -
trunk/Source/WebCore/html/HTMLFormElement.idl
r148731 r151499 20 20 21 21 [ 22 IndexedGetter,23 22 CustomNamedGetter 24 23 ] interface HTMLFormElement : HTMLElement { … … 36 35 readonly attribute long length; 37 36 37 getter Element (unsigned long index); 38 38 39 #if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT 39 40 [ImplementedAs=submitFromJavaScript] void submit(); -
trunk/Source/WebCore/html/HTMLPropertiesCollection.idl
r151434 r151499 32 32 Conditional=MICRODATA, 33 33 JSGenerateToJSObject, 34 IndexedGetter35 34 ] interface HTMLPropertiesCollection : HTMLCollection { 36 35 readonly attribute unsigned long length; 37 Node item(unsigned long index);36 getter Node item(unsigned long index); 38 37 39 38 readonly attribute DOMStringList names; -
trunk/Source/WebCore/html/HTMLSelectElement.idl
r151336 r151499 20 20 21 21 [ 22 IndexedGetter,23 22 CustomIndexedSetter, 24 23 ] interface HTMLSelectElement : HTMLElement { … … 41 40 [SetterRaisesException] attribute unsigned long length; 42 41 #endif 43 Node item([IsIndex,Default=Undefined] optional unsigned long index);42 getter Node item([IsIndex,Default=Undefined] optional unsigned long index); 44 43 Node namedItem([Default=Undefined] optional DOMString name); 45 44 [ObjCLegacyUnnamedParameters, RaisesException] void add([Default=Undefined] optional HTMLElement element, -
trunk/Source/WebCore/html/RadioNodeList.idl
r149796 r151499 27 27 NoInterfaceObject, 28 28 JSGenerateToJSObject, 29 IndexedGetter,30 29 ] interface RadioNodeList : NodeList { 31 30 attribute DOMString value; 31 32 getter Node ([IsIndex,Default=Undefined] optional unsigned long index); 32 33 }; -
trunk/Source/WebCore/html/canvas/Float32Array.idl
r151169 r151499 28 28 GlobalContext=WindowAndWorker, 29 29 ConstructorTemplate=TypedArray, 30 NumericIndexedGetter,31 30 CustomIndexedSetter, 32 31 JSGenerateToNativeObject, … … 43 42 optional long end); 44 43 44 getter float (unsigned long index); 45 45 46 // void set(Float32Array array, optional unsigned long offset); 46 47 // void set(sequence<long> array, optional unsigned long offset); -
trunk/Source/WebCore/html/canvas/Float64Array.idl
r151169 r151499 28 28 GlobalContext=WindowAndWorker, 29 29 ConstructorTemplate=TypedArray, 30 NumericIndexedGetter,31 30 CustomIndexedSetter, 32 31 JSGenerateToNativeObject, … … 43 42 optional long end); 44 43 44 getter double (unsigned long index); 45 45 46 // void set(Float64Array array, optional unsigned long offset); 46 47 // void set(sequence<long> array, optional unsigned long offset); -
trunk/Source/WebCore/html/canvas/Int16Array.idl
r151169 r151499 27 27 GlobalContext=WindowAndWorker, 28 28 ConstructorTemplate=TypedArray, 29 NumericIndexedGetter,30 29 CustomIndexedSetter, 31 30 JSGenerateToNativeObject, … … 42 41 optional long end); 43 42 43 getter short (unsigned long index); 44 44 45 // void set(Int16Array array, optional unsigned long offset); 45 46 // void set(sequence<long> array, optional unsigned long offset); -
trunk/Source/WebCore/html/canvas/Int32Array.idl
r151169 r151499 28 28 GlobalContext=WindowAndWorker, 29 29 ConstructorTemplate=TypedArray, 30 NumericIndexedGetter,31 30 CustomIndexedSetter, 32 31 JSGenerateToNativeObject, … … 43 42 optional long end); 44 43 44 getter long (unsigned long index); 45 45 46 // void set(Int32Array array, optional unsigned long offset); 46 47 // void set(sequence<long> array, optional unsigned long offset); -
trunk/Source/WebCore/html/canvas/Int8Array.idl
r151169 r151499 28 28 GlobalContext=WindowAndWorker, 29 29 ConstructorTemplate=TypedArray, 30 NumericIndexedGetter,31 30 CustomIndexedSetter, 32 31 JSGenerateToNativeObject, … … 43 42 optional long end); 44 43 44 getter byte (unsigned long index); 45 45 46 // void set(Int8Array array, optional unsigned long offset); 46 47 // void set(sequence<long> array, optional unsigned long offset); -
trunk/Source/WebCore/html/canvas/Uint16Array.idl
r151169 r151499 28 28 GlobalContext=WindowAndWorker, 29 29 ConstructorTemplate=TypedArray, 30 NumericIndexedGetter,31 30 CustomIndexedSetter, 32 31 JSGenerateToNativeObject, … … 42 41 Uint16Array subarray([Default=Undefined] optional long start, optional long end); 43 42 43 getter unsigned short (unsigned long index); 44 44 45 // void set(Uint16Array array, optional unsigned long offset); 45 46 // void set(sequence<long> array, optional unsigned long offset); -
trunk/Source/WebCore/html/canvas/Uint32Array.idl
r151169 r151499 28 28 GlobalContext=WindowAndWorker, 29 29 ConstructorTemplate=TypedArray, 30 NumericIndexedGetter,31 30 CustomIndexedSetter, 32 31 JSGenerateToNativeObject, … … 42 41 Uint32Array subarray([Default=Undefined] optional long start, optional long end); 43 42 43 getter unsigned long (unsigned long index); 44 44 45 // void set(Uint32Array array, optional unsigned long offset); 45 46 // void set(sequence<long> array, optional unsigned long offset); -
trunk/Source/WebCore/html/canvas/Uint8Array.idl
r151169 r151499 28 28 GlobalContext=WindowAndWorker, 29 29 ConstructorTemplate=TypedArray, 30 NumericIndexedGetter,31 30 CustomIndexedSetter, 32 31 JSGenerateToNativeObject, … … 42 41 Uint8Array subarray([Default=Undefined] optional long start, optional long end); 43 42 43 getter octet (unsigned long index); 44 44 45 // void set(Uint8Array array, optional unsigned long offset); 45 46 // void set(sequence<long> array, optional unsigned long offset); -
trunk/Source/WebCore/html/canvas/Uint8ClampedArray.idl
r151169 r151499 28 28 GlobalContext=WindowAndWorker, 29 29 ConstructorTemplate=TypedArray, 30 NumericIndexedGetter,31 30 CustomIndexedSetter, 32 31 JSGenerateToNativeObject, … … 42 41 Uint8ClampedArray subarray([Default=Undefined] optional long start, optional long end); 43 42 43 getter octet (unsigned long index); 44 44 45 // FIXME: Missing other setters! 45 46 // void set(Uint8ClampedArray array, optional unsigned long offset); -
trunk/Source/WebCore/html/track/AudioTrackList.idl
r151336 r151499 28 28 Conditional=VIDEO_TRACK, 29 29 GenerateIsReachable=ImplElementRoot, 30 IndexedGetter,31 30 EventTarget, 32 31 JSCustomMarkFunction 33 32 ] interface AudioTrackList { 34 33 readonly attribute unsigned long length; 35 AudioTrack item(unsigned long index);34 getter AudioTrack item(unsigned long index); 36 35 AudioTrack getTrackById(DOMString id); 37 36 -
trunk/Source/WebCore/html/track/TextTrackCueList.idl
r149368 r151499 26 26 [ 27 27 Conditional=VIDEO_TRACK, 28 IndexedGetter,29 28 ImplementationLacksVTable 30 29 ] interface TextTrackCueList { 31 30 readonly attribute unsigned long length; 32 TextTrackCue item(unsigned long index);31 getter TextTrackCue item(unsigned long index); 33 32 TextTrackCue getCueById(DOMString id); 34 33 }; -
trunk/Source/WebCore/html/track/TextTrackList.idl
r151336 r151499 27 27 Conditional=VIDEO_TRACK, 28 28 GenerateIsReachable=ImplElementRoot, 29 IndexedGetter,30 29 EventTarget, 31 30 JSCustomMarkFunction 32 31 ] interface TextTrackList { 33 32 readonly attribute unsigned long length; 34 TextTrack item(unsigned long index);33 getter TextTrack item(unsigned long index); 35 34 36 35 attribute EventListener onaddtrack; -
trunk/Source/WebCore/html/track/TextTrackRegionList.idl
r149796 r151499 27 27 NoInterfaceObject, 28 28 Conditional=VIDEO_TRACK & WEBVTT_REGIONS, 29 IndexedGetter,30 29 ImplementationLacksVTable 31 30 ] interface TextTrackRegionList { 32 31 readonly attribute unsigned long length; 33 TextTrackRegion item(unsigned long index);32 getter TextTrackRegion item(unsigned long index); 34 33 TextTrackRegion getRegionById(DOMString id); 35 34 }; -
trunk/Source/WebCore/html/track/VideoTrackList.idl
r151336 r151499 28 28 Conditional=VIDEO_TRACK, 29 29 GenerateIsReachable=ImplElementRoot, 30 IndexedGetter,31 30 EventTarget, 32 31 JSCustomMarkFunction 33 32 ] interface VideoTrackList { 34 33 readonly attribute unsigned long length; 35 VideoTrack item(unsigned long index);34 getter VideoTrack item(unsigned long index); 36 35 VideoTrack getTrackById(DOMString id); 37 36 -
trunk/Source/WebCore/page/PerformanceEntryList.idl
r151207 r151499 34 34 Conditional=WEB_TIMING, 35 35 Conditional=PERFORMANCE_TIMELINE, 36 IndexedGetter,37 36 ImplementationLacksVTable 38 37 ] interface PerformanceEntryList { 39 38 readonly attribute unsigned long length; 40 PerformanceEntry item(unsigned long index);39 getter PerformanceEntry item(unsigned long index); 41 40 }; 42 41 -
trunk/Source/WebCore/page/SpeechInputResultList.idl
r149796 r151499 26 26 [ 27 27 NoInterfaceObject, 28 IndexedGetter,29 28 Conditional=INPUT_SPEECH, 30 29 ImplementationLacksVTable 31 30 ] interface SpeechInputResultList { 32 31 readonly attribute unsigned long length; 33 SpeechInputResult item([IsIndex] unsigned long index);32 getter SpeechInputResult item([IsIndex] unsigned long index); 34 33 }; 35 34 -
trunk/Source/WebCore/plugins/DOMMimeTypeArray.idl
r151434 r151499 21 21 [ 22 22 GenerateIsReachable=ImplFrame, 23 IndexedGetter,24 23 InterfaceName=MimeTypeArray 25 24 ] interface DOMMimeTypeArray { 26 25 readonly attribute unsigned long length; 27 DOMMimeType item([Default=Undefined] optional unsigned long index);26 getter DOMMimeType item([Default=Undefined] optional unsigned long index); 28 27 getter DOMMimeType namedItem([Default=Undefined] optional DOMString name); 29 28 }; -
trunk/Source/WebCore/plugins/DOMPlugin.idl
r151434 r151499 20 20 21 21 [ 22 IndexedGetter,23 22 InterfaceName=Plugin 24 23 ] interface DOMPlugin { … … 27 26 readonly attribute DOMString description; 28 27 readonly attribute unsigned long length; 29 DOMMimeType item([Default=Undefined] optional unsigned long index);28 getter DOMMimeType item([Default=Undefined] optional unsigned long index); 30 29 getter DOMMimeType namedItem([Default=Undefined] optional DOMString name); 31 30 }; -
trunk/Source/WebCore/plugins/DOMPluginArray.idl
r151434 r151499 21 21 [ 22 22 GenerateIsReachable=ImplFrame, 23 IndexedGetter,24 23 InterfaceName=PluginArray 25 24 ] interface DOMPluginArray { 26 25 readonly attribute unsigned long length; 27 DOMPlugin item([Default=Undefined] optional unsigned long index);26 getter DOMPlugin item([Default=Undefined] optional unsigned long index); 28 27 getter DOMPlugin namedItem([Default=Undefined] optional DOMString name); 29 28 void refresh([Default=Undefined] optional boolean reload);
Note: See TracChangeset
for help on using the changeset viewer.