Open Bug 302728 Opened 19 years ago Updated 2 years ago

Review usage of APIs that expect frames to have been reflowed and are clean

Categories

(Core :: Layout: Text and Fonts, defect)

defect

Tracking

()

People

(Reporter: rbs, Unassigned)

Details

This is a follow-up from bug 252970.

There are APIs such as |GetPointFromOffset| that are expected to be called on
frames for which the NS_FRAME_IS_DIRTY bit is not set--unless the caller knows
what they are doing.

Consider sprinkling them with
NS_ASSERTION(!(mState & NS_FRAME_IS_DIRTY), "internal offsets may be out-of-sync")
OS: Windows 2000 → All
Hardware: PC → All
That assertion isn't really sufficient to guarantee accurate usage, since if an
ancestor is dirty or an ancestor's prior sibling is dirty then the information
could also be out of sync.
Or even later siblings, in some cases.

So the assertion should probably be that there are no pending reflow requests in
the PresShell, or something like that...
Flags: blocking1.9?
Flags: blocking1.9? → blocking1.9-
Whiteboard: [wanted-1.9]
Flags: wanted1.9+
Whiteboard: [wanted-1.9]
Flags: wanted1.9-
Flags: wanted1.9+
Flags: wanted-next+
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.