Bug 62333 - [Meta] Refactor SVG Shadow Content to be RenderTree-based, not DOM-based
Summary: [Meta] Refactor SVG Shadow Content to be RenderTree-based, not DOM-based
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Web Components Team
URL:
Keywords:
Depends on:
Blocks: 87698 62793
  Show dependency treegraph
 
Reported: 2011-06-08 15:15 PDT by Dimitri Glazkov (Google)
Modified: 2012-12-11 19:08 PST (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dimitri Glazkov (Google) 2011-06-08 15:15:55 PDT
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.