- From: <bugzilla@jessica.w3.org>
- Date: Tue, 17 Apr 2012 23:40:30 +0000
- To: public-webapps-bugzilla@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=16764 Summary: [Shadow]: host attribute makes it hard to preserve encapsulation Product: WebAppsWG Version: unspecified Platform: PC OS/Version: All Status: NEW Severity: normal Priority: P2 Component: Component Model AssignedTo: dglazkov@chromium.org ReportedBy: dominicc@chromium.org QAContact: public-webapps-bugzilla@w3.org Blocks: 14978 Take this use case: a component wants to provide a place for extension. For example, a video player may put playback controls in Shadow DOM but wants to let scripts add buttons to the controls. The component could do this: <!-- play/pause button --> <div id="extensionpoint"></div> and implement the extensionPoint attribute as: this.extensionPoint = new ShadowRoot(controls.querySelector('#extensionpoint')) Scripts can access the extensionPoint and add buttons to it, etc. However the component can’t preserve its own encapsulation, because the extensionPoint.host property will point into the component’s shadow. One way around this is for the component to do this: <!-- play/pause button --> <content select=".extensions"></content> And the caller writes: <…> <div class="extensions">…</div> … But it seems a shame that we lose the imperative API by having the "host" property. What is it good for? -- Configure bugmail: https://www.w3.org/Bugs/Public/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug.
Received on Tuesday, 17 April 2012 23:40:36 UTC