Version 15 (modified by 13 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.