Open Bug 1646532 Opened 11 months ago Updated 2 days ago

Fix GetInProcessTopInternal usage in nsGlobalWindowOuter::ShouldPromptToBlockDialogs/AreDialogsEnabled/EnableDialogs/DisableDialogs

Categories

(Core :: DOM: Core & HTML, defect, P2)

defect

Tracking

()

Fission Milestone M8

People

(Reporter: kmag, Unassigned, NeedInfo)

References

(Blocks 1 open bug)

Details

No description provided.

Also goes for nsGlobalWindowOuter::TemporarilyDisableDialogs

And nsGlobalWindowInner::DialogsAreBeingAbused

Severity: -- → N/A
Type: defect → task

Seems to be related to alert()-spam. With current implementation, would not impact oop subframes.

Fission Milestone: --- → M7
Assignee: nobody → smacleod
Status: NEW → ASSIGNED
Priority: -- → P2

I think we should be able to do this by moving topWindow->mAreDialogsEnabled onto the toplevel WindowContext as a synced field, as we only ever clear it to false outside of nsIDOMWindowUtils::EnableDialogs, which can probably be deleted as I don't see any callers in-tree (https://bugzilla.mozilla.org/show_bug.cgi?id=1669392)

The mDialogAbuseCount flag might be nice to support across processes, but that may be trickier. We would probably need to start tracking the information in the parent process on WindowGlobalParent, and move when we're rejecting things to a different process in the dialog flow.

Doesn't have to block M7, let's fix in M7a.

Type: task → defect
Fission Milestone: M7 → M7a
Assignee: steven → nobody
Status: ASSIGNED → NEW

Johann, do you have thoughts for mDialogAbuseCount (see comment 4)?

Fission Milestone: M7a → M8
Flags: needinfo?(jhofmann)
You need to log in before you can comment on or make changes to this bug.