[whatwg] [editing] queryCommand(Indeterm|State|Value) for commands where they make no sense
ehsan at mozilla.com
Thu Sep 15 15:02:19 PDT 2011
On 11-09-15 4:39 PM, Aryeh Gregor wrote:
> I think the exception-throwing behavior is preferable in principle,
> but for compat, I suspect the right behavior is to always return
> boolean false for state and indeterm, and "" for value. This
> basically matches everyone but Gecko for commands where none of them
> make sense, and matches Gecko/Opera for the value of commands where
> only state makes sense. Throwing doesn't match anyone except Gecko,
> and then only in some cases. If others agree, I'll change the spec
> and tests accordingly.
With my Gecko hat off (honesly, without having investigated, I think the
reason that Gecko throws in some of these cases are just bugs!), I hate
APIs which return dummy values and hide the authors mistake in that way.
I think now's our chance to improve things here.
But I do agree that web-compat is something which we need to address
here. However, I think that's going to be a general risk with the new
spec. There are things which don't have a clear-cut answer, where
existing implementations do things differently, and nobody knows why.
For those cases, the web-compat concern is really tricky to address.
But there are cases where implementations are doing something which
doesn't make sense at all in response to the author doing something
which doesn't make sense at all. No matter what the implementation
does, the content script is doing something wrong. I find the position
of refusing such invalid requests very defendable, and I would be quite
willing to change Gecko's behavior like that in the near future.
Speaking pragmatically, I've never seen a bug report in Mozilla where
somebody asks why does Gecko do this when I do this thing which doesn't
make sense in the first place. So my educated guess is that this is not
going to break a lot of existing websites anyway.
More information about the whatwg