| Summary: | Request.constructor misses checking for the type of init.signal param | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | zyscoder <zyscoder> |
| Component: | WebCore Misc. | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW --- | ||
| Severity: | Normal | CC: | achristensen, bugs-noreply, mcatanzaro, sam, webkit-bug-importer, youennf |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Local Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
See https://bugs.webkit.org/show_bug.cgi?id=199576 for some background info on why it is difficult to make it throw. @zyscoder, what is the impact of not throwing here for you? |
Steps to reproduce: (1) Open a tab and navigate to any URL; (2) Run the following code in the Console of Devtools: ``` new Request('', {signal:{}}) ``` (3) Then this code would be evaluated successfully without throwing any exception. Only a warning is asserted. Actual results: This code would be evaluated successfully without throwing any exception. Only a warning is asserted. Expected results: As https://fetch.spec.whatwg.org/#requestinfo says, the init.signal param is of AbortSignal type. Since the code above sets the input param as {}, a TypeError exception should be thrown. (Just behave as what the warning says.) BTW, in my test both Chrome and Firefox throw exceptions when evaluating this code.