wiki:Component Model

Version 7 (modified by Dimitri Glazkov, 9 years ago) (diff)

--

Component Model in WebKit

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.

Use XBL2 spec as a reference:

Area Status Comments
HTML Elements and DOM interfaces Not yet implemented Waiting on the plumbing to settle down
pseudo attribute Same as XBL2 pseudo Allows arbitrary value and CSS machinery has been modified to allow any value
Component lifecycle Not yet implemented Native controls implementation uses direct wiring
Shadow DOM Basic plumbing in place Instead of it being a <template> element clone, we use a different node type (SHADOW_ROOT_NODE = 14) for the root node
Tree Scopes Implemented, matches the shadow scope notion of in XBL2
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
CSS matching Some of the selectors and shadow scopes implemented Need to further align with the XBL2 spec
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)