While an element is rotating, any element on the page that has no height, no width, is absolutely positioned, and has overflow set to hidden will vanish for the duration of the animation. I found this because a crucial element on a page had all those, yet still had a border, and then disappeared.
<rdar://problem/8207271>
Created attachment 61993 [details] Testcase
The disappearing element has zero height and width but a large border. clipRectToApply ends up as a 0x0 rect in RenderLayerBacking::paintIntoLayer().
Hmm, RenderBlock::paint() is short-circuiting the paint here: // Check if we need to do anything at all. // FIXME: Could eliminate the isRoot() check if we fix background painting so that the RenderView // paints the root's background. if (!isRoot()) { IntRect overflowBox = visibleOverflowRect(); overflowBox.inflate(maximalOutlineSize(paintInfo.phase)); overflowBox.move(tx, ty); if (!overflowBox.intersects(paintInfo.rect)) return; } paintInfo.rect is the empty rect from clipRectToApply
Ah, this is caused by the 'inflate the paintBox for the body' logic in RenderLayerBacking::paintIntoLayer().
Created attachment 62144 [details] Patch
http://trac.webkit.org/changeset/63820