Re: [Shadow] URL-based shadows?

> On Mar 12, 2015, at 5:46 PM, Travis Leithead <travis.leithead@microsoft.com> wrote:
>  
>    Has the idea of loading/parsing a Shadow DOM directly from a URL been discussed already? (e.g., a sort-of “micro-import” or an import that parses its document directly into the ShadowRoot container?) I’m curious to know if there’s some obvious flaw that I’m missing.
>  
> element.createShadowRoot(“path to my component”);
>  
>   This is an idea around building components from the “inside out”, and using the URL as the basis for script-level access control to the Shadow contents.

Hi Travis,

I think this idea resonates well with the cross-origin use case / API change proposal we made two years ago [1].  In that proposal, we went a step further and tied custom elements with URLs so that those shadow DOM can be automatically instantiated by simply using those custom elements.

e.g. if “like-button” element was defined in https://webkit.org/components.html, then we can use that component by simply "importing" the definition:

<link rel=import href="https://webkit.org/components.html" defines="like-button”>

and using it in the same document (that imported components.html):

<like-button data-url="https://build.webkit.org/">Like build.webkit.org</like-button>

We thought this model was more developer friendly than having each user of the component manually create shadow root.  We also didn’t want to make component authors deal with situations like a shadow root being attached to an iframe, input, etc..

[1] https://lists.w3.org/Archives/Public/public-webapps/2013OctDec/0418.html

- R. Niwa

Received on Wednesday, 18 March 2015 21:26:30 UTC