Bug 103654

Summary: Web Components code should be fully behind feature flag
Product: WebKit Reporter: Antti Koivisto <koivisto>
Component: DOMAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: allan.jensen, benjamin, cmarcelo, dglazkov, koivisto, macpherson, menard, mifenton, mjs, morrita, ojan, philn, sam, tkent, webcomponents-bugzilla, webkit-ews, webkit.review.bot, xan.lopez
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
WIP patch
webkit-ews: commit-queue-
now with <details> disabled eflews.bot: commit-queue-

Description Antti Koivisto 2012-11-29 11:41:24 PST
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.
Comment 1 Antti Koivisto 2012-11-29 11:57:44 PST
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.
Comment 2 WebKit Review Bot 2012-11-29 12:00:57 PST
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 3 Early Warning System Bot 2012-11-29 12:03:14 PST
Comment on attachment 176775 [details]
WIP patch

Attachment 176775 [details] did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/15029899
Comment 4 Early Warning System Bot 2012-11-29 12:03:19 PST
Comment on attachment 176775 [details]
WIP patch

Attachment 176775 [details] did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/15036594
Comment 5 Antti Koivisto 2012-11-29 12:19:17 PST
Created attachment 176784 [details]
now with <details> disabled
Comment 6 WebKit Review Bot 2012-11-29 12:20:56 PST
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 7 EFL EWS Bot 2012-11-29 12:30:51 PST
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
Comment 8 Dimitri Glazkov (Google) 2012-11-29 12:46:58 PST
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.
Comment 9 Antti Koivisto 2012-11-29 12:58:49 PST
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.
Comment 10 Antti Koivisto 2012-11-29 12:59:24 PST
Also feel free to rename as you like.
Comment 11 Dimitri Glazkov (Google) 2012-11-29 13:01:28 PST
Awesome.

*** This bug has been marked as a duplicate of bug 103339 ***