Hi Darin,

On Jan 23, 2009, at 10:44 AM, Darin Adler wrote:

On Jan 23, 2009, at 10:36 AM, Kevin Ollivier wrote:

Thanks, do you have any examples of how e.g. the logic in selectionHasStyle could be tripped up by (or be insufficient for) block styles like this? Is it a matter of having it not query the alignment for non-block elements when traversing nodes (because it might return an invalid value?), or something else?

I'm not sure if there are any real problems. It's not an area I've considered deeply.

One thing worth considering is that the style might be set on elements where it has no effect. For example, you could have the style set on a span within a block, and it wouldn't do anything.

   <p style="align: left">a <span style="align: right">b</span> c</p>

Someone might argue that an Align Left menu item should be checked here, not "half-checked".

As with all editing and style, styles that are applied by CSS style sheet rules might create tricky cases.

Your question about skipping non-block elements when traversing nodes is more of a question about how to implement. We'd want to be careful about doing something like that, because CSS can change an element that's normally not a block into a block. I am not sure any of these cases are important. It also seems to me that for block styles we could be more efficient if we didn't ask every single element what its computed style is. But it seems smart to start simply.

If I was working on this, I'd start by making an implementation that uses stateStyle and then try to construct interesting test cases to see if there are problems in practice.

Sounds about right to me. :-) Once we have a clear idea about how things behave in various scenarios using stateStyle, we should have a better idea of how to proceed and perhaps also of how we want getCommandState to handle cases like nested alignment tags.

Thanks for the detailed explanation!

Kevin


   -- Darin


_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to