Summary: | MicrotaskQueue should be accessed via EventLoop | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Ryosuke Niwa <rniwa> | ||||
Component: | DOM | Assignee: | Ryosuke Niwa <rniwa> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | cdumez, dbates, esprehn+autocc, ews-watchlist, ggaren, gyuyoung.kim, hi, Hironori.Fujii, joepeck, kangil.han, koivisto, sam, webkit-bug-importer, wenson_hsieh, ysuzuki | ||||
Priority: | P2 | Keywords: | InRadar | ||||
Version: | WebKit Nightly Build | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
See Also: | https://bugs.webkit.org/show_bug.cgi?id=204395 | ||||||
Bug Depends on: | |||||||
Bug Blocks: | 204042 | ||||||
Attachments: |
|
Description
Ryosuke Niwa
2019-11-19 23:05:37 PST
Created attachment 383948 [details]
Refactoring
Once this patch is landed, there are a few bugs to fix: - MutationObserver's compound microtask queue must be per similar origin windows; i.e. per event loop. This should let us remove the hack we added in https://trac.webkit.org/r247222. - Custom Element's backup queue must be per micro per similar origin windows; i.e. per event loop. This will be observable via editing commands issued across sites. - EventLoopTaskQueue::queueMicrotaskCallback should automatically suspend or stop microtasks if the associated script execution context is suspend or stopped like regular EventLoopTasks. This will let us remove ActiveDOMCallbackMicrotask. Comment on attachment 383948 [details] Refactoring View in context: https://bugs.webkit.org/attachment.cgi?id=383948&action=review > Source/WebCore/dom/MutationObserver.cpp:163 > +// This state must be per event loop. > +static bool mutationObserverCompoundMicrotaskQueuedFlag = false; I suppose this is a FIXME. > Source/WebCore/dom/WindowEventLoop.cpp:78 > + // MicrotaskQueue must be one per event loop. FIXME Committed r252723: <https://trac.webkit.org/changeset/252723> Filed: Bug 204437 – [MSVC] error C2039: 'weakPtrFactory': is not a member of 'WebCore::DocumentStorageAccess::requestStorageAccess::<lambda_3f2cfd7704f93d8fe19d5b5f064f8add>' |