[webkit-reviews] review denied: [Bug 87965] Need customized toDOMStringList for IndexedDB JSC binding. : [Attachment 147030] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Jun 12 01:27:31 PDT 2012


Kentaro Hara <haraken at chromium.org> has denied Charles Wei
<charles.wei at torchmobile.com.cn>'s request for review:
Bug 87965: Need customized toDOMStringList for IndexedDB JSC binding.
https://bugs.webkit.org/show_bug.cgi?id=87965

Attachment 147030: Patch
https://bugs.webkit.org/attachment.cgi?id=147030&action=review

------- Additional Comments from Kentaro Hara <haraken at chromium.org>
View in context: https://bugs.webkit.org/attachment.cgi?id=147030&action=review


> Source/WebCore/ChangeLog:18
> +	   * bindings/js/JSDOMBinding.h:
> +	   (WebCore):

This file is missing.

> Source/WebCore/bindings/js/JSDOMBinding.cpp:291
> +    if (!isJSArray(value))
> +	   return 0;

> V8NativeObject::HasInstance(V8Value)	seems V8-specific logic. I don't see
corresponding JSC code in any of generated JSC binding code or custom JSC
binding code. Please point 
> to me if there's any that I should follow in JSC.

V8DOMStringList::HasInstance(value) corresponds to
value.inherits(&JSDOMStringList::s_info)

> Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:204
> +    return 1 if $type eq "CSSStyleDeclaration" or $type eq "MediaList" or
$type eq "DOMStringList" or $type eq "DOMStringList[]"	or $type eq
"DOMTokenList" or $type eq "DOMSettableTokenList";

Shouldn't this be $type eq "DOMString[]"?

> Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:1024
> +	   } elsif ($interfaceName eq "DOMStringList") {
> +	       push(@headerContent, "PassRefPtr<DOMStringList>
toDOMStringList(JSC::ExecState*, JSC::JSValue);\n");

This would be no longer needed. The declaration should be in JSDOMBinding.h.

> Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:2830
> -    "DOMString[]" => "DOMStringList*",
> +    "DOMString[]" => "RefPtr<DOMStringList>",

Why do you need to change DOMStringList* to RefPtr<DOMStringList>?

> Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:2995
>      if ($type eq "DOMString[]") {
>	   AddToImplIncludes("JSDOMStringList.h", $conditional);
> -	   return "toDOMStringList($value)";
> +	   return "toDOMStringList(exec, $value)";
> +    }
> +
> +    if ($type eq "DOMStringList") {
> +	   AddToImplIncludes("JSDOMStringList.h", $conditional);
> +	   return "toDOMStringList(exec, $value)";
>      }

You can wrap up two if statements into one.


More information about the webkit-reviews mailing list