Closed
Bug 135059
Opened 23 years ago
Closed 21 years ago
Allow ContentStatesChanged() to work without necessarily creating a frame
Categories
(Core :: CSS Parsing and Computation, defect, P4)
Tracking
()
RESOLVED
FIXED
Future
People
(Reporter: john, Assigned: john)
Details
In some cases you want to notify the style system that something has changed but
you don't particularly care if a frame is there or not. This is particularly
true when you are notifying the style system that a value affecting a selector
has changed. This will be dealt with when the frame is created later so there
is absolutely no need to create a frame when you are calling it for this reason.
At the same time, it is a semi-expensive operation to find the frame from the
content in the frame map, and since ContentStatesChanged() does this already,
for performance reasons it makes sense to let ContentStatesChanged() do the
check for the frame's existence.
I suggest the addition of a parameter to ContentStatesChanged(),
aCreateFramesIfNotThere, and change all callers to use it as appropriate.
This comes out of bug 134560, which resulted in an extra "ghost" frame being
created when this method was called too early. It was fixed by not calling
ContentStatesChanged() unless there is already a frame in the frame map. The
"ghost" frame problem is outside the scope of this bug and it is not clear
whether it will show up anywhere else.
Assignee | ||
Updated•22 years ago
|
Status: NEW → ASSIGNED
Priority: -- → P4
Target Milestone: --- → Future
![]() |
||
Comment 1•21 years ago
|
||
ContentStatesChanged now only tries to create frames for nodes that were
explicitly display:none when the frame constructor saw them last (see bug
209733). The ghost problem has been fixed the right way by bug 231081.
So fixed (by bug 209733).
Status: ASSIGNED → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•