Add an identifier for each task so that we can use it to cancel the task later. Migrate HTMLDetailsElement's toggle event to the event loop using that.
Created attachment 434494 [details] Patch
Created attachment 434496 [details] Patch
Created attachment 434504 [details] Patch
Created attachment 434509 [details] Patch
Comment on attachment 434509 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=434509&action=review > Source/WebCore/dom/EventLoop.h:76 > + enum class TaskIdentifier : uint64_t { Invalid = 0 }; Is there a reason not to use ObjectIdentifier<> ?
(In reply to Simon Fraser (smfr) from comment #5) > Comment on attachment 434509 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=434509&action=review > > > Source/WebCore/dom/EventLoop.h:76 > > + enum class TaskIdentifier : uint64_t { Invalid = 0 }; > > Is there a reason not to use ObjectIdentifier<> ? ObjectIdentifier will increase the size of EventLoopTask by 8 bytes. I'm avoiding that by using the combination of the pointer value & 16-bit salting.
<rdar://problem/81549670>
Does bug 228863 somewhat solve this?
(In reply to Tim Nguyen (:ntim) from comment #8) > Does bug 228863 somewhat solve this? It doesn't since the main point of this patch is to add the ability to cancel a task in the event loop but Chris sort of fixed that by adding CancelableTask in https://trac.webkit.org/r278543. Let's defer this to later.