[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:34:47 PDT 2012
https://bugs.webkit.org/show_bug.cgi?id=79222
--- Comment #15 from Hao Zheng <zhenghao at chromium.org> 2012-03-28 05:34:47 PST ---
(In reply to comment #14)
> (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;
> }
revokeObjectURL doesn't require custom signature, because DOMString is not wrapper type.
[CallWith=ScriptExecutionContext] static void revokeObjectURL(in DOMString url);
--
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