⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.
wiki:Component Model

Version 15 (modified by Dimitri Glazkov, 15 years ago) ( diff )

--

Component Model in WebKit

The component model effort brings encapsulation to the Web. See ​use cases for more background. Ping dglazkov, dominicc, morrita, or rolansteiner on #webkit for more information.

Implementation Status

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

Area Status Comments
​Convert all existing shadow DOM to new model input/textarea remain
​Shadow Content Plumbing Basic plumbing in place
​DOM Interfaces Not yet implemented Waiting on the plumbing to settle down
​Declarative API (Markup) Not yet implemented Waiting on the plumbing to settle down
​Events Functionally complete
​Lifecycle Not yet implemented Built-in HTML elements implementation uses direct wiring
​Document/Resource Loading Not yet implemented
​CSS matching Some of the ​selectors and shadow scopes implemented
​Testing Some layout tests Need to grow this to a full-featured test suite, preferably also a conformance suite

Current differences from the ​XBL2 spec:

  • Shadow root element Instead of it being a <template> element clone, we use a different node type (SHADOW_ROOT_NODE = 14) for the root node.
  • Event retargeting We don't create a separate Event object for each re-targeting, because we don't worry about component isolation (yet).
  • pseudo attribute Same as ​XBL2 pseudo, but allows arbitrary value and CSS machinery has been modified to allow any value.
  • Tree scopes Matches the ​shadow scope notion of in XBL2, but is a more explicit abstraction.
  • Inheritance Won't be implementing. This feature is overly complex and unnecessary for the component model. See ​this post to public-webapps.
  • Content element 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.
Note: See TracWiki for help on using the wiki.