Changeset 151499 in webkit


Ignore:
Timestamp:
Jun 12, 2013 7:41:19 AM (11 years ago)
Author:
Christophe Dumez
Message:

Support latest Web IDL indexed property getters
https://bugs.webkit.org/show_bug.cgi?id=117507

Reviewed by Kentaro Hara.

Support latest Web IDL indexed property getters:
http://www.w3.org/TR/WebIDL/#dfn-support-indexed-properties

Drop support for outdated [IndexedGetter] and [NumericIndexedGetter]
IDL extended attributes. Since the new getter format specifies the
return type, the bindings generator is now smart enough to know if
the indexed getter is numeric or not on its own.

Based on Blink r149564 by <kojih@chromium.org>.

No new tests, no behavior change.

  • Modules/filesystem/EntryArray.idl:
  • Modules/filesystem/EntryArraySync.idl:
  • Modules/gamepad/GamepadList.idl:
  • Modules/mediasource/SourceBufferList.idl:
  • Modules/speech/SpeechGrammarList.idl:
  • Modules/speech/SpeechRecognitionResult.idl:
  • Modules/speech/SpeechRecognitionResultList.idl:
  • bindings/scripts/CodeGenerator.pm:

(IsNumericType):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateGetOwnPropertySlotBody):
(GenerateGetOwnPropertyDescriptorBody):
(GetIndexedGetterFunction):
(GenerateHeader):
(GenerateImplementation):

  • bindings/scripts/IDLAttributes.txt:
  • bindings/scripts/test/TestEventTarget.idl:
  • bindings/scripts/test/TestTypedArray.idl:
  • css/CSSRuleList.idl:
  • css/CSSStyleDeclaration.idl:
  • css/CSSValueList.idl:
  • css/MediaList.idl:
  • css/StyleSheetList.idl:
  • css/WebKitCSSFilterValue.idl:
  • css/WebKitCSSKeyframesRule.idl:
  • css/WebKitCSSTransformValue.idl:
  • dom/ClientRectList.idl:
  • dom/DOMNamedFlowCollection.idl:
  • dom/DOMStringList.idl:
  • dom/DataTransferItemList.idl:
  • dom/NamedNodeMap.idl:
  • dom/NodeList.idl:
  • dom/PropertyNodeList.idl:
  • dom/TouchList.idl:
  • fileapi/FileList.idl:
  • html/DOMSettableTokenList.idl:
  • html/DOMTokenList.idl:
  • html/HTMLAllCollection.idl:
  • html/HTMLCollection.idl:
  • html/HTMLFormControlsCollection.idl:
  • html/HTMLFormElement.idl:
  • html/HTMLPropertiesCollection.idl:
  • html/HTMLSelectElement.idl:
  • html/RadioNodeList.idl:
  • html/canvas/Float32Array.idl:
  • html/canvas/Float64Array.idl:
  • html/canvas/Int16Array.idl:
  • html/canvas/Int32Array.idl:
  • html/canvas/Int8Array.idl:
  • html/canvas/Uint16Array.idl:
  • html/canvas/Uint32Array.idl:
  • html/canvas/Uint8Array.idl:
  • html/canvas/Uint8ClampedArray.idl:
  • html/track/AudioTrackList.idl:
  • html/track/TextTrackCueList.idl:
  • html/track/TextTrackList.idl:
  • html/track/TextTrackRegionList.idl:
  • html/track/VideoTrackList.idl:
  • page/PerformanceEntryList.idl:
  • page/SpeechInputResultList.idl:
  • plugins/DOMMimeTypeArray.idl:
  • plugins/DOMPlugin.idl:
  • plugins/DOMPluginArray.idl:
Location:
trunk/Source/WebCore
Files:
58 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r151495 r151499  
     12013-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
    1842013-06-12  Christophe Dumez  <ch.dumez@sisa.samsung.com>
    285
  • trunk/Source/WebCore/Modules/filesystem/EntryArray.idl

    r149796 r151499  
    3232    NoInterfaceObject,
    3333    Conditional=FILE_SYSTEM,
    34     IndexedGetter,
    3534    JSNoStaticTables,
    3635    ImplementationLacksVTable
    3736] interface EntryArray {
    3837    readonly attribute unsigned long length;
    39     Entry item([IsIndex] unsigned long index);
     38    getter Entry item([IsIndex] unsigned long index);
    4039};
  • trunk/Source/WebCore/Modules/filesystem/EntryArraySync.idl

    r149796 r151499  
    3232    NoInterfaceObject,
    3333    Conditional=FILE_SYSTEM,
    34     IndexedGetter,
    3534    JSNoStaticTables,
    3635    ImplementationLacksVTable
    3736] interface EntryArraySync {
    3837    readonly attribute unsigned long length;
    39     EntrySync item([IsIndex] unsigned long index);
     38    getter EntrySync item([IsIndex] unsigned long index);
    4039};
  • trunk/Source/WebCore/Modules/gamepad/GamepadList.idl

    r149796 r151499  
    2727    NoInterfaceObject,
    2828    Conditional=GAMEPAD,
    29     IndexedGetter,
    3029    ImplementationLacksVTable
    3130] interface GamepadList {
    3231    readonly attribute unsigned long length;
    33     Gamepad item([Default=Undefined] optional unsigned long index);
     32    getter Gamepad item([Default=Undefined] optional unsigned long index);
    3433};
    3534
  • trunk/Source/WebCore/Modules/mediasource/SourceBufferList.idl

    r151495 r151499  
    3131[
    3232    Conditional=MEDIA_SOURCE,
    33     IndexedGetter,
    3433    EventTarget,
    3534    InterfaceName=WebKitSourceBufferList
    3635] interface SourceBufferList {
    3736    readonly attribute unsigned long length;
    38     SourceBuffer item(unsigned long index);
     37    getter SourceBuffer item(unsigned long index);
    3938
    4039    // EventTarget interface
  • trunk/Source/WebCore/Modules/speech/SpeechGrammarList.idl

    r150509 r151499  
    2626[
    2727    Conditional=SCRIPTED_SPEECH,
    28     IndexedGetter,
    2928    Constructor,
    3029    ImplementationLacksVTable,
     
    3231] interface SpeechGrammarList {
    3332    readonly attribute unsigned long length;
    34     SpeechGrammar item([IsIndex] unsigned long index);
     33    getter SpeechGrammar item([IsIndex] unsigned long index);
    3534    [CallWith=ScriptExecutionContext] void addFromUri(DOMString src, optional float weight);
    3635    void addFromString(DOMString string, optional float weight);
  • trunk/Source/WebCore/Modules/speech/SpeechRecognitionResult.idl

    r149796 r151499  
    2727    NoInterfaceObject,
    2828    Conditional=SCRIPTED_SPEECH,
    29     IndexedGetter,
    3029    ImplementationLacksVTable
    3130] interface SpeechRecognitionResult {
    3231    readonly attribute unsigned long length;
    33     SpeechRecognitionAlternative item([IsIndex] unsigned long index);
     32    getter SpeechRecognitionAlternative item([IsIndex] unsigned long index);
    3433    readonly attribute boolean isFinal;
    3534};
  • trunk/Source/WebCore/Modules/speech/SpeechRecognitionResultList.idl

    r149796 r151499  
    2727    NoInterfaceObject,
    2828    Conditional=SCRIPTED_SPEECH,
    29     IndexedGetter,
    3029    ImplementationLacksVTable
    3130] interface SpeechRecognitionResultList {
    3231    readonly attribute unsigned long length;
    33     SpeechRecognitionResult item([IsIndex] unsigned long index);
     32    getter SpeechRecognitionResult item([IsIndex] unsigned long index);
    3433};
  • trunk/Source/WebCore/bindings/scripts/CodeGenerator.pm

    r151283 r151499  
    4949                       "unsigned int" => 1, "unsigned short" => 1,
    5050                       "unsigned long" => 1, "unsigned long long" => 1,
    51                        "float" => 1, "double" => 1);
     51                       "float" => 1, "double" => 1, "byte" => 1,
     52                       "octet" => 1);
    5253
    5354my %primitiveTypeHash = ( "boolean" => 1, "void" => 1, "Date" => 1);
     
    349350}
    350351
     352sub IsNumericType
     353{
     354    my $object = shift;
     355    my $type = shift;
     356
     357    return 1 if $numericTypeHash{$type};
     358    return 0;
     359}
     360
    351361sub IsPrimitiveType
    352362{
  • trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm

    r151495 r151499  
    354354    my $namespaceMaybe = ($inlined ? "JSC::" : "");
    355355    my $namedGetterFunction = GetNamedGetterFunction($interface);
     356    my $indexedGetterFunction = GetIndexedGetterFunction($interface);
     357    my $hasNumericIndexedGetter = $indexedGetterFunction ? $codeGenerator->IsNumericType($indexedGetterFunction->signature->type) : 0;
    356358
    357359    my @getOwnPropertySlotImpl = ();
     
    364366
    365367    my $manualLookupGetterGeneration = sub {
    366         my $requiresManualLookup = $interface->extendedAttributes->{"IndexedGetter"} || $namedGetterFunction;
     368        my $requiresManualLookup = ($indexedGetterFunction && !$hasNumericIndexedGetter) || $namedGetterFunction;
    367369        if ($requiresManualLookup) {
    368370            push(@getOwnPropertySlotImpl, "    const ${namespaceMaybe}HashEntry* entry = getStaticValueSlotEntryWithoutCaching<$className>(exec, propertyName);\n");
     
    378380    }
    379381
    380     if ($interface->extendedAttributes->{"IndexedGetter"} || $interface->extendedAttributes->{"NumericIndexedGetter"}) {
     382    if ($indexedGetterFunction) {
    381383        push(@getOwnPropertySlotImpl, "    unsigned index = propertyName.asIndex();\n");
    382384
     
    388390            push(@getOwnPropertySlotImpl, "    if (index != PropertyName::NotAnIndex && index < static_cast<$interfaceName*>(thisObject->impl())->length()) {\n");
    389391        }
    390         if ($interface->extendedAttributes->{"NumericIndexedGetter"}) {
     392        if ($hasNumericIndexedGetter) {
    391393            push(@getOwnPropertySlotImpl, "        slot.setValue(thisObject->getByIndex(exec, index));\n");
    392394        } else {
     
    438440    my $namespaceMaybe = ($inlined ? "JSC::" : "");
    439441    my $namedGetterFunction = GetNamedGetterFunction($interface);
     442    my $indexedGetterFunction = GetIndexedGetterFunction($interface);
     443    my $hasNumericIndexedGetter = $indexedGetterFunction ? $codeGenerator->IsNumericType($indexedGetterFunction->signature->type) : 0;
     444
    440445   
    441446    my @getOwnPropertyDescriptorImpl = ();
     
    457462   
    458463    my $manualLookupGetterGeneration = sub {
    459         my $requiresManualLookup = $interface->extendedAttributes->{"IndexedGetter"} || $namedGetterFunction;
     464        my $requiresManualLookup = ($indexedGetterFunction && !$hasNumericIndexedGetter) || $namedGetterFunction;
    460465        if ($requiresManualLookup) {
    461466            push(@getOwnPropertyDescriptorImpl, "    const ${namespaceMaybe}HashEntry* entry = ${className}Table.entry(exec, propertyName);\n");
     
    473478    }
    474479
    475     if ($interface->extendedAttributes->{"IndexedGetter"} || $interface->extendedAttributes->{"NumericIndexedGetter"}) {
     480    if ($indexedGetterFunction) {
    476481        push(@getOwnPropertyDescriptorImpl, "    unsigned index = propertyName.asIndex();\n");
    477482        push(@getOwnPropertyDescriptorImpl, "    if (index != PropertyName::NotAnIndex && index < static_cast<$interfaceName*>(thisObject->impl())->length()) {\n");
    478         if ($interface->extendedAttributes->{"NumericIndexedGetter"}) {
     483        if ($hasNumericIndexedGetter) {
    479484            # Assume that if there's a setter, the index will be writable
    480485            if ($interface->extendedAttributes->{"CustomIndexedSetter"}) {
     
    631636
    632637    return 0;
     638}
     639
     640sub GetIndexedGetterFunction
     641{
     642    my $interface = shift;
     643    return GetSpecialAccessorFunctionForType($interface, "getter", "unsigned long", 1);
    633644}
    634645
     
    774785
    775786    my $namedGetterFunction = GetNamedGetterFunction($interface);
     787    my $indexedGetterFunction = GetIndexedGetterFunction($interface);
     788    my $hasNumericIndexedGetter = $indexedGetterFunction ? $codeGenerator->IsNumericType($indexedGetterFunction->signature->type) : 0;
    776789
    777790    my $hasImpureNamedGetter =
     
    781794
    782795    my $hasComplexGetter =
    783         $interface->extendedAttributes->{"IndexedGetter"}
    784         || $interface->extendedAttributes->{"NumericIndexedGetter"}
     796        $indexedGetterFunction
    785797        || $interface->extendedAttributes->{"JSCustomGetOwnPropertySlotAndDescriptor"}
    786798        || $hasImpureNamedGetter;
     
    866878
    867879    # Custom getOwnPropertyNames function
    868     if ($interface->extendedAttributes->{"CustomEnumerateProperty"} || $interface->extendedAttributes->{"IndexedGetter"} || $interface->extendedAttributes->{"NumericIndexedGetter"}) {
     880    if ($interface->extendedAttributes->{"CustomEnumerateProperty"} || $indexedGetterFunction) {
    869881        push(@headerContent, "    static void getOwnPropertyNames(JSC::JSObject*, JSC::ExecState*, JSC::PropertyNameArray&, JSC::EnumerationMode mode = JSC::ExcludeDontEnumProperties);\n");
    870882        $structureFlags{"JSC::OverridesGetPropertyNames"} = 1;       
     
    10011013
    10021014    # 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        }
    10081021    }
    10091022
     
    15891602    my $needsMarkChildren = $interface->extendedAttributes->{"JSCustomMarkFunction"} || $interface->extendedAttributes->{"EventTarget"} || $interface->name eq "EventTarget";
    15901603
     1604    my $namedGetterFunction = GetNamedGetterFunction($interface);
     1605    my $indexedGetterFunction = GetIndexedGetterFunction($interface);
     1606    my $hasNumericIndexedGetter = $indexedGetterFunction ? $codeGenerator->IsNumericType($indexedGetterFunction->signature->type) : 0;
     1607
    15911608    # - Add default header template
    15921609    push(@implContentHeader, GenerateImplementationContentHeader($interface));
    15931610
    15941611    $implIncludes{"<wtf/GetPtr.h>"} = 1;
    1595     $implIncludes{"<runtime/PropertyNameArray.h>"} = 1 if $interface->extendedAttributes->{"IndexedGetter"} || $interface->extendedAttributes->{"NumericIndexedGetter"};
     1612    $implIncludes{"<runtime/PropertyNameArray.h>"} = 1 if $indexedGetterFunction;
    15961613
    15971614    AddIncludesForTypeInImpl($interfaceName);
     
    16061623    my $numConstants = @{$interface->constants};
    16071624    my $numFunctions = @{$interface->functions};
    1608 
    1609     my $namedGetterFunction = GetNamedGetterFunction($interface);
    16101625
    16111626    # - Add all constants
     
    19201935    my $hasGetter = $numAttributes > 0
    19211936                 || !$interface->extendedAttributes->{"NoInterfaceObject"}
    1922                  || $interface->extendedAttributes->{"IndexedGetter"}
    1923                  || $interface->extendedAttributes->{"NumericIndexedGetter"}
     1937                 || $indexedGetterFunction
    19241938                 || $interface->extendedAttributes->{"JSCustomGetOwnPropertySlotAndDescriptor"}
    19251939                 || $interface->extendedAttributes->{"CustomGetOwnPropertySlot"}
     
    19441958        }
    19451959
    1946         if ($interface->extendedAttributes->{"IndexedGetter"} || $interface->extendedAttributes->{"NumericIndexedGetter"}
    1947                 || $namedGetterFunction || $interface->extendedAttributes->{"CustomNamedGetter"}
     1960        if ($indexedGetterFunction || $namedGetterFunction
     1961                || $interface->extendedAttributes->{"CustomNamedGetter"}
    19481962                || $interface->extendedAttributes->{"JSCustomGetOwnPropertySlotAndDescriptor"}) {
    19491963            push(@implContent, "bool ${className}::getOwnPropertySlotByIndex(JSCell* cell, ExecState* exec, unsigned index, PropertySlot& slot)\n");
     
    19631977            };
    19641978
    1965             if ($interface->extendedAttributes->{"IndexedGetter"} || $interface->extendedAttributes->{"NumericIndexedGetter"}) {
     1979            if ($indexedGetterFunction) {
    19661980                if (IndexGetterReturnsStrings($interfaceName)) {
    19671981                    push(@implContent, "    if (index <= MAX_ARRAY_INDEX) {\n");
     
    19691983                    push(@implContent, "    if (index < static_cast<$interfaceName*>(thisObject->impl())->length()) {\n");
    19701984                }
    1971                 if ($interface->extendedAttributes->{"NumericIndexedGetter"}) {
     1985                if ($hasNumericIndexedGetter) {
    19721986                    push(@implContent, "        slot.setValue(thisObject->getByIndex(exec, index));\n");
    19731987                } else {
     
    24262440    }
    24272441
    2428     if (($interface->extendedAttributes->{"IndexedGetter"} || $interface->extendedAttributes->{"NumericIndexedGetter"}) && !$interface->extendedAttributes->{"CustomEnumerateProperty"}) {
     2442    if ($indexedGetterFunction && !$interface->extendedAttributes->{"CustomEnumerateProperty"}) {
    24292443        push(@implContent, "void ${className}::getOwnPropertyNames(JSObject* object, ExecState* exec, PropertyNameArray& propertyNames, EnumerationMode mode)\n");
    24302444        push(@implContent, "{\n");
    24312445        push(@implContent, "    ${className}* thisObject = jsCast<${className}*>(object);\n");
    24322446        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");
    24372449        push(@implContent, "     Base::getOwnPropertyNames(thisObject, exec, propertyNames, mode);\n");
    24382450        push(@implContent, "}\n\n");
     
    26302642    }
    26312643
    2632     if ($interface->extendedAttributes->{"IndexedGetter"}) {
     2644    if ($indexedGetterFunction && !$hasNumericIndexedGetter) {
    26332645        push(@implContent, "\nJSValue ${className}::indexGetter(ExecState* exec, JSValue slotBase, unsigned index)\n");
    26342646        push(@implContent, "{\n");
     
    26482660    }
    26492661
    2650     if ($interface->extendedAttributes->{"NumericIndexedGetter"}) {
     2662    if ($hasNumericIndexedGetter) {
    26512663        push(@implContent, "\nJSValue ${className}::getByIndex(ExecState*, unsigned index)\n");
    26522664        push(@implContent, "{\n");
  • trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt

    r151495 r151499  
    6464ImplementationNamespace=*
    6565ImplementedAs=*
    66 IndexedGetter
    6766InitializedByEventConstructor
    6867InterfaceName=*
     
    8887NoInterfaceObject
    8988NotEnumerable
    90 NumericIndexedGetter
    9189ObjCCustomImplementation
    9290ObjCLegacyUnnamedParameters
  • trunk/Source/WebCore/bindings/scripts/test/TestEventTarget.idl

    r151434 r151499  
    2929[
    3030    EventTarget,
    31     IndexedGetter,
    3231    MasqueradesAsUndefined
    3332] interface TestEventTarget {
    3433
    35     Node item([IsIndex] unsigned long index);
     34    getter Node item([IsIndex] unsigned long index);
    3635    getter Node (DOMString name);
    3736
  • trunk/Source/WebCore/bindings/scripts/test/TestTypedArray.idl

    r150292 r151499  
    2727[
    2828    ConstructorTemplate=TypedArray,
    29     NumericIndexedGetter,
    3029    CustomIndexedSetter,
    3130    JSGenerateToNativeObject,
     
    3736    Int32Array foo(Float32Array array);
    3837    void set();
     38
     39    getter double (unsigned long index);
    3940};
  • trunk/Source/WebCore/css/CSSRuleList.idl

    r149368 r151499  
    2727[
    2828    CustomIsReachable,
    29     IndexedGetter,
    3029    SkipVTableValidation
    3130] interface CSSRuleList {
    3231    readonly attribute unsigned long    length;
    33     CSSRule          item([Default=Undefined] optional unsigned long index);
     32    getter CSSRule item([Default=Undefined] optional unsigned long index);
    3433};
    3534
  • trunk/Source/WebCore/css/CSSStyleDeclaration.idl

    r151336 r151499  
    2626    JSCustomGetOwnPropertySlotAndDescriptor,
    2727    CustomNamedSetter,
    28     IndexedGetter,
    2928    CustomEnumerateProperty,
    3029    SkipVTableValidation
     
    4140
    4241    readonly attribute unsigned long    length;
    43     DOMString          item([Default=Undefined] optional unsigned long index);
     42    getter DOMString          item([Default=Undefined] optional unsigned long index);
    4443    readonly attribute CSSRule          parentRule;
    4544
  • trunk/Source/WebCore/css/CSSValueList.idl

    r149368 r151499  
    2626// Introduced in DOM Level 2:
    2727[
    28     IndexedGetter,
    2928    ImplementationLacksVTable
    3029] interface CSSValueList : CSSValue {
    3130    readonly attribute unsigned long    length;
    32     CSSValue           item([Default=Undefined] optional unsigned long index);
     31    getter CSSValue           item([Default=Undefined] optional unsigned long index);
    3332};
    3433
  • trunk/Source/WebCore/css/MediaList.idl

    r151336 r151499  
    2828    JSCustomHeader,
    2929    GenerateIsReachable,
    30     IndexedGetter,
    3130    ImplementationLacksVTable
    3231] interface MediaList {
     
    3534    readonly attribute unsigned long length;
    3635
    37     [TreatReturnedNullStringAs=Null] DOMString item([Default=Undefined] optional unsigned long index);
     36    [TreatReturnedNullStringAs=Null] getter DOMString item([Default=Undefined] optional unsigned long index);
    3837    [RaisesException] void deleteMedium([Default=Undefined] optional DOMString oldMedium);
    3938    [RaisesException] void appendMedium([Default=Undefined] optional DOMString newMedium);
  • trunk/Source/WebCore/css/StyleSheetList.idl

    r151434 r151499  
    2222[
    2323    GenerateIsReachable=ImplDocument,
    24     IndexedGetter,
    2524    ImplementationLacksVTable
    2625] interface StyleSheetList {
    2726    readonly attribute unsigned long    length;
    28     StyleSheet         item([Default=Undefined] optional unsigned long index);
     27    getter StyleSheet         item([Default=Undefined] optional unsigned long index);
    2928    getter CSSStyleSheet (DOMString name);
    3029};
  • trunk/Source/WebCore/css/WebKitCSSFilterValue.idl

    r141034 r151499  
    2525
    2626[
    27         Conditional=CSS_FILTERS,
    28         IndexedGetter,
    29         DoNotCheckConstants,
     27    Conditional=CSS_FILTERS,
     28    DoNotCheckConstants,
    3029    ImplementationLacksVTable
    3130] interface WebKitCSSFilterValue : CSSValueList {
     
    5049
    5150    readonly attribute unsigned short operationType;
     51
     52    getter CSSValue ([Default=Undefined] optional unsigned long index);
    5253};
  • trunk/Source/WebCore/css/WebKitCSSKeyframesRule.idl

    r149368 r151499  
    2828
    2929// Introduced in DOM Level ?:
    30 [
    31     IndexedGetter
    32 ] interface WebKitCSSKeyframesRule : CSSRule {
     30interface WebKitCSSKeyframesRule : CSSRule {
    3331
    3432    [TreatReturnedNullStringAs=Null, TreatNullAs=NullString] attribute DOMString name;
     
    3836    void deleteRule([Default=Undefined] optional DOMString key);
    3937    WebKitCSSKeyframeRule findRule([Default=Undefined] optional DOMString key);
     38
     39    getter WebKitCSSKeyframeRule (unsigned long index);
    4040};
    4141
  • trunk/Source/WebCore/css/WebKitCSSTransformValue.idl

    r141034 r151499  
    2828
    2929[
    30         IndexedGetter,
    31         DoNotCheckConstants,
     30    DoNotCheckConstants,
    3231    ImplementationLacksVTable
    3332] interface WebKitCSSTransformValue : CSSValueList {
     
    5857
    5958    readonly attribute unsigned short operationType;
     59
     60    getter CSSValue ([Default=Undefined] optional unsigned long index);
    6061};
    6162
  • trunk/Source/WebCore/dom/ClientRectList.idl

    r149368 r151499  
    2626
    2727[
    28     IndexedGetter,
    2928    ImplementationLacksVTable
    3029] interface ClientRectList {
    3130    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);
    3332    // FIXME: Fix list behavior to allow custom exceptions to be thrown.
    3433};
  • trunk/Source/WebCore/dom/DOMNamedFlowCollection.idl

    r151434 r151499  
    3333    InterfaceName=WebKitNamedFlowCollection,
    3434    JSGenerateToJSObject,
    35     IndexedGetter,
    3635    ImplementationLacksVTable
    3736] interface DOMNamedFlowCollection {
    3837    readonly attribute unsigned long length;
    39     WebKitNamedFlow item(unsigned long index);
     38    getter WebKitNamedFlow item(unsigned long index);
    4039    getter WebKitNamedFlow namedItem(DOMString name);
    4140};
  • trunk/Source/WebCore/dom/DOMStringList.idl

    r149368 r151499  
    2525
    2626[
    27     IndexedGetter,
    2827    JSCustomToNativeObject,
    2928    JSNoStaticTables,
     
    3130] interface DOMStringList {
    3231    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);
    3433    boolean contains([Default=Undefined] optional DOMString string);
    3534};
  • trunk/Source/WebCore/dom/DataTransferItemList.idl

    r151336 r151499  
    3232    NoInterfaceObject,
    3333    Conditional=DATA_TRANSFER_ITEMS,
    34     IndexedGetter,
    3534    JSGenerateToNativeObject,
    3635    ImplementationLacksVTable
    3736] interface DataTransferItemList {
    3837    readonly attribute long length;
    39     DataTransferItem item([Default=Undefined] optional unsigned long index);
     38    getter DataTransferItem item([Default=Undefined] optional unsigned long index);
    4039
    4140    void clear();
  • trunk/Source/WebCore/dom/NamedNodeMap.idl

    r151434 r151499  
    2121[
    2222    GenerateIsReachable=ImplElementRoot,
    23     IndexedGetter,
    2423    ImplementationLacksVTable
    2524] interface NamedNodeMap {
     
    3130    [RaisesException] Node removeNamedItem([Default=Undefined] optional DOMString name);
    3231
    33     Node item([Default=Undefined] optional unsigned long index);
     32    getter Node item([Default=Undefined] optional unsigned long index);
    3433   
    3534    readonly attribute unsigned long length;
  • trunk/Source/WebCore/dom/NodeList.idl

    r151434 r151499  
    2121[
    2222    CustomIsReachable,
    23     IndexedGetter,
    2423    SkipVTableValidation
    2524] interface NodeList {
    2625
    27     Node item([IsIndex,Default=Undefined] optional unsigned long index);
     26    getter Node item([IsIndex,Default=Undefined] optional unsigned long index);
    2827    getter (Node or unsigned long) (DOMString name);
    2928
  • trunk/Source/WebCore/dom/PropertyNodeList.idl

    r149368 r151499  
    3131[
    3232    Conditional=MICRODATA,
    33     IndexedGetter,
    3433    JSGenerateToJSObject
    3534] interface PropertyNodeList : NodeList {
    3635
    3736    sequence<MicroDataItemValue> getValues();
    38     Node item(unsigned long index);
     37    getter Node item(unsigned long index);
    3938
    4039    readonly attribute unsigned long length;
  • trunk/Source/WebCore/dom/TouchList.idl

    r149368 r151499  
    2626[
    2727    Conditional=TOUCH_EVENTS,
    28     IndexedGetter,
    2928    ImplementationLacksVTable
    3029] interface TouchList {
    3130    readonly attribute unsigned long length;
    3231
    33     Touch item(unsigned long index);
     32    getter Touch item(unsigned long index);
    3433};
  • trunk/Source/WebCore/fileapi/FileList.idl

    r149368 r151499  
    2525
    2626[
    27     IndexedGetter,
    2827    JSNoStaticTables,
    2928    ImplementationLacksVTable
    3029] interface FileList {
    3130    readonly attribute unsigned long length;
    32     File item(unsigned long index);
     31    getter File item(unsigned long index);
    3332};
    3433
  • trunk/Source/WebCore/html/DOMSettableTokenList.idl

    r148269 r151499  
    2424
    2525[
    26     IndexedGetter,
    2726    JSGenerateToJSObject,
    2827    SkipVTableValidation,
    2928] interface DOMSettableTokenList : DOMTokenList {
    3029    attribute DOMString value;
     30
     31    [TreatReturnedNullStringAs=Null] getter DOMString (unsigned long index);
    3132};
    3233
  • trunk/Source/WebCore/html/DOMTokenList.idl

    r151336 r151499  
    2525[
    2626    GenerateIsReachable=ImplElementRoot,
    27     IndexedGetter,
    2827    SkipVTableValidation
    2928] interface DOMTokenList {
    3029    readonly attribute unsigned long length;
    31     [TreatReturnedNullStringAs=Null] DOMString item(unsigned long index);
     30    [TreatReturnedNullStringAs=Null] getter DOMString item(unsigned long index);
    3231    [RaisesException] boolean contains(DOMString token);
    3332    [RaisesException] void add(DOMString... tokens);
  • trunk/Source/WebCore/html/HTMLAllCollection.idl

    r151434 r151499  
    2525
    2626[
    27     IndexedGetter,
    2827    CustomCall,
    2928    MasqueradesAsUndefined,
     
    3130] interface HTMLAllCollection {
    3231    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);
    3433    [Custom] getter Node namedItem(DOMString name);
    3534    // FIXME: This should return an HTMLAllCollection.
  • trunk/Source/WebCore/html/HTMLCollection.idl

    r151434 r151499  
    2020
    2121[
    22     IndexedGetter,
    2322    CustomToJSObject,
    2423    GenerateIsReachable=ImplOwnerNodeRoot,
     
    2625] interface HTMLCollection {
    2726    readonly attribute unsigned long length;
    28     Node item([Default=Undefined] optional unsigned long index);
     27    getter Node item([Default=Undefined] optional unsigned long index);
    2928    getter Node namedItem([Default=Undefined] optional DOMString name);
    3029
  • trunk/Source/WebCore/html/HTMLFormControlsCollection.idl

    r151434 r151499  
    2020
    2121[
    22     IndexedGetter,
    2322    GenerateIsReachable=ImplOwnerNodeRoot,
    2423] interface HTMLFormControlsCollection : HTMLCollection {
     24    getter Node ([Default=Undefined] optional unsigned long index);
    2525    [Custom] getter Node namedItem([Default=Undefined] optional DOMString name);
    2626};
  • trunk/Source/WebCore/html/HTMLFormElement.idl

    r148731 r151499  
    2020
    2121[
    22     IndexedGetter,
    2322    CustomNamedGetter
    2423] interface HTMLFormElement : HTMLElement {
     
    3635    readonly attribute long length;
    3736
     37    getter Element (unsigned long index);
     38
    3839#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
    3940    [ImplementedAs=submitFromJavaScript] void submit();
  • trunk/Source/WebCore/html/HTMLPropertiesCollection.idl

    r151434 r151499  
    3232    Conditional=MICRODATA,
    3333    JSGenerateToJSObject,
    34     IndexedGetter
    3534] interface HTMLPropertiesCollection : HTMLCollection {
    3635    readonly attribute unsigned long length;
    37     Node item(unsigned long index);
     36    getter Node item(unsigned long index);
    3837
    3938    readonly attribute DOMStringList names;
  • trunk/Source/WebCore/html/HTMLSelectElement.idl

    r151336 r151499  
    2020
    2121[
    22     IndexedGetter,
    2322    CustomIndexedSetter,
    2423] interface HTMLSelectElement : HTMLElement {
     
    4140    [SetterRaisesException] attribute unsigned long length;
    4241#endif
    43     Node item([IsIndex,Default=Undefined] optional unsigned long index);
     42    getter Node item([IsIndex,Default=Undefined] optional unsigned long index);
    4443    Node namedItem([Default=Undefined] optional DOMString name);
    4544    [ObjCLegacyUnnamedParameters, RaisesException] void add([Default=Undefined] optional HTMLElement element,
  • trunk/Source/WebCore/html/RadioNodeList.idl

    r149796 r151499  
    2727    NoInterfaceObject,
    2828    JSGenerateToJSObject,
    29     IndexedGetter,
    3029] interface RadioNodeList : NodeList {
    3130    attribute DOMString value;
     31
     32    getter Node ([IsIndex,Default=Undefined] optional unsigned long index);
    3233};
  • trunk/Source/WebCore/html/canvas/Float32Array.idl

    r151169 r151499  
    2828    GlobalContext=WindowAndWorker,
    2929    ConstructorTemplate=TypedArray,
    30     NumericIndexedGetter,
    3130    CustomIndexedSetter,
    3231    JSGenerateToNativeObject,
     
    4342                          optional long end);
    4443
     44    getter float (unsigned long index);
     45
    4546    // void set(Float32Array array, optional unsigned long offset);
    4647    // void set(sequence<long> array, optional unsigned long offset);
  • trunk/Source/WebCore/html/canvas/Float64Array.idl

    r151169 r151499  
    2828    GlobalContext=WindowAndWorker,
    2929    ConstructorTemplate=TypedArray,
    30     NumericIndexedGetter,
    3130    CustomIndexedSetter,
    3231    JSGenerateToNativeObject,
     
    4342                          optional long end);
    4443
     44    getter double (unsigned long index);
     45
    4546    // void set(Float64Array array, optional unsigned long offset);
    4647    // void set(sequence<long> array, optional unsigned long offset);
  • trunk/Source/WebCore/html/canvas/Int16Array.idl

    r151169 r151499  
    2727    GlobalContext=WindowAndWorker,
    2828    ConstructorTemplate=TypedArray,
    29     NumericIndexedGetter,
    3029    CustomIndexedSetter,
    3130    JSGenerateToNativeObject,
     
    4241                        optional long end);
    4342
     43    getter short (unsigned long index);
     44
    4445    // void set(Int16Array array, optional unsigned long offset);
    4546    // void set(sequence<long> array, optional unsigned long offset);
  • trunk/Source/WebCore/html/canvas/Int32Array.idl

    r151169 r151499  
    2828    GlobalContext=WindowAndWorker,
    2929    ConstructorTemplate=TypedArray,
    30     NumericIndexedGetter,
    3130    CustomIndexedSetter,
    3231    JSGenerateToNativeObject,
     
    4342                        optional long end);
    4443
     44    getter long (unsigned long index);
     45
    4546    // void set(Int32Array array, optional unsigned long offset);
    4647    // void set(sequence<long> array, optional unsigned long offset);
  • trunk/Source/WebCore/html/canvas/Int8Array.idl

    r151169 r151499  
    2828    GlobalContext=WindowAndWorker,
    2929    ConstructorTemplate=TypedArray,
    30     NumericIndexedGetter,
    3130    CustomIndexedSetter,
    3231    JSGenerateToNativeObject,
     
    4342                       optional long end);
    4443
     44    getter byte (unsigned long index);
     45
    4546    // void set(Int8Array array, optional unsigned long offset);
    4647    // void set(sequence<long> array, optional unsigned long offset);
  • trunk/Source/WebCore/html/canvas/Uint16Array.idl

    r151169 r151499  
    2828    GlobalContext=WindowAndWorker,
    2929    ConstructorTemplate=TypedArray,
    30     NumericIndexedGetter,
    3130    CustomIndexedSetter,
    3231    JSGenerateToNativeObject,
     
    4241    Uint16Array subarray([Default=Undefined] optional long start, optional long end);
    4342
     43    getter unsigned short (unsigned long index);
     44
    4445    // void set(Uint16Array array, optional unsigned long offset);
    4546    // void set(sequence<long> array, optional unsigned long offset);
  • trunk/Source/WebCore/html/canvas/Uint32Array.idl

    r151169 r151499  
    2828    GlobalContext=WindowAndWorker,
    2929    ConstructorTemplate=TypedArray,
    30     NumericIndexedGetter,
    3130    CustomIndexedSetter,
    3231    JSGenerateToNativeObject,
     
    4241    Uint32Array subarray([Default=Undefined] optional long start, optional long end);
    4342
     43    getter unsigned long (unsigned long index);
     44
    4445    // void set(Uint32Array array, optional unsigned long offset);
    4546    // void set(sequence<long> array, optional unsigned long offset);
  • trunk/Source/WebCore/html/canvas/Uint8Array.idl

    r151169 r151499  
    2828    GlobalContext=WindowAndWorker,
    2929    ConstructorTemplate=TypedArray,
    30     NumericIndexedGetter,
    3130    CustomIndexedSetter,
    3231    JSGenerateToNativeObject,
     
    4241    Uint8Array subarray([Default=Undefined] optional long start, optional long end);
    4342
     43    getter octet (unsigned long index);
     44
    4445    // void set(Uint8Array array, optional unsigned long offset);
    4546    // void set(sequence<long> array, optional unsigned long offset);
  • trunk/Source/WebCore/html/canvas/Uint8ClampedArray.idl

    r151169 r151499  
    2828    GlobalContext=WindowAndWorker,
    2929    ConstructorTemplate=TypedArray,
    30     NumericIndexedGetter,
    3130    CustomIndexedSetter,
    3231    JSGenerateToNativeObject,
     
    4241    Uint8ClampedArray subarray([Default=Undefined] optional long start, optional long end);
    4342
     43    getter octet (unsigned long index);
     44
    4445    // FIXME: Missing other setters!
    4546    // void set(Uint8ClampedArray array, optional unsigned long offset);
  • trunk/Source/WebCore/html/track/AudioTrackList.idl

    r151336 r151499  
    2828    Conditional=VIDEO_TRACK,
    2929    GenerateIsReachable=ImplElementRoot,
    30     IndexedGetter,
    3130    EventTarget,
    3231    JSCustomMarkFunction
    3332] interface AudioTrackList {
    3433    readonly attribute unsigned long length;
    35     AudioTrack item(unsigned long index);
     34    getter AudioTrack item(unsigned long index);
    3635    AudioTrack getTrackById(DOMString id);
    3736
  • trunk/Source/WebCore/html/track/TextTrackCueList.idl

    r149368 r151499  
    2626[
    2727    Conditional=VIDEO_TRACK,
    28     IndexedGetter,
    2928    ImplementationLacksVTable
    3029] interface TextTrackCueList {
    3130    readonly attribute unsigned long length;
    32     TextTrackCue item(unsigned long index);
     31    getter TextTrackCue item(unsigned long index);
    3332    TextTrackCue getCueById(DOMString id);
    3433};
  • trunk/Source/WebCore/html/track/TextTrackList.idl

    r151336 r151499  
    2727    Conditional=VIDEO_TRACK,
    2828    GenerateIsReachable=ImplElementRoot,
    29     IndexedGetter,
    3029    EventTarget,
    3130    JSCustomMarkFunction
    3231] interface TextTrackList {
    3332    readonly attribute unsigned long length;
    34     TextTrack item(unsigned long index);
     33    getter TextTrack item(unsigned long index);
    3534
    3635    attribute EventListener onaddtrack;
  • trunk/Source/WebCore/html/track/TextTrackRegionList.idl

    r149796 r151499  
    2727    NoInterfaceObject,
    2828    Conditional=VIDEO_TRACK & WEBVTT_REGIONS,
    29     IndexedGetter,
    3029    ImplementationLacksVTable
    3130] interface TextTrackRegionList {
    3231    readonly attribute unsigned long length;
    33     TextTrackRegion item(unsigned long index);
     32    getter TextTrackRegion item(unsigned long index);
    3433    TextTrackRegion getRegionById(DOMString id);
    3534};
  • trunk/Source/WebCore/html/track/VideoTrackList.idl

    r151336 r151499  
    2828    Conditional=VIDEO_TRACK,
    2929    GenerateIsReachable=ImplElementRoot,
    30     IndexedGetter,
    3130    EventTarget,
    3231    JSCustomMarkFunction
    3332] interface VideoTrackList {
    3433    readonly attribute unsigned long length;
    35     VideoTrack item(unsigned long index);
     34    getter VideoTrack item(unsigned long index);
    3635    VideoTrack getTrackById(DOMString id);
    3736
  • trunk/Source/WebCore/page/PerformanceEntryList.idl

    r151207 r151499  
    3434    Conditional=WEB_TIMING,
    3535    Conditional=PERFORMANCE_TIMELINE,
    36     IndexedGetter,
    3736    ImplementationLacksVTable
    3837] interface PerformanceEntryList {
    3938    readonly attribute unsigned long length;
    40     PerformanceEntry item(unsigned long index);
     39    getter PerformanceEntry item(unsigned long index);
    4140};
    4241
  • trunk/Source/WebCore/page/SpeechInputResultList.idl

    r149796 r151499  
    2626[
    2727    NoInterfaceObject,
    28     IndexedGetter,
    2928    Conditional=INPUT_SPEECH,
    3029    ImplementationLacksVTable
    3130] interface SpeechInputResultList {
    3231    readonly attribute unsigned long length;
    33     SpeechInputResult item([IsIndex] unsigned long index);
     32    getter SpeechInputResult item([IsIndex] unsigned long index);
    3433};
    3534
  • trunk/Source/WebCore/plugins/DOMMimeTypeArray.idl

    r151434 r151499  
    2121[
    2222    GenerateIsReachable=ImplFrame,
    23     IndexedGetter,
    2423    InterfaceName=MimeTypeArray
    2524] interface DOMMimeTypeArray {
    2625    readonly attribute unsigned long length;
    27     DOMMimeType item([Default=Undefined] optional unsigned long index);
     26    getter DOMMimeType item([Default=Undefined] optional unsigned long index);
    2827    getter DOMMimeType namedItem([Default=Undefined] optional DOMString name);
    2928};
  • trunk/Source/WebCore/plugins/DOMPlugin.idl

    r151434 r151499  
    2020
    2121[
    22     IndexedGetter,
    2322    InterfaceName=Plugin
    2423] interface DOMPlugin {
     
    2726    readonly attribute DOMString description;
    2827    readonly attribute unsigned long length;
    29     DOMMimeType item([Default=Undefined] optional unsigned long index);
     28    getter DOMMimeType item([Default=Undefined] optional unsigned long index);
    3029    getter DOMMimeType namedItem([Default=Undefined] optional DOMString name);
    3130};
  • trunk/Source/WebCore/plugins/DOMPluginArray.idl

    r151434 r151499  
    2121[
    2222    GenerateIsReachable=ImplFrame,
    23     IndexedGetter,
    2423    InterfaceName=PluginArray
    2524] interface DOMPluginArray {
    2625    readonly attribute unsigned long length;
    27     DOMPlugin item([Default=Undefined] optional unsigned long index);
     26    getter DOMPlugin item([Default=Undefined] optional unsigned long index);
    2827    getter DOMPlugin namedItem([Default=Undefined] optional DOMString name);
    2928    void refresh([Default=Undefined] optional boolean reload);
Note: See TracChangeset for help on using the changeset viewer.