According to the spec, <canvas> should behave like having a Shadow DOM.
Created attachment 160679 [details] WIP
Created attachment 160917 [details] WIP
Comment on attachment 160917 [details] WIP Attachment 160917 [details] did not pass chromium-ews (chromium-xvfb): Output: http://queues.webkit.org/results/13663086
Comment on attachment 160917 [details] WIP Attachment 160917 [details] did not pass win-ews (win): Output: http://queues.webkit.org/results/13663093
Comment on attachment 160917 [details] WIP Attachment 160917 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/13655128
Comment on attachment 160917 [details] WIP Attachment 160917 [details] did not pass cr-android-ews (chromium-android): Output: http://queues.webkit.org/results/13654121
Created attachment 160926 [details] WIP
Comment on attachment 160926 [details] WIP Attachment 160926 [details] did not pass win-ews (win): Output: http://queues.webkit.org/results/13658143
Created attachment 161145 [details] WIP
Created attachment 161395 [details] Patch
Comment on attachment 161395 [details] Patch Let's hold off on this approach until we discuss the strategy in person next week.
Comment on attachment 161395 [details] Patch According to https://bugs.webkit.org/show_bug.cgi?id=96978, shadow dom for <canvas> will be disabled.
Not need to have the actual shadow root for canvas.