Platforms that are not currently shipping this experimental feature shouldn't need to take performance and binary size hit from it. As discussed in bug 103208 the code should be fully behind a feature flag.
Created attachment 176775 [details] WIP patch This compiles out ComposedShadowTreeWalker, EventRelatedTargetAdjuster, HTMLContentElement, HTMLShadowElement, InsertionPoint, ContentDistributor, ContentSelectorQuery and some utility classes when SHADOW_DOM flag is not set. It also disables the <details> element which currently depends on the Shadow DOM feature.
Attachment 176775 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/WebCore.exp.in', u'Source/W..." exit_code: 1 Source/WebCore/html/HTMLLIElement.cpp:110: Missing space before { [whitespace/braces] [5] Total errors found: 1 in 32 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 176775 [details] WIP patch Attachment 176775 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/15029899
Comment on attachment 176775 [details] WIP patch Attachment 176775 [details] did not pass qt-wk2-ews (qt): Output: http://queues.webkit.org/results/15036594
Created attachment 176784 [details] now with <details> disabled
Attachment 176784 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WTF/wtf/Platform.h', u'Source/WebCo..." exit_code: 1 Source/WebCore/html/HTMLLIElement.cpp:110: Missing space before { [whitespace/braces] [5] Total errors found: 1 in 33 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 176784 [details] now with <details> disabled Attachment 176784 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/15026966
Antti, would you mind if Morrita finished this work? He's very familiar with the code and already filed a bug for this: https://bugs.webkit.org/show_bug.cgi?id=103339. He could probably un-port <details> from Shadow DOM quicker, too. You have many other cool things you could be doing now :) Also, I would love if we had a bit more precise terminology here. Calling this code "Web Components" is too broad. Web Components is just an umbrella term, and there's a more narrow "Shadow DOM" moniker for this plumbing, and even more precisely, you're trying to yank out the "insertion points" related parts of it.
Not at all. I was just curious to learn how the Shadow DOM integrates with the rest of the WebKit. I just uploaded it because I thought it might be a useful starting point for someone doing it for real.
Also feel free to rename as you like.
Awesome. *** This bug has been marked as a duplicate of bug 103339 ***