Closed Bug 588337 Opened 15 years ago Closed 15 years ago

content/base/crashtests/443538-1.svg and dom/base/crashtests/90613-1.html assert "This is unsafe! Fix the caller!" with 130078

Categories

(Core :: Layout, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: tnikkel, Assigned: tnikkel)

References

Details

Attachments

(2 files)

Attached file assertion stack
I've only analyzed in detail the 443538-1.svg problem, but the assertion stack for 90613-1.html looks almost identical. The assertion is actually caused by the previous test: content/base/crashtests/426987-1.html. It has an iframe whose unload handler sets the parent documents body overflow to auto. This reconstructs the body and the subdocument frame on a refresh driver notify. When we recreate the document in the iframe the container view is null and so is the mParentWidget so DocumentViewerImpl::MakeWindow actually creates a widget for the subdocument (!). When the next test is shown and this test is destroyed we destroy that widget, which calls into Windows code, and Windows is nice enough to send us back a focus event synchronously, which we try to dispatch, and it is of course not a good time for that. We should really be more intentional about when we want to create widgets (ie almost never). But for now I hope we can get away with something minimal. FindContainerView returns null because our docshell does not have a parent docshell. We only need the parent docshell to get the parent presshell. But we can get the parent presshell in a number of ways via containerElement (via its document or its primary frame to name two). Does that sound reasonable?
Attached patch patchSplinter Review
Assignee: nobody → tnikkel
Attachment #467068 - Flags: review?(roc)
Status: NEW → RESOLVED
Closed: 15 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: