Both GtkLauncher and MiniBrowser don't render anything after r161381. http://build.webkit.org/builders/GTK%20Linux%2064-bit%20Release/builds/43685/steps/layout-test
I think the problem has to do with the LayoutRect/IntRect conversion in RenderLayer.cpp. Using LayoutRect::infiniteRect() for the clips in RenderLayer.cpp fixes the problem.
Created attachment 220532 [details] Patch Using LayoutRect::infinteRect() instead of IntRect::infinteRect() when a LayoutRect is expected fixes the problem.
This may not be related, but while working on the CSS Regions visual overflow patch we noticed the cairo based GraphicsContext was not able to clip using the infiniteRect(). It seems to cause an integer overflow in cairo and it clips using a completely wrong rectangle. It's probably a good idea to make infiniteRect platform specific, based on the limitations of the underlying graphics library.
I don't know the details, but the Int/FloatRect::infiniteRect() is not defined the same way than the LayoutRect one, see: LayoutRect: LayoutUnit::nearlyMin() / 2, LayoutUnit::nearlyMin() / 2, LayoutUnit::nearlyMax(), LayoutUnit::nearlyMax() which substituting nearlyMin/Max would be something like (std::numeric_limits<int>::min() / 2) / 2, (std::numeric_limits<int>::min() / 2) / 2, std::numeric_limits<int>::max() / 2, std::numeric_limits<int>::max() / 2 IntRect: -std::numeric_limits<int>::max() / 2, -std::numeric_limits<int>::max() / 2, std::numeric_limits<int>::max(), std::numeric_limits<int>::max()
Comment on attachment 220532 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=220532&action=review > Source/WebCore/ChangeLog:9 > + Use LayoutRect::infiniteRect() instead of IntRect::infiniteRect() > + when a LayoutRect is expected. Whoops :(
Committed r161443: <http://trac.webkit.org/changeset/161443>