wiki:Component Model

Version 3 (modified by Dimitri Glazkov, 13 years ago) (diff)


The component model effort brings encapsulation to the Web. See use cases for more background.

Implementation Status

If this is older than 30 days, it's probably out of date.

At this point, no author-facing APIs are exposed.

Differences and similarities with XBL2:

Area Status Differences
Events Matches logic in event handlers section We don't create a separate Event object for each re-targeting, because we don't worry about component isolation (yet)
Shadow Root We now create a root object at which the shadow DOM subtree begins Instead of it being a <template> element clone, we use a different node type (SHADOW_ROOT_NODE = 14)
pseudo attribute Same as XBL2 pseudo Allows arbitrary value and CSS machinery has been modified to allow any value
CSS matching Some of the selectors and shadow scopes implemented Need to further align with the XBL2 spec
Tree Scopes Implemented, matches the shadow scope notion of in XBL2
Style blocks/script blocks Not yet implemented
Inheritance Won't be implementing We decided that this feature is overly complex and unnecessary for the component model. See this post to public-webapps
<content> element Basic building blocks are being used by <summary> and <details> Need to better understand requirements and use cases to spec/implement properly. Certainly won't be implementing the way it's defined in XBL 2.0