Open Bug 335053 Opened 18 years ago Updated 2 years ago

add assertions that we don't execute script during frame construction, reflow or painting

Categories

(Core :: Layout, defect, P3)

defect

Tracking

()

mozilla1.9alpha8

People

(Reporter: dbaron, Unassigned)

References

Details

(Keywords: sec-want, Whiteboard: [sg:want P4][dbaron-1.9:RsCe])

Attachments

(1 file, 1 obsolete file)

We need to add assertions that we don't execute script during frame construction, reflow, or painting, since scripts can trigger frame construction, reflow, or painting, but often don't.  This would catch more quickly the problems that could cause the assertions added in bug 310985.
Flags: blocking1.9a1?
Note that we should also do this for things that might execute script -- in particular, firing events.
Flags: blocking1.9a1? → blocking1.9-
Whiteboard: [wanted-1.9]
Flags: blocking1.9- → blocking1.9+
Whiteboard: [wanted-1.9]
Whiteboard: [sg:want P4]
Target Milestone: --- → mozilla1.9alpha6
Attached patch patch (obsolete) — Splinter Review
This is a patch for this bug and bug 335054.

Need to get bugs filed on the assertions this shows.
punting remaining a6 bugs to b1, all of these shipped in a5, so we're at least no worse off by doing so.
Target Milestone: mozilla1.9alpha6 → mozilla1.9beta1
Attached patch patchSplinter Review
Merged to trunk.
Attachment #265188 - Attachment is obsolete: true
Bug 397954 may have some additional things we should assert on listed in it.
Whiteboard: [sg:want P4] → [sg:want P4][dbaron-1.9:RsCe]
Dropping this from the 1.9 blocker list at this point.
Flags: wanted1.9+
Flags: blocking1.9-
Flags: blocking1.9+
How is this related to sicking's script blocker stuff?
Flags: wanted1.9-
Flags: wanted1.9+
Flags: wanted-next+
I think these assertions and the assertions i've added will uncover many of the same bugs.

There is a big overlap between when the two will assert, but there are also things one will catch that the other won't.

For example all mutation-observer notifications will happen while we have script blocker so we can't assert there. But the assertions for not firing events while we have script blockers will catch things other than when layout code causes events to fire.
Depends on: 1366251
Product: Core → Core Graveyard
Component: Layout: Misc Code → Layout
Product: Core Graveyard → Core
Assignee: dbaron → nobody
QA Whiteboard: qa-not-actionable
Severity: major → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: