[webkit-dev] Unit Test for Page Breaks / absolute coordinates in PrintContext::pageNumberForElement

David Hyatt hyatt at apple.com
Thu Mar 29 11:06:12 PDT 2012


Do you have a bug for this work? I'm not really sure what you're trying to accomplish… avoiding page breaks in a table row does not seem correct to me.

dave

On Mar 29, 2012, at 8:23 AM, Milian Wolff wrote:

> Hey there,
> 
> I'm trying to write a unit test for my layouting patch, that prevents page 
> breaks in table rows. So far, I've extended the layoutTestController with a 
> pageBreaksInElementById function, similar to pageNumberForElementById.
> 
> The logic behind the implementation is basically an extended copy of 
> PrintContext::pageNumberForElement, see e.g. [1].
> 
> Now in my unit test, I call this function for every table row and "ensure" 
> that the return value is always 0, i.e. no page break. Turns out, that this 
> does not work as expected: My table layouting code [2] takes the offset of the 
> surrounding table into account, and the visual result looks OK. The unit test 
> code ([1]) though apparently assumes absolute coordinates, which (I think?!) 
> box->pixelSnappedOffsetLeft() is *not*. What could be used instead? Also, 
> doesn't this also mean that the logic of PrintContext::pageNumberForElement is 
> flawed for nested elements that are offsetted?
> 
> Note btw. that the box does not have any layout state when called from 
> PrintContext::pageBreaksInElement, as such I cannot simply add a call to 
> RenderBlock::offsetFromLogicalTopOfFirstPage().
> 
> Thanks
> 
> [1]: http://paste.kde.org/448514/
> [2]: http://paste.kde.org/448520/
> -- 
> Milian Wolff | milian.wolff at kdab.com | Software Engineer
> KDAB (Deutschland) GmbH&Co KG, a KDAB Group company
> Tel. Germany +49-30-521325470, Sweden (HQ) +46-563-540090
> KDAB - Qt Experts - Platform-independent software solutions
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev



More information about the webkit-dev mailing list