Summary: | SVG inside HTML with CSS transforms has redraw issues. | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Simon Fraser (smfr) <simon.fraser> | ||||||
Component: | SVG | Assignee: | Nobody <webkit-unassigned> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | eric, hyatt, zimmermann | ||||||
Priority: | P2 | ||||||||
Version: | 528+ (Nightly build) | ||||||||
Hardware: | Mac | ||||||||
OS: | OS X 10.5 | ||||||||
Bug Depends on: | 25532 | ||||||||
Bug Blocks: | |||||||||
Attachments: |
|
Description
Simon Fraser (smfr)
2009-01-04 20:11:17 PST
Created attachment 26420 [details]
Testcase
Here's what I think needs to happen: 1. SVG should avoid "absoluteTransform" computations everywhere. All bounding boxes and transforms should be relative to the SVGRoot. 2. There needs to be repaint hand-off at the SVG/HTML boundaries (i.e. SVGRoot and SVGForeignObject), so that the hosting render system can convert the repaint rects to the correct coordinates. 3. SVGForeignObject is going to need a RenderLayer (see also bug 23111, bug 23113), and RenderLayers need to be parented through SVG/HTML boundaries. I think we can avoid other RenderLayers inside SVG, but we'll need to put the accumulated transform from SVG content on the foreignObject's layer. This was fixed by http://trac.webkit.org/changeset/42950 bug 25431. I should land your test case as a LayoutTest though. Created attachment 30012 [details]
Update test case for SVG in CSS transforms
5 files changed, 74 insertions(+), 0 deletions(-)
We currently fail the <text> section of this test, but pass all the rest. Comment on attachment 30012 [details]
Update test case for SVG in CSS transforms
r=me
|