Closed Bug 343613 Opened 19 years ago Closed 19 years ago

Make EventStateManager to use nsWeakFrame

Categories

(Core :: Layout, defect)

x86
All
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: smaug, Assigned: smaug)

References

Details

Attachments

(1 file)

EventStateManager should use nsFrameDestroyNotifier to check whether some nsFrame objects are alive. This simplifies the code a bit - no need to have two ways to do the same thing.
Summary: Make EventStateManager to use nsFrameDestroyNotifier → Make EventStateManager to use nsWeakFrame
Attached patch proposed patchSplinter Review
This makes it quite difficult to use dead nsIFrames in ESM. No need to call SetFrameExternalReference everywhere.
Attachment #229081 - Flags: superreview?(roc)
Attachment #229081 - Flags: review?(roc)
Comment on attachment 229081 [details] [diff] [review] proposed patch This is good. However, keep in mind that wherever we're using nsWeakFrame, we're creating potential problems if content gets restyled; we end up just aborting when in many cases we should be able to carry on. In many cases the *real* (not necessarily branch-compatible) fix is to move logic to operate on content instead of frames.
Attachment #229081 - Flags: superreview?(roc)
Attachment #229081 - Flags: superreview+
Attachment #229081 - Flags: review?(roc)
Attachment #229081 - Flags: review+
(In reply to comment #2) >... we end up just > aborting when in many cases we should be able to carry on. In many cases the > *real* (not necessarily branch-compatible) fix is to move logic to operate on > content instead of frames. I understand that, but until the logic has moved, nsWeakFrame is needed.
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: