On Mon, Sep 19, 2011 at 12:37 PM, Ryosuke Niwa <[email protected]> wrote:
> Not throwing makes sense to me (at least for now). What value should they
> return though?

State/indeterm should return false, value should return "".  For
state/indeterm, this is what IE/WebKit/Opera do (Gecko throws).  For
value, it's what Gecko/Opera do; IE and WebKit return boolean false,
but that's the wrong type.  "" and false are equal anyway if you don't
use ===, so I don't think it will be a compat problem to switch from
false to "".

For the value of commands like bold that take a state, I'm going to
say return "" always.  This might not be compatible for everyone, but
we have four different behaviors here: IE returns true or false, Gecko
throws, WebKit returns "true" or "false", Opera returns "" always.  So
it's going to have to be incompatible with someone.  I don't like
WebKit's behavior because returning "false" is very confusing (it
evaluates to boolean true), I don't like IE's behavior because it
returns a boolean instead of a string, I don't like Gecko's because it
throws.  So in this case I think we should be like Opera, and make the
value behave like in other cases where it doesn't make sense.  That's
the most consistent path.

Reply via email to