Bug 62333
Summary: | [Meta] Refactor SVG Shadow Content to be RenderTree-based, not DOM-based | ||
---|---|---|---|
Product: | WebKit | Reporter: | Dimitri Glazkov (Google) <dglazkov> |
Component: | SVG | Assignee: | Web Components Team <webcomponents-bugzilla> |
Status: | RESOLVED WONTFIX | ||
Severity: | Normal | CC: | dominicc, jeffschiller, jgw, jschuh, krit, morrita, rniwa, rwlbuis, zimmermann |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Bug Depends on: | |||
Bug Blocks: | 62793, 87698 |
Dimitri Glazkov (Google)
Per our discussion at the WebKit Contributors conference:
1) blow away current implementation of SVG shadow tree
2) implement clone-boxes: a Node can be represented by any number of
RenderObjects in various places in the tree. These trees can be
constructed either by cloning an existing RenderObject subtree or just
creating it from scratch from DOM (probably easier on the short term)
3) implement SVG shadows using clone-boxes.
This way, when creating an SVG instance, we actually just create a
rendertree chunk, with node pointers referring the original elements.
Event handling is now crazy-simple. Hit-testing finds a box, then goes
straight to the original element, since it RenderObject::node() is
pointing there.
Similarly with styles, the styles are computed using the original
elements and propagate to the instance rendertree chunks using shared
styles.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Ryosuke Niwa
Not gonna do this.