[Webkit-unassigned] [Bug 79222] [chromium] createObjectURL(Blob) throws 'Illegal invocation' error when MEDIA_STREAM is disabled.
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Mar 28 05:33:21 PDT 2012
https://bugs.webkit.org/show_bug.cgi?id=79222
--- Comment #14 from Hao Zheng <zhenghao at chromium.org> 2012-03-28 05:33:20 PST ---
(In reply to comment #13)
> Have you disabled MEDIASTREAM? fast/files/create-blob-url-crash.html
> throws error in both config, but a different one (illegal invocation)
> in this config. And many other tests related to createBlobURL fail.
The error is in CodeGeneratorV8.pm RequiresCustomSignature. If the function is overloaded, it returns 0 at the 2nd if. Otherwise, as Blob is wrapper type, it returns 1 at the if inside the 2nd foreach.
sub RequiresCustomSignature
{
my $function = shift;
# No signature needed for Custom function
if ($function->signature->extendedAttributes->{"Custom"} ||
$function->signature->extendedAttributes->{"V8Custom"}) {
return 0;
}
# No signature needed for overloaded function
if (@{$function->{overloads}} > 1) {
return 0;
}
# Type checking is performed in the generated code
if ($function->signature->extendedAttributes->{"StrictTypeChecking"}) {
return 0;
}
foreach my $parameter (@{$function->parameters}) {
my $optional = $parameter->extendedAttributes->{"Optional"};
if (($optional && $optional ne "DefaultIsUndefined" && $optional ne "DefaultIsNullString") || $parameter->extendedAttributes->{"Callback"}) {
return 0;
}
}
foreach my $parameter (@{$function->parameters}) {
if (IsWrapperType($parameter->type)) {
return 1;
}
}
return 0;
}
--
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