RenderLayer code
David Hyatt
hyatt@apple.com
Wed, 29 Jan 2003 12:14:29 -0800
The layer code has been changed substantially since Safari v51 (lots of
bugs fixes). I can try to get you a patch with changes, or a diff
relative to v51.... whichever is easiest.
On Wednesday, January 29, 2003, at 10:36 AM, Lars Knoll wrote:
> Hi,
>
> I've now finally managed to integrate Safaris layering code into our
> khtml. I
> did however notice some problems:
>
> Around line 358 of render_layer.cpp:
> // If a layer isn't visible, then none of its child layers are
> visible
> either.
> // Don't build this branch of the z-tree, since these layers
> should not be
> painted.
> if (renderer()->style()->visibility() != VISIBLE)
> return 0;
>
> I think this is wrong. It would be a nice optimisation, but
> unfortunately,
> visibilty can be set to visible again for child elements of the layer
> (according to the CSS specs).
>
Yes, you're right. I'll remove that optimization.
> Painting of layers with the same z-index doesn't always honour
> document order.
> See for example the fourth test of http://dbaron.org/css/test/sec0909.
>
Safari passes all tests on that page with the current layer code except
for test #8. Test #8 is broken (Mozilla handles it the same way
Safari does). Actually even Safari v51 passes all the tests except for
test #8. Maybe you're missing the code that sets up auto z-index over
on the render_style side, or maybe the code in cssstyleselector that
sets zauto to true?
> www.sport1.de is now broken and doesn't show anything in the
> scrollable news
> area anymore. Not sure if this is related to z-index problems.
>
I don't see anything in the scrollable news area, but I tried with
Mozilla and also don't see anything in that news area. (I assume you
mean that section in about the center of the page with an arrow above
and below the rectangle?)