[whatwg] Canvas patterns, and miscellaneous other things
Ian Hickson
ian at hixie.ch
Sun Feb 10 01:05:59 PST 2008
On Sat, 2 Feb 2008, Philip Taylor wrote:
>
> On 31/01/2008, Ian Hickson <ian at hixie.ch> wrote:
> > I've made toDataURL() return "data:," if it's faced with a 0-pixel image.
> > It's arbitrary, but I guess it represents the image, at least!
>
> That makes the "Note: When trying to use types other than image/png,
> authors can check if the image was really returned in the requested
> format by checking to see if the returned string starts with one the
> exact strings "data:image/png," or "data:image/png;"." now incorrect.
> The non-image/png format might be unsupported, but someone might be
> drawing a 0-pixel image and they'll get back something that doesn't
> start with data:image/png[,;].
>
> It does seem pretty weird to return text/plain content when asked for an
> image. But I guess it's safer than e.g. returning an empty string, since
> it won't get misinterpreted as a relative address when people do
> img.src=canvas.toDataURL(), and I can't think of a better idea.
I agree that it's not ideal. I'm not sure what would be better. I've made
the note you quote above mention this edge case, just in case.
> > User agents may impose implementation-specific limits on otherwise
> > unconstrained inputs, e.g. to prevent denial of service attacks, to
> > guard against running out of memory, or to work around
> > platform-specific limitations. (See ...#hardwareLimitations.)
>
> Does anything say that those limitations should be imposed by throwing
> an exception, and not by e.g. returning null or aborting the entire
> script?
No. It's hard to legislate what should happen here. For instance, raising
an exception might require allocating memory, which can't happen if the
hardware limitation in question is running out of memory.
--
Ian Hickson U+1047E )\._.,--....,'``. fL
http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,.
Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
More information about the whatwg
mailing list