Closed
Bug 405761
Opened 17 years ago
Closed 8 years ago
drawImage should throw INVALID_STATE_ERR on invalid image, not NS_ERROR_NOT_AVAIL
Categories
(Core :: Graphics: Canvas2D, defect, P4)
Tracking
()
RESOLVED
DUPLICATE
of bug 1297211
People
(Reporter: cbook, Unassigned)
References
(Depends on 1 open bug, )
Details
Attachments
(1 file)
(deleted),
text/html
|
Details |
Steps to reproduce:
Open the testcase from Bug 391028 and check the error console:
Error: uncaught exception: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMCanvasRenderingContext2D.drawImage]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: https://bugzilla.mozilla.org/attachment.cgi?id=275356 :: anonymous :: line 9" data: no]
reproduced on trunk and 1.8 branch
Flags: blocking1.9?
Reporter | ||
Updated•17 years ago
|
Summary: Testcase from bug cause 391028 (NS_ERROR_NOT_AVAILABLE) [nsIDOMCanvasRenderingContext2D.drawImage → Testcase from bug 391028 cause (NS_ERROR_NOT_AVAILABLE) [nsIDOMCanvasRenderingContext2D.drawImage
The testcase is supposed to do that; the png image isn't valid. The spec says drawImage should throw INVALID_STATE_ERR however.
Flags: blocking1.9? → blocking1.9-
Summary: Testcase from bug 391028 cause (NS_ERROR_NOT_AVAILABLE) [nsIDOMCanvasRenderingContext2D.drawImage → drawImage should throw INVALID_STATE_ERR on invalid image, not NS_ERROR_NOT_AVAIL
Updated•17 years ago
|
Priority: -- → P4
Comment 2•13 years ago
|
||
It's my impression from http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-context-2d-drawimage that we should never produce NS_ERROR_NOT_AVAILABLE from drawImage; the only licensed failure modes are INVALID_STATE_ERR, TYPE_MISMATCH_ERR, INDEX_SIZE_ERR, and silently doing nothing. The test case I'm attaching uses an uninitialized Image object (I presume this is the same as an HTMLImageElement under the hood). I'm not sure what the *correct* behavior for this test case is; I'm guessing either INVALID_STATE_ERR or silent nop. However, looking at http://mxr.mozilla.org/mozilla-central/source/content/canvas/src/nsCanvasRenderingContext2D.cpp#3212 I see several places where we return NS_ERROR_NOT_AVAILABLE inappropriately; they should all be audited and corrected (and the analogous code in the Azure reimplementation too).
Updated•11 years ago
|
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → DUPLICATE
Comment 5•8 years ago
|
||
The fixes for bug 1003380 do not appear to have fixed this bug; if you load the test case attached here, you will see that it still generates NS_ERROR_NOT_AVAILABLE. Again, as I understand the spec, NS_ERROR_NOT_AVAILABLE should *never* be generated by this API.
(I observe this with 45.2.0ESR/Linux.)
Status: RESOLVED → REOPENED
Flags: needinfo?(cabanier)
Resolution: DUPLICATE → ---
Comment 6•8 years ago
|
||
Fixed in bug 1297211. I didn't see this bug when I reported that one.
Status: REOPENED → RESOLVED
Closed: 11 years ago → 8 years ago
Resolution: --- → DUPLICATE
Updated•2 years ago
|
Flags: needinfo?(cabanier)
You need to log in
before you can comment on or make changes to this bug.
Description
•