[EMAIL PROTECTED] wrote: > On Aug 29, 8:03 am, fantasai <[EMAIL PROTECTED]> wrote: >> Relationship of Rect and OverflowRect >> ------------------------------------- >> >> 1. mRect is anchored in the parent's coordinate system >> >> 2. overflowRect is anchored in the frame's own coordinate system >> >> 3. overflowRect must contain mRect except in certain cases concerning >> 'clip' > > Correct > >> Reflow Expectations >> ------------------- >> >> 4. The frame is expected to take care of any invalidation required by >> its children, its borders, its outline, and its background. >> >> 5. The reflower is expected to take care of any invalidation required by >> changes in the child's a) position >> b) size > > More specifically the reflower is expected to invalidate the child's > overflow area if the frame moved, and the difference in the old and > new areas if the frame changed size. In practice the latter phrase > means *both* the GetSize() areas and the overflow areas :-(. > >> Comments >> -------- >> >> Assertion 3 is not strictly true because of the way nsRect::UnionRect is >> implemented: if one rect is empty, then UnionRect takes the value of the >> other rect, and therefore does not necessarily encompass any of the first >> rect's coordinates. This means an assertion >> frame->GetOverflowRect().Contains(frame->GetRect()) >> will sometimes fail. > > Contains() should always succeed if the parameter rect is empty. > That's a bug, I'll take a patch for that :-) > > Rob >
Bug on that Rob? I'm not fully up and running (again) to do a test on if a change I would make works, but I can create a patch, and this one seems rather trivial. (aka: I'm willing to write the patch, but can't test it just yet). ~Justin Wood (Callek) _______________________________________________ dev-tech-layout mailing list [email protected] https://lists.mozilla.org/listinfo/dev-tech-layout

