On Tue, Sep 8, 2009 at 4:30 PM, Alex Milowski<[email protected]> wrote: > > The problem of nested fences is much more tricky. I thought I had a handle on > this with the only odd thing being the need to adjust the fence size after > a layout pass. You can see this code in the patch [1] and specifically > by looking and RenderFenced.cpp in [2]. > > I've been able to make it behave a bit better by calling setHeight() with the > fence height online #205. It still has trouble laying out the the open and > close fences and often overlaps the line boxes.
I've been able to make some progress on nested mfenced. The problem is a bit more general in that: * any nested complicated construct (e.g. a mtable) has the same issue. * inline mathml embedded in a sentence with mfenced sometimes fails. I was able to fix the specific situation of mfenced nested in an mfenced by another call to RenderBlock::layout() directly within my layout() method instance. Unfortunately, doing that for an mtable nested in an mfenced (e.g. a matrix) makes things worse. I believe the core issue is that the whole layout is invalidated by the resizing of the fencing. I need to do this after the height of the contents is determined. Is there a way to determine the height of a contained RenderObject instance without going through the whole layout? If I could do that, I could adjust the height of the fences and then call layout. Also, I've been wrapping content in anonymous rendering objects to aid in my adjustments and layout. Do you think it would be to my advantage to wrap the contents that is fenced with an anonymous inline block? Otherwise, I need a way to say: "This whole subtree is now invalid as I resized content before and after it". I am very close. I have been able to load and render most of my MA thesis. If I fix the fencing, it will work for that document! -- --Alex Milowski "The excellence of grammar as a guide is proportional to the paucity of the inflexions, i.e. to the degree of analysis effected by the language considered." Bertrand Russell in a footnote of Principles of Mathematics _______________________________________________ webkit-dev mailing list [email protected] http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

