Open Bug 1513582 Opened 5 years ago Updated 2 years ago

[meta] Ensure no JS observable events are occurring during stable state

Categories

(Core :: DOM: Core & HTML, enhancement, P3)

enhancement

Tracking

()

People

(Reporter: jya, Unassigned)

References

(Depends on 1 open bug)

Details

(Keywords: meta)

Crash Data

Attachments

(1 obsolete file)

Spawned following bug 1443429 comment 20.

In bug 1443429. we started by adding strong assertion that no JS tasks are run during stable state. This revealed several issues some of them not trivially fixable.

Summarising the problem for future readers:

https://docs.google.com/presentation/d/1momsC3suU8m-CrdZyYD_6QATATehjzZHbkGmL6KsmSk/edit#slide=id.g28ecd2197a_0_269

In particular:

"the algorithm run in stable state should not do anything visible from the script. i.e., firing event or running JS callback which unexpectedly makes content “unstable” again."

reference to stable state in the HTML spec:
https://html.spec.whatwg.org/multipage/webappapis.html#await-a-stable-state

Due to the can of worms this has opened, the intent is to enable those assertions only once the problems are fixed, to prevent future ones.

So I create this bug as a meta, which will be completed once we can run the code without the new assertions being triggered.
Priority: -- → P3
Crash Signature: [@ mozilla::CycleCollectedJSContext::CleanupIDBTransactions]
Suggested by :smaug on IRC would be to wrap the processing of the stable state queue around a nsAutoMicroTask, which would postpone all run of microtasks while in stable state to later (https://searchfox.org/mozilla-central/rev/adcc169dcf58c2e45ba65c4ed5661d666fc3ac74/xpcom/base/CycleCollectedJSContext.cpp#394-395)

This wouldn't resolve the problem with the use of UserAgentOverrides.jsm within nsHttpRequest introduced in bug 1363421 however.
Blocks: 1363421
Depends on: 1513638
Depends on: 1513673
Depends on: 1513677
Component: DOM → DOM: Core & HTML
Attachment #9030773 - Attachment is obsolete: true
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: