12011-11-10 Nikolas Zimmermann <nzimmermann@rim.com>
2
3 Move unit resolving for all resources to rendering/
4 https://bugs.webkit.org/show_bug.cgi?id=72011
5
6 Reviewed by NOBODY (OOPS!).
7
8 Remove maskBoundingBox()/filterBoundingBox(), to avoid doing length resolution in svg/.
9 RenderSVGResource* now uses SVGLengthContext::resolveRectangle, to do this while laying out.
10
11 Move linear gradient start/end point, radial gradient focal/center point, radius calculations into
12 their RenderSVGResource classes, cleanup code a bit.
13
14 Convert filters to use SVGLengthContext. Fix DRT dumps for filters, while I'm at it, to give
15 meaningful values, when objectBoundingBox is used as primitive units, when applying to <text>/<tspan>s.
16
17 Several tests results need rebaselines on all platforms.
18
19 * platform/graphics/filters/Filter.h:
20 * rendering/svg/RenderSVGInlineText.h:
21 (WebCore::RenderSVGInlineText::objectBoundingBox):
22 * rendering/svg/RenderSVGResourceFilter.cpp:
23 (WebCore::RenderSVGResourceFilter::buildPrimitives):
24 (WebCore::RenderSVGResourceFilter::applyResource):
25 (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
26 * rendering/svg/RenderSVGResourceFilter.h:
27 * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
28 (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
29 * rendering/svg/RenderSVGResourceGradient.cpp:
30 (WebCore::RenderSVGResourceGradient::applyResource):
31 * rendering/svg/RenderSVGResourceGradient.h:
32 * rendering/svg/RenderSVGResourceLinearGradient.cpp:
33 (WebCore::RenderSVGResourceLinearGradient::startPoint):
34 (WebCore::RenderSVGResourceLinearGradient::endPoint):
35 (WebCore::RenderSVGResourceLinearGradient::buildGradient):
36 * rendering/svg/RenderSVGResourceLinearGradient.h:
37 * rendering/svg/RenderSVGResourceMasker.cpp:
38 (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
39 * rendering/svg/RenderSVGResourceRadialGradient.cpp:
40 (WebCore::RenderSVGResourceRadialGradient::centerPoint):
41 (WebCore::RenderSVGResourceRadialGradient::focalPoint):
42 (WebCore::RenderSVGResourceRadialGradient::radius):
43 (WebCore::RenderSVGResourceRadialGradient::adjustFocalPointIfNeeded):
44 (WebCore::RenderSVGResourceRadialGradient::buildGradient):
45 * rendering/svg/RenderSVGResourceRadialGradient.h:
46 * rendering/svg/SVGRenderTreeAsText.cpp:
47 (WebCore::writeSVGResourceContainer):
48 * svg/SVGFilterElement.cpp:
49 * svg/SVGFilterElement.h:
50 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
51 (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
52 * svg/SVGFilterPrimitiveStandardAttributes.h:
53 * svg/SVGLinearGradientElement.cpp:
54 * svg/SVGLinearGradientElement.h:
55 * svg/SVGMaskElement.cpp:
56 * svg/SVGMaskElement.h:
57 * svg/SVGRadialGradientElement.cpp:
58 * svg/SVGRadialGradientElement.h:
59 * svg/graphics/filters/SVGFilter.h:
60 (WebCore::SVGFilter::filterRegionInUserSpace):
61