- HTMLCanvasElement detaches itself as host on CanvasRenderingContext2D at the same time as it destroys Canvas2DLayerBridge. CanvasRenderingContext2D can check whether the host is null.
--
You received this message because you are subscribed to the Google Groups "platform-architecture-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to platform-architect...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/platform-architecture-dev/CAMGE5NET2KV7zHYYxBKj0y_afF994hq0VBV%2BJc-8nTHt_ncLZQ%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/platform-architecture-dev/CABg10jxHHJtw6H6nLxK3PXFZFB1xnRANOptf9y4ebr26OW31wQ%40mail.gmail.com.
Omer Katz
V8, Software Engineer
Google Germany GmbH
Erika-Mann-Straße 33
80636 München
Geschäftsführer: Paul Manicle, Liana Sebastian
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Diese E-Mail ist vertraulich. Falls Sie diese fälschlicherweise erhalten haben sollten, leiten Sie diese bitte nicht an jemand anderes weiter, löschen Sie alle Kopien und Anhänge davon und lassen Sie mich bitte wissen, dass die E-Mail an die falsche Person gesendet wurde.
This e-mail is confidential. If you received this communication by mistake, please don't forward it to anyone else, please erase all copies and attachments, and please let me know that it has gone to the wrong person.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/platform-architecture-dev/CAJFGqfOC5pXHRhgOAbiLOHm5ShFzqkf2ipYB2cRd5wBn-tVoBw%40mail.gmail.com.
Ya but the task is posted as an idle task runner and is thread bound, so it needs some type of weak reference because it is not cancelable. Perhaps I'm misunderstanding though. I pending CL is probably best to comment on if there is one.
I think that a straightforward fix is to keep all the logic in HTMLCanvasElement::Dispose() as is and post an idle task with WTF::Bind(..., WrapWeakPersistent(context_)). When the task gets called, you can bail out early if host_ is null.