Seeing that this is progressing ad a quick pace, could I entice some kind reviewer to r+ my patch for bug https://bugs.webkit.org/show_bug.cgi?id=41040 before I get (another...) mid-air collision?
^_^; Roland On Wed, Oct 6, 2010 at 5:34 PM, Eric Mader <[email protected]> wrote: > > On Oct 5, 2010, at 6:25 PM, David Hyatt wrote: > > On Oct 5, 2010, at 7:33 PM, Eric Mader wrote: > > > On Sep 24, 2010, at 8:02 PM, David Hyatt wrote: > > This is a tough problem. It seems like you have to get involved in the > line layout code e.g., findNextLineBreak in order to really do the right > thing. findNextLineBreak uses an iterator that walks the objects, so it's > easier to tell what text came before you and what text comes after you. You > can also tell whether or not that text will even fit on the line and > possibly do the margin hacking there. > > > I just did a prototype that checks for a RenderRubyRun in the isReplaced() > code inside findNextLineBreak and calls a method on the RenderRubyRun that > takes the last and the next object and sets negative margins by calling > setMarginLeft() and setMarginRight(). I stepped through this code and it > computes the correct margins, but the margins don't seem to take - the ruby > doesn't overlap the surrounding text. > > Guessing that some other code is resetting the margins, I modified the code > to cache the computed margins in the RenderRubyRun object and return the > cached values through subclassed marginLeft() and marginRight() methods. > With this change, the ruby displays as I would expect. > > > It's probably RenderBlockLineLayout line 348 getting you in trouble ( > computeInlineDirectionPositionsForLine). computeLogicalWidth is called > again, and that will recompute the left/right margins and blow away the > changes you made to them. I have no idea why that call is there. It should > not be necessary, but maybe there's something subtle I'm missing. You could > try removing it, and see if that fixes the problem (it should). > > > Yes, that did the trick! I haven't noticed any obvious problems with that > line removed, but I haven't done much testing yet. > > dave > ([email protected]) > > > Regards, > Eric > > _______________________________________________ > webkit-dev mailing list > [email protected] > http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev > >
_______________________________________________ webkit-dev mailing list [email protected] http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

