[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