<rdar://problem/7010981> Floats of a newly created block can fail to paint correctly if the block’s initial position is not (0, 0) in the parent’s coordinate system. A newly created float that ends up at (0, 0) in its parent’s coordinate system can fail to paint correctly. While these are distinct issues, I discovered one while working on the other so I have a single patch for both, with two separate test cases. Patch forthcoming.
Created attachment 32393 [details] Patch, including repaint tests
Comment on attachment 32393 [details] Patch, including repaint tests > + for (size_t i = 0; i < floatCount; ++i) { > + if (!floats[i].everHadLayout) { > + RenderBox* f = floats[i].object; > + if (!f->x() && !f->y() && f->checkForRepaintDuringLayout()) I have a preference for comparing with 0 for coordinates, but r=me
Fixed in <http://trac.webkit.org/changeset/45608>.