[Webkit-unassigned] [Bug 111699] [V8] generate indexedPropertyGetter instead of using collectionStringIndexedPropertyGetter()

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Mar 7 19:35:52 PST 2013


https://bugs.webkit.org/show_bug.cgi?id=111699


Kentaro Hara <haraken at chromium.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #192126|review?                     |review-
               Flag|                            |




--- Comment #2 from Kentaro Hara <haraken at chromium.org>  2013-03-07 19:38:17 PST ---
(From update of attachment 192126)
View in context: https://bugs.webkit.org/attachment.cgi?id=192126&action=review

> Source/WebCore/ChangeLog:14
> +        No new tests: code refactoring.

You need to update run-bindings-tests. See https://trac.webkit.org/wiki/WebKitIDL#RunBindingsTests

> Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:2500
> +    # FIXME: Clarify condition when enumerator should be enabled.
> +    # Basically an interface that has indexedPropertyGetter must have indexedPropertyEnumerator but currently there are some special cases.

A bit better:

  FIXME: Remove the special cases. Interfaces that have indexedPropertyGetter should have indexedPropertyEnumerator.

> Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:2526
> +    # FIXME: Remove this block to use generated indexed getter instead of halfway ones such as V8Collection::collectionXXXIndexedPropertyGetter().

FIXME: This block is full of hacks to incrementally replace custom indexed getters with auto-generated ones. Remove this block and V8Collection.h.

> Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:2566
> +    # FIXME: Clarify condition for indexedPropertyEnumerator to be available then implement it.

I think you can remove the FIXME. You already wrote the same thing above.

> Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:3291
> +        if (!$indexer) {
> +            $indexer = $codeGenerator->FindSuperMethod($interface, "item");
> +        }

Remove this. This is already done above.

> Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:3294
> +        # FIXME: Figure out what NumericIndexedGetter is really supposed to do. Right now, it's only set on WebGL-related files.

Remove the FIXME. This is already written above. (Let's kill NumericIndexedGetter in the near future.)

> Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:3297
> +            if ($indexerType eq "DOMString") {

I think you can remove the branch by using NativeToJSValue().

> Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:3300
> +                my $conversion = $indexer->extendedAttributes->{"TreatReturnedNullStringAs"};
> +                if ($conversion && $conversion eq "Null") {
> +                    # FIXME: generate indexedPropertyGetter instead of generating setCollectionStringOrUndefinedIndexedGetter() call in GenerateImplementationIndexer.

NativeToJSValue() will care about this.

> Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:3309
> +    return v8String(result, info.GetIsolate());

This part should be generated by NativeToJSValue().

> Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:3315
> +            } else {
> +                # FIXME: generate indexedPropertyGetter instead of generating setCollectionIndexedGetter() call in GenerateImplementationIndexer.
> +            }

NativeToJSValue() will care about this.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list