2006-05-30 Eric Seidel <eric@eseidel.com>
authoreseidel <eseidel@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 31 May 2006 17:25:30 +0000 (17:25 +0000)
committereseidel <eseidel@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 31 May 2006 17:25:30 +0000 (17:25 +0000)
        Reviewed by andersca.

        Add first-cut SVG JS bindings autogeneration.
        SVGSVGElement and various other support classes are generated.
        Various small style fixes.
        http://bugzilla.opendarwin.org/show_bug.cgi?id=4249

        * DerivedSources.make:
        * WebCore+SVG/RGBColor.cpp: Removed.
        * WebCore+SVG/RGBColor.h: Removed.
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSHTMLElementWrapperFactory.cpp:
        (WebCore::createJSHTMLWrapper): renamed from createJSWrapper
        * bindings/js/JSHTMLElementWrapperFactory.h:
        * bindings/js/kjs_dom.cpp:
        (KJS::DOMNode::DOMNode):
        (KJS::DOMNode::toBoolean):
        (KJS::DOMNode::getOwnPropertySlot):
        (KJS::DOMNode::getValueProperty):
        (KJS::DOMNode::put):
        (KJS::DOMNode::putValueProperty):
        (KJS::DOMNode::toPrimitive):
        (KJS::DOMNode::toString):
        (KJS::DOMNodeProtoFunc::callAsFunction):
        (KJS::toEventTargetNode):
        (KJS::DOMEventTargetNode::getOwnPropertySlot):
        (KJS::DOMEventTargetNode::getValueProperty):
        (KJS::DOMEventTargetNode::put):
        (KJS::DOMEventTargetNode::putValueProperty):
        (KJS::DOMEventTargetNode::setListener):
        (KJS::DOMEventTargetNode::getListener):
        (KJS::DOMEventTargetNode::pushEventHandlerScope):
        (KJS::DOMEventTargetNodeProtoFunc::callAsFunction):
        (KJS::DOMNodeList::toPrimitive):
        (KJS::DOMNodeList::getValueProperty):
        (KJS::DOMNodeList::indexGetter):
        (KJS::DOMNodeList::nameGetter):
        (KJS::DOMNodeList::getOwnPropertySlot):
        (KJS::DOMNodeList::callAsFunction):
        (KJS::DOMNodeListFunc::callAsFunction):
        (KJS::toElement):
        (KJS::toDocumentType):
        (KJS::DOMNamedNodeMap::DOMNamedNodeMap):
        (KJS::DOMNamedNodeMap::~DOMNamedNodeMap):
        (KJS::DOMNamedNodeMap::lengthGetter):
        (KJS::DOMNamedNodeMap::indexGetter):
        (KJS::DOMNamedNodeMap::nameGetter):
        (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
        (KJS::toJS):
        (KJS::checkNodeSecurity):
        (KJS::getRuntimeObject):
        (KJS::DOMExceptionConstructor::getOwnPropertySlot):
        (KJS::DOMExceptionConstructor::getValueProperty):
        (KJS::getDOMExceptionConstructor):
        (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
        (KJS::DOMNamedNodesCollection::lengthGetter):
        (KJS::DOMNamedNodesCollection::indexGetter):
        (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * dom/Document.cpp:
        (WebCore::Document::implicitClose):
        * dom/Element.h:
        * dom/StyledElement.h:
        * ksvg2/bindings/idl/svg/SVGAngle.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGAnimatedLength.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGColor.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGDocument.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGElement.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGLength.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGMatrix.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGNumber.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGPoint.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGRect.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGSVGElement.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGTransform.idl: Removed.
        * ksvg2/bindings/idl/svg/kdomdefs.idl: Removed.
        * ksvg2/bindings/js: Added.
        * ksvg2/bindings/js/JSSVGNumber.cpp: Added.
        (WebCore::):
        (WebCore::JSSVGNumber::~JSSVGNumber):
        (WebCore::JSSVGNumber::getOwnPropertySlot):
        (WebCore::JSSVGNumber::getValue):
        (WebCore::getJSSVGNumber):
        * ksvg2/bindings/js/JSSVGNumber.h: Added.
        (WebCore::JSSVGNumber::JSSVGNumber):
        (WebCore::JSSVGNumber::classInfo):
        * ksvg2/bindings/js/JSSVGPoint.cpp: Added.
        (WebCore::):
        (WebCore::JSSVGPoint::~JSSVGPoint):
        (WebCore::JSSVGPoint::getOwnPropertySlot):
        (WebCore::JSSVGPoint::getValueProperty):
        (WebCore::getJSSVGPoint):
        (WebCore::toFloatPoint):
        * ksvg2/bindings/js/JSSVGPoint.h: Added.
        (WebCore::JSSVGPoint::JSSVGPoint):
        (WebCore::JSSVGPoint::classInfo):
        (WebCore::JSSVGPoint::):
        (WebCore::JSSVGPoint::impl):
        * ksvg2/bindings/js/JSSVGRect.cpp: Added.
        (WebCore::):
        (WebCore::JSSVGRect::~JSSVGRect):
        (WebCore::JSSVGRect::getOwnPropertySlot):
        (WebCore::JSSVGRect::getValueProperty):
        (WebCore::getJSSVGRect):
        (WebCore::toFloatRect):
        * ksvg2/bindings/js/JSSVGRect.h: Added.
        (WebCore::JSSVGRect::JSSVGRect):
        (WebCore::JSSVGRect::classInfo):
        (WebCore::JSSVGRect::):
        (WebCore::JSSVGRect::impl):
        * ksvg2/css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        * ksvg2/css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty):
        * ksvg2/events/SVGZoomEvent.cpp:
        (SVGZoomEvent::SVGZoomEvent):
        (SVGZoomEvent::zoomRectScreen):
        (SVGZoomEvent::previousTranslate):
        (SVGZoomEvent::newTranslate):
        * ksvg2/events/SVGZoomEvent.h:
        * ksvg2/ksvg.h:
        (WebCore::):
        * ksvg2/misc/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::SVGDocumentExtensions):
        (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
        (WebCore::SVGDocumentExtensions::addTimeContainer):
        (WebCore::SVGDocumentExtensions::removeTimeContainer):
        (WebCore::SVGDocumentExtensions::startAnimations):
        (WebCore::SVGDocumentExtensions::pauseAnimations):
        (WebCore::SVGDocumentExtensions::unpauseAnimations):
        * ksvg2/misc/SVGDocumentExtensions.h:
        * ksvg2/svg/SVGAElement.h:
        * ksvg2/svg/SVGAngle.h:
        (WebCore::SVGAngle::):
        * ksvg2/svg/SVGAngle.idl: Added.
        * ksvg2/svg/SVGAnimateColorElement.cpp:
        (WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
        (WebCore::SVGAnimateColorElement::handleTimerEvent):
        (WebCore::SVGAnimateColorElement::clampColor):
        * ksvg2/svg/SVGAnimateColorElement.h:
        * ksvg2/svg/SVGAnimateElement.cpp:
        (SVGAnimateElement::SVGAnimateElement):
        (SVGAnimateElement::handleTimerEvent):
        * ksvg2/svg/SVGAnimateElement.h:
        * ksvg2/svg/SVGAnimateTransformElement.cpp:
        (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
        (WebCore::SVGAnimateTransformElement::parseMappedAttribute):
        (WebCore::SVGAnimateTransformElement::handleTimerEvent):
        (WebCore::SVGAnimateTransformElement::parseTransformValue):
        (WebCore::SVGAnimateTransformElement::calculateRotationFromMatrix):
        (WebCore::SVGAnimateTransformElement::initialMatrix):
        * ksvg2/svg/SVGAnimateTransformElement.h:
        * ksvg2/svg/SVGAnimatedLength.idl: Added.
        * ksvg2/svg/SVGAnimationElement.cpp:
        (SVGAnimationElement::closeRenderer):
        * ksvg2/svg/SVGAnimationElement.h:
        * ksvg2/svg/SVGCircleElement.h:
        * ksvg2/svg/SVGClipPathElement.h:
        * ksvg2/svg/SVGColor.cpp:
        (WebCore::SVGColor::SVGColor):
        (WebCore::SVGColor::rgbColor):
        (WebCore::SVGColor::setRGBColor):
        (WebCore::SVGColor::setRGBColorICCColor):
        (WebCore::SVGColor::setColor):
        (WebCore::SVGColor::color):
        * ksvg2/svg/SVGColor.h:
        (WebCore::SVGColor::):
        (WebCore::SVGColor::setRGBColor):
        * ksvg2/svg/SVGColor.idl: Added.
        * ksvg2/svg/SVGComponentTransferFunctionElement.h:
        * ksvg2/svg/SVGCursorElement.h:
        * ksvg2/svg/SVGDefsElement.h:
        * ksvg2/svg/SVGDescElement.h:
        * ksvg2/svg/SVGDocument.idl: Added.
        * ksvg2/svg/SVGElement.cpp:
        (WebCore::SVGElement::SVGElement):
        (WebCore::SVGElement::isSupported):
        (WebCore::SVGElement::id):
        (WebCore::SVGElement::setId):
        (WebCore::SVGElement::xmlbase):
        (WebCore::SVGElement::setXmlbase):
        (WebCore::SVGElement::ownerSVGElement):
        (WebCore::SVGElement::viewportElement):
        (WebCore::SVGElement::tryGetAttribute):
        (WebCore::SVGElement::tryGetAttributeNS):
        (WebCore::SVGElement::childShouldCreateRenderer):
        * ksvg2/svg/SVGElement.h:
        * ksvg2/svg/SVGElement.idl: Added.
        * ksvg2/svg/SVGEllipseElement.h:
        * ksvg2/svg/SVGEvent.idl: Added.
        * ksvg2/svg/SVGFEBlendElement.h:
        * ksvg2/svg/SVGFEColorMatrixElement.h:
        * ksvg2/svg/SVGFEComponentTransferElement.h:
        * ksvg2/svg/SVGFECompositeElement.h:
        * ksvg2/svg/SVGFEDiffuseLightingElement.h:
        * ksvg2/svg/SVGFEDistantLightElement.h:
        * ksvg2/svg/SVGFEFloodElement.h:
        * ksvg2/svg/SVGFEFuncAElement.h:
        * ksvg2/svg/SVGFEFuncBElement.h:
        * ksvg2/svg/SVGFEFuncGElement.h:
        * ksvg2/svg/SVGFEFuncRElement.h:
        * ksvg2/svg/SVGFEGaussianBlurElement.h:
        * ksvg2/svg/SVGFEImageElement.h:
        * ksvg2/svg/SVGFELightElement.h:
        * ksvg2/svg/SVGFEMergeElement.h:
        * ksvg2/svg/SVGFEMergeNodeElement.h:
        * ksvg2/svg/SVGFEOffsetElement.h:
        * ksvg2/svg/SVGFEPointLightElement.h:
        * ksvg2/svg/SVGFESpecularLightingElement.h:
        * ksvg2/svg/SVGFESpotLightElement.h:
        * ksvg2/svg/SVGFETileElement.h:
        * ksvg2/svg/SVGFETurbulenceElement.h:
        * ksvg2/svg/SVGFilterElement.h:
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
        * ksvg2/svg/SVGForeignObjectElement.h:
        * ksvg2/svg/SVGGElement.h:
        * ksvg2/svg/SVGGradientElement.h:
        * ksvg2/svg/SVGHelper.cpp:
        (WebCore::SVGHelper::PercentageOfViewport):
        (WebCore::SVGHelper::ParseSeperatedList):
        * ksvg2/svg/SVGImageElement.h:
        * ksvg2/svg/SVGLength.h:
        (WebCore::SVGLength::):
        * ksvg2/svg/SVGLength.idl: Added.
        * ksvg2/svg/SVGLineElement.h:
        * ksvg2/svg/SVGLinearGradientElement.h:
        * ksvg2/svg/SVGLocatable.cpp:
        (SVGLocatable::getBBox):
        * ksvg2/svg/SVGLocatable.h:
        * ksvg2/svg/SVGMarkerElement.h:
        * ksvg2/svg/SVGMaskElement.h:
        * ksvg2/svg/SVGMatrix.cpp:
        (SVGMatrix::inverse):
        (SVGMatrix::rotateFromVector):
        * ksvg2/svg/SVGMatrix.h:
        * ksvg2/svg/SVGMatrix.idl: Added.
        * ksvg2/svg/SVGNumber.idl: Added.
        * ksvg2/svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::getPointAtLength):
        * ksvg2/svg/SVGPathElement.h:
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::x):
        (WebCore::SVGPatternElement::y):
        (WebCore::SVGPatternElement::width):
        (WebCore::SVGPatternElement::height):
        (WebCore::SVGPatternElement::pushAttributeContext):
        (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
        (WebCore::SVGPatternElement::drawPatternContentIntoTile):
        (WebCore::SVGPatternElement::notifyClientsToRepaint):
        (WebCore::SVGPatternElement::notifyAttributeChange):
        (WebCore::SVGPatternElement::canvasResource):
        (WebCore::SVGPatternElement::getCTM):
        * ksvg2/svg/SVGPatternElement.h:
        * ksvg2/svg/SVGPoint.idl: Added.
        * ksvg2/svg/SVGPolyElement.h:
        * ksvg2/svg/SVGPolygonElement.h:
        * ksvg2/svg/SVGPolylineElement.h:
        * ksvg2/svg/SVGRadialGradientElement.h:
        * ksvg2/svg/SVGRect.idl: Added.
        * ksvg2/svg/SVGRectElement.h:
        * ksvg2/svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::SVGSVGElement):
        (WebCore::SVGSVGElement::~SVGSVGElement):
        (WebCore::SVGSVGElement::viewport):
        (WebCore::SVGSVGElement::currentTranslate):
        (WebCore::SVGSVGElement::unsuspendRedraw):
        (WebCore::SVGSVGElement::getIntersectionList):
        (WebCore::SVGSVGElement::getEnclosureList):
        (WebCore::SVGSVGElement::checkIntersection):
        (WebCore::SVGSVGElement::checkEnclosure):
        (WebCore::SVGSVGElement::createSVGNumber):
        (WebCore::SVGSVGElement::createSVGPoint):
        (WebCore::SVGSVGElement::createSVGRect):
        (WebCore::SVGSVGElement::pauseAnimations):
        (WebCore::SVGSVGElement::unpauseAnimations):
        (WebCore::SVGSVGElement::animationsPaused):
        (WebCore::SVGSVGElement::getCurrentTime):
        (WebCore::SVGSVGElement::setCurrentTime):
        * ksvg2/svg/SVGSVGElement.h:
        (WebCore::SVGSVGElement::timeScheduler):
        * ksvg2/svg/SVGSVGElement.idl: Added.
        * ksvg2/svg/SVGScriptElement.h:
        * ksvg2/svg/SVGSetElement.cpp:
        (WebCore::SVGSetElement::SVGSetElement):
        (WebCore::SVGSetElement::handleTimerEvent):
        * ksvg2/svg/SVGSetElement.h:
        * ksvg2/svg/SVGStopElement.h:
        * ksvg2/svg/SVGStyleElement.h:
        * ksvg2/svg/SVGStyledElement.h:
        * ksvg2/svg/SVGStyledLocatableElement.cpp:
        (SVGStyledLocatableElement::getBBox):
        * ksvg2/svg/SVGStyledLocatableElement.h:
        * ksvg2/svg/SVGStyledTransformableElement.cpp:
        (SVGStyledTransformableElement::getBBox):
        * ksvg2/svg/SVGStyledTransformableElement.h:
        * ksvg2/svg/SVGSwitchElement.h:
        * ksvg2/svg/SVGSymbolElement.h:
        * ksvg2/svg/SVGTRefElement.h:
        * ksvg2/svg/SVGTSpanElement.h:
        * ksvg2/svg/SVGTextContentElement.cpp:
        (SVGTextContentElement::getStartPositionOfChar):
        (SVGTextContentElement::getEndPositionOfChar):
        (SVGTextContentElement::getExtentOfChar):
        (SVGTextContentElement::getCharNumAtPosition):
        (SVGTextContentElement::parseMappedAttribute):
        * ksvg2/svg/SVGTextContentElement.h:
        * ksvg2/svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::getBBox):
        * ksvg2/svg/SVGTextElement.h:
        * ksvg2/svg/SVGTextPositioningElement.h:
        * ksvg2/svg/SVGTitleElement.h:
        * ksvg2/svg/SVGTransform.h:
        (WebCore::SVGTransform::):
        * ksvg2/svg/SVGTransform.idl: Added.
        * ksvg2/svg/SVGUseElement.h:
        * ksvg2/svg/SVGViewElement.h:
        * page/Frame.cpp:
        (WebCore::Frame::Frame):
        (WebCore::Frame::pauseTimeouts):
        (WebCore::Frame::resumeTimeouts):
        * platform/Color.h:
        * rendering/RenderBR.h:
        * rendering/RenderBox.h:
        (WebCore::RenderBox::renderName):
        * rendering/RenderCanvas.h:
        (WebCore::RenderCanvas::view):
        * rendering/RenderContainer.h:
        * rendering/RenderFlexibleBox.h:
        * rendering/RenderFlow.h:
        (WebCore::RenderFlow::RenderFlow):
        * rendering/RenderInline.h:
        * rendering/RenderTableSection.h:
        * rendering/RenderTextFragment.h:
        (WebCore::RenderTextFragment::contentString):
        * xml/xmlattrs.in: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14646 268f45cc-cd09-0410-ab3c-d52691b4dbfc

157 files changed:
WebCore/ChangeLog
WebCore/DerivedSources.make
WebCore/WebCore+SVG/SVGElementFactoryWrapper.cpp [deleted file]
WebCore/WebCore+SVG/SVGNamesWrapper.cpp [deleted file]
WebCore/WebCore+SVG/XLinkNamesWrapper.cpp [deleted file]
WebCore/WebCore.xcodeproj/project.pbxproj
WebCore/bindings/js/JSHTMLElementWrapperFactory.cpp
WebCore/bindings/js/JSHTMLElementWrapperFactory.h
WebCore/bindings/js/kjs_dom.cpp
WebCore/bindings/scripts/CodeGenerator.pm
WebCore/bindings/scripts/CodeGeneratorJS.pm
WebCore/dom/Document.cpp
WebCore/dom/Element.h
WebCore/dom/StyledElement.h
WebCore/ksvg2/bindings/idl/svg/SVGAngle.idl [deleted file]
WebCore/ksvg2/bindings/idl/svg/SVGColor.idl [deleted file]
WebCore/ksvg2/bindings/idl/svg/SVGDocument.idl [deleted file]
WebCore/ksvg2/bindings/idl/svg/SVGElement.idl [deleted file]
WebCore/ksvg2/bindings/idl/svg/SVGMatrix.idl [deleted file]
WebCore/ksvg2/bindings/idl/svg/SVGNumber.idl [deleted file]
WebCore/ksvg2/bindings/idl/svg/SVGPoint.idl [deleted file]
WebCore/ksvg2/bindings/idl/svg/SVGRect.idl [deleted file]
WebCore/ksvg2/bindings/idl/svg/SVGSVGElement.idl [deleted file]
WebCore/ksvg2/bindings/idl/svg/SVGTransform.idl [deleted file]
WebCore/ksvg2/bindings/idl/svg/kdomdefs.idl [deleted file]
WebCore/ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp [new file with mode: 0644]
WebCore/ksvg2/bindings/js/JSSVGElementWrapperFactory.h [new file with mode: 0644]
WebCore/ksvg2/bindings/js/JSSVGNumber.cpp [new file with mode: 0644]
WebCore/ksvg2/bindings/js/JSSVGNumber.h [new file with mode: 0644]
WebCore/ksvg2/bindings/js/JSSVGPoint.cpp [new file with mode: 0644]
WebCore/ksvg2/bindings/js/JSSVGPoint.h [new file with mode: 0644]
WebCore/ksvg2/bindings/js/JSSVGRect.cpp [new file with mode: 0644]
WebCore/ksvg2/bindings/js/JSSVGRect.h [new file with mode: 0644]
WebCore/ksvg2/css/SVGCSSParser.cpp
WebCore/ksvg2/css/SVGCSSStyleSelector.cpp
WebCore/ksvg2/events/SVGZoomEvent.cpp
WebCore/ksvg2/events/SVGZoomEvent.h
WebCore/ksvg2/ksvg.h
WebCore/ksvg2/misc/SVGDocumentExtensions.cpp
WebCore/ksvg2/misc/SVGDocumentExtensions.h
WebCore/ksvg2/svg/SVGAElement.h
WebCore/ksvg2/svg/SVGAngle.h
WebCore/ksvg2/svg/SVGAngle.idl [new file with mode: 0644]
WebCore/ksvg2/svg/SVGAnimateColorElement.cpp
WebCore/ksvg2/svg/SVGAnimateColorElement.h
WebCore/ksvg2/svg/SVGAnimateElement.cpp
WebCore/ksvg2/svg/SVGAnimateElement.h
WebCore/ksvg2/svg/SVGAnimateTransformElement.cpp
WebCore/ksvg2/svg/SVGAnimateTransformElement.h
WebCore/ksvg2/svg/SVGAnimatedLength.idl [moved from WebCore/ksvg2/bindings/idl/svg/SVGAnimatedLength.idl with 100% similarity]
WebCore/ksvg2/svg/SVGAnimationElement.cpp
WebCore/ksvg2/svg/SVGAnimationElement.h
WebCore/ksvg2/svg/SVGCircleElement.h
WebCore/ksvg2/svg/SVGClipPathElement.h
WebCore/ksvg2/svg/SVGColor.cpp
WebCore/ksvg2/svg/SVGColor.h
WebCore/ksvg2/svg/SVGColor.idl [new file with mode: 0644]
WebCore/ksvg2/svg/SVGComponentTransferFunctionElement.h
WebCore/ksvg2/svg/SVGCursorElement.h
WebCore/ksvg2/svg/SVGDefsElement.h
WebCore/ksvg2/svg/SVGDescElement.h
WebCore/ksvg2/svg/SVGDocument.idl [moved from WebCore/WebCore+SVG/RGBColor.cpp with 52% similarity]
WebCore/ksvg2/svg/SVGElement.cpp
WebCore/ksvg2/svg/SVGElement.h
WebCore/ksvg2/svg/SVGElement.idl [new file with mode: 0644]
WebCore/ksvg2/svg/SVGEllipseElement.h
WebCore/ksvg2/svg/SVGEvent.idl [new file with mode: 0644]
WebCore/ksvg2/svg/SVGFEBlendElement.h
WebCore/ksvg2/svg/SVGFEColorMatrixElement.h
WebCore/ksvg2/svg/SVGFEComponentTransferElement.h
WebCore/ksvg2/svg/SVGFECompositeElement.h
WebCore/ksvg2/svg/SVGFEDiffuseLightingElement.h
WebCore/ksvg2/svg/SVGFEDistantLightElement.h
WebCore/ksvg2/svg/SVGFEFloodElement.h
WebCore/ksvg2/svg/SVGFEFuncAElement.h
WebCore/ksvg2/svg/SVGFEFuncBElement.h
WebCore/ksvg2/svg/SVGFEFuncGElement.h
WebCore/ksvg2/svg/SVGFEFuncRElement.h
WebCore/ksvg2/svg/SVGFEGaussianBlurElement.h
WebCore/ksvg2/svg/SVGFEImageElement.h
WebCore/ksvg2/svg/SVGFELightElement.h
WebCore/ksvg2/svg/SVGFEMergeElement.h
WebCore/ksvg2/svg/SVGFEMergeNodeElement.h
WebCore/ksvg2/svg/SVGFEOffsetElement.h
WebCore/ksvg2/svg/SVGFEPointLightElement.h
WebCore/ksvg2/svg/SVGFESpecularLightingElement.h
WebCore/ksvg2/svg/SVGFESpotLightElement.h
WebCore/ksvg2/svg/SVGFETileElement.h
WebCore/ksvg2/svg/SVGFETurbulenceElement.h
WebCore/ksvg2/svg/SVGFilterElement.h
WebCore/ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h
WebCore/ksvg2/svg/SVGForeignObjectElement.h
WebCore/ksvg2/svg/SVGGElement.h
WebCore/ksvg2/svg/SVGGradientElement.h
WebCore/ksvg2/svg/SVGHelper.cpp
WebCore/ksvg2/svg/SVGImageElement.h
WebCore/ksvg2/svg/SVGLength.h
WebCore/ksvg2/svg/SVGLength.idl [moved from WebCore/ksvg2/bindings/idl/svg/SVGLength.idl with 55% similarity]
WebCore/ksvg2/svg/SVGLineElement.h
WebCore/ksvg2/svg/SVGLinearGradientElement.h
WebCore/ksvg2/svg/SVGLocatable.cpp
WebCore/ksvg2/svg/SVGLocatable.h
WebCore/ksvg2/svg/SVGMarkerElement.h
WebCore/ksvg2/svg/SVGMaskElement.h
WebCore/ksvg2/svg/SVGMatrix.cpp
WebCore/ksvg2/svg/SVGMatrix.h
WebCore/ksvg2/svg/SVGMatrix.idl [new file with mode: 0644]
WebCore/ksvg2/svg/SVGNumber.idl [new file with mode: 0644]
WebCore/ksvg2/svg/SVGPathElement.cpp
WebCore/ksvg2/svg/SVGPathElement.h
WebCore/ksvg2/svg/SVGPatternElement.cpp
WebCore/ksvg2/svg/SVGPatternElement.h
WebCore/ksvg2/svg/SVGPoint.idl [moved from WebCore/WebCore+SVG/RGBColor.h with 61% similarity]
WebCore/ksvg2/svg/SVGPolyElement.h
WebCore/ksvg2/svg/SVGPolygonElement.h
WebCore/ksvg2/svg/SVGPolylineElement.h
WebCore/ksvg2/svg/SVGRadialGradientElement.h
WebCore/ksvg2/svg/SVGRect.idl [new file with mode: 0644]
WebCore/ksvg2/svg/SVGRectElement.h
WebCore/ksvg2/svg/SVGSVGElement.cpp
WebCore/ksvg2/svg/SVGSVGElement.h
WebCore/ksvg2/svg/SVGSVGElement.idl [new file with mode: 0644]
WebCore/ksvg2/svg/SVGScriptElement.h
WebCore/ksvg2/svg/SVGSetElement.cpp
WebCore/ksvg2/svg/SVGSetElement.h
WebCore/ksvg2/svg/SVGStopElement.h
WebCore/ksvg2/svg/SVGStyleElement.h
WebCore/ksvg2/svg/SVGStyledElement.h
WebCore/ksvg2/svg/SVGStyledLocatableElement.cpp
WebCore/ksvg2/svg/SVGStyledLocatableElement.h
WebCore/ksvg2/svg/SVGStyledTransformableElement.cpp
WebCore/ksvg2/svg/SVGStyledTransformableElement.h
WebCore/ksvg2/svg/SVGSwitchElement.h
WebCore/ksvg2/svg/SVGSymbolElement.h
WebCore/ksvg2/svg/SVGTRefElement.h
WebCore/ksvg2/svg/SVGTSpanElement.h
WebCore/ksvg2/svg/SVGTextContentElement.cpp
WebCore/ksvg2/svg/SVGTextContentElement.h
WebCore/ksvg2/svg/SVGTextElement.cpp
WebCore/ksvg2/svg/SVGTextElement.h
WebCore/ksvg2/svg/SVGTextPositioningElement.h
WebCore/ksvg2/svg/SVGTitleElement.h
WebCore/ksvg2/svg/SVGTransform.h
WebCore/ksvg2/svg/SVGTransform.idl [new file with mode: 0644]
WebCore/ksvg2/svg/SVGUseElement.h
WebCore/ksvg2/svg/SVGViewElement.h
WebCore/page/Frame.cpp
WebCore/platform/Color.h
WebCore/rendering/RenderBR.h
WebCore/rendering/RenderBox.h
WebCore/rendering/RenderContainer.h
WebCore/rendering/RenderFlexibleBox.h
WebCore/rendering/RenderFlow.h
WebCore/rendering/RenderInline.h
WebCore/rendering/RenderTableSection.h
WebCore/rendering/RenderTextFragment.h
WebCore/xml/xmlattrs.in [new file with mode: 0644]

index 7ad67c0..79475ed 100644 (file)
@@ -1,3 +1,342 @@
+2006-05-30  Eric Seidel  <eric@eseidel.com>
+
+        Reviewed by andersca.
+
+        Add first-cut SVG JS bindings autogeneration.
+        SVGSVGElement and various other support classes are generated.
+        Various small style fixes.
+        http://bugzilla.opendarwin.org/show_bug.cgi?id=4249
+
+        * DerivedSources.make:
+        * WebCore+SVG/RGBColor.cpp: Removed.
+        * WebCore+SVG/RGBColor.h: Removed.
+        * WebCore.xcodeproj/project.pbxproj:
+        * bindings/js/JSHTMLElementWrapperFactory.cpp:
+        (WebCore::createJSHTMLWrapper): renamed from createJSWrapper
+        * bindings/js/JSHTMLElementWrapperFactory.h:
+        * bindings/js/kjs_dom.cpp:
+        (KJS::DOMNode::DOMNode):
+        (KJS::DOMNode::toBoolean):
+        (KJS::DOMNode::getOwnPropertySlot):
+        (KJS::DOMNode::getValueProperty):
+        (KJS::DOMNode::put):
+        (KJS::DOMNode::putValueProperty):
+        (KJS::DOMNode::toPrimitive):
+        (KJS::DOMNode::toString):
+        (KJS::DOMNodeProtoFunc::callAsFunction):
+        (KJS::toEventTargetNode):
+        (KJS::DOMEventTargetNode::getOwnPropertySlot):
+        (KJS::DOMEventTargetNode::getValueProperty):
+        (KJS::DOMEventTargetNode::put):
+        (KJS::DOMEventTargetNode::putValueProperty):
+        (KJS::DOMEventTargetNode::setListener):
+        (KJS::DOMEventTargetNode::getListener):
+        (KJS::DOMEventTargetNode::pushEventHandlerScope):
+        (KJS::DOMEventTargetNodeProtoFunc::callAsFunction):
+        (KJS::DOMNodeList::toPrimitive):
+        (KJS::DOMNodeList::getValueProperty):
+        (KJS::DOMNodeList::indexGetter):
+        (KJS::DOMNodeList::nameGetter):
+        (KJS::DOMNodeList::getOwnPropertySlot):
+        (KJS::DOMNodeList::callAsFunction):
+        (KJS::DOMNodeListFunc::callAsFunction):
+        (KJS::toElement):
+        (KJS::toDocumentType):
+        (KJS::DOMNamedNodeMap::DOMNamedNodeMap):
+        (KJS::DOMNamedNodeMap::~DOMNamedNodeMap):
+        (KJS::DOMNamedNodeMap::lengthGetter):
+        (KJS::DOMNamedNodeMap::indexGetter):
+        (KJS::DOMNamedNodeMap::nameGetter):
+        (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
+        (KJS::toJS):
+        (KJS::checkNodeSecurity):
+        (KJS::getRuntimeObject):
+        (KJS::DOMExceptionConstructor::getOwnPropertySlot):
+        (KJS::DOMExceptionConstructor::getValueProperty):
+        (KJS::getDOMExceptionConstructor):
+        (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
+        (KJS::DOMNamedNodesCollection::lengthGetter):
+        (KJS::DOMNamedNodesCollection::indexGetter):
+        (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
+        * bindings/scripts/CodeGenerator.pm:
+        * bindings/scripts/CodeGeneratorJS.pm:
+        * dom/Document.cpp:
+        (WebCore::Document::implicitClose):
+        * dom/Element.h:
+        * dom/StyledElement.h:
+        * ksvg2/bindings/idl/svg/SVGAngle.idl: Removed.
+        * ksvg2/bindings/idl/svg/SVGAnimatedLength.idl: Removed.
+        * ksvg2/bindings/idl/svg/SVGColor.idl: Removed.
+        * ksvg2/bindings/idl/svg/SVGDocument.idl: Removed.
+        * ksvg2/bindings/idl/svg/SVGElement.idl: Removed.
+        * ksvg2/bindings/idl/svg/SVGLength.idl: Removed.
+        * ksvg2/bindings/idl/svg/SVGMatrix.idl: Removed.
+        * ksvg2/bindings/idl/svg/SVGNumber.idl: Removed.
+        * ksvg2/bindings/idl/svg/SVGPoint.idl: Removed.
+        * ksvg2/bindings/idl/svg/SVGRect.idl: Removed.
+        * ksvg2/bindings/idl/svg/SVGSVGElement.idl: Removed.
+        * ksvg2/bindings/idl/svg/SVGTransform.idl: Removed.
+        * ksvg2/bindings/idl/svg/kdomdefs.idl: Removed.
+        * ksvg2/bindings/js: Added.
+        * ksvg2/bindings/js/JSSVGNumber.cpp: Added.
+        (WebCore::):
+        (WebCore::JSSVGNumber::~JSSVGNumber):
+        (WebCore::JSSVGNumber::getOwnPropertySlot):
+        (WebCore::JSSVGNumber::getValue):
+        (WebCore::getJSSVGNumber):
+        * ksvg2/bindings/js/JSSVGNumber.h: Added.
+        (WebCore::JSSVGNumber::JSSVGNumber):
+        (WebCore::JSSVGNumber::classInfo):
+        * ksvg2/bindings/js/JSSVGPoint.cpp: Added.
+        (WebCore::):
+        (WebCore::JSSVGPoint::~JSSVGPoint):
+        (WebCore::JSSVGPoint::getOwnPropertySlot):
+        (WebCore::JSSVGPoint::getValueProperty):
+        (WebCore::getJSSVGPoint):
+        (WebCore::toFloatPoint):
+        * ksvg2/bindings/js/JSSVGPoint.h: Added.
+        (WebCore::JSSVGPoint::JSSVGPoint):
+        (WebCore::JSSVGPoint::classInfo):
+        (WebCore::JSSVGPoint::):
+        (WebCore::JSSVGPoint::impl):
+        * ksvg2/bindings/js/JSSVGRect.cpp: Added.
+        (WebCore::):
+        (WebCore::JSSVGRect::~JSSVGRect):
+        (WebCore::JSSVGRect::getOwnPropertySlot):
+        (WebCore::JSSVGRect::getValueProperty):
+        (WebCore::getJSSVGRect):
+        (WebCore::toFloatRect):
+        * ksvg2/bindings/js/JSSVGRect.h: Added.
+        (WebCore::JSSVGRect::JSSVGRect):
+        (WebCore::JSSVGRect::classInfo):
+        (WebCore::JSSVGRect::):
+        (WebCore::JSSVGRect::impl):
+        * ksvg2/css/SVGCSSParser.cpp:
+        (WebCore::CSSParser::parseSVGValue):
+        * ksvg2/css/SVGCSSStyleSelector.cpp:
+        (WebCore::CSSStyleSelector::applySVGProperty):
+        * ksvg2/events/SVGZoomEvent.cpp:
+        (SVGZoomEvent::SVGZoomEvent):
+        (SVGZoomEvent::zoomRectScreen):
+        (SVGZoomEvent::previousTranslate):
+        (SVGZoomEvent::newTranslate):
+        * ksvg2/events/SVGZoomEvent.h:
+        * ksvg2/ksvg.h:
+        (WebCore::):
+        * ksvg2/misc/SVGDocumentExtensions.cpp:
+        (WebCore::SVGDocumentExtensions::SVGDocumentExtensions):
+        (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
+        (WebCore::SVGDocumentExtensions::addTimeContainer):
+        (WebCore::SVGDocumentExtensions::removeTimeContainer):
+        (WebCore::SVGDocumentExtensions::startAnimations):
+        (WebCore::SVGDocumentExtensions::pauseAnimations):
+        (WebCore::SVGDocumentExtensions::unpauseAnimations):
+        * ksvg2/misc/SVGDocumentExtensions.h:
+        * ksvg2/svg/SVGAElement.h:
+        * ksvg2/svg/SVGAngle.h:
+        (WebCore::SVGAngle::):
+        * ksvg2/svg/SVGAngle.idl: Added.
+        * ksvg2/svg/SVGAnimateColorElement.cpp:
+        (WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
+        (WebCore::SVGAnimateColorElement::handleTimerEvent):
+        (WebCore::SVGAnimateColorElement::clampColor):
+        * ksvg2/svg/SVGAnimateColorElement.h:
+        * ksvg2/svg/SVGAnimateElement.cpp:
+        (SVGAnimateElement::SVGAnimateElement):
+        (SVGAnimateElement::handleTimerEvent):
+        * ksvg2/svg/SVGAnimateElement.h:
+        * ksvg2/svg/SVGAnimateTransformElement.cpp:
+        (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
+        (WebCore::SVGAnimateTransformElement::parseMappedAttribute):
+        (WebCore::SVGAnimateTransformElement::handleTimerEvent):
+        (WebCore::SVGAnimateTransformElement::parseTransformValue):
+        (WebCore::SVGAnimateTransformElement::calculateRotationFromMatrix):
+        (WebCore::SVGAnimateTransformElement::initialMatrix):
+        * ksvg2/svg/SVGAnimateTransformElement.h:
+        * ksvg2/svg/SVGAnimatedLength.idl: Added.
+        * ksvg2/svg/SVGAnimationElement.cpp:
+        (SVGAnimationElement::closeRenderer):
+        * ksvg2/svg/SVGAnimationElement.h:
+        * ksvg2/svg/SVGCircleElement.h:
+        * ksvg2/svg/SVGClipPathElement.h:
+        * ksvg2/svg/SVGColor.cpp:
+        (WebCore::SVGColor::SVGColor):
+        (WebCore::SVGColor::rgbColor):
+        (WebCore::SVGColor::setRGBColor):
+        (WebCore::SVGColor::setRGBColorICCColor):
+        (WebCore::SVGColor::setColor):
+        (WebCore::SVGColor::color):
+        * ksvg2/svg/SVGColor.h:
+        (WebCore::SVGColor::):
+        (WebCore::SVGColor::setRGBColor):
+        * ksvg2/svg/SVGColor.idl: Added.
+        * ksvg2/svg/SVGComponentTransferFunctionElement.h:
+        * ksvg2/svg/SVGCursorElement.h:
+        * ksvg2/svg/SVGDefsElement.h:
+        * ksvg2/svg/SVGDescElement.h:
+        * ksvg2/svg/SVGDocument.idl: Added.
+        * ksvg2/svg/SVGElement.cpp:
+        (WebCore::SVGElement::SVGElement):
+        (WebCore::SVGElement::isSupported):
+        (WebCore::SVGElement::id):
+        (WebCore::SVGElement::setId):
+        (WebCore::SVGElement::xmlbase):
+        (WebCore::SVGElement::setXmlbase):
+        (WebCore::SVGElement::ownerSVGElement):
+        (WebCore::SVGElement::viewportElement):
+        (WebCore::SVGElement::tryGetAttribute):
+        (WebCore::SVGElement::tryGetAttributeNS):
+        (WebCore::SVGElement::childShouldCreateRenderer):
+        * ksvg2/svg/SVGElement.h:
+        * ksvg2/svg/SVGElement.idl: Added.
+        * ksvg2/svg/SVGEllipseElement.h:
+        * ksvg2/svg/SVGEvent.idl: Added.
+        * ksvg2/svg/SVGFEBlendElement.h:
+        * ksvg2/svg/SVGFEColorMatrixElement.h:
+        * ksvg2/svg/SVGFEComponentTransferElement.h:
+        * ksvg2/svg/SVGFECompositeElement.h:
+        * ksvg2/svg/SVGFEDiffuseLightingElement.h:
+        * ksvg2/svg/SVGFEDistantLightElement.h:
+        * ksvg2/svg/SVGFEFloodElement.h:
+        * ksvg2/svg/SVGFEFuncAElement.h:
+        * ksvg2/svg/SVGFEFuncBElement.h:
+        * ksvg2/svg/SVGFEFuncGElement.h:
+        * ksvg2/svg/SVGFEFuncRElement.h:
+        * ksvg2/svg/SVGFEGaussianBlurElement.h:
+        * ksvg2/svg/SVGFEImageElement.h:
+        * ksvg2/svg/SVGFELightElement.h:
+        * ksvg2/svg/SVGFEMergeElement.h:
+        * ksvg2/svg/SVGFEMergeNodeElement.h:
+        * ksvg2/svg/SVGFEOffsetElement.h:
+        * ksvg2/svg/SVGFEPointLightElement.h:
+        * ksvg2/svg/SVGFESpecularLightingElement.h:
+        * ksvg2/svg/SVGFESpotLightElement.h:
+        * ksvg2/svg/SVGFETileElement.h:
+        * ksvg2/svg/SVGFETurbulenceElement.h:
+        * ksvg2/svg/SVGFilterElement.h:
+        * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
+        * ksvg2/svg/SVGForeignObjectElement.h:
+        * ksvg2/svg/SVGGElement.h:
+        * ksvg2/svg/SVGGradientElement.h:
+        * ksvg2/svg/SVGHelper.cpp:
+        (WebCore::SVGHelper::PercentageOfViewport):
+        (WebCore::SVGHelper::ParseSeperatedList):
+        * ksvg2/svg/SVGImageElement.h:
+        * ksvg2/svg/SVGLength.h:
+        (WebCore::SVGLength::):
+        * ksvg2/svg/SVGLength.idl: Added.
+        * ksvg2/svg/SVGLineElement.h:
+        * ksvg2/svg/SVGLinearGradientElement.h:
+        * ksvg2/svg/SVGLocatable.cpp:
+        (SVGLocatable::getBBox):
+        * ksvg2/svg/SVGLocatable.h:
+        * ksvg2/svg/SVGMarkerElement.h:
+        * ksvg2/svg/SVGMaskElement.h:
+        * ksvg2/svg/SVGMatrix.cpp:
+        (SVGMatrix::inverse):
+        (SVGMatrix::rotateFromVector):
+        * ksvg2/svg/SVGMatrix.h:
+        * ksvg2/svg/SVGMatrix.idl: Added.
+        * ksvg2/svg/SVGNumber.idl: Added.
+        * ksvg2/svg/SVGPathElement.cpp:
+        (WebCore::SVGPathElement::getPointAtLength):
+        * ksvg2/svg/SVGPathElement.h:
+        * ksvg2/svg/SVGPatternElement.cpp:
+        (WebCore::SVGPatternElement::x):
+        (WebCore::SVGPatternElement::y):
+        (WebCore::SVGPatternElement::width):
+        (WebCore::SVGPatternElement::height):
+        (WebCore::SVGPatternElement::pushAttributeContext):
+        (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
+        (WebCore::SVGPatternElement::drawPatternContentIntoTile):
+        (WebCore::SVGPatternElement::notifyClientsToRepaint):
+        (WebCore::SVGPatternElement::notifyAttributeChange):
+        (WebCore::SVGPatternElement::canvasResource):
+        (WebCore::SVGPatternElement::getCTM):
+        * ksvg2/svg/SVGPatternElement.h:
+        * ksvg2/svg/SVGPoint.idl: Added.
+        * ksvg2/svg/SVGPolyElement.h:
+        * ksvg2/svg/SVGPolygonElement.h:
+        * ksvg2/svg/SVGPolylineElement.h:
+        * ksvg2/svg/SVGRadialGradientElement.h:
+        * ksvg2/svg/SVGRect.idl: Added.
+        * ksvg2/svg/SVGRectElement.h:
+        * ksvg2/svg/SVGSVGElement.cpp:
+        (WebCore::SVGSVGElement::SVGSVGElement):
+        (WebCore::SVGSVGElement::~SVGSVGElement):
+        (WebCore::SVGSVGElement::viewport):
+        (WebCore::SVGSVGElement::currentTranslate):
+        (WebCore::SVGSVGElement::unsuspendRedraw):
+        (WebCore::SVGSVGElement::getIntersectionList):
+        (WebCore::SVGSVGElement::getEnclosureList):
+        (WebCore::SVGSVGElement::checkIntersection):
+        (WebCore::SVGSVGElement::checkEnclosure):
+        (WebCore::SVGSVGElement::createSVGNumber):
+        (WebCore::SVGSVGElement::createSVGPoint):
+        (WebCore::SVGSVGElement::createSVGRect):
+        (WebCore::SVGSVGElement::pauseAnimations):
+        (WebCore::SVGSVGElement::unpauseAnimations):
+        (WebCore::SVGSVGElement::animationsPaused):
+        (WebCore::SVGSVGElement::getCurrentTime):
+        (WebCore::SVGSVGElement::setCurrentTime):
+        * ksvg2/svg/SVGSVGElement.h:
+        (WebCore::SVGSVGElement::timeScheduler):
+        * ksvg2/svg/SVGSVGElement.idl: Added.
+        * ksvg2/svg/SVGScriptElement.h:
+        * ksvg2/svg/SVGSetElement.cpp:
+        (WebCore::SVGSetElement::SVGSetElement):
+        (WebCore::SVGSetElement::handleTimerEvent):
+        * ksvg2/svg/SVGSetElement.h:
+        * ksvg2/svg/SVGStopElement.h:
+        * ksvg2/svg/SVGStyleElement.h:
+        * ksvg2/svg/SVGStyledElement.h:
+        * ksvg2/svg/SVGStyledLocatableElement.cpp:
+        (SVGStyledLocatableElement::getBBox):
+        * ksvg2/svg/SVGStyledLocatableElement.h:
+        * ksvg2/svg/SVGStyledTransformableElement.cpp:
+        (SVGStyledTransformableElement::getBBox):
+        * ksvg2/svg/SVGStyledTransformableElement.h:
+        * ksvg2/svg/SVGSwitchElement.h:
+        * ksvg2/svg/SVGSymbolElement.h:
+        * ksvg2/svg/SVGTRefElement.h:
+        * ksvg2/svg/SVGTSpanElement.h:
+        * ksvg2/svg/SVGTextContentElement.cpp:
+        (SVGTextContentElement::getStartPositionOfChar):
+        (SVGTextContentElement::getEndPositionOfChar):
+        (SVGTextContentElement::getExtentOfChar):
+        (SVGTextContentElement::getCharNumAtPosition):
+        (SVGTextContentElement::parseMappedAttribute):
+        * ksvg2/svg/SVGTextContentElement.h:
+        * ksvg2/svg/SVGTextElement.cpp:
+        (WebCore::SVGTextElement::getBBox):
+        * ksvg2/svg/SVGTextElement.h:
+        * ksvg2/svg/SVGTextPositioningElement.h:
+        * ksvg2/svg/SVGTitleElement.h:
+        * ksvg2/svg/SVGTransform.h:
+        (WebCore::SVGTransform::):
+        * ksvg2/svg/SVGTransform.idl: Added.
+        * ksvg2/svg/SVGUseElement.h:
+        * ksvg2/svg/SVGViewElement.h:
+        * page/Frame.cpp:
+        (WebCore::Frame::Frame):
+        (WebCore::Frame::pauseTimeouts):
+        (WebCore::Frame::resumeTimeouts):
+        * platform/Color.h:
+        * rendering/RenderBR.h:
+        * rendering/RenderBox.h:
+        (WebCore::RenderBox::renderName):
+        * rendering/RenderCanvas.h:
+        (WebCore::RenderCanvas::view):
+        * rendering/RenderContainer.h:
+        * rendering/RenderFlexibleBox.h:
+        * rendering/RenderFlow.h:
+        (WebCore::RenderFlow::RenderFlow):
+        * rendering/RenderInline.h:
+        * rendering/RenderTableSection.h:
+        * rendering/RenderTextFragment.h:
+        (WebCore::RenderTextFragment::contentString):
+        * xml/xmlattrs.in: Added.
+
 2006-05-30  Geoffrey Garen  <ggaren@apple.com>
 
         Reviewed by Maciej.
index 2715f19..8cc8181 100644 (file)
@@ -32,6 +32,8 @@ VPATH = \
     $(WebCore)/html \
     $(WebCore)/page \
     $(WebCore)/xpath \
+    $(WebCore)/ksvg2/svg \
+    $(WebCore)/ksvg2/bindings/js \
 #
 
 .PHONY : all
@@ -118,6 +120,17 @@ all : \
     JSNotation.h \
     JSProcessingInstruction.h \
     JSRange.h \
+    JSSVGAngle.h \
+    JSSVGAnimatedLength.h \
+    JSSVGColor.h \
+    JSSVGDocument.h \
+    JSSVGElement.h \
+    JSSVGLength.h \
+    JSSVGMatrix.h \
+    JSSVGPointTable.cpp \
+    JSSVGRectTable.cpp \
+    JSSVGSVGElement.h \
+    JSSVGTransform.h \
     JSText.h \
     JSUIEvent.h \
     JSXPathEvaluator.h \
@@ -132,6 +145,7 @@ all : \
     HTMLNames.cpp \
     UserAgentStyleSheets.h \
     XLinkNames.cpp \
+    XMLNames.cpp \
     XPathGrammar.cpp \
     kjs_css.lut.h \
     kjs_dom.lut.h \
@@ -232,7 +246,10 @@ SVGNames.cpp : ksvg2/scripts/make_names.pl ksvg2/svg/svgtags.in ksvg2/svg/svgatt
 XLinkNames.cpp : ksvg2/scripts/make_names.pl ksvg2/misc/xlinkattrs.in
        $< --attrs $(WebCore)/ksvg2/misc/xlinkattrs.in \
             --namespace XLink --cppNamespace WebCore --namespaceURI "http://www.w3.org/1999/xlink" --output .
-       touch $(WebCore)/WebCore+SVG/XLinkNamesWrapper.cpp
+            
+XMLNames.cpp : ksvg2/scripts/make_names.pl xml/xmlattrs.in
+       $< --attrs $(WebCore)/xml/xmlattrs.in \
+            --namespace XML --cppNamespace WebCore --namespaceURI "http://www.w3.org/XML/1998/namespace" --output .
 
 # SVG CSS property names and value keywords
 
@@ -254,6 +271,9 @@ SVGNames.cpp :
 
 XLinkNames.cpp :
        echo > XLinkNames.cpp
+
+XMLNames.cpp :
+       echo > XMLNames.cpp
        
 ksvgcssproperties.h :
        echo > ksvgcssproperties.h
@@ -274,4 +294,4 @@ JS_BINDINGS_SCRIPTS = \
 #
 
 JS%.h : %.idl $(JS_BINDINGS_SCRIPTS)
-       perl -I$(WebCore)/bindings/scripts $(WebCore)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES)" --generator JS --include dom --include html --include xpath --outputdir  . $<
+       perl -I$(WebCore)/bindings/scripts $(WebCore)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES)" --generator JS --include dom --include html --include xpath --include ksvg2/svg --outputdir  . $<
diff --git a/WebCore/WebCore+SVG/SVGElementFactoryWrapper.cpp b/WebCore/WebCore+SVG/SVGElementFactoryWrapper.cpp
deleted file mode 100644 (file)
index f5fa106..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-#if SVG_SUPPORT
-// Added this comment to touch the wrapper so it rebuilds.
-#include "SVGElementFactory.cpp"
-#endif //SVG_SUPPORT
\ No newline at end of file
diff --git a/WebCore/WebCore+SVG/SVGNamesWrapper.cpp b/WebCore/WebCore+SVG/SVGNamesWrapper.cpp
deleted file mode 100644 (file)
index e336ef0..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#if SVG_SUPPORT
-#include "SVGNames.cpp"
-#endif // SVG_SUPPORT
diff --git a/WebCore/WebCore+SVG/XLinkNamesWrapper.cpp b/WebCore/WebCore+SVG/XLinkNamesWrapper.cpp
deleted file mode 100644 (file)
index f8afb45..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#if SVG_SUPPORT
-#include "XLinkNames.cpp"
-#endif // SVG_SUPPORT
index 8cef09d..9bcad9a 100644 (file)
                A823A75C09B6E53900B60641 /* GraphicsContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A823A75B09B6E53900B60641 /* GraphicsContext.cpp */; };
                A826E8AE0A1A8F2300CD1BB6 /* JSHTMLOptionElementConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = A826E8AC0A1A8F2300CD1BB6 /* JSHTMLOptionElementConstructor.h */; };
                A826EC480A1B0CBE00CD1BB6 /* JSHTMLOptionElementConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A826E8AD0A1A8F2300CD1BB6 /* JSHTMLOptionElementConstructor.cpp */; };
+               A833B4BA0A27311D00D57664 /* JSSVGDocument.h in Headers */ = {isa = PBXBuildFile; fileRef = A833B4B80A27311D00D57664 /* JSSVGDocument.h */; };
+               A833B4BB0A27311D00D57664 /* JSSVGDocument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A833B4B90A27311D00D57664 /* JSSVGDocument.cpp */; };
+               A833BA7F0A2BA3D400D57664 /* JSSVGRect.h in Headers */ = {isa = PBXBuildFile; fileRef = A833BA750A2BA3D400D57664 /* JSSVGRect.h */; };
+               A833BA810A2BA3D400D57664 /* JSSVGRect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A833BA770A2BA3D400D57664 /* JSSVGRect.cpp */; };
+               A833BA820A2BA3D400D57664 /* JSSVGNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = A833BA780A2BA3D400D57664 /* JSSVGNumber.h */; };
+               A833BA850A2BA3D400D57664 /* JSSVGPoint.h in Headers */ = {isa = PBXBuildFile; fileRef = A833BA7B0A2BA3D400D57664 /* JSSVGPoint.h */; };
+               A833BA860A2BA3D400D57664 /* JSSVGPoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A833BA7C0A2BA3D400D57664 /* JSSVGPoint.cpp */; };
+               A833BA870A2BA3D400D57664 /* JSSVGNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A833BA7D0A2BA3D400D57664 /* JSSVGNumber.cpp */; };
+               A833BF1A0A2C3A9500D57664 /* JSSVGMatrix.h in Headers */ = {isa = PBXBuildFile; fileRef = A833BF160A2C3A9500D57664 /* JSSVGMatrix.h */; };
+               A833BF1B0A2C3A9500D57664 /* JSSVGMatrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A833BF170A2C3A9500D57664 /* JSSVGMatrix.cpp */; };
+               A833BF1C0A2C3A9500D57664 /* JSSVGColor.h in Headers */ = {isa = PBXBuildFile; fileRef = A833BF180A2C3A9500D57664 /* JSSVGColor.h */; };
+               A833BF1D0A2C3A9500D57664 /* JSSVGColor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A833BF190A2C3A9500D57664 /* JSSVGColor.cpp */; };
+               A833C0900A2C4F3F00D57664 /* JSSVGSVGElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A833C08E0A2C4F3F00D57664 /* JSSVGSVGElement.cpp */; };
+               A833C0910A2C4F3F00D57664 /* JSSVGSVGElement.h in Headers */ = {isa = PBXBuildFile; fileRef = A833C08F0A2C4F3F00D57664 /* JSSVGSVGElement.h */; };
+               A833C0F70A2C513300D57664 /* JSSVGElement.h in Headers */ = {isa = PBXBuildFile; fileRef = A833C0ED0A2C513300D57664 /* JSSVGElement.h */; };
+               A833C0F80A2C513300D57664 /* JSSVGAnimatedLength.h in Headers */ = {isa = PBXBuildFile; fileRef = A833C0EE0A2C513300D57664 /* JSSVGAnimatedLength.h */; };
+               A833C0F90A2C513300D57664 /* JSSVGTransform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A833C0EF0A2C513300D57664 /* JSSVGTransform.cpp */; };
+               A833C0FA0A2C513300D57664 /* JSSVGAngle.h in Headers */ = {isa = PBXBuildFile; fileRef = A833C0F00A2C513300D57664 /* JSSVGAngle.h */; };
+               A833C0FB0A2C513300D57664 /* JSSVGAnimatedLength.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A833C0F10A2C513300D57664 /* JSSVGAnimatedLength.cpp */; };
+               A833C0FC0A2C513300D57664 /* JSSVGAngle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A833C0F20A2C513300D57664 /* JSSVGAngle.cpp */; };
+               A833C0FD0A2C513300D57664 /* JSSVGElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A833C0F30A2C513300D57664 /* JSSVGElement.cpp */; };
+               A833C0FE0A2C513300D57664 /* JSSVGLength.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A833C0F40A2C513300D57664 /* JSSVGLength.cpp */; };
+               A833C0FF0A2C513300D57664 /* JSSVGLength.h in Headers */ = {isa = PBXBuildFile; fileRef = A833C0F50A2C513300D57664 /* JSSVGLength.h */; };
+               A833C1000A2C513300D57664 /* JSSVGTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = A833C0F60A2C513300D57664 /* JSSVGTransform.h */; };
+               A833C6D80A2CEA7700D57664 /* JSSVGElementWrapperFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = A833C6D60A2CEA7700D57664 /* JSSVGElementWrapperFactory.h */; };
+               A833C6D90A2CEA7700D57664 /* JSSVGElementWrapperFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A833C6D70A2CEA7700D57664 /* JSSVGElementWrapperFactory.cpp */; };
+               A833C7CA0A2CF06B00D57664 /* SVGNames.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 656581E809D1508D000E61D7 /* SVGNames.cpp */; };
+               A833C7CC0A2CF07400D57664 /* XLinkNames.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 656581EA09D1508D000E61D7 /* XLinkNames.cpp */; };
+               A833C80C0A2CF25600D57664 /* XMLNames.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A833C80A0A2CF25600D57664 /* XMLNames.cpp */; };
+               A833C80D0A2CF25600D57664 /* XMLNames.h in Headers */ = {isa = PBXBuildFile; fileRef = A833C80B0A2CF25600D57664 /* XMLNames.h */; };
+               A833C8520A2CF52800D57664 /* SVGElementFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 656581E609D1508D000E61D7 /* SVGElementFactory.cpp */; };
                A86629CF09DA2B47009633A5 /* JSUIEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = A86629C909DA2B47009633A5 /* JSUIEvent.h */; };
                A86629D009DA2B48009633A5 /* JSUIEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A86629CA09DA2B47009633A5 /* JSUIEvent.cpp */; };
                A86629D109DA2B48009633A5 /* JSMouseEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = A86629CB09DA2B47009633A5 /* JSMouseEvent.h */; };
                A88AD50C095248F0001DD196 /* SVGZoomAndPan.h in Headers */ = {isa = PBXBuildFile; fileRef = A8C0F8EC089701F400BA5114 /* SVGZoomAndPan.h */; };
                A88AD50D095248F0001DD196 /* ksvg.h in Headers */ = {isa = PBXBuildFile; fileRef = A8C0F8ED089701F400BA5114 /* ksvg.h */; };
                A88AD5170952499F001DD196 /* DOMList.h in Headers */ = {isa = PBXBuildFile; fileRef = A884283D09308C1C00B6D461 /* DOMList.h */; settings = {ATTRIBUTES = (Private, ); }; };
-               A88AD5180952499F001DD196 /* RGBColor.h in Headers */ = {isa = PBXBuildFile; fileRef = A884283E09308C1C00B6D461 /* RGBColor.h */; };
-               A88AD51B0952499F001DD196 /* RGBColor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A884283F09308C1C00B6D461 /* RGBColor.cpp */; };
-               A88AD51C0952499F001DD196 /* SVGElementFactoryWrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A884283909308C1C00B6D461 /* SVGElementFactoryWrapper.cpp */; };
-               A88AD51D0952499F001DD196 /* XLinkNamesWrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A8C32D96093D8EA4000B9CAC /* XLinkNamesWrapper.cpp */; };
-               A88AD51E0952499F001DD196 /* SVGNamesWrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A884283809308C1C00B6D461 /* SVGNamesWrapper.cpp */; };
                A88AD52F09524B92001DD196 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A85D7A2F0879EBA9006A9172 /* QuartzCore.framework */; };
                A88AD5AA09525131001DD196 /* SVGCSSStyleSelector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A8C0F6FB089701F100BA5114 /* SVGCSSStyleSelector.cpp */; };
                A8C4A7FD09D563270003AC8D /* StyledElement.h in Headers */ = {isa = PBXBuildFile; fileRef = A8C4A7EB09D563270003AC8D /* StyledElement.h */; };
                A8D05FA80A23B301005E7203 /* JSCSSRuleList.h in Headers */ = {isa = PBXBuildFile; fileRef = A8D05FA60A23B301005E7203 /* JSCSSRuleList.h */; };
                A8D05FAB0A23B30F005E7203 /* JSCSSValueList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A8D05FA90A23B30F005E7203 /* JSCSSValueList.cpp */; };
                A8D05FAC0A23B30F005E7203 /* JSCSSValueList.h in Headers */ = {isa = PBXBuildFile; fileRef = A8D05FAA0A23B30F005E7203 /* JSCSSValueList.h */; };
-               A8D064F00A23BFEA005E7203 /* HTMLFormElement.idl in Resources */ = {isa = PBXBuildFile; fileRef = A8D064EF0A23BFEA005E7203 /* HTMLFormElement.idl */; };
                A8D064FB0A23C0CC005E7203 /* JSHTMLFormElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A8D064F90A23C0CC005E7203 /* JSHTMLFormElement.cpp */; };
                A8D064FC0A23C0CC005E7203 /* JSHTMLFormElement.h in Headers */ = {isa = PBXBuildFile; fileRef = A8D064FA0A23C0CC005E7203 /* JSHTMLFormElement.h */; };
-               A8D0651D0A23C1FE005E7203 /* CSSRuleList.idl in Resources */ = {isa = PBXBuildFile; fileRef = A8D0651B0A23C1FE005E7203 /* CSSRuleList.idl */; };
-               A8D0651E0A23C1FE005E7203 /* CSSValueList.idl in Resources */ = {isa = PBXBuildFile; fileRef = A8D0651C0A23C1FE005E7203 /* CSSValueList.idl */; };
                A8D065AE0A2446CD005E7203 /* JSHTMLFormElementCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A8D065AD0A2446CD005E7203 /* JSHTMLFormElementCustom.cpp */; };
                A8D06B390A265DCD005E7203 /* HTMLNames.h in Headers */ = {isa = PBXBuildFile; fileRef = A8D06B370A265DCD005E7203 /* HTMLNames.h */; };
                A8D06B3A0A265DCD005E7203 /* HTMLNames.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A8D06B380A265DCD005E7203 /* HTMLNames.cpp */; };
                A80E7E960A1A83E3007FB8C5 /* JSHTMLButtonElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLButtonElement.cpp; sourceTree = "<group>"; };
                A810E39308A4160F00333D98 /* KCanvasTreeDebug.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = KCanvasTreeDebug.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                A810E39408A4160F00333D98 /* KCanvasTreeDebug.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KCanvasTreeDebug.cpp; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C7E08D564B000844FA3 /* GetSVGDocument.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = GetSVGDocument.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C7F08D564B000844FA3 /* kdomdefs.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = kdomdefs.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C8008D564B000844FA3 /* SVGAElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGAElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C8108D564B000844FA3 /* SVGAngle.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGAngle.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C8208D564B000844FA3 /* SVGAnimateColorElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGAnimateColorElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C8308D564B000844FA3 /* SVGAnimatedAngle.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGAnimatedAngle.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C8408D564B000844FA3 /* SVGAnimatedBoolean.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGAnimatedBoolean.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C8508D564B000844FA3 /* SVGAnimatedEnumeration.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGAnimatedEnumeration.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C8608D564B000844FA3 /* SVGAnimatedInteger.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGAnimatedInteger.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C8708D564B000844FA3 /* SVGAnimatedLength.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGAnimatedLength.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C8808D564B000844FA3 /* SVGAnimatedLengthList.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGAnimatedLengthList.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C8908D564B000844FA3 /* SVGAnimatedNumber.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGAnimatedNumber.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C8A08D564B000844FA3 /* SVGAnimatedNumberList.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGAnimatedNumberList.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C8B08D564B000844FA3 /* SVGAnimatedPathData.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGAnimatedPathData.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C8C08D564B000844FA3 /* SVGAnimatedPoints.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGAnimatedPoints.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C8D08D564B000844FA3 /* SVGAnimatedPreserveAspectRatio.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGAnimatedPreserveAspectRatio.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C8E08D564B000844FA3 /* SVGAnimatedRect.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGAnimatedRect.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C8F08D564B000844FA3 /* SVGAnimatedString.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGAnimatedString.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C9008D564B000844FA3 /* SVGAnimatedTransformList.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGAnimatedTransformList.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C9108D564B000844FA3 /* SVGAnimateElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGAnimateElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C9208D564B000844FA3 /* SVGAnimateTransformElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGAnimateTransformElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C9308D564B000844FA3 /* SVGAnimationElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGAnimationElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C9408D564B000844FA3 /* SVGCircleElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGCircleElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C9508D564B000844FA3 /* SVGClipPathElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGClipPathElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C9608D564B000844FA3 /* SVGColor.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGColor.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C9708D564B000844FA3 /* SVGComponentTransferFunctionElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGComponentTransferFunctionElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C9808D564B000844FA3 /* SVGCursorElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGCursorElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C9908D564B000844FA3 /* SVGDefsElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGDefsElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C9A08D564B000844FA3 /* SVGDescElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGDescElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C9B08D564B000844FA3 /* SVGDocument.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGDocument.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C9C08D564B000844FA3 /* SVGDOMImplementation.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGDOMImplementation.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C9D08D564B000844FA3 /* SVGElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C9E08D564B000844FA3 /* SVGElementInstance.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGElementInstance.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122C9F08D564B000844FA3 /* SVGElementInstanceList.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGElementInstanceList.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CA008D564B000844FA3 /* SVGEllipseElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGEllipseElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CA108D564B000844FA3 /* SVGEvent.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGEvent.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CA208D564B000844FA3 /* SVGException.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGException.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CA308D564B000844FA3 /* SVGExternalResourcesRequired.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGExternalResourcesRequired.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CA408D564B000844FA3 /* SVGFEBlendElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGFEBlendElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CA508D564B000844FA3 /* SVGFEColorMatrixElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGFEColorMatrixElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CA608D564B000844FA3 /* SVGFEComponentTransferElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGFEComponentTransferElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CA708D564B000844FA3 /* SVGFECompositeElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGFECompositeElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CA808D564B000844FA3 /* SVGFEFloodElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGFEFloodElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CA908D564B000844FA3 /* SVGFEFuncAElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGFEFuncAElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CAA08D564B000844FA3 /* SVGFEFuncBElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGFEFuncBElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CAB08D564B100844FA3 /* SVGFEFuncGElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGFEFuncGElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CAC08D564B100844FA3 /* SVGFEFuncRElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGFEFuncRElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CAD08D564B100844FA3 /* SVGFEGaussianBlurElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGFEGaussianBlurElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CAE08D564B100844FA3 /* SVGFEImageElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGFEImageElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CAF08D564B100844FA3 /* SVGFEMergeElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGFEMergeElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CB008D564B100844FA3 /* SVGFEMergeNodeElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGFEMergeNodeElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CB108D564B100844FA3 /* SVGFEOffsetElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGFEOffsetElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CB208D564B100844FA3 /* SVGFETileElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGFETileElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CB308D564B100844FA3 /* SVGFETurbulenceElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGFETurbulenceElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CB408D564B100844FA3 /* SVGFilterElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGFilterElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CB508D564B100844FA3 /* SVGFilterPrimitiveStandardAttributes.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGFilterPrimitiveStandardAttributes.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CB608D564B100844FA3 /* SVGFitToViewBox.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGFitToViewBox.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CB708D564B100844FA3 /* SVGGElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGGElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CB808D564B100844FA3 /* SVGGradientElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGGradientElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CB908D564B100844FA3 /* SVGICCColor.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGICCColor.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CBA08D564B100844FA3 /* SVGImageElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGImageElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CBB08D564B100844FA3 /* SVGLangSpace.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGLangSpace.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CBC08D564B100844FA3 /* SVGLength.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGLength.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CBD08D564B100844FA3 /* SVGLengthList.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGLengthList.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CBE08D564B100844FA3 /* SVGLinearGradientElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGLinearGradientElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CBF08D564B100844FA3 /* SVGLineElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGLineElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CC008D564B100844FA3 /* SVGLocatable.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGLocatable.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CC108D564B100844FA3 /* SVGMarkerElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGMarkerElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CC208D564B100844FA3 /* SVGMatrix.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGMatrix.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CC308D564B100844FA3 /* SVGNumber.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGNumber.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CC408D564B100844FA3 /* SVGNumberList.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGNumberList.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CC508D564B100844FA3 /* SVGPaint.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGPaint.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CC608D564B100844FA3 /* SVGPathElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGPathElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CC708D564B100844FA3 /* SVGPathSeg.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGPathSeg.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CC808D564B100844FA3 /* SVGPathSegArc.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGPathSegArc.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CC908D564B100844FA3 /* SVGPathSegClosePath.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGPathSegClosePath.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CCA08D564B100844FA3 /* SVGPathSegCurvetoCubic.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGPathSegCurvetoCubic.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CCB08D564B100844FA3 /* SVGPathSegCurvetoCubicSmooth.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGPathSegCurvetoCubicSmooth.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CCC08D564B100844FA3 /* SVGPathSegCurvetoQuadratic.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGPathSegCurvetoQuadratic.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CCD08D564B100844FA3 /* SVGPathSegCurvetoQuadraticSmooth.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGPathSegCurvetoQuadraticSmooth.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CCE08D564B100844FA3 /* SVGPathSegLineto.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGPathSegLineto.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CCF08D564B100844FA3 /* SVGPathSegLinetoHorizontal.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGPathSegLinetoHorizontal.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CD008D564B100844FA3 /* SVGPathSegLinetoVertical.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGPathSegLinetoVertical.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CD108D564B100844FA3 /* SVGPathSegList.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGPathSegList.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CD208D564B100844FA3 /* SVGPathSegMoveto.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGPathSegMoveto.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CD308D564B100844FA3 /* SVGPatternElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGPatternElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CD408D564B100844FA3 /* SVGPoint.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGPoint.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CD508D564B100844FA3 /* SVGPointList.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGPointList.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CD608D564B100844FA3 /* SVGPolygonElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGPolygonElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CD708D564B100844FA3 /* SVGPolylineElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGPolylineElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CD808D564B100844FA3 /* SVGPreserveAspectRatio.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGPreserveAspectRatio.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CD908D564B100844FA3 /* SVGRadialGradientElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGRadialGradientElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CDA08D564B100844FA3 /* SVGRect.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGRect.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CDB08D564B100844FA3 /* SVGRectElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGRectElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CDC08D564B100844FA3 /* SVGRenderingIntent.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGRenderingIntent.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CDD08D564B100844FA3 /* SVGScriptElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGScriptElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CDE08D564B100844FA3 /* SVGSetElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGSetElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CDF08D564B100844FA3 /* SVGStopElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGStopElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CE008D564B100844FA3 /* SVGStringList.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGStringList.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CE108D564B100844FA3 /* SVGStylable.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGStylable.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CE208D564B100844FA3 /* SVGStyleElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGStyleElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CE308D564B100844FA3 /* SVGSVGElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGSVGElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CE408D564B100844FA3 /* SVGSwitchElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGSwitchElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CE508D564B100844FA3 /* SVGSymbolElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGSymbolElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CE608D564B100844FA3 /* SVGTests.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGTests.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CE708D564B100844FA3 /* SVGTextContentElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGTextContentElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CE808D564B100844FA3 /* SVGTextElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGTextElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CE908D564B100844FA3 /* SVGTextPositioningElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGTextPositioningElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CEA08D564B100844FA3 /* SVGTitleElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGTitleElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CEB08D564B100844FA3 /* SVGTransform.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGTransform.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CEC08D564B100844FA3 /* SVGTransformable.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGTransformable.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CED08D564B100844FA3 /* SVGTransformList.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGTransformList.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CEE08D564B100844FA3 /* SVGTSpanElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGTSpanElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CEF08D564B100844FA3 /* SVGUnitTypes.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGUnitTypes.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CF008D564B100844FA3 /* SVGURIReference.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGURIReference.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CF108D564B100844FA3 /* SVGUseElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGUseElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CF208D564B100844FA3 /* SVGViewElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGViewElement.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CF308D564B100844FA3 /* SVGZoomAndPan.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGZoomAndPan.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8122CF408D564B100844FA3 /* SVGZoomEvent.idl */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = SVGZoomEvent.idl; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                A81369AE097374F500D74463 /* HTMLIsIndexElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = HTMLIsIndexElement.h; sourceTree = "<group>"; };
                A81369AF097374F500D74463 /* HTMLIsIndexElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = HTMLIsIndexElement.cpp; sourceTree = "<group>"; };
                A81369B0097374F500D74463 /* HTMLInputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = HTMLInputElement.h; sourceTree = "<group>"; };
                A826E8AD0A1A8F2300CD1BB6 /* JSHTMLOptionElementConstructor.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLOptionElementConstructor.cpp; sourceTree = "<group>"; };
                A82FC33B08CBB07C00EFEE23 /* SVGCursorElement.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = SVGCursorElement.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                A82FC33C08CBB07C00EFEE23 /* SVGCursorElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGCursorElement.cpp; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
+               A833B4B80A27311D00D57664 /* JSSVGDocument.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSSVGDocument.h; sourceTree = "<group>"; };
+               A833B4B90A27311D00D57664 /* JSSVGDocument.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGDocument.cpp; sourceTree = "<group>"; };
+               A833B9930A2B77D500D57664 /* SVGDocument.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGDocument.idl; sourceTree = "<group>"; };
+               A833BA750A2BA3D400D57664 /* JSSVGRect.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSSVGRect.h; sourceTree = "<group>"; };
+               A833BA770A2BA3D400D57664 /* JSSVGRect.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGRect.cpp; sourceTree = "<group>"; };
+               A833BA780A2BA3D400D57664 /* JSSVGNumber.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSSVGNumber.h; sourceTree = "<group>"; };
+               A833BA7B0A2BA3D400D57664 /* JSSVGPoint.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSSVGPoint.h; sourceTree = "<group>"; };
+               A833BA7C0A2BA3D400D57664 /* JSSVGPoint.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGPoint.cpp; sourceTree = "<group>"; };
+               A833BA7D0A2BA3D400D57664 /* JSSVGNumber.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGNumber.cpp; sourceTree = "<group>"; };
+               A833BE9F0A2C329300D57664 /* SVGLength.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGLength.idl; sourceTree = "<group>"; };
+               A833BEA00A2C329300D57664 /* SVGRect.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGRect.idl; sourceTree = "<group>"; };
+               A833BEA10A2C329300D57664 /* SVGPoint.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGPoint.idl; sourceTree = "<group>"; };
+               A833BEA20A2C329300D57664 /* SVGNumber.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGNumber.idl; sourceTree = "<group>"; };
+               A833BEC80A2C33E800D57664 /* SVGColor.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGColor.idl; sourceTree = "<group>"; };
+               A833BEDD0A2C344B00D57664 /* SVGMatrix.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGMatrix.idl; sourceTree = "<group>"; };
+               A833BF160A2C3A9500D57664 /* JSSVGMatrix.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSSVGMatrix.h; sourceTree = "<group>"; };
+               A833BF170A2C3A9500D57664 /* JSSVGMatrix.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGMatrix.cpp; sourceTree = "<group>"; };
+               A833BF180A2C3A9500D57664 /* JSSVGColor.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSSVGColor.h; sourceTree = "<group>"; };
+               A833BF190A2C3A9500D57664 /* JSSVGColor.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGColor.cpp; sourceTree = "<group>"; };
+               A833C08E0A2C4F3F00D57664 /* JSSVGSVGElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGSVGElement.cpp; sourceTree = "<group>"; };
+               A833C08F0A2C4F3F00D57664 /* JSSVGSVGElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSSVGSVGElement.h; sourceTree = "<group>"; };
+               A833C0A80A2C4FEC00D57664 /* SVGAngle.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGAngle.idl; sourceTree = "<group>"; };
+               A833C0A90A2C4FEC00D57664 /* SVGTransform.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGTransform.idl; sourceTree = "<group>"; };
+               A833C0ED0A2C513300D57664 /* JSSVGElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSSVGElement.h; sourceTree = "<group>"; };
+               A833C0EE0A2C513300D57664 /* JSSVGAnimatedLength.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSSVGAnimatedLength.h; sourceTree = "<group>"; };
+               A833C0EF0A2C513300D57664 /* JSSVGTransform.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGTransform.cpp; sourceTree = "<group>"; };
+               A833C0F00A2C513300D57664 /* JSSVGAngle.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSSVGAngle.h; sourceTree = "<group>"; };
+               A833C0F10A2C513300D57664 /* JSSVGAnimatedLength.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGAnimatedLength.cpp; sourceTree = "<group>"; };
+               A833C0F20A2C513300D57664 /* JSSVGAngle.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGAngle.cpp; sourceTree = "<group>"; };
+               A833C0F30A2C513300D57664 /* JSSVGElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGElement.cpp; sourceTree = "<group>"; };
+               A833C0F40A2C513300D57664 /* JSSVGLength.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGLength.cpp; sourceTree = "<group>"; };
+               A833C0F50A2C513300D57664 /* JSSVGLength.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSSVGLength.h; sourceTree = "<group>"; };
+               A833C0F60A2C513300D57664 /* JSSVGTransform.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSSVGTransform.h; sourceTree = "<group>"; };
+               A833C5E70A2CCBA400D57664 /* SVGElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGElement.idl; sourceTree = "<group>"; };
+               A833C6D60A2CEA7700D57664 /* JSSVGElementWrapperFactory.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSSVGElementWrapperFactory.h; sourceTree = "<group>"; };
+               A833C6D70A2CEA7700D57664 /* JSSVGElementWrapperFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGElementWrapperFactory.cpp; sourceTree = "<group>"; };
+               A833C7440A2CEC8F00D57664 /* SVGSVGElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGSVGElement.idl; sourceTree = "<group>"; };
+               A833C7F60A2CF1D800D57664 /* xmlattrs.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = xmlattrs.in; sourceTree = "<group>"; };
+               A833C80A0A2CF25600D57664 /* XMLNames.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = XMLNames.cpp; sourceTree = "<group>"; };
+               A833C80B0A2CF25600D57664 /* XMLNames.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = XMLNames.h; sourceTree = "<group>"; };
+               A833C9410A2CF68700D57664 /* GetSVGDocument.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = GetSVGDocument.idl; path = svg/GetSVGDocument.idl; sourceTree = "<group>"; };
+               A833C9420A2CF68700D57664 /* SVGAElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGAElement.idl; path = svg/SVGAElement.idl; sourceTree = "<group>"; };
+               A833C9430A2CF68700D57664 /* SVGAnimateColorElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGAnimateColorElement.idl; path = svg/SVGAnimateColorElement.idl; sourceTree = "<group>"; };
+               A833C9440A2CF68700D57664 /* SVGAnimatedAngle.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGAnimatedAngle.idl; path = svg/SVGAnimatedAngle.idl; sourceTree = "<group>"; };
+               A833C9450A2CF68700D57664 /* SVGAnimatedBoolean.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGAnimatedBoolean.idl; path = svg/SVGAnimatedBoolean.idl; sourceTree = "<group>"; };
+               A833C9460A2CF68700D57664 /* SVGAnimatedEnumeration.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGAnimatedEnumeration.idl; path = svg/SVGAnimatedEnumeration.idl; sourceTree = "<group>"; };
+               A833C9470A2CF68700D57664 /* SVGAnimatedInteger.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGAnimatedInteger.idl; path = svg/SVGAnimatedInteger.idl; sourceTree = "<group>"; };
+               A833C9480A2CF68700D57664 /* SVGAnimatedLengthList.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGAnimatedLengthList.idl; path = svg/SVGAnimatedLengthList.idl; sourceTree = "<group>"; };
+               A833C9490A2CF68700D57664 /* SVGAnimatedNumber.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGAnimatedNumber.idl; path = svg/SVGAnimatedNumber.idl; sourceTree = "<group>"; };
+               A833C94A0A2CF68700D57664 /* SVGAnimatedNumberList.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGAnimatedNumberList.idl; path = svg/SVGAnimatedNumberList.idl; sourceTree = "<group>"; };
+               A833C94B0A2CF68700D57664 /* SVGAnimatedPathData.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGAnimatedPathData.idl; path = svg/SVGAnimatedPathData.idl; sourceTree = "<group>"; };
+               A833C94C0A2CF68700D57664 /* SVGAnimatedPoints.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGAnimatedPoints.idl; path = svg/SVGAnimatedPoints.idl; sourceTree = "<group>"; };
+               A833C94D0A2CF68700D57664 /* SVGAnimatedPreserveAspectRatio.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGAnimatedPreserveAspectRatio.idl; path = svg/SVGAnimatedPreserveAspectRatio.idl; sourceTree = "<group>"; };
+               A833C94E0A2CF68700D57664 /* SVGAnimatedRect.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGAnimatedRect.idl; path = svg/SVGAnimatedRect.idl; sourceTree = "<group>"; };
+               A833C94F0A2CF68700D57664 /* SVGAnimatedString.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGAnimatedString.idl; path = svg/SVGAnimatedString.idl; sourceTree = "<group>"; };
+               A833C9500A2CF68700D57664 /* SVGAnimatedTransformList.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGAnimatedTransformList.idl; path = svg/SVGAnimatedTransformList.idl; sourceTree = "<group>"; };
+               A833C9510A2CF68700D57664 /* SVGAnimateElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGAnimateElement.idl; path = svg/SVGAnimateElement.idl; sourceTree = "<group>"; };
+               A833C9520A2CF68700D57664 /* SVGAnimateTransformElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGAnimateTransformElement.idl; path = svg/SVGAnimateTransformElement.idl; sourceTree = "<group>"; };
+               A833C9530A2CF68700D57664 /* SVGAnimationElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGAnimationElement.idl; path = svg/SVGAnimationElement.idl; sourceTree = "<group>"; };
+               A833C9540A2CF68700D57664 /* SVGCircleElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGCircleElement.idl; path = svg/SVGCircleElement.idl; sourceTree = "<group>"; };
+               A833C9550A2CF68700D57664 /* SVGClipPathElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGClipPathElement.idl; path = svg/SVGClipPathElement.idl; sourceTree = "<group>"; };
+               A833C9560A2CF68700D57664 /* SVGComponentTransferFunctionElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGComponentTransferFunctionElement.idl; path = svg/SVGComponentTransferFunctionElement.idl; sourceTree = "<group>"; };
+               A833C9570A2CF68700D57664 /* SVGCursorElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGCursorElement.idl; path = svg/SVGCursorElement.idl; sourceTree = "<group>"; };
+               A833C9580A2CF68700D57664 /* SVGDefsElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGDefsElement.idl; path = svg/SVGDefsElement.idl; sourceTree = "<group>"; };
+               A833C9590A2CF68700D57664 /* SVGDescElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGDescElement.idl; path = svg/SVGDescElement.idl; sourceTree = "<group>"; };
+               A833C95A0A2CF68700D57664 /* SVGDOMImplementation.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGDOMImplementation.idl; path = svg/SVGDOMImplementation.idl; sourceTree = "<group>"; };
+               A833C95B0A2CF68700D57664 /* SVGElementInstance.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGElementInstance.idl; path = svg/SVGElementInstance.idl; sourceTree = "<group>"; };
+               A833C95C0A2CF68700D57664 /* SVGElementInstanceList.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGElementInstanceList.idl; path = svg/SVGElementInstanceList.idl; sourceTree = "<group>"; };
+               A833C95D0A2CF68700D57664 /* SVGEllipseElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGEllipseElement.idl; path = svg/SVGEllipseElement.idl; sourceTree = "<group>"; };
+               A833C95E0A2CF68700D57664 /* SVGEvent.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGEvent.idl; path = svg/SVGEvent.idl; sourceTree = "<group>"; };
+               A833C95F0A2CF68700D57664 /* SVGException.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGException.idl; path = svg/SVGException.idl; sourceTree = "<group>"; };
+               A833C9600A2CF68700D57664 /* SVGExternalResourcesRequired.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGExternalResourcesRequired.idl; path = svg/SVGExternalResourcesRequired.idl; sourceTree = "<group>"; };
+               A833C9610A2CF68700D57664 /* SVGFEBlendElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGFEBlendElement.idl; path = svg/SVGFEBlendElement.idl; sourceTree = "<group>"; };
+               A833C9620A2CF68700D57664 /* SVGFEColorMatrixElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGFEColorMatrixElement.idl; path = svg/SVGFEColorMatrixElement.idl; sourceTree = "<group>"; };
+               A833C9630A2CF68700D57664 /* SVGFEComponentTransferElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGFEComponentTransferElement.idl; path = svg/SVGFEComponentTransferElement.idl; sourceTree = "<group>"; };
+               A833C9640A2CF68700D57664 /* SVGFECompositeElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGFECompositeElement.idl; path = svg/SVGFECompositeElement.idl; sourceTree = "<group>"; };
+               A833C9650A2CF68700D57664 /* SVGFEFloodElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGFEFloodElement.idl; path = svg/SVGFEFloodElement.idl; sourceTree = "<group>"; };
+               A833C9660A2CF68700D57664 /* SVGFEFuncAElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGFEFuncAElement.idl; path = svg/SVGFEFuncAElement.idl; sourceTree = "<group>"; };
+               A833C9670A2CF68700D57664 /* SVGFEFuncBElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGFEFuncBElement.idl; path = svg/SVGFEFuncBElement.idl; sourceTree = "<group>"; };
+               A833C9680A2CF68700D57664 /* SVGFEFuncGElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGFEFuncGElement.idl; path = svg/SVGFEFuncGElement.idl; sourceTree = "<group>"; };
+               A833C9690A2CF68700D57664 /* SVGFEFuncRElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGFEFuncRElement.idl; path = svg/SVGFEFuncRElement.idl; sourceTree = "<group>"; };
+               A833C96A0A2CF68700D57664 /* SVGFEGaussianBlurElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGFEGaussianBlurElement.idl; path = svg/SVGFEGaussianBlurElement.idl; sourceTree = "<group>"; };
+               A833C96B0A2CF68700D57664 /* SVGFEImageElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGFEImageElement.idl; path = svg/SVGFEImageElement.idl; sourceTree = "<group>"; };
+               A833C96C0A2CF68700D57664 /* SVGFEMergeElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGFEMergeElement.idl; path = svg/SVGFEMergeElement.idl; sourceTree = "<group>"; };
+               A833C96D0A2CF68700D57664 /* SVGFEMergeNodeElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGFEMergeNodeElement.idl; path = svg/SVGFEMergeNodeElement.idl; sourceTree = "<group>"; };
+               A833C96E0A2CF68700D57664 /* SVGFEOffsetElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGFEOffsetElement.idl; path = svg/SVGFEOffsetElement.idl; sourceTree = "<group>"; };
+               A833C96F0A2CF68700D57664 /* SVGFETileElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGFETileElement.idl; path = svg/SVGFETileElement.idl; sourceTree = "<group>"; };
+               A833C9700A2CF68700D57664 /* SVGFETurbulenceElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGFETurbulenceElement.idl; path = svg/SVGFETurbulenceElement.idl; sourceTree = "<group>"; };
+               A833C9710A2CF68700D57664 /* SVGFilterElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGFilterElement.idl; path = svg/SVGFilterElement.idl; sourceTree = "<group>"; };
+               A833C9720A2CF68700D57664 /* SVGFilterPrimitiveStandardAttributes.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGFilterPrimitiveStandardAttributes.idl; path = svg/SVGFilterPrimitiveStandardAttributes.idl; sourceTree = "<group>"; };
+               A833C9730A2CF68700D57664 /* SVGFitToViewBox.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGFitToViewBox.idl; path = svg/SVGFitToViewBox.idl; sourceTree = "<group>"; };
+               A833C9740A2CF68700D57664 /* SVGGElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGGElement.idl; path = svg/SVGGElement.idl; sourceTree = "<group>"; };
+               A833C9750A2CF68700D57664 /* SVGGradientElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGGradientElement.idl; path = svg/SVGGradientElement.idl; sourceTree = "<group>"; };
+               A833C9760A2CF68700D57664 /* SVGICCColor.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGICCColor.idl; path = svg/SVGICCColor.idl; sourceTree = "<group>"; };
+               A833C9770A2CF68700D57664 /* SVGImageElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGImageElement.idl; path = svg/SVGImageElement.idl; sourceTree = "<group>"; };
+               A833C9780A2CF68700D57664 /* SVGLangSpace.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGLangSpace.idl; path = svg/SVGLangSpace.idl; sourceTree = "<group>"; };
+               A833C9790A2CF68700D57664 /* SVGLengthList.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGLengthList.idl; path = svg/SVGLengthList.idl; sourceTree = "<group>"; };
+               A833C97A0A2CF68700D57664 /* SVGLinearGradientElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGLinearGradientElement.idl; path = svg/SVGLinearGradientElement.idl; sourceTree = "<group>"; };
+               A833C97B0A2CF68700D57664 /* SVGLineElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGLineElement.idl; path = svg/SVGLineElement.idl; sourceTree = "<group>"; };
+               A833C97C0A2CF68700D57664 /* SVGLocatable.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGLocatable.idl; path = svg/SVGLocatable.idl; sourceTree = "<group>"; };
+               A833C97D0A2CF68700D57664 /* SVGMarkerElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGMarkerElement.idl; path = svg/SVGMarkerElement.idl; sourceTree = "<group>"; };
+               A833C97E0A2CF68700D57664 /* SVGNumberList.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGNumberList.idl; path = svg/SVGNumberList.idl; sourceTree = "<group>"; };
+               A833C97F0A2CF68700D57664 /* SVGPaint.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGPaint.idl; path = svg/SVGPaint.idl; sourceTree = "<group>"; };
+               A833C9800A2CF68700D57664 /* SVGPathElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGPathElement.idl; path = svg/SVGPathElement.idl; sourceTree = "<group>"; };
+               A833C9810A2CF68700D57664 /* SVGPathSeg.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGPathSeg.idl; path = svg/SVGPathSeg.idl; sourceTree = "<group>"; };
+               A833C9820A2CF68700D57664 /* SVGPathSegArc.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGPathSegArc.idl; path = svg/SVGPathSegArc.idl; sourceTree = "<group>"; };
+               A833C9830A2CF68700D57664 /* SVGPathSegClosePath.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGPathSegClosePath.idl; path = svg/SVGPathSegClosePath.idl; sourceTree = "<group>"; };
+               A833C9840A2CF68700D57664 /* SVGPathSegCurvetoCubic.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGPathSegCurvetoCubic.idl; path = svg/SVGPathSegCurvetoCubic.idl; sourceTree = "<group>"; };
+               A833C9850A2CF68700D57664 /* SVGPathSegCurvetoCubicSmooth.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGPathSegCurvetoCubicSmooth.idl; path = svg/SVGPathSegCurvetoCubicSmooth.idl; sourceTree = "<group>"; };
+               A833C9860A2CF68700D57664 /* SVGPathSegCurvetoQuadratic.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGPathSegCurvetoQuadratic.idl; path = svg/SVGPathSegCurvetoQuadratic.idl; sourceTree = "<group>"; };
+               A833C9870A2CF68700D57664 /* SVGPathSegCurvetoQuadraticSmooth.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGPathSegCurvetoQuadraticSmooth.idl; path = svg/SVGPathSegCurvetoQuadraticSmooth.idl; sourceTree = "<group>"; };
+               A833C9880A2CF68700D57664 /* SVGPathSegLineto.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGPathSegLineto.idl; path = svg/SVGPathSegLineto.idl; sourceTree = "<group>"; };
+               A833C9890A2CF68700D57664 /* SVGPathSegLinetoHorizontal.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGPathSegLinetoHorizontal.idl; path = svg/SVGPathSegLinetoHorizontal.idl; sourceTree = "<group>"; };
+               A833C98A0A2CF68700D57664 /* SVGPathSegLinetoVertical.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGPathSegLinetoVertical.idl; path = svg/SVGPathSegLinetoVertical.idl; sourceTree = "<group>"; };
+               A833C98B0A2CF68700D57664 /* SVGPathSegList.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGPathSegList.idl; path = svg/SVGPathSegList.idl; sourceTree = "<group>"; };
+               A833C98C0A2CF68700D57664 /* SVGPathSegMoveto.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGPathSegMoveto.idl; path = svg/SVGPathSegMoveto.idl; sourceTree = "<group>"; };
+               A833C98D0A2CF68700D57664 /* SVGPatternElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGPatternElement.idl; path = svg/SVGPatternElement.idl; sourceTree = "<group>"; };
+               A833C98E0A2CF68700D57664 /* SVGPointList.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGPointList.idl; path = svg/SVGPointList.idl; sourceTree = "<group>"; };
+               A833C98F0A2CF68700D57664 /* SVGPolygonElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGPolygonElement.idl; path = svg/SVGPolygonElement.idl; sourceTree = "<group>"; };
+               A833C9900A2CF68700D57664 /* SVGPolylineElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGPolylineElement.idl; path = svg/SVGPolylineElement.idl; sourceTree = "<group>"; };
+               A833C9910A2CF68700D57664 /* SVGPreserveAspectRatio.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGPreserveAspectRatio.idl; path = svg/SVGPreserveAspectRatio.idl; sourceTree = "<group>"; };
+               A833C9920A2CF68700D57664 /* SVGRadialGradientElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGRadialGradientElement.idl; path = svg/SVGRadialGradientElement.idl; sourceTree = "<group>"; };
+               A833C9930A2CF68700D57664 /* SVGRectElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGRectElement.idl; path = svg/SVGRectElement.idl; sourceTree = "<group>"; };
+               A833C9940A2CF68700D57664 /* SVGRenderingIntent.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGRenderingIntent.idl; path = svg/SVGRenderingIntent.idl; sourceTree = "<group>"; };
+               A833C9950A2CF68700D57664 /* SVGScriptElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGScriptElement.idl; path = svg/SVGScriptElement.idl; sourceTree = "<group>"; };
+               A833C9960A2CF68700D57664 /* SVGSetElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGSetElement.idl; path = svg/SVGSetElement.idl; sourceTree = "<group>"; };
+               A833C9970A2CF68700D57664 /* SVGStopElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGStopElement.idl; path = svg/SVGStopElement.idl; sourceTree = "<group>"; };
+               A833C9980A2CF68700D57664 /* SVGStringList.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGStringList.idl; path = svg/SVGStringList.idl; sourceTree = "<group>"; };
+               A833C9990A2CF68700D57664 /* SVGStylable.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGStylable.idl; path = svg/SVGStylable.idl; sourceTree = "<group>"; };
+               A833C99A0A2CF68700D57664 /* SVGStyleElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGStyleElement.idl; path = svg/SVGStyleElement.idl; sourceTree = "<group>"; };
+               A833C99B0A2CF68700D57664 /* SVGSwitchElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGSwitchElement.idl; path = svg/SVGSwitchElement.idl; sourceTree = "<group>"; };
+               A833C99C0A2CF68700D57664 /* SVGSymbolElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGSymbolElement.idl; path = svg/SVGSymbolElement.idl; sourceTree = "<group>"; };
+               A833C99D0A2CF68700D57664 /* SVGTests.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGTests.idl; path = svg/SVGTests.idl; sourceTree = "<group>"; };
+               A833C99E0A2CF68700D57664 /* SVGTextContentElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGTextContentElement.idl; path = svg/SVGTextContentElement.idl; sourceTree = "<group>"; };
+               A833C99F0A2CF68700D57664 /* SVGTextElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGTextElement.idl; path = svg/SVGTextElement.idl; sourceTree = "<group>"; };
+               A833C9A00A2CF68700D57664 /* SVGTextPositioningElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGTextPositioningElement.idl; path = svg/SVGTextPositioningElement.idl; sourceTree = "<group>"; };
+               A833C9A10A2CF68700D57664 /* SVGTitleElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGTitleElement.idl; path = svg/SVGTitleElement.idl; sourceTree = "<group>"; };
+               A833C9A20A2CF68700D57664 /* SVGTransformable.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGTransformable.idl; path = svg/SVGTransformable.idl; sourceTree = "<group>"; };
+               A833C9A30A2CF68700D57664 /* SVGTransformList.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGTransformList.idl; path = svg/SVGTransformList.idl; sourceTree = "<group>"; };
+               A833C9A40A2CF68700D57664 /* SVGTSpanElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGTSpanElement.idl; path = svg/SVGTSpanElement.idl; sourceTree = "<group>"; };
+               A833C9A50A2CF68700D57664 /* SVGUnitTypes.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGUnitTypes.idl; path = svg/SVGUnitTypes.idl; sourceTree = "<group>"; };
+               A833C9A60A2CF68700D57664 /* SVGURIReference.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGURIReference.idl; path = svg/SVGURIReference.idl; sourceTree = "<group>"; };
+               A833C9A70A2CF68700D57664 /* SVGUseElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGUseElement.idl; path = svg/SVGUseElement.idl; sourceTree = "<group>"; };
+               A833C9A80A2CF68700D57664 /* SVGViewElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGViewElement.idl; path = svg/SVGViewElement.idl; sourceTree = "<group>"; };
+               A833C9A90A2CF68700D57664 /* SVGZoomAndPan.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGZoomAndPan.idl; path = svg/SVGZoomAndPan.idl; sourceTree = "<group>"; };
+               A833C9AA0A2CF68700D57664 /* SVGZoomEvent.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = SVGZoomEvent.idl; path = svg/SVGZoomEvent.idl; sourceTree = "<group>"; };
                A85D7A2F0879EBA9006A9172 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = /System/Library/Frameworks/QuartzCore.framework; sourceTree = "<absolute>"; };
                A85D7A8C0879EC64006A9172 /* KWQWMatrix.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KWQWMatrix.cpp; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                A85D7A8D0879EC64006A9172 /* KWQWMatrix.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = KWQWMatrix.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                A871DFDF0A15376B00B12A68 /* RenderReplaced.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RenderReplaced.h; sourceTree = "<group>"; };
                A871DFE00A15376B00B12A68 /* RenderWidget.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RenderWidget.h; sourceTree = "<group>"; };
                A871DFE10A15376B00B12A68 /* RenderWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RenderWidget.cpp; sourceTree = "<group>"; };
-               A884283809308C1C00B6D461 /* SVGNamesWrapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGNamesWrapper.cpp; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A884283909308C1C00B6D461 /* SVGElementFactoryWrapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGElementFactoryWrapper.cpp; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                A884283D09308C1C00B6D461 /* DOMList.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = DOMList.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A884283E09308C1C00B6D461 /* RGBColor.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = RGBColor.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A884283F09308C1C00B6D461 /* RGBColor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RGBColor.cpp; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                A890DF1B0930974800513F88 /* SVGStyledTransformableElement.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = SVGStyledTransformableElement.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                A890DF1C0930974800513F88 /* SVGStyledTransformableElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGStyledTransformableElement.cpp; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                A890DF1D0930974800513F88 /* SVGStyledLocatableElement.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = SVGStyledLocatableElement.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                A8C32966093BB7B2000B9CAC /* SVGFEPointLightElement.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = SVGFEPointLightElement.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                A8C32967093BB7B2000B9CAC /* SVGFEPointLightElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGFEPointLightElement.cpp; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                A8C32D89093D8BFA000B9CAC /* xlinkattrs.in */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = xlinkattrs.in; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-               A8C32D96093D8EA4000B9CAC /* XLinkNamesWrapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XLinkNamesWrapper.cpp; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                A8C4A7EB09D563270003AC8D /* StyledElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = StyledElement.h; sourceTree = "<group>"; };
                A8C4A7EC09D563270003AC8D /* StyledElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = StyledElement.cpp; sourceTree = "<group>"; };
                A8C4A7EE09D563270003AC8D /* Node.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Node.cpp; sourceTree = "<group>"; };
                                65DF31EC09D1CC60000BE325 /* JSProcessingInstruction.h */,
                                65DF31ED09D1CC60000BE325 /* JSRange.cpp */,
                                65DF31EE09D1CC60000BE325 /* JSRange.h */,
+                               A833C0F20A2C513300D57664 /* JSSVGAngle.cpp */,
+                               A833C0F00A2C513300D57664 /* JSSVGAngle.h */,
+                               A833C0F10A2C513300D57664 /* JSSVGAnimatedLength.cpp */,
+                               A833C0EE0A2C513300D57664 /* JSSVGAnimatedLength.h */,
+                               A833BF190A2C3A9500D57664 /* JSSVGColor.cpp */,
+                               A833BF180A2C3A9500D57664 /* JSSVGColor.h */,
+                               A833B4B90A27311D00D57664 /* JSSVGDocument.cpp */,
+                               A833B4B80A27311D00D57664 /* JSSVGDocument.h */,
+                               A833C0F30A2C513300D57664 /* JSSVGElement.cpp */,
+                               A833C0ED0A2C513300D57664 /* JSSVGElement.h */,
+                               A833C0F40A2C513300D57664 /* JSSVGLength.cpp */,
+                               A833C0F50A2C513300D57664 /* JSSVGLength.h */,
+                               A833BF170A2C3A9500D57664 /* JSSVGMatrix.cpp */,
+                               A833BF160A2C3A9500D57664 /* JSSVGMatrix.h */,
+                               A833C08E0A2C4F3F00D57664 /* JSSVGSVGElement.cpp */,
+                               A833C08F0A2C4F3F00D57664 /* JSSVGSVGElement.h */,
+                               A833C0EF0A2C513300D57664 /* JSSVGTransform.cpp */,
+                               A833C0F60A2C513300D57664 /* JSSVGTransform.h */,
                                65DF31EF09D1CC60000BE325 /* JSText.cpp */,
                                65DF31F009D1CC60000BE325 /* JSText.h */,
                                A86629CA09DA2B47009633A5 /* JSUIEvent.cpp */,
                                656581AF09D14EE6000E61D7 /* UserAgentStyleSheetsData.cpp */,
                                656581EA09D1508D000E61D7 /* XLinkNames.cpp */,
                                656581EB09D1508D000E61D7 /* XLinkNames.h */,
+                               A833C80A0A2CF25600D57664 /* XMLNames.cpp */,
+                               A833C80B0A2CF25600D57664 /* XMLNames.h */,
                                1A7629D30A07425100989F5B /* XPathGrammar.cpp */,
                                1A7629D40A07425100989F5B /* XPathGrammar.h */,
                        );
                A8122C7B08D564B000844FA3 /* bindings */ = {
                        isa = PBXGroup;
                        children = (
+                               A833BA1F0A2BA02B00D57664 /* js */,
                                A8122C7C08D564B000844FA3 /* idl */,
                        );
                        path = bindings;
                A8122C7C08D564B000844FA3 /* idl */ = {
                        isa = PBXGroup;
                        children = (
-                               A8122C7D08D564B000844FA3 /* svg */,
+                               A833C9410A2CF68700D57664 /* GetSVGDocument.idl */,
+                               A833C9420A2CF68700D57664 /* SVGAElement.idl */,
+                               A833C9430A2CF68700D57664 /* SVGAnimateColorElement.idl */,
+                               A833C9440A2CF68700D57664 /* SVGAnimatedAngle.idl */,
+                               A833C9450A2CF68700D57664 /* SVGAnimatedBoolean.idl */,
+                               A833C9460A2CF68700D57664 /* SVGAnimatedEnumeration.idl */,
+                               A833C9470A2CF68700D57664 /* SVGAnimatedInteger.idl */,
+                               A833C9480A2CF68700D57664 /* SVGAnimatedLengthList.idl */,
+                               A833C9490A2CF68700D57664 /* SVGAnimatedNumber.idl */,
+                               A833C94A0A2CF68700D57664 /* SVGAnimatedNumberList.idl */,
+                               A833C94B0A2CF68700D57664 /* SVGAnimatedPathData.idl */,
+                               A833C94C0A2CF68700D57664 /* SVGAnimatedPoints.idl */,
+                               A833C94D0A2CF68700D57664 /* SVGAnimatedPreserveAspectRatio.idl */,
+                               A833C94E0A2CF68700D57664 /* SVGAnimatedRect.idl */,
+                               A833C94F0A2CF68700D57664 /* SVGAnimatedString.idl */,
+                               A833C9500A2CF68700D57664 /* SVGAnimatedTransformList.idl */,
+                               A833C9510A2CF68700D57664 /* SVGAnimateElement.idl */,
+                               A833C9520A2CF68700D57664 /* SVGAnimateTransformElement.idl */,
+                               A833C9530A2CF68700D57664 /* SVGAnimationElement.idl */,
+                               A833C9540A2CF68700D57664 /* SVGCircleElement.idl */,
+                               A833C9550A2CF68700D57664 /* SVGClipPathElement.idl */,
+                               A833C9560A2CF68700D57664 /* SVGComponentTransferFunctionElement.idl */,
+                               A833C9570A2CF68700D57664 /* SVGCursorElement.idl */,
+                               A833C9580A2CF68700D57664 /* SVGDefsElement.idl */,
+                               A833C9590A2CF68700D57664 /* SVGDescElement.idl */,
+                               A833C95A0A2CF68700D57664 /* SVGDOMImplementation.idl */,
+                               A833C95B0A2CF68700D57664 /* SVGElementInstance.idl */,
+                               A833C95C0A2CF68700D57664 /* SVGElementInstanceList.idl */,
+                               A833C95D0A2CF68700D57664 /* SVGEllipseElement.idl */,
+                               A833C95E0A2CF68700D57664 /* SVGEvent.idl */,
+                               A833C95F0A2CF68700D57664 /* SVGException.idl */,
+                               A833C9600A2CF68700D57664 /* SVGExternalResourcesRequired.idl */,
+                               A833C9610A2CF68700D57664 /* SVGFEBlendElement.idl */,
+                               A833C9620A2CF68700D57664 /* SVGFEColorMatrixElement.idl */,
+                               A833C9630A2CF68700D57664 /* SVGFEComponentTransferElement.idl */,
+                               A833C9640A2CF68700D57664 /* SVGFECompositeElement.idl */,
+                               A833C9650A2CF68700D57664 /* SVGFEFloodElement.idl */,
+                               A833C9660A2CF68700D57664 /* SVGFEFuncAElement.idl */,
+                               A833C9670A2CF68700D57664 /* SVGFEFuncBElement.idl */,
+                               A833C9680A2CF68700D57664 /* SVGFEFuncGElement.idl */,
+                               A833C9690A2CF68700D57664 /* SVGFEFuncRElement.idl */,
+                               A833C96A0A2CF68700D57664 /* SVGFEGaussianBlurElement.idl */,
+                               A833C96B0A2CF68700D57664 /* SVGFEImageElement.idl */,
+                               A833C96C0A2CF68700D57664 /* SVGFEMergeElement.idl */,
+                               A833C96D0A2CF68700D57664 /* SVGFEMergeNodeElement.idl */,
+                               A833C96E0A2CF68700D57664 /* SVGFEOffsetElement.idl */,
+                               A833C96F0A2CF68700D57664 /* SVGFETileElement.idl */,
+                               A833C9700A2CF68700D57664 /* SVGFETurbulenceElement.idl */,
+                               A833C9710A2CF68700D57664 /* SVGFilterElement.idl */,
+                               A833C9720A2CF68700D57664 /* SVGFilterPrimitiveStandardAttributes.idl */,
+                               A833C9730A2CF68700D57664 /* SVGFitToViewBox.idl */,
+                               A833C9740A2CF68700D57664 /* SVGGElement.idl */,
+                               A833C9750A2CF68700D57664 /* SVGGradientElement.idl */,
+                               A833C9760A2CF68700D57664 /* SVGICCColor.idl */,
+                               A833C9770A2CF68700D57664 /* SVGImageElement.idl */,
+                               A833C9780A2CF68700D57664 /* SVGLangSpace.idl */,
+                               A833C9790A2CF68700D57664 /* SVGLengthList.idl */,
+                               A833C97A0A2CF68700D57664 /* SVGLinearGradientElement.idl */,
+                               A833C97B0A2CF68700D57664 /* SVGLineElement.idl */,
+                               A833C97C0A2CF68700D57664 /* SVGLocatable.idl */,
+                               A833C97D0A2CF68700D57664 /* SVGMarkerElement.idl */,
+                               A833C97E0A2CF68700D57664 /* SVGNumberList.idl */,
+                               A833C97F0A2CF68700D57664 /* SVGPaint.idl */,
+                               A833C9800A2CF68700D57664 /* SVGPathElement.idl */,
+                               A833C9810A2CF68700D57664 /* SVGPathSeg.idl */,
+                               A833C9820A2CF68700D57664 /* SVGPathSegArc.idl */,
+                               A833C9830A2CF68700D57664 /* SVGPathSegClosePath.idl */,
+                               A833C9840A2CF68700D57664 /* SVGPathSegCurvetoCubic.idl */,
+                               A833C9850A2CF68700D57664 /* SVGPathSegCurvetoCubicSmooth.idl */,
+                               A833C9860A2CF68700D57664 /* SVGPathSegCurvetoQuadratic.idl */,
+                               A833C9870A2CF68700D57664 /* SVGPathSegCurvetoQuadraticSmooth.idl */,
+                               A833C9880A2CF68700D57664 /* SVGPathSegLineto.idl */,
+                               A833C9890A2CF68700D57664 /* SVGPathSegLinetoHorizontal.idl */,
+                               A833C98A0A2CF68700D57664 /* SVGPathSegLinetoVertical.idl */,
+                               A833C98B0A2CF68700D57664 /* SVGPathSegList.idl */,
+                               A833C98C0A2CF68700D57664 /* SVGPathSegMoveto.idl */,
+                               A833C98D0A2CF68700D57664 /* SVGPatternElement.idl */,
+                               A833C98E0A2CF68700D57664 /* SVGPointList.idl */,
+                               A833C98F0A2CF68700D57664 /* SVGPolygonElement.idl */,
+                               A833C9900A2CF68700D57664 /* SVGPolylineElement.idl */,
+                               A833C9910A2CF68700D57664 /* SVGPreserveAspectRatio.idl */,
+                               A833C9920A2CF68700D57664 /* SVGRadialGradientElement.idl */,
+                               A833C9930A2CF68700D57664 /* SVGRectElement.idl */,
+                               A833C9940A2CF68700D57664 /* SVGRenderingIntent.idl */,
+                               A833C9950A2CF68700D57664 /* SVGScriptElement.idl */,
+                               A833C9960A2CF68700D57664 /* SVGSetElement.idl */,
+                               A833C9970A2CF68700D57664 /* SVGStopElement.idl */,
+                               A833C9980A2CF68700D57664 /* SVGStringList.idl */,
+                               A833C9990A2CF68700D57664 /* SVGStylable.idl */,
+                               A833C99A0A2CF68700D57664 /* SVGStyleElement.idl */,
+                               A833C99B0A2CF68700D57664 /* SVGSwitchElement.idl */,
+                               A833C99C0A2CF68700D57664 /* SVGSymbolElement.idl */,
+                               A833C99D0A2CF68700D57664 /* SVGTests.idl */,
+                               A833C99E0A2CF68700D57664 /* SVGTextContentElement.idl */,
+                               A833C99F0A2CF68700D57664 /* SVGTextElement.idl */,
+                               A833C9A00A2CF68700D57664 /* SVGTextPositioningElement.idl */,
+                               A833C9A10A2CF68700D57664 /* SVGTitleElement.idl */,
+                               A833C9A20A2CF68700D57664 /* SVGTransformable.idl */,
+                               A833C9A30A2CF68700D57664 /* SVGTransformList.idl */,
+                               A833C9A40A2CF68700D57664 /* SVGTSpanElement.idl */,
+                               A833C9A50A2CF68700D57664 /* SVGUnitTypes.idl */,
+                               A833C9A60A2CF68700D57664 /* SVGURIReference.idl */,
+                               A833C9A70A2CF68700D57664 /* SVGUseElement.idl */,
+                               A833C9A80A2CF68700D57664 /* SVGViewElement.idl */,
+                               A833C9A90A2CF68700D57664 /* SVGZoomAndPan.idl */,
+                               A833C9AA0A2CF68700D57664 /* SVGZoomEvent.idl */,
                        );
                        path = idl;
                        sourceTree = "<group>";
                };
-               A8122C7D08D564B000844FA3 /* svg */ = {
+               A833BA1F0A2BA02B00D57664 /* js */ = {
                        isa = PBXGroup;
                        children = (
-                               A8122C7E08D564B000844FA3 /* GetSVGDocument.idl */,
-                               A8122C7F08D564B000844FA3 /* kdomdefs.idl */,
-                               A8122C8008D564B000844FA3 /* SVGAElement.idl */,
-                               A8122C8108D564B000844FA3 /* SVGAngle.idl */,
-                               A8122C8208D564B000844FA3 /* SVGAnimateColorElement.idl */,
-                               A8122C8308D564B000844FA3 /* SVGAnimatedAngle.idl */,
-                               A8122C8408D564B000844FA3 /* SVGAnimatedBoolean.idl */,
-                               A8122C8508D564B000844FA3 /* SVGAnimatedEnumeration.idl */,
-                               A8122C8608D564B000844FA3 /* SVGAnimatedInteger.idl */,
-                               A8122C8708D564B000844FA3 /* SVGAnimatedLength.idl */,
-                               A8122C8808D564B000844FA3 /* SVGAnimatedLengthList.idl */,
-                               A8122C8908D564B000844FA3 /* SVGAnimatedNumber.idl */,
-                               A8122C8A08D564B000844FA3 /* SVGAnimatedNumberList.idl */,
-                               A8122C8B08D564B000844FA3 /* SVGAnimatedPathData.idl */,
-                               A8122C8C08D564B000844FA3 /* SVGAnimatedPoints.idl */,
-                               A8122C8D08D564B000844FA3 /* SVGAnimatedPreserveAspectRatio.idl */,
-                               A8122C8E08D564B000844FA3 /* SVGAnimatedRect.idl */,
-                               A8122C8F08D564B000844FA3 /* SVGAnimatedString.idl */,
-                               A8122C9008D564B000844FA3 /* SVGAnimatedTransformList.idl */,
-                               A8122C9108D564B000844FA3 /* SVGAnimateElement.idl */,
-                               A8122C9208D564B000844FA3 /* SVGAnimateTransformElement.idl */,
-                               A8122C9308D564B000844FA3 /* SVGAnimationElement.idl */,
-                               A8122C9408D564B000844FA3 /* SVGCircleElement.idl */,
-                               A8122C9508D564B000844FA3 /* SVGClipPathElement.idl */,
-                               A8122C9608D564B000844FA3 /* SVGColor.idl */,
-                               A8122C9708D564B000844FA3 /* SVGComponentTransferFunctionElement.idl */,
-                               A8122C9808D564B000844FA3 /* SVGCursorElement.idl */,
-                               A8122C9908D564B000844FA3 /* SVGDefsElement.idl */,
-                               A8122C9A08D564B000844FA3 /* SVGDescElement.idl */,
-                               A8122C9B08D564B000844FA3 /* SVGDocument.idl */,
-                               A8122C9C08D564B000844FA3 /* SVGDOMImplementation.idl */,
-                               A8122C9D08D564B000844FA3 /* SVGElement.idl */,
-                               A8122C9E08D564B000844FA3 /* SVGElementInstance.idl */,
-                               A8122C9F08D564B000844FA3 /* SVGElementInstanceList.idl */,
-                               A8122CA008D564B000844FA3 /* SVGEllipseElement.idl */,
-                               A8122CA108D564B000844FA3 /* SVGEvent.idl */,
-                               A8122CA208D564B000844FA3 /* SVGException.idl */,
-                               A8122CA308D564B000844FA3 /* SVGExternalResourcesRequired.idl */,
-                               A8122CA408D564B000844FA3 /* SVGFEBlendElement.idl */,
-                               A8122CA508D564B000844FA3 /* SVGFEColorMatrixElement.idl */,
-                               A8122CA608D564B000844FA3 /* SVGFEComponentTransferElement.idl */,
-                               A8122CA708D564B000844FA3 /* SVGFECompositeElement.idl */,
-                               A8122CA808D564B000844FA3 /* SVGFEFloodElement.idl */,
-                               A8122CA908D564B000844FA3 /* SVGFEFuncAElement.idl */,
-                               A8122CAA08D564B000844FA3 /* SVGFEFuncBElement.idl */,
-                               A8122CAB08D564B100844FA3 /* SVGFEFuncGElement.idl */,
-                               A8122CAC08D564B100844FA3 /* SVGFEFuncRElement.idl */,
-                               A8122CAD08D564B100844FA3 /* SVGFEGaussianBlurElement.idl */,
-                               A8122CAE08D564B100844FA3 /* SVGFEImageElement.idl */,
-                               A8122CAF08D564B100844FA3 /* SVGFEMergeElement.idl */,
-                               A8122CB008D564B100844FA3 /* SVGFEMergeNodeElement.idl */,
-                               A8122CB108D564B100844FA3 /* SVGFEOffsetElement.idl */,
-                               A8122CB208D564B100844FA3 /* SVGFETileElement.idl */,
-                               A8122CB308D564B100844FA3 /* SVGFETurbulenceElement.idl */,
-                               A8122CB408D564B100844FA3 /* SVGFilterElement.idl */,
-                               A8122CB508D564B100844FA3 /* SVGFilterPrimitiveStandardAttributes.idl */,
-                               A8122CB608D564B100844FA3 /* SVGFitToViewBox.idl */,
-                               A8122CB708D564B100844FA3 /* SVGGElement.idl */,
-                               A8122CB808D564B100844FA3 /* SVGGradientElement.idl */,
-                               A8122CB908D564B100844FA3 /* SVGICCColor.idl */,
-                               A8122CBA08D564B100844FA3 /* SVGImageElement.idl */,
-                               A8122CBB08D564B100844FA3 /* SVGLangSpace.idl */,
-                               A8122CBC08D564B100844FA3 /* SVGLength.idl */,
-                               A8122CBD08D564B100844FA3 /* SVGLengthList.idl */,
-                               A8122CBE08D564B100844FA3 /* SVGLinearGradientElement.idl */,
-                               A8122CBF08D564B100844FA3 /* SVGLineElement.idl */,
-                               A8122CC008D564B100844FA3 /* SVGLocatable.idl */,
-                               A8122CC108D564B100844FA3 /* SVGMarkerElement.idl */,
-                               A8122CC208D564B100844FA3 /* SVGMatrix.idl */,
-                               A8122CC308D564B100844FA3 /* SVGNumber.idl */,
-                               A8122CC408D564B100844FA3 /* SVGNumberList.idl */,
-                               A8122CC508D564B100844FA3 /* SVGPaint.idl */,
-                               A8122CC608D564B100844FA3 /* SVGPathElement.idl */,
-                               A8122CC708D564B100844FA3 /* SVGPathSeg.idl */,
-                               A8122CC808D564B100844FA3 /* SVGPathSegArc.idl */,
-                               A8122CC908D564B100844FA3 /* SVGPathSegClosePath.idl */,
-                               A8122CCA08D564B100844FA3 /* SVGPathSegCurvetoCubic.idl */,
-                               A8122CCB08D564B100844FA3 /* SVGPathSegCurvetoCubicSmooth.idl */,
-                               A8122CCC08D564B100844FA3 /* SVGPathSegCurvetoQuadratic.idl */,
-                               A8122CCD08D564B100844FA3 /* SVGPathSegCurvetoQuadraticSmooth.idl */,
-                               A8122CCE08D564B100844FA3 /* SVGPathSegLineto.idl */,
-                               A8122CCF08D564B100844FA3 /* SVGPathSegLinetoHorizontal.idl */,
-                               A8122CD008D564B100844FA3 /* SVGPathSegLinetoVertical.idl */,
-                               A8122CD108D564B100844FA3 /* SVGPathSegList.idl */,
-                               A8122CD208D564B100844FA3 /* SVGPathSegMoveto.idl */,
-                               A8122CD308D564B100844FA3 /* SVGPatternElement.idl */,
-                               A8122CD408D564B100844FA3 /* SVGPoint.idl */,
-                               A8122CD508D564B100844FA3 /* SVGPointList.idl */,
-                               A8122CD608D564B100844FA3 /* SVGPolygonElement.idl */,
-                               A8122CD708D564B100844FA3 /* SVGPolylineElement.idl */,
-                               A8122CD808D564B100844FA3 /* SVGPreserveAspectRatio.idl */,
-                               A8122CD908D564B100844FA3 /* SVGRadialGradientElement.idl */,
-                               A8122CDA08D564B100844FA3 /* SVGRect.idl */,
-                               A8122CDB08D564B100844FA3 /* SVGRectElement.idl */,
-                               A8122CDC08D564B100844FA3 /* SVGRenderingIntent.idl */,
-                               A8122CDD08D564B100844FA3 /* SVGScriptElement.idl */,
-                               A8122CDE08D564B100844FA3 /* SVGSetElement.idl */,
-                               A8122CDF08D564B100844FA3 /* SVGStopElement.idl */,
-                               A8122CE008D564B100844FA3 /* SVGStringList.idl */,
-                               A8122CE108D564B100844FA3 /* SVGStylable.idl */,
-                               A8122CE208D564B100844FA3 /* SVGStyleElement.idl */,
-                               A8122CE308D564B100844FA3 /* SVGSVGElement.idl */,
-                               A8122CE408D564B100844FA3 /* SVGSwitchElement.idl */,
-                               A8122CE508D564B100844FA3 /* SVGSymbolElement.idl */,
-                               A8122CE608D564B100844FA3 /* SVGTests.idl */,
-                               A8122CE708D564B100844FA3 /* SVGTextContentElement.idl */,
-                               A8122CE808D564B100844FA3 /* SVGTextElement.idl */,
-                               A8122CE908D564B100844FA3 /* SVGTextPositioningElement.idl */,
-                               A8122CEA08D564B100844FA3 /* SVGTitleElement.idl */,
-                               A8122CEB08D564B100844FA3 /* SVGTransform.idl */,
-                               A8122CEC08D564B100844FA3 /* SVGTransformable.idl */,
-                               A8122CED08D564B100844FA3 /* SVGTransformList.idl */,
-                               A8122CEE08D564B100844FA3 /* SVGTSpanElement.idl */,
-                               A8122CEF08D564B100844FA3 /* SVGUnitTypes.idl */,
-                               A8122CF008D564B100844FA3 /* SVGURIReference.idl */,
-                               A8122CF108D564B100844FA3 /* SVGUseElement.idl */,
-                               A8122CF208D564B100844FA3 /* SVGViewElement.idl */,
-                               A8122CF308D564B100844FA3 /* SVGZoomAndPan.idl */,
-                               A8122CF408D564B100844FA3 /* SVGZoomEvent.idl */,
+                               A833C6D70A2CEA7700D57664 /* JSSVGElementWrapperFactory.cpp */,
+                               A833C6D60A2CEA7700D57664 /* JSSVGElementWrapperFactory.h */,
+                               A833BA7D0A2BA3D400D57664 /* JSSVGNumber.cpp */,
+                               A833BA780A2BA3D400D57664 /* JSSVGNumber.h */,
+                               A833BA7C0A2BA3D400D57664 /* JSSVGPoint.cpp */,
+                               A833BA7B0A2BA3D400D57664 /* JSSVGPoint.h */,
+                               A833BA770A2BA3D400D57664 /* JSSVGRect.cpp */,
+                               A833BA750A2BA3D400D57664 /* JSSVGRect.h */,
                        );
-                       path = svg;
+                       path = js;
                        sourceTree = "<group>";
                };
                A8C0F6DC089701F100BA5114 /* WebCore+SVG */ = {
                        isa = PBXGroup;
                        children = (
                                A884283D09308C1C00B6D461 /* DOMList.h */,
-                               A884283F09308C1C00B6D461 /* RGBColor.cpp */,
-                               A884283E09308C1C00B6D461 /* RGBColor.h */,
-                               A884283909308C1C00B6D461 /* SVGElementFactoryWrapper.cpp */,
-                               A884283809308C1C00B6D461 /* SVGNamesWrapper.cpp */,
-                               A8C32D96093D8EA4000B9CAC /* XLinkNamesWrapper.cpp */,
                        );
                        path = "WebCore+SVG";
                        sourceTree = "<group>";
                A8C0F7FC089701F300BA5114 /* svg */ = {
                        isa = PBXGroup;
                        children = (
-                               8116895D09F2A4A000772CA0 /* SVGTRefElement.cpp */,
-                               8116895E09F2A4A000772CA0 /* SVGTRefElement.h */,
                                A8C0F7FF089701F300BA5114 /* SVGAElement.cpp */,
                                A8C0F800089701F300BA5114 /* SVGAElement.h */,
                                A8C0F801089701F300BA5114 /* SVGAngle.cpp */,
                                A8C0F802089701F300BA5114 /* SVGAngle.h */,
+                               A833C0A80A2C4FEC00D57664 /* SVGAngle.idl */,
                                A8C0F803089701F300BA5114 /* SVGAnimateColorElement.cpp */,
                                A8C0F804089701F300BA5114 /* SVGAnimateColorElement.h */,
                                A8C0F805089701F300BA5114 /* SVGAnimatedAngle.cpp */,
                                A8C0F82E089701F300BA5114 /* SVGClipPathElement.h */,
                                A8C0F82F089701F300BA5114 /* SVGColor.cpp */,
                                A8C0F830089701F300BA5114 /* SVGColor.h */,
+                               A833BEC80A2C33E800D57664 /* SVGColor.idl */,
                                A8C0F831089701F300BA5114 /* SVGComponentTransferFunctionElement.cpp */,
                                A8C0F832089701F300BA5114 /* SVGComponentTransferFunctionElement.h */,
                                A82FC33C08CBB07C00EFEE23 /* SVGCursorElement.cpp */,
                                A8C0F836089701F300BA5114 /* SVGDescElement.h */,
                                A8C0F837089701F300BA5114 /* SVGDocument.cpp */,
                                A8C0F838089701F300BA5114 /* SVGDocument.h */,
+                               A833B9930A2B77D500D57664 /* SVGDocument.idl */,
                                A8C0F839089701F300BA5114 /* SVGDOMImplementation.cpp */,
                                A8C0F83A089701F300BA5114 /* SVGDOMImplementation.h */,
                                A8C0F83B089701F300BA5114 /* SVGElement.cpp */,
                                A8C0F83C089701F300BA5114 /* SVGElement.h */,
+                               A833C5E70A2CCBA400D57664 /* SVGElement.idl */,
                                A8C0F83D089701F300BA5114 /* SVGElementInstance.cpp */,
                                A8C0F83E089701F300BA5114 /* SVGElementInstance.h */,
                                A8C0F83F089701F300BA5114 /* SVGElementInstanceList.cpp */,
                                A8C0F876089701F300BA5114 /* SVGLangSpace.h */,
                                A8C0F877089701F300BA5114 /* SVGLength.cpp */,
                                A8C0F878089701F300BA5114 /* SVGLength.h */,
+                               A833BE9F0A2C329300D57664 /* SVGLength.idl */,
                                A8C0F879089701F300BA5114 /* SVGLengthList.cpp */,
                                A8C0F87A089701F300BA5114 /* SVGLengthList.h */,
                                A8C0F87B089701F300BA5114 /* SVGLinearGradientElement.cpp */,
                                A81655E3096BC13900601058 /* SVGMaskElement.h */,
                                A8C0F884089701F300BA5114 /* SVGMatrix.cpp */,
                                A8C0F885089701F300BA5114 /* SVGMatrix.h */,
+                               A833BEDD0A2C344B00D57664 /* SVGMatrix.idl */,
                                A8C0F886089701F300BA5114 /* SVGNumber.cpp */,
                                A8C0F887089701F300BA5114 /* SVGNumber.h */,
+                               A833BEA20A2C329300D57664 /* SVGNumber.idl */,
                                A8C0F888089701F300BA5114 /* SVGNumberList.cpp */,
                                A8C0F889089701F300BA5114 /* SVGNumberList.h */,
                                A8C0F88A089701F300BA5114 /* SVGPaint.cpp */,
                                A8C0F88D089701F300BA5114 /* SVGPathElement.h */,
                                A8C0F88E089701F300BA5114 /* svgpathparser.cpp */,
                                A8C0F88F089701F300BA5114 /* svgpathparser.h */,
+                               A8C0F89C089701F300BA5114 /* SVGPathSeg.cpp */,
+                               A8C0F89D089701F300BA5114 /* SVGPathSeg.h */,
                                A8C0F890089701F300BA5114 /* SVGPathSegArc.cpp */,
                                A8C0F891089701F300BA5114 /* SVGPathSegArc.h */,
                                A8C0F892089701F300BA5114 /* SVGPathSegClosePath.cpp */,
                                A8C0F899089701F300BA5114 /* SVGPathSegCurvetoQuadratic.h */,
                                A8C0F89A089701F300BA5114 /* SVGPathSegCurvetoQuadraticSmooth.cpp */,
                                A8C0F89B089701F300BA5114 /* SVGPathSegCurvetoQuadraticSmooth.h */,
-                               A8C0F89C089701F300BA5114 /* SVGPathSeg.cpp */,
-                               A8C0F89D089701F300BA5114 /* SVGPathSeg.h */,
-                               A8C0F89E089701F300BA5114 /* SVGPathSegLinetoHorizontal.cpp */,
-                               A8C0F89F089701F300BA5114 /* SVGPathSegLinetoHorizontal.h */,
                                A8C0F8A0089701F300BA5114 /* SVGPathSegLineto.cpp */,
                                A8C0F8A1089701F300BA5114 /* SVGPathSegLineto.h */,
+                               A8C0F89E089701F300BA5114 /* SVGPathSegLinetoHorizontal.cpp */,
+                               A8C0F89F089701F300BA5114 /* SVGPathSegLinetoHorizontal.h */,
                                A8C0F8A2089701F300BA5114 /* SVGPathSegLinetoVertical.cpp */,
                                A8C0F8A3089701F400BA5114 /* SVGPathSegLinetoVertical.h */,
                                A8C0F8A4089701F400BA5114 /* SVGPathSegList.cpp */,
                                A8C0F8A9089701F400BA5114 /* SVGPatternElement.h */,
                                A8C0F8AA089701F400BA5114 /* SVGPoint.cpp */,
                                A8C0F8AB089701F400BA5114 /* SVGPoint.h */,
+                               A833BEA10A2C329300D57664 /* SVGPoint.idl */,
                                A8C0F8AC089701F400BA5114 /* SVGPointList.cpp */,
                                A8C0F8AD089701F400BA5114 /* SVGPointList.h */,
                                A8C0F8AE089701F400BA5114 /* SVGPolyElement.cpp */,
                                A8C0F8B5089701F400BA5114 /* SVGPreserveAspectRatio.h */,
                                A8C0F8B6089701F400BA5114 /* SVGRadialGradientElement.cpp */,
                                A8C0F8B7089701F400BA5114 /* SVGRadialGradientElement.h */,
-                               A8C0F8B8089701F400BA5114 /* SVGRectElement.cpp */,
-                               A8C0F8B9089701F400BA5114 /* SVGRectElement.h */,
                                A8C0F8BA089701F400BA5114 /* SVGRect.cpp */,
                                A8C0F8BB089701F400BA5114 /* SVGRect.h */,
+                               A833BEA00A2C329300D57664 /* SVGRect.idl */,
+                               A8C0F8B8089701F400BA5114 /* SVGRectElement.cpp */,
+                               A8C0F8B9089701F400BA5114 /* SVGRectElement.h */,
                                A8C0F8BC089701F400BA5114 /* SVGScriptElement.cpp */,
                                A8C0F8BD089701F400BA5114 /* SVGScriptElement.h */,
                                A8C0F8BE089701F400BA5114 /* SVGSetElement.cpp */,
                                A890DF1B0930974800513F88 /* SVGStyledTransformableElement.h */,
                                A8C0F8C8089701F400BA5114 /* SVGStyleElement.cpp */,
                                A8C0F8C9089701F400BA5114 /* SVGStyleElement.h */,
+                               A833C7440A2CEC8F00D57664 /* SVGSVGElement.idl */,
                                A8C0F8CA089701F400BA5114 /* SVGSVGElement.cpp */,
                                A8C0F8CB089701F400BA5114 /* SVGSVGElement.h */,
                                A8C0F8CC089701F400BA5114 /* SVGSwitchElement.cpp */,
                                A8C0F8DA089701F400BA5114 /* SVGTextPositioningElement.h */,
                                A8C0F8DB089701F400BA5114 /* SVGTitleElement.cpp */,
                                A8C0F8DC089701F400BA5114 /* SVGTitleElement.h */,
-                               A8C0F8DD089701F400BA5114 /* SVGTransformable.cpp */,
-                               A8C0F8DE089701F400BA5114 /* SVGTransformable.h */,
                                A8C0F8DF089701F400BA5114 /* SVGTransform.cpp */,
                                A8C0F8E0089701F400BA5114 /* SVGTransform.h */,
+                               A833C0A90A2C4FEC00D57664 /* SVGTransform.idl */,
+                               A8C0F8DD089701F400BA5114 /* SVGTransformable.cpp */,
+                               A8C0F8DE089701F400BA5114 /* SVGTransformable.h */,
                                A8C0F8E1089701F400BA5114 /* SVGTransformList.cpp */,
                                A8C0F8E2089701F400BA5114 /* SVGTransformList.h */,
+                               8116895D09F2A4A000772CA0 /* SVGTRefElement.cpp */,
+                               8116895E09F2A4A000772CA0 /* SVGTRefElement.h */,
                                A8C0F8E3089701F400BA5114 /* SVGTSpanElement.cpp */,
                                A8C0F8E4089701F400BA5114 /* SVGTSpanElement.h */,
                                A8C0F8E5089701F400BA5114 /* SVGURIReference.cpp */,
                E1F0424309839389006694EA /* xml */ = {
                        isa = PBXGroup;
                        children = (
+                               A833C7F60A2CF1D800D57664 /* xmlattrs.in */,
                                E1F0424409839389006694EA /* xmlhttprequest.cpp */,
                                E1F0424509839389006694EA /* xmlhttprequest.h */,
                                BC06F24906D18A7E004A6FA3 /* XSLStyleSheet.cpp */,
                                A88AD50C095248F0001DD196 /* SVGZoomAndPan.h in Headers */,
                                A88AD50D095248F0001DD196 /* ksvg.h in Headers */,
                                A88AD5170952499F001DD196 /* DOMList.h in Headers */,
-                               A88AD5180952499F001DD196 /* RGBColor.h in Headers */,
                                6552E7AA096AA11B0006F248 /* WebCoreFrameNamespaces.h in Headers */,
                                A81655D4096BBEAC00601058 /* KCanvasMaskerQuartz.h in Headers */,
                                A81655E5096BC13900601058 /* SVGMaskElement.h in Headers */,
                                A8D064FC0A23C0CC005E7203 /* JSHTMLFormElement.h in Headers */,
                                DD7CDF250A23CF9800069928 /* CSSUnknownRule.h in Headers */,
                                A8D06B390A265DCD005E7203 /* HTMLNames.h in Headers */,
+                               A833B4BA0A27311D00D57664 /* JSSVGDocument.h in Headers */,
+                               A833BA7F0A2BA3D400D57664 /* JSSVGRect.h in Headers */,
+                               A833BA820A2BA3D400D57664 /* JSSVGNumber.h in Headers */,
+                               A833BA850A2BA3D400D57664 /* JSSVGPoint.h in Headers */,
+                               A833BF1A0A2C3A9500D57664 /* JSSVGMatrix.h in Headers */,
+                               A833BF1C0A2C3A9500D57664 /* JSSVGColor.h in Headers */,
+                               A833C0910A2C4F3F00D57664 /* JSSVGSVGElement.h in Headers */,
+                               A833C0F70A2C513300D57664 /* JSSVGElement.h in Headers */,
+                               A833C0F80A2C513300D57664 /* JSSVGAnimatedLength.h in Headers */,
+                               A833C0FA0A2C513300D57664 /* JSSVGAngle.h in Headers */,
+                               A833C0FF0A2C513300D57664 /* JSSVGLength.h in Headers */,
+                               A833C1000A2C513300D57664 /* JSSVGTransform.h in Headers */,
+                               A833C6D80A2CEA7700D57664 /* JSSVGElementWrapperFactory.h in Headers */,
+                               A833C80D0A2CF25600D57664 /* XMLNames.h in Headers */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                                A7B97B820979C3A1000E8EB1 /* WKLinearTransferFilter.cikernel in Resources */,
                                A7B97B850979C3A1000E8EB1 /* WKTableTransferFilter.cikernel in Resources */,
                                A7638A92099592C30007E14F /* WKDisplacementMapFilter.cikernel in Resources */,
-                               A8D064F00A23BFEA005E7203 /* HTMLFormElement.idl in Resources */,
-                               A8D0651D0A23C1FE005E7203 /* CSSRuleList.idl in Resources */,
-                               A8D0651E0A23C1FE005E7203 /* CSSValueList.idl in Resources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                                A88AD507095248F0001DD196 /* SVGUseElement.cpp in Sources */,
                                A88AD509095248F0001DD196 /* SVGViewElement.cpp in Sources */,
                                A88AD50B095248F0001DD196 /* SVGZoomAndPan.cpp in Sources */,
-                               A88AD51B0952499F001DD196 /* RGBColor.cpp in Sources */,
-                               A88AD51C0952499F001DD196 /* SVGElementFactoryWrapper.cpp in Sources */,
-                               A88AD51D0952499F001DD196 /* XLinkNamesWrapper.cpp in Sources */,
-                               A88AD51E0952499F001DD196 /* SVGNamesWrapper.cpp in Sources */,
                                A88AD5AA09525131001DD196 /* SVGCSSStyleSelector.cpp in Sources */,
                                6552E7AB096AA11B0006F248 /* WebCoreFrameNamespaces.mm in Sources */,
                                A81655D5096BBEAC00601058 /* KCanvasMaskerQuartz.mm in Sources */,
                                A8D064FB0A23C0CC005E7203 /* JSHTMLFormElement.cpp in Sources */,
                                A8D065AE0A2446CD005E7203 /* JSHTMLFormElementCustom.cpp in Sources */,
                                A8D06B3A0A265DCD005E7203 /* HTMLNames.cpp in Sources */,
+                               A833B4BB0A27311D00D57664 /* JSSVGDocument.cpp in Sources */,
+                               A833BA810A2BA3D400D57664 /* JSSVGRect.cpp in Sources */,
+                               A833BA860A2BA3D400D57664 /* JSSVGPoint.cpp in Sources */,
+                               A833BA870A2BA3D400D57664 /* JSSVGNumber.cpp in Sources */,
+                               A833BF1B0A2C3A9500D57664 /* JSSVGMatrix.cpp in Sources */,
+                               A833BF1D0A2C3A9500D57664 /* JSSVGColor.cpp in Sources */,
+                               A833C0900A2C4F3F00D57664 /* JSSVGSVGElement.cpp in Sources */,
+                               A833C0F90A2C513300D57664 /* JSSVGTransform.cpp in Sources */,
+                               A833C0FB0A2C513300D57664 /* JSSVGAnimatedLength.cpp in Sources */,
+                               A833C0FC0A2C513300D57664 /* JSSVGAngle.cpp in Sources */,
+                               A833C0FD0A2C513300D57664 /* JSSVGElement.cpp in Sources */,
+                               A833C0FE0A2C513300D57664 /* JSSVGLength.cpp in Sources */,
+                               A833C6D90A2CEA7700D57664 /* JSSVGElementWrapperFactory.cpp in Sources */,
+                               A833C7CA0A2CF06B00D57664 /* SVGNames.cpp in Sources */,
+                               A833C7CC0A2CF07400D57664 /* XLinkNames.cpp in Sources */,
+                               A833C80C0A2CF25600D57664 /* XMLNames.cpp in Sources */,
+                               A833C8520A2CF52800D57664 /* SVGElementFactory.cpp in Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
index 20b3982..9b212e2 100644 (file)
@@ -175,7 +175,7 @@ static DOMNode* create##name##Wrapper(ExecState* exec, PassRefPtr<HTMLElement> e
 FOR_EACH_TAG(CREATE_WRAPPER_FUNCTION)
 #undef CREATE_WRAPPER_FUNCTION
 
-DOMNode* createJSWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+DOMNode* createJSHTMLWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
 {
     static HashMap<WebCore::AtomicStringImpl*, CreateHTMLElementWrapperFunction> map;
     if (map.isEmpty()) {
index f76de8d..5c63772 100644 (file)
@@ -29,7 +29,7 @@ namespace KJS {
 namespace WebCore {
 
     class HTMLElement;
-    KJS::DOMNode* createJSWrapper(KJS::ExecState*, PassRefPtr<HTMLElement>);
+    KJS::DOMNode* createJSHTMLWrapper(KJS::ExecState*, PassRefPtr<HTMLElement>);
 
 }
 
index 34f4c2c..132df30 100644 (file)
 #include "kjs_traversal.h"
 #include "kjs_window.h"
 
+#if SVG_SUPPORT
+#include "JSSVGElementWrapperFactory.h"
+#include "SVGElement.h"
+#endif
 
 #if __APPLE__
 #include <JavaScriptCore/runtime_object.h>
@@ -102,7 +106,7 @@ KJS_IMPLEMENT_PROTOTYPE("DOMNode", DOMNodeProto, DOMNodeProtoFunc)
 
 const ClassInfo DOMNode::info = { "Node", 0, &DOMNodeTable, 0 };
 
-DOMNode::DOMNode(ExecState *exec, WebCore::Node* n)
+DOMNode::DOMNode(ExecStateexec, WebCore::Node* n)
   : m_impl(n)
 {
   setPrototype(DOMNodeProto::self(exec));
@@ -170,7 +174,7 @@ void DOMNode::mark()
   assert(marked());
 }
 
-bool DOMNode::toBoolean(ExecState *) const
+bool DOMNode::toBoolean(ExecState) const
 {
     return m_impl;
 }
@@ -197,12 +201,12 @@ bool DOMNode::toBoolean(ExecState *) const
   textContent   DOMNode::TextContent    DontDelete
 @end
 */
-bool DOMNode::getOwnPropertySlot(ExecState *exec, const Identifier& propertyName, PropertySlot& slot)
+bool DOMNode::getOwnPropertySlot(ExecStateexec, const Identifier& propertyName, PropertySlot& slot)
 {
   return getStaticValueSlot<DOMNode, DOMObject>(exec, &DOMNodeTable, this, propertyName, slot);
 }
 
-JSValue *DOMNode::getValueProperty(ExecState *exec, int token) const
+JSValue* DOMNode::getValueProperty(ExecState* exec, int token) const
 {
   WebCore::Node& node = *m_impl;
   switch (token) {
@@ -242,12 +246,12 @@ JSValue *DOMNode::getValueProperty(ExecState *exec, int token) const
   return jsUndefined();
 }
 
-void DOMNode::put(ExecState *exec, const Identifier& propertyName, JSValue *value, int attr)
+void DOMNode::put(ExecState* exec, const Identifier& propertyName, JSValue* value, int attr)
 {
     lookupPut<DOMNode,DOMObject>(exec, propertyName, value, attr, &DOMNodeTable, this);
 }
 
-void DOMNode::putValueProperty(ExecState *exec, int token, JSValue *value, int /*attr*/)
+void DOMNode::putValueProperty(ExecState* exec, int token, JSValue* value, int /*attr*/)
 {
   DOMExceptionTranslator exception(exec);
   WebCore::Node& node = *m_impl;
@@ -264,7 +268,7 @@ void DOMNode::putValueProperty(ExecState *exec, int token, JSValue *value, int /
   }
 }
 
-JSValue *DOMNode::toPrimitive(ExecState *exec, JSType) const
+JSValue* DOMNode::toPrimitive(ExecState* exec, JSType) const
 {
   if (!m_impl)
     return jsNull();
@@ -272,14 +276,14 @@ JSValue *DOMNode::toPrimitive(ExecState *exec, JSType) const
   return jsString(toString(exec));
 }
 
-UString DOMNode::toString(ExecState *) const
+UString DOMNode::toString(ExecState) const
 {
   if (!m_impl)
     return "null";
   return "[object " + (m_impl->isElementNode() ? UString(m_impl->nodeName()) : className()) + "]";
 }
 
-JSValue *DOMNodeProtoFunc::callAsFunction(ExecState *exec, JSObject *thisObj, const List &args)
+JSValue* DOMNodeProtoFunc::callAsFunction(ExecState* exec, JSObject* thisObj, const List &args)
 {
   if (!thisObj->inherits(&DOMNode::info))
     return throwError(exec, TypeError);
@@ -331,7 +335,7 @@ JSValue *DOMNodeProtoFunc::callAsFunction(ExecState *exec, JSObject *thisObj, co
   return jsUndefined();
 }
 
-EventTargetNode *toEventTargetNode(JSValue *val)
+EventTargetNode *toEventTargetNode(JSValueval)
 {
     if (!val || !val->isObject(&DOMEventTargetNode::info))
         return 0;
@@ -400,12 +404,12 @@ DOMEventTargetNode::DOMEventTargetNode(ExecState* exec, WebCore::Node* n)
     setPrototype(DOMEventTargetNodeProto::self(exec));
 }
 
-bool DOMEventTargetNode::getOwnPropertySlot(ExecState *exec, const Identifier& propertyName, PropertySlot& slot)
+bool DOMEventTargetNode::getOwnPropertySlot(ExecStateexec, const Identifier& propertyName, PropertySlot& slot)
 {
     return getStaticValueSlot<DOMEventTargetNode, DOMNode>(exec, &DOMEventTargetNodeTable, this, propertyName, slot);
 }
 
-JSValue *DOMEventTargetNode::getValueProperty(ExecState *exec, int token) const
+JSValue* DOMEventTargetNode::getValueProperty(ExecState* exec, int token) const
 {
     switch (token) {
         case OnAbort:
@@ -497,12 +501,12 @@ JSValue *DOMEventTargetNode::getValueProperty(ExecState *exec, int token) const
     return jsUndefined();
 }
 
-void DOMEventTargetNode::put(ExecState *exec, const Identifier& propertyName, JSValue *value, int attr)
+void DOMEventTargetNode::put(ExecState* exec, const Identifier& propertyName, JSValue* value, int attr)
 {
     lookupPut<DOMEventTargetNode, DOMNode>(exec, propertyName, value, attr, &DOMEventTargetNodeTable, this);
 }
 
-void DOMEventTargetNode::putValueProperty(ExecState *exec, int token, JSValue *value, int /*attr*/)
+void DOMEventTargetNode::putValueProperty(ExecState* exec, int token, JSValue* value, int /*attr*/)
 {
     switch (token) {
         case OnAbort:
@@ -634,12 +638,12 @@ void DOMEventTargetNode::putValueProperty(ExecState *exec, int token, JSValue *v
     }
 }
 
-void DOMEventTargetNode::setListener(ExecState *exec, const AtomicString &eventType, JSValue *func) const
+void DOMEventTargetNode::setListener(ExecState* exec, const AtomicString &eventType, JSValue* func) const
 {
     EventTargetNodeCast(impl())->setHTMLEventListener(eventType, Window::retrieveActive(exec)->getJSEventListener(func, true));
 }
 
-JSValue *DOMEventTargetNode::getListener(const AtomicString &eventType) const
+JSValueDOMEventTargetNode::getListener(const AtomicString &eventType) const
 {
     WebCore::EventListener *listener = EventTargetNodeCast(impl())->getHTMLEventListener(eventType);
     JSEventListener *jsListener = static_cast<JSEventListener*>(listener);
@@ -649,7 +653,7 @@ JSValue *DOMEventTargetNode::getListener(const AtomicString &eventType) const
         return jsNull();
 }
 
-void DOMEventTargetNode::pushEventHandlerScope(ExecState *, ScopeChain &) const
+void DOMEventTargetNode::pushEventHandlerScope(ExecState*, ScopeChain &) const
 {
 }
 
@@ -665,7 +669,7 @@ dispatchEvent           DOMEventTargetNode::DispatchEvent  DontDelete|Function 1
 KJS_IMPLEMENT_PROTOFUNC(DOMEventTargetNodeProtoFunc)
 KJS_IMPLEMENT_PROTOTYPE("DOMEventTargetNode", DOMEventTargetNodeProto, DOMEventTargetNodeProtoFunc)
 
-JSValue *DOMEventTargetNodeProtoFunc::callAsFunction(ExecState *exec, JSObject *thisObj, const List &args)
+JSValue* DOMEventTargetNodeProtoFunc::callAsFunction(ExecState* exec, JSObject* thisObj, const List &args)
 {
     if (!thisObj->inherits(&DOMEventTargetNode::info))
         return throwError(exec, TypeError);
@@ -710,7 +714,7 @@ DOMNodeList::~DOMNodeList()
   ScriptInterpreter::forgetDOMObject(m_impl.get());
 }
 
-JSValue *DOMNodeList::toPrimitive(ExecState *exec, JSType) const
+JSValue* DOMNodeList::toPrimitive(ExecState* exec, JSType) const
 {
   if (!m_impl)
     return jsNull();
@@ -718,25 +722,25 @@ JSValue *DOMNodeList::toPrimitive(ExecState *exec, JSType) const
   return jsString(toString(exec));
 }
 
-JSValue *DOMNodeList::getValueProperty(ExecState *exec, int token) const
+JSValue* DOMNodeList::getValueProperty(ExecState* exec, int token) const
 {
   assert(token == Length);
   return jsNumber(m_impl->length());
 }
 
-JSValue *DOMNodeList::indexGetter(ExecState *exec, JSObject *originalObject, const Identifier& propertyName, const PropertySlot& slot)
+JSValue* DOMNodeList::indexGetter(ExecState* exec, JSObject* originalObject, const Identifier& propertyName, const PropertySlot& slot)
 {
   DOMNodeList *thisObj = static_cast<DOMNodeList*>(slot.slotBase());
   return toJS(exec, thisObj->m_impl->item(slot.index()));
 }
 
-JSValue *DOMNodeList::nameGetter(ExecState *exec, JSObject *originalObject, const Identifier& propertyName, const PropertySlot& slot)
+JSValue* DOMNodeList::nameGetter(ExecState* exec, JSObject* originalObject, const Identifier& propertyName, const PropertySlot& slot)
 {
   DOMNodeList *thisObj = static_cast<DOMNodeList*>(slot.slotBase());
   return toJS(exec, thisObj->m_impl->itemWithName(propertyName));
 }
 
-bool DOMNodeList::getOwnPropertySlot(ExecState *exec, const Identifier& propertyName, PropertySlot& slot)
+bool DOMNodeList::getOwnPropertySlot(ExecStateexec, const Identifier& propertyName, PropertySlot& slot)
 {
   const HashEntry* entry = Lookup::findEntry(&DOMNodeListTable, propertyName);
 
@@ -763,20 +767,20 @@ bool DOMNodeList::getOwnPropertySlot(ExecState *exec, const Identifier& property
 }
 
 // Need to support both get and call, so that list[0] and list(0) work.
-JSValue *DOMNodeList::callAsFunction(ExecState *exec, JSObject *, const List &args)
+JSValue* DOMNodeList::callAsFunction(ExecState* exec, JSObject*, const List &args)
 {
-  // Do not use thisObj here. See JSHTMLCollection.
-  UString s = args[0]->toString(exec);
-  bool ok;
-  unsigned int u = s.toUInt32(&ok);
-  if (ok)
-    return toJS(exec, m_impl->item(u));
+    // Do not use thisObj here. See JSHTMLCollection.
+    UString s = args[0]->toString(exec);
+    bool ok;
+    unsigned int u = s.toUInt32(&ok);
+    if (ok)
+        return toJS(exec, m_impl->item(u));
 
-  return jsUndefined();
+    return jsUndefined();
 }
 
 // Not a prototype class currently, but should probably be converted to one
-JSValue *DOMNodeListFunc::callAsFunction(ExecState *exec, JSObject *thisObj, const List &args)
+JSValue* DOMNodeListFunc::callAsFunction(ExecState* exec, JSObject* thisObj, const List &args)
 {
   if (!thisObj->inherits(&KJS::DOMNodeList::info))
     return throwError(exec, TypeError);
@@ -799,14 +803,14 @@ Attr* toAttr(JSValue* val, bool& ok)
     return static_cast<Attr*>(static_cast<DOMNode*>(val)->impl());
 }
 
-Element *toElement(JSValue *val)
+Element* toElement(JSValue* val)
 {
     if (!val || !val->isObject(&JSElement::info))
         return 0;
     return static_cast<Element*>(static_cast<JSElement*>(val)->impl());
 }
 
-DocumentType *toDocumentType(JSValue *val)
+DocumentType* toDocumentType(JSValue* val)
 {
     if (!val || !val->isObject(&JSDocumentType::info))
         return 0;
@@ -829,34 +833,34 @@ DocumentType *toDocumentType(JSValue *val)
 */
 KJS_DEFINE_PROTOTYPE(DOMNamedNodeMapProto)
 KJS_IMPLEMENT_PROTOFUNC(DOMNamedNodeMapProtoFunc)
-KJS_IMPLEMENT_PROTOTYPE("NamedNodeMap",DOMNamedNodeMapProto,DOMNamedNodeMapProtoFunc)
+KJS_IMPLEMENT_PROTOTYPE("NamedNodeMap", DOMNamedNodeMapProto, DOMNamedNodeMapProtoFunc)
 
 const ClassInfo DOMNamedNodeMap::info = { "NamedNodeMap", 0, 0, 0 };
 
-DOMNamedNodeMap::DOMNamedNodeMap(ExecState *exec, NamedNodeMap *m)
-  : m_impl(m) 
+DOMNamedNodeMap::DOMNamedNodeMap(ExecState* exec, NamedNodeMap* m)
+    : m_impl(m) 
 { 
-  setPrototype(DOMNamedNodeMapProto::self(exec));
+    setPrototype(DOMNamedNodeMapProto::self(exec));
 }
 
 DOMNamedNodeMap::~DOMNamedNodeMap()
 {
-  ScriptInterpreter::forgetDOMObject(m_impl.get());
+    ScriptInterpreter::forgetDOMObject(m_impl.get());
 }
 
-JSValue *DOMNamedNodeMap::lengthGetter(ExecState* exec, JSObject *originalObject, const Identifier& propertyName, const PropertySlot& slot)
+JSValue* DOMNamedNodeMap::lengthGetter(ExecState* exec, JSObject* originalObject, const Identifier& propertyName, const PropertySlot& slot)
 {
   DOMNamedNodeMap* thisObj = static_cast<DOMNamedNodeMap*>(slot.slotBase());
   return jsNumber(thisObj->m_impl->length());
 }
 
-JSValue *DOMNamedNodeMap::indexGetter(ExecState* exec, JSObject *originalObject, const Identifier& propertyName, const PropertySlot& slot)
+JSValue* DOMNamedNodeMap::indexGetter(ExecState* exec, JSObject* originalObject, const Identifier& propertyName, const PropertySlot& slot)
 {
   DOMNamedNodeMap* thisObj = static_cast<DOMNamedNodeMap*>(slot.slotBase());
   return toJS(exec, thisObj->m_impl->item(slot.index()));
 }
 
-JSValue *DOMNamedNodeMap::nameGetter(ExecState *exec, JSObject *originalObject, const Identifier& propertyName, const PropertySlot& slot)
+JSValue* DOMNamedNodeMap::nameGetter(ExecState* exec, JSObject* originalObject, const Identifier& propertyName, const PropertySlot& slot)
 {
   DOMNamedNodeMap* thisObj = static_cast<DOMNamedNodeMap*>(slot.slotBase());
   return toJS(exec, thisObj->m_impl->getNamedItem(propertyName));
@@ -890,7 +894,7 @@ bool DOMNamedNodeMap::getOwnPropertySlot(ExecState* exec, const Identifier& prop
   return DOMObject::getOwnPropertySlot(exec, propertyName, slot);
 }
 
-JSValue *DOMNamedNodeMapProtoFunc::callAsFunction(ExecState *exec, JSObject *thisObj, const List &args)
+JSValue* DOMNamedNodeMapProtoFunc::callAsFunction(ExecState* exec, JSObject* thisObj, const List &args)
 {
   if (!thisObj->inherits(&KJS::DOMNamedNodeMap::info))
     return throwError(exec, TypeError);
@@ -917,12 +921,12 @@ JSValue *DOMNamedNodeMapProtoFunc::callAsFunction(ExecState *exec, JSObject *thi
 
 // -------------------------------------------------------------------------
 
-JSValue* toJS(ExecState *exec, Document *n)
+JSValue* toJS(ExecStateexec, Document *n)
 {
   if (!n)
     return jsNull();
 
-  JSDocument *ret = 0;
+  JSDocumentret = 0;
   ScriptInterpreter* interp = static_cast<ScriptInterpreter*>(exec->dynamicInterpreter());
 
   if ((ret = static_cast<JSDocument*>(interp->getDOMObject(n))))
@@ -949,18 +953,18 @@ bool checkNodeSecurity(ExecState* exec, WebCore::Node* n)
     return false;
 
   // Check to see if the currently executing interpreter is allowed to access the specified node
-  Window *win = Window::retrieveWindow(n->document()->frame());
+  Windowwin = Window::retrieveWindow(n->document()->frame());
   return win && win->isSafeScript(exec);
 }
 
-JSValue* toJS(ExecState *exec, PassRefPtr<WebCore::Node> node)
+JSValue* toJS(ExecStateexec, PassRefPtr<WebCore::Node> node)
 {
   WebCore::Node* n = node.get();
-  DOMNode *ret = 0;
+  DOMNoderet = 0;
   if (!n)
     return jsNull();
   ScriptInterpreter* interp = static_cast<ScriptInterpreter*>(exec->dynamicInterpreter());
-  Document *doc = n->document();
+  Documentdoc = n->document();
 
   if ((ret = interp->getDOMNodeForDocument(doc, n)))
     return ret;
@@ -968,7 +972,11 @@ JSValue* toJS(ExecState *exec, PassRefPtr<WebCore::Node> node)
   switch (n->nodeType()) {
     case WebCore::Node::ELEMENT_NODE:
       if (n->isHTMLElement())
-        ret = createJSWrapper(exec, static_pointer_cast<WebCore::HTMLElement>(node));
+        ret = createJSHTMLWrapper(exec, static_pointer_cast<WebCore::HTMLElement>(node));
+#if SVG_SUPPORT
+      else if (n->isSVGElement())
+        ret = createJSSVGWrapper(exec, static_pointer_cast<WebCore::SVGElement>(node));
+#endif
       else
         ret = new JSElement(exec, static_cast<Element*>(n));
       break;
@@ -1010,12 +1018,12 @@ JSValue* toJS(ExecState *exec, PassRefPtr<WebCore::Node> node)
   return ret;
 }
 
-JSValue *toJS(ExecState *exec, NamedNodeMap *m)
+JSValue* toJS(ExecState* exec, NamedNodeMap* m)
 {
-  return cacheDOMObject<NamedNodeMap, DOMNamedNodeMap>(exec, m);
+    return cacheDOMObject<NamedNodeMap, DOMNamedNodeMap>(exec, m);
 }
 
-JSValue *getRuntimeObject(ExecState* exec, WebCore::Node* n)
+JSValuegetRuntimeObject(ExecState* exec, WebCore::Node* n)
 {
     if (!n)
         return 0;
@@ -1033,9 +1041,9 @@ JSValue *getRuntimeObject(ExecState* exec, WebCore::Node* n)
     return 0;
 }
 
-JSValue *toJS(ExecState *exec, PassRefPtr<NodeList> l)
+JSValue* toJS(ExecState* exec, PassRefPtr<NodeList> l)
 {
-  return cacheDOMObject<NodeList, DOMNodeList>(exec, l.get());
+    return cacheDOMObject<NodeList, DOMNodeList>(exec, l.get());
 }
 
 // -------------------------------------------------------------------------
@@ -1062,18 +1070,18 @@ const ClassInfo DOMExceptionConstructor::info = { "DOMExceptionConstructor", 0,
 @end
 */
 
-bool DOMExceptionConstructor::getOwnPropertySlot(ExecState *exec, const Identifier& propertyName, PropertySlot& slot)
+bool DOMExceptionConstructor::getOwnPropertySlot(ExecStateexec, const Identifier& propertyName, PropertySlot& slot)
 {
   return getStaticValueSlot<DOMExceptionConstructor, DOMObject>(exec, &DOMExceptionConstructorTable, this, propertyName, slot);
 }
 
-JSValue *DOMExceptionConstructor::getValueProperty(ExecState *, int token) const
+JSValue* DOMExceptionConstructor::getValueProperty(ExecState*, int token) const
 {
   // We use the token as the value to return directly
   return jsNumber(token);
 }
 
-JSObject *getDOMExceptionConstructor(ExecState *exec)
+JSObject* getDOMExceptionConstructor(ExecState* exec)
 {
   return cacheGlobalObject<DOMExceptionConstructor>(exec, "[[DOMException.constructor]]");
 }
@@ -1083,24 +1091,24 @@ JSObject *getDOMExceptionConstructor(ExecState *exec)
 // Such a collection is usually very short-lived, it only exists
 // for constructs like document.forms.<name>[1],
 // so it shouldn't be a problem that it's storing all the nodes (with the same name). (David)
-DOMNamedNodesCollection::DOMNamedNodesCollection(ExecState *, const DeprecatedValueList< RefPtr<WebCore::Node> >& nodes )
-  : m_nodes(nodes)
+DOMNamedNodesCollection::DOMNamedNodesCollection(ExecState*, const DeprecatedValueList< RefPtr<WebCore::Node> >& nodes )
+    : m_nodes(nodes)
 {
 }
 
-JSValue *DOMNamedNodesCollection::lengthGetter(ExecState* exec, JSObject *originalObject, const Identifier& propertyName, const PropertySlot& slot)
+JSValue* DOMNamedNodesCollection::lengthGetter(ExecState* exec, JSObject* originalObject, const Identifier& propertyName, const PropertySlot& slot)
 {
   DOMNamedNodesCollection *thisObj = static_cast<DOMNamedNodesCollection*>(slot.slotBase());
   return jsNumber(thisObj->m_nodes.count());
 }
 
-JSValue *DOMNamedNodesCollection::indexGetter(ExecState* exec, JSObject *originalObject, const Identifier& propertyName, const PropertySlot& slot)
+JSValue* DOMNamedNodesCollection::indexGetter(ExecState* exec, JSObject* originalObject, const Identifier& propertyName, const PropertySlot& slot)
 {
   DOMNamedNodesCollection *thisObj = static_cast<DOMNamedNodesCollection*>(slot.slotBase());
   return toJS(exec, thisObj->m_nodes[slot.index()].get());
 }
 
-bool DOMNamedNodesCollection::getOwnPropertySlot(ExecState *exec, const Identifier& propertyName, PropertySlot& slot)
+bool DOMNamedNodesCollection::getOwnPropertySlot(ExecStateexec, const Identifier& propertyName, PropertySlot& slot)
 {
   if (propertyName == lengthPropertyName) {
     slot.setCustom(this, lengthGetter);
@@ -1132,7 +1140,4 @@ bool DOMNamedNodesCollection::getOwnPropertySlot(ExecState *exec, const Identifi
   return DOMObject::getOwnPropertySlot(exec, propertyName, slot);
 }
 
-// -------------------------------------------------------------------------
-
-
 } // namespace
index 597c216..bfbaa34 100644 (file)
@@ -57,6 +57,14 @@ sub new
   return $reference;
 }
 
+sub StripModule($)
+{
+       my $object = shift;
+       my $name = shift;
+       $name =~ s/[a-zA-Z0-9]*:://;
+       return $name;
+}
+
 sub ProcessDocument
 {
   my $object = shift;
@@ -97,10 +105,7 @@ sub FindTopBaseClass
   # It gets trickier for ie. the 'PlatformMouseEvent' interface, whose parent is
   # the 'UIEvent' interface, whose parent is the 'Event' interface. Return it.
   my $object = shift;
-
-  my $interface = shift;
-  $interface =~ s/[a-zA-Z0-9]*:://; # Strip module.
-
+  my $interface = StripModule(shift);
   my $topBaseClass = "";
   
   # Loop until we found the top most base class for 'interface'
@@ -135,8 +140,7 @@ sub FindTopBaseClass
 
           # Exception: For the DOM 'Node' is our topmost baseclass, not EventTarget.
           if(($parentsMax > 0) and ($parents[0] ne "events::EventTarget")) {
-            $interface = $parents[0];
-            $interface =~ s/[a-zA-Z0-9]*:://; # Strip module;
+            $interface = StripModule($parents[0]);
           } elsif(!$class->noDPtrFlag) { # Include 'module' ...
             $topBaseClass = $document->module . "::" . $class->name;
           }
@@ -155,10 +159,7 @@ sub ClassHasWriteableAttributes
 {
   # Determine wheter a given interface has any writeable attributes...
   my $object = shift;
-
-  my $interface = shift;
-  $interface =~ s/[a-zA-Z0-9]*:://; # Strip module.
-
+  my $interface = StripModule(shift);
   my $hasWriteableAttributes = 0;
   
   # Step #1: Find the IDL file associated with 'interface'
@@ -302,8 +303,7 @@ sub RecursiveInheritanceHelper
     my $class = $_;
 
     foreach(@{$class->parents}) {
-      my $cacheHandle = $_;
-      $cacheHandle =~ s/[a-zA-Z0-9]*:://; # Strip module.
+      my $cacheHandle = StripModule($_);
 
       if($cacheHandle eq $interface) {
         my $identifier = $document->module . "::" . $class->name;
index f954650..cbd6bd6 100644 (file)
@@ -116,7 +116,7 @@ sub GetParentClassName
     my $dataNode = shift;
     return $dataNode->extendedAttributes->{"LegacyParent"} if $dataNode->extendedAttributes->{"LegacyParent"};
     return "KJS::DOMObject" if @{$dataNode->parents} eq 0;
-    return "JS" . $dataNode->parents(0);
+    return "JS" . $codeGenerator->StripModule($dataNode->parents(0));
 }
 
 sub GetLegacyHeaderIncludes
@@ -145,17 +145,17 @@ sub GetLegacyHeaderIncludes
 
 sub AddIncludesForType
 {
-    my $type = shift;
+    my $type = $codeGenerator->StripModule(shift);
     
     # When we're finished with the one-file-per-class 
     # reorganization, we don't need these special cases.
     
     if ($type eq "MutationEvent" or
-      $type eq "KeyboardEvent" or
-      $type eq "MouseEvent" or
-      $type eq "Event" or
-      $type eq "UIEvent" or
-      $type eq "WheelEvent") {
+        $type eq "KeyboardEvent" or
+        $type eq "MouseEvent" or
+        $type eq "Event" or
+        $type eq "UIEvent" or
+        $type eq "WheelEvent") {
         $implIncludes{"dom2_eventsimpl.h"} = 1;
     } elsif ($type eq "NodeIterator" or
            $type eq "NodeFilter" or
@@ -188,7 +188,10 @@ sub GenerateHeader
     
     # FIXME: For SVG we need to support more than one parent
     # But no more than one parent can be "concrete"
-    if (@{$dataNode->parents} > 1) {
+    # Right now concrete vs. abstract parents are not respected
+    # we just use the first parent listed and ignore all others
+    # Until we fix that, we special case SVG not to die here.
+    if (@{$dataNode->parents} > 1 && !($interfaceName =~ /SVG/)) {
         die "A class can't have more than one parent";
     }
     
@@ -358,6 +361,8 @@ sub GenerateHeader
         push(@headerContent, "    $implClassName* impl() const { return m_impl.get(); }\n");
         push(@headerContent, "private:\n");
         push(@headerContent, "    RefPtr<$implClassName> m_impl;\n");
+    } elsif ($dataNode->extendedAttributes->{"GenerateNativeConverter"}) {
+        push(@headerContent, "    $implClassName* impl() const;\n");
     }
   
     # Index getter
@@ -376,8 +381,11 @@ sub GenerateHeader
     
     if (!$hasParent) {
         push(@headerContent, "KJS::JSValue* toJS(KJS::ExecState*, $implClassName*);\n");
-        push(@headerContent, "$implClassName* to${interfaceName}(KJS::JSValue*);\n\n");
     }
+    if (!$hasParent || $dataNode->extendedAttributes->{"GenerateNativeConverter"}) {
+        push(@headerContent, "$implClassName* to${interfaceName}(KJS::JSValue*);\n");
+    }
+    push(@headerContent, "\n");
     
     # Add prototype declaration -- code adopted from the KJS_DEFINE_PROTOTYPE and KJS_DEFINE_PROTOTYPE_WITH_PROTOTYPE macros
     push(@headerContent, "class ${className}Proto : public KJS::JSObject {\n");
@@ -701,7 +709,7 @@ sub GenerateImplementation
         push(@implContent, "    case " . ucfirst($name) . "AttrNum:\n");
         push(@implContent, "        return $name(exec);\n");
       } elsif ($attribute->signature->type =~ /Constructor$/) {
-        my $constructorType = $attribute->signature->type;
+        my $constructorType = $codeGenerator->StripModule($attribute->signature->type);
         $constructorType =~ s/Constructor$//;
 
         push(@implContent, "    case " . $name . "ConstructorAttrNum:\n");
@@ -864,7 +872,30 @@ sub GenerateImplementation
   }
     
   if (!$hasParent) {
-    push(@implContent, toFunctionsFor($className, $implClassName, $interfaceName));
+    my $implContent = << "EOF";
+KJS::JSValue* toJS(KJS::ExecState* exec, $implClassName* obj)
+{
+    return KJS::cacheDOMObject<$implClassName, $className>(exec, obj);
+}
+EOF
+    push(@implContent, $implContent);
+   }
+
+   if (!$hasParent || $dataNode->extendedAttributes->{"GenerateNativeConverter"}) {
+    my $implContent = << "EOF";
+$implClassName* to${interfaceName}(KJS::JSValue* val)
+{
+    return val->isObject(&${className}::info) ? static_cast<$className*>(val)->impl() : 0;
+}
+EOF
+    push(@implContent, $implContent);
+  }
+  
+  if ($dataNode->extendedAttributes->{"GenerateNativeConverter"} && $hasParent) {
+    push(@implContent, "\n$implClassName* ${className}::impl() const\n");
+    push(@implContent, "{\n");
+    push(@implContent, "    return static_cast<$implClassName*>(${parentClassName}::impl());\n");
+    push(@implContent, "}\n");
   }
 
   push(@implContent, "\n}\n");
@@ -874,56 +905,48 @@ sub GenerateImplementation
 
 sub GetNativeType
 {
-  my $signature = shift;
-  
-  my $type = $signature->type;
-  
-  if ($type eq "boolean") {
-    return "bool";
-  } elsif ($type eq "unsigned long") {
-    if ($signature->extendedAttributes->{"IsIndex"}) {
-      # Special-case index arguments because we need to check that
-      # they aren't < 0.        
-      return "int";
-    } else {
-      return "unsigned";
-    } 
-  } elsif ($type eq "long") {
-    return "int";
-  } elsif ($type eq "unsigned short") {
-    return "unsigned short";
-  } elsif ($type eq "float") {
-    return "float";
-  } elsif ($type eq "AtomicString") {
-    return "AtomicString";
-  } elsif ($type eq "DOMString") {
-    return "String";
-  } elsif ($type eq "Node" or
-           $type eq "Element" or
-           $type eq "Attr" or
-           $type eq "DocumentType" or
-           $type eq "Range" or
-           $type eq "XPathNSResolver" or
-           $type eq "XPathResult") {
+    my $signature = shift;
+    
+    my $type = $codeGenerator->StripModule($signature->type);
+    
+    if ($type eq "boolean") {
+        return "bool";
+    } elsif ($type eq "unsigned long") {
+        if ($signature->extendedAttributes->{"IsIndex"}) {
+            # Special-case index arguments because we need to check that
+            # they aren't < 0.        
+            return "int";
+        } else {
+            return "unsigned";
+        } 
+    } elsif ($type eq "long") {
+        return "int";
+    } elsif ($type eq "unsigned short" or $type eq "float") {
+        return $type;
+    } elsif ($type eq "AtomicString") {
+        return "AtomicString";
+    } elsif ($type eq "DOMString") {
+        return "String";
+    } elsif ($type eq "NodeFilter") {
+        return "PassRefPtr<${type}>";
+    } elsif ($type eq "CompareHow") {
+        return "Range::CompareHow";
+    } elsif ($type eq "EventTarget") {
+        return "EventTargetNode*";
+    } elsif ($type eq "SVGRect") {
+        return "FloatRect";
+    } elsif ($type eq "SVGPoint") {
+        return "FloatPoint";
+    }
+    # Default, assume native type is a pointer with same type name as idl type
     return "${type}*";
-  } elsif ($type eq "NodeFilter") {
-      return "PassRefPtr<${type}>";
-  } elsif ($type eq "CompareHow") {
-    return "Range::CompareHow";
-  } elsif ($type eq "EventTarget") {
-    return "EventTargetNode*";
-  } elsif ($type eq "DOMWindow") {
-    return "DOMWindow*";
-  } else {
-    die "Don't know the native type of $type";
-  }
 }
 
 sub TypeCanFailConversion
 {
   my $signature = shift;
   
-  my $type = $signature->type;
+  my $type = $codeGenerator->StripModule($signature->type);
 
   if ($type eq "boolean") {
     return 0;
@@ -949,7 +972,10 @@ sub TypeCanFailConversion
            $type eq "DOMWindow" or
            $type eq "XPathEvaluator" or
            $type eq "XPathNSResolver" or
-           $type eq "XPathResult") {
+           $type eq "XPathResult" or
+           $type eq "SVGMatrix" or
+           $type eq "SVGRect" or
+           $type eq "SVGElement") {
       return 0;
   } else {
     die "Don't know whether a JS value can fail conversion to type $type."
@@ -958,65 +984,67 @@ sub TypeCanFailConversion
 
 sub JSValueToNative
 {
-  my $signature = shift;
-  my $value = shift;
-  my $okParam = shift;
-  my $maybeOkParam = $okParam ? ", ${okParam}" : "";
-  
-  my $type = $signature->type;
-
-  if ($type eq "boolean") {
-    my $conv = $signature->extendedAttributes->{"ConvertUndefinedToTrue"};
-    if (defined $conv) {
-    return "valueToBooleanTreatUndefinedAsTrue(exec, $value)";
-    } else {
-    return "$value->toBoolean(exec)";
-    }
-  } elsif ($type eq "unsigned long" or $type eq "long") {
-    return "$value->toInt32(exec)";
-  } elsif ($type eq "unsigned short") {
-    return "$value->toInt32(exec)";
-  } elsif ($type eq "CompareHow") {
-    return "static_cast<Range::CompareHow>($value->toInt32(exec))";
-  } elsif ($type eq "float") {
-    return "$value->toNumber(exec)";
-  } elsif ($type eq "AtomicString") {
-    return "$value->toString(exec)";
-  } elsif ($type eq "DOMString") {
-    if ($signature->extendedAttributes->{"ConvertNullToNullString"}) {
-      return "valueToStringWithNullCheck(exec, $value)";
-    } else {
-      return "$value->toString(exec)";
+    my $signature = shift;
+    my $value = shift;
+    my $okParam = shift;
+    my $maybeOkParam = $okParam ? ", ${okParam}" : "";
+    
+    my $type = $codeGenerator->StripModule($signature->type);
+    
+    if ($type eq "boolean") {
+        my $conv = $signature->extendedAttributes->{"ConvertUndefinedToTrue"};
+        if (defined $conv) {
+            return "valueToBooleanTreatUndefinedAsTrue(exec, $value)";
+        } else {
+            return "$value->toBoolean(exec)";
+        }
+    } elsif ($type eq "unsigned long" or
+             $type eq "long" or
+             $type eq "unsigned short") {
+        return "$value->toInt32(exec)";
+    } elsif ($type eq "CompareHow") {
+        return "static_cast<Range::CompareHow>($value->toInt32(exec))";
+    } elsif ($type eq "float") {
+        return "$value->toNumber(exec)";
+    } elsif ($type eq "AtomicString") {
+        return "$value->toString(exec)";
+    } elsif ($type eq "DOMString") {
+        if ($signature->extendedAttributes->{"ConvertNullToNullString"}) {
+            return "valueToStringWithNullCheck(exec, $value)";
+        } else {
+            return "$value->toString(exec)";
+        }
+    } elsif ($type eq "Node") {
+        $implIncludes{"kjs_dom.h"} = 1;
+        return "toNode($value)";
+    } elsif ($type eq "EventTarget") {
+        $implIncludes{"kjs_dom.h"} = 1;
+        return "toEventTargetNode($value)";
+    }  elsif ($type eq "Attr") {
+        $implIncludes{"kjs_dom.h"} = 1;
+        return "toAttr($value${maybeOkParam})";
+    } elsif ($type eq "DocumentType") {
+        $implIncludes{"kjs_dom.h"} = 1;
+        return "toDocumentType($value)";
+    } elsif ($type eq "Element") {
+        $implIncludes{"kjs_dom.h"} = 1;
+        return "toElement($value)";
+    } elsif ($type eq "NodeFilter") {
+        $implIncludes{"kjs_traversal.h"} = 1;
+        return "toNodeFilter($value)";
+    } elsif ($type eq "DOMWindow") {
+        $implIncludes{"kjs_window.h"} = 1;
+        return "toDOMWindow($value)";
+    } elsif ($type eq "SVGRect") {
+        $implIncludes{"JSSVGRect.h"} = 1;
+        return "toFloatRect($value)";
+    } elsif ($type eq "SVGPoint") {
+        $implIncludes{"JSSVGPoint.h"} = 1;
+        return "toFloatPoint($value)";
     }
-  } elsif ($type eq "Node") {
-    $implIncludes{"kjs_dom.h"} = 1;
-    return "toNode($value)";
-  } elsif ($type eq "EventTarget") {
-    $implIncludes{"kjs_dom.h"} = 1;
-    return "toEventTargetNode($value)";
-  }  elsif ($type eq "Attr") {
-    $implIncludes{"kjs_dom.h"} = 1;
-    return "toAttr($value${maybeOkParam})";
-  } elsif ($type eq "DocumentType") {
-      $implIncludes{"kjs_dom.h"} = 1;
-      return "toDocumentType($value)";
-  } elsif ($type eq "Element") {
-    $implIncludes{"kjs_dom.h"} = 1;
-    return "toElement($value)";
-  } elsif ($type eq "NodeFilter") {
-    $implIncludes{"kjs_traversal.h"} = 1;
-    return "toNodeFilter($value)";
-  } elsif ($type eq "DOMWindow") {
-    $implIncludes{"kjs_window.h"} = 1;
-    return "toDOMWindow($value)"; 
-  } elsif ($type eq "Range" or
-           $type eq "XPathNSResolver" or
-           $type eq "XPathResult") {
+    # Default, assume autogenerated type conversion routines
     $implIncludes{"JS$type.h"} = 1;
     return "to$type($value)";
-  } else {
-    die "Don't know how to convert a JS value of type $type."
-  }
 }
 
 sub NativeToJSValue
@@ -1024,7 +1052,7 @@ sub NativeToJSValue
     my $signature = shift;
     my $value = shift;
     
-    my $type = $signature->type;
+    my $type = $codeGenerator->StripModule($signature->type);
     
     if ($type eq "boolean") {
         return "jsBoolean($value)";
@@ -1123,12 +1151,17 @@ sub NativeToJSValue
         $implIncludes{"kjs_html.h"} = 1;
         $implIncludes{"HTMLCollection.h"} = 1;
         return "getHTMLCollection(exec, $value.get())";
-    } else {
+    } elsif ($type eq "SVGRect" or
+             $type eq "SVGPoint" or
+             $type eq "SVGNumber") {
         $implIncludes{"JS$type.h"} = 1;
-        return "toJS(exec, $value)";
+        return "getJS$type(exec, $value)";
     }
-    
-    die ("$value " . $signature->type);
+
+    # Default, include header with same name.
+    $implIncludes{"JS$type.h"} = 1;
+    $implIncludes{"$type.h"} = 1;
+    return "toJS(exec, $value)";
 }
 
 # Internal Helper
@@ -1398,24 +1431,4 @@ EOF
     return $implContent;
 }
 
-sub toFunctionsFor
-{
-    my $className = shift;
-    my $implClassName = shift;
-    my $interfaceName = shift;
-
-my $implContent = << "EOF";
-KJS::JSValue* toJS(KJS::ExecState* exec, $implClassName* obj)
-{
-    return KJS::cacheDOMObject<$implClassName, $className>(exec, obj);
-}
-$implClassName* to${interfaceName}(KJS::JSValue* val)
-{
-    return val->isObject(&${className}::info) ? static_cast<$className*>(val)->impl() : 0;
-}
-EOF
-
-    return $implContent;
-}
-
 1;
index 489f361..1cd46be 100644 (file)
@@ -1212,7 +1212,7 @@ void Document::implicitClose()
     // SVGLoad event, but we don't implement those yet.  This is close enough
     // for now.  In some cases we should have fired earlier.
     if (svgExtensions())
-        accessSVGExtensions()->timeScheduler()->startAnimations();
+        accessSVGExtensions()->startAnimations();
 #endif
 }
 
index 5f43147..070d335 100644 (file)
@@ -42,7 +42,7 @@ class Element : public ContainerNode {
     friend class Node;
     friend class CSSStyleSelector;
 public:
-    Element(const QualifiedName& tagName, Document *doc);
+    Element(const QualifiedName&, Document*);
     ~Element();
 
     // Used to quickly determine whether or not an element has a given CSS class.
index 4ca9d8a..a2669a9 100644 (file)
@@ -37,7 +37,7 @@ class MappedAttribute;
 class StyledElement : public Element
 {
 public:
-    StyledElement(const QualifiedName& tagName, Document *doc);
+    StyledElement(const QualifiedName&, Document*);
     virtual ~StyledElement();
 
     virtual bool isStyledElement() const { return true; }
diff --git a/WebCore/ksvg2/bindings/idl/svg/SVGAngle.idl b/WebCore/ksvg2/bindings/idl/svg/SVGAngle.idl
deleted file mode 100644 (file)
index 19d5e9d..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-module svg
-{
-  interface SVGAngle { 
-    // Angle Unit Types
-    const unsigned short SVG_ANGLETYPE_UNKNOWN     = 0;
-    const unsigned short SVG_ANGLETYPE_UNSPECIFIED = 1;
-    const unsigned short SVG_ANGLETYPE_DEG         = 2;
-    const unsigned short SVG_ANGLETYPE_RAD         = 3;
-    const unsigned short SVG_ANGLETYPE_GRAD        = 4;
-    readonly attribute unsigned short unitType;
-             attribute float          value;
-                         // raises DOMException on setting
-             attribute float          valueInSpecifiedUnits;
-                         // raises DOMException on setting
-             attribute core::DOMString      valueAsString;
-                         // raises DOMException on setting
-    void newValueSpecifiedUnits ( in unsigned short unitType, in float valueInSpecifiedUnits );
-    void convertToSpecifiedUnits ( in unsigned short unitType );
-  };
-};
diff --git a/WebCore/ksvg2/bindings/idl/svg/SVGColor.idl b/WebCore/ksvg2/bindings/idl/svg/SVGColor.idl
deleted file mode 100644 (file)
index 5297279..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-module svg
-{
-  interface SVGColor : css::CSSValue { 
-    // Color Types
-    const unsigned short SVG_COLORTYPE_UNKNOWN           = 0;
-    const unsigned short SVG_COLORTYPE_RGBCOLOR          = 1;
-    const unsigned short SVG_COLORTYPE_RGBCOLOR_ICCCOLOR = 2;
-    const unsigned short SVG_COLORTYPE_CURRENTCOLOR      = 3;
-    readonly attribute unsigned short colorType;
-    readonly attribute css::RGBColor  rgbColor;
-    //readonly attribute SVGICCColor    iccColor;
-    void        setRGBColor ( in core::DOMString rgbColor )
-                    raises( SVGException );
-    void        setRGBColorICCColor ( in core::DOMString rgbColor, in core::DOMString iccColor )
-                    raises( SVGException );
-    void        setColor ( in unsigned short colorType, in core::DOMString rgbColor, in core::DOMString iccColor )
-                    raises( SVGException );
-  };
-};
diff --git a/WebCore/ksvg2/bindings/idl/svg/SVGDocument.idl b/WebCore/ksvg2/bindings/idl/svg/SVGDocument.idl
deleted file mode 100644 (file)
index 2dfe3fc..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-module svg
-{
-  interface SVGDocument : 
-                core::Document {
-    readonly attribute core::DOMString    title;
-    readonly attribute core::DOMString     referrer;
-    readonly attribute core::DOMString      domain;
-    readonly attribute core::DOMString      URL;
-    readonly attribute SVGSVGElement rootElement;
-
-       // Overwrite the one in events::DocumentEvent
-       events::Event createEvent(in core::DOMString eventType) [raises(core::DOMException)];
-  };
-};
diff --git a/WebCore/ksvg2/bindings/idl/svg/SVGElement.idl b/WebCore/ksvg2/bindings/idl/svg/SVGElement.idl
deleted file mode 100644 (file)
index 1660f95..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-module svg
-{
-  interface SVGElement : core::Element {
-// NOTE: using getId because id already in use in Node
-    attribute core::DOMString getId;
-                         // raises DOMException on setting
-    attribute core::DOMString xmlbase;
-                         // raises DOMException on setting
-    readonly attribute SVGSVGElement ownerSVGElement;
-    readonly attribute SVGElement viewportElement;
-  };
-};
diff --git a/WebCore/ksvg2/bindings/idl/svg/SVGMatrix.idl b/WebCore/ksvg2/bindings/idl/svg/SVGMatrix.idl
deleted file mode 100644 (file)
index 84c8ed4..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-module svg
-{
-  interface SVGMatrix { 
-             attribute float a;
-                         // raises DOMException on setting
-             attribute float b;
-                         // raises DOMException on setting
-             attribute float c;
-                         // raises DOMException on setting
- //            attribute float d;
-                         // raises DOMException on setting
-             attribute float e;
-                         // raises DOMException on setting
-             attribute float f;
-                         // raises DOMException on setting
-    SVGMatrix multiply ( in SVGMatrix secondMatrix );
-    SVGMatrix inverse (  )
-                    raises( SVGException );
-    SVGMatrix translate ( in float x, in float y );
-    SVGMatrix scale ( in float scaleFactor );
-    SVGMatrix scaleNonUniform ( in float scaleFactorX, in float scaleFactorY );
-    SVGMatrix rotate ( in float angle );
-    SVGMatrix rotateFromVector ( in float x, in float y )
-                    raises( SVGException );
-    SVGMatrix flipX (  );
-    SVGMatrix flipY (  );
-    SVGMatrix skewX ( in float angle );
-    SVGMatrix skewY ( in float angle );
-  };
-};
diff --git a/WebCore/ksvg2/bindings/idl/svg/SVGNumber.idl b/WebCore/ksvg2/bindings/idl/svg/SVGNumber.idl
deleted file mode 100644 (file)
index 3889ba0..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-module svg
-{
-  interface SVGNumber { 
-             attribute float value;
-                         // raises DOMException on setting
-  };
-};
diff --git a/WebCore/ksvg2/bindings/idl/svg/SVGPoint.idl b/WebCore/ksvg2/bindings/idl/svg/SVGPoint.idl
deleted file mode 100644 (file)
index 50b846b..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-module svg
-{
-  interface SVGPoint { 
-             attribute float x;
-                         // raises DOMException on setting
-             attribute float y;
-                         // raises DOMException on setting
-    SVGPoint matrixTransform ( in SVGMatrix matrix );
-  };
-};
diff --git a/WebCore/ksvg2/bindings/idl/svg/SVGRect.idl b/WebCore/ksvg2/bindings/idl/svg/SVGRect.idl
deleted file mode 100644 (file)
index 7b41225..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-module svg
-{
-  interface SVGRect { 
-             attribute float x;
-                         // raises DOMException on setting
-             attribute float y;
-                         // raises DOMException on setting
-             attribute float width;
-                         // raises DOMException on setting
-             attribute float height;
-                         // raises DOMException on setting
-  };
-};
diff --git a/WebCore/ksvg2/bindings/idl/svg/SVGSVGElement.idl b/WebCore/ksvg2/bindings/idl/svg/SVGSVGElement.idl
deleted file mode 100644 (file)
index 491f175..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-module svg
-{
-  // TODO: no css::ViewCSS available in kdom!
-  // TODO: Fix SVGSVGElement inheritance (css::DocumentCSS)! 
-  interface SVGSVGElement : 
-                SVGElement,
-                SVGTests,
-                SVGLangSpace,
-                SVGExternalResourcesRequired,
-                SVGStylable,
-                SVGLocatable,
-                SVGFitToViewBox,
-                SVGZoomAndPan,
-                events::DocumentEvent {
-    readonly attribute SVGAnimatedLength x;
-    readonly attribute SVGAnimatedLength y;
-    readonly attribute SVGAnimatedLength width;
-    readonly attribute SVGAnimatedLength height;
-             attribute core::DOMString         contentScriptType;
-                         // raises DOMException on setting
-             attribute core::DOMString         contentStyleType;
-                         // raises DOMException on setting
-    readonly attribute SVGRect           viewport;
-    readonly attribute float pixelUnitToMillimeterX;
-    readonly attribute float pixelUnitToMillimeterY;
-    readonly attribute float screenPixelToMillimeterX;
-    readonly attribute float screenPixelToMillimeterY;
-             attribute boolean useCurrentView;
-                         // raises DOMException on setting
-// TODO    readonly attribute SVGViewSpec currentView;
-             attribute float currentScale;
-                         // raises DOMException on setting
-    readonly attribute SVGPoint currentTranslate;
-    unsigned long suspendRedraw ( in unsigned long max_wait_milliseconds );
-    void          unsuspendRedraw ( in unsigned long suspend_handle_id )
-                    raises( DOMException );
-    void          unsuspendRedrawAll (  );
-    void          forceRedraw (  );
-    void          pauseAnimations (  );
-    void          unpauseAnimations (  );
-    boolean       animationsPaused (  );
-    float         getCurrentTime (  );
-    void          setCurrentTime ( in float seconds );
-    core::NodeList      getIntersectionList ( in SVGRect rect, in SVGElement referenceElement );
-    core::NodeList      getEnclosureList ( in SVGRect rect, in SVGElement referenceElement );
-    boolean       checkIntersection ( in SVGElement element, in SVGRect rect );
-    boolean       checkEnclosure ( in SVGElement element, in SVGRect rect );
-    void          deselectAll (  );
-    SVGNumber              createSVGNumber (  );
-    SVGLength              createSVGLength (  );
-    SVGAngle               createSVGAngle (  );
-    SVGPoint               createSVGPoint (  );
-    SVGMatrix              createSVGMatrix (  );
-    SVGRect                createSVGRect (  );
-    SVGTransform           createSVGTransform (  );
-    SVGTransform     createSVGTransformFromMatrix ( in SVGMatrix matrix );
-// TODO    core::Element         getElementById ( in core::DOMString elementId );
-  };
-};
diff --git a/WebCore/ksvg2/bindings/idl/svg/SVGTransform.idl b/WebCore/ksvg2/bindings/idl/svg/SVGTransform.idl
deleted file mode 100644 (file)
index 5a82849..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-module svg
-{
-  interface SVGTransform { 
-    // Transform Types
-    const unsigned short SVG_TRANSFORM_UNKNOWN   = 0;
-    const unsigned short SVG_TRANSFORM_MATRIX    = 1;
-    const unsigned short SVG_TRANSFORM_TRANSLATE = 2;
-    const unsigned short SVG_TRANSFORM_SCALE     = 3;
-    const unsigned short SVG_TRANSFORM_ROTATE    = 4;
-    const unsigned short SVG_TRANSFORM_SKEWX     = 5;
-    const unsigned short SVG_TRANSFORM_SKEWY     = 6;
-    readonly attribute unsigned short type;
-    readonly attribute SVGMatrix matrix;
-    readonly attribute float angle;
-    void setMatrix ( in SVGMatrix matrix );
-    void setTranslate ( in float tx, in float ty );
-    void setScale ( in float sx, in float sy );
-    void setRotate ( in float angle, in float cx, in float cy );
-    void setSkewX ( in float angle );
-    void setSkewY ( in float angle );
-  };
-};
diff --git a/WebCore/ksvg2/bindings/idl/svg/kdomdefs.idl b/WebCore/ksvg2/bindings/idl/svg/kdomdefs.idl
deleted file mode 100644 (file)
index a821783..0000000
+++ /dev/null
@@ -1 +0,0 @@
-module svg [ns KSVG];
diff --git a/WebCore/ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp b/WebCore/ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp
new file mode 100644 (file)
index 0000000..c316c3c
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ *  Copyright (C) 2006 Apple Computer, Inc.
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2 of the License, or (at your option) any later version.
+ *
+ *  This library is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *  Lesser General Public License for more details.
+ *
+ *  You should have received a copy of the GNU Lesser General Public
+ *  License along with this library; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#include "config.h"
+#include "JSSVGElementWrapperFactory.h"
+
+#include "JSSVGSVGElement.h"
+
+#include "SVGNames.h"
+
+#include "SVGSVGElement.h"
+
+using namespace KJS;
+
+// FIXME: Eventually this file should be autogenerated, just like SVGNames, SVGElementFactory, etc.
+
+namespace WebCore {
+
+using namespace SVGNames;
+
+typedef DOMNode* (*CreateSVGElementWrapperFunction)(ExecState*, PassRefPtr<SVGElement>);
+
+#define FOR_EACH_TAG(macro) \
+    macro(svg, SVG) \
+    // end of macro
+
+#define CREATE_WRAPPER_FUNCTION(tag, name) \
+static DOMNode* create##name##Wrapper(ExecState* exec, PassRefPtr<SVGElement> element) \
+{ \
+    return new JSSVG##name##Element(exec, static_cast<SVG##name##Element*>(element.get())); \
+}
+FOR_EACH_TAG(CREATE_WRAPPER_FUNCTION)
+#undef CREATE_WRAPPER_FUNCTION
+
+DOMNode* createJSSVGWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+{
+    static HashMap<WebCore::AtomicStringImpl*, CreateSVGElementWrapperFunction> map;
+    if (map.isEmpty()) {
+#define ADD_TO_HASH_MAP(tag, name) map.set(tag##Tag.localName().impl(), create##name##Wrapper);
+FOR_EACH_TAG(ADD_TO_HASH_MAP)
+#undef ADD_TO_HASH_MAP
+    }
+    CreateSVGElementWrapperFunction createWrapperFunction = map.get(element->localName().impl());
+    if (createWrapperFunction)
+        return createWrapperFunction(exec, element);
+    return new JSSVGElement(exec, element.get());
+}
+
+}
diff --git a/WebCore/ksvg2/bindings/js/JSSVGElementWrapperFactory.h b/WebCore/ksvg2/bindings/js/JSSVGElementWrapperFactory.h
new file mode 100644 (file)
index 0000000..db34cb7
--- /dev/null
@@ -0,0 +1,34 @@
+/*
+ *  Copyright (C) 2006 Apple Computer, Inc.
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2 of the License, or (at your option) any later version.
+ *
+ *  This library is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *  Lesser General Public License for more details.
+ *
+ *  You should have received a copy of the GNU Lesser General Public
+ *  License along with this library; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifndef JSSVGELEMENTWRAPPERFACTORY_H
+#define JSSVGELEMENTWRAPPERFACTORY_H
+
+#include <wtf/Forward.h>
+
+namespace KJS {
+    class DOMNode;
+    class ExecState;
+}
+
+namespace WebCore {
+    class SVGElement;
+    KJS::DOMNode* createJSSVGWrapper(KJS::ExecState*, PassRefPtr<SVGElement>);
+}
+
+#endif
diff --git a/WebCore/ksvg2/bindings/js/JSSVGNumber.cpp b/WebCore/ksvg2/bindings/js/JSSVGNumber.cpp
new file mode 100644 (file)
index 0000000..d9eb07e
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#include "config.h"
+#include "JSSVGNumber.h"
+
+using namespace KJS;
+
+namespace WebCore {
+
+const ClassInfo JSSVGNumber::info = { "SVGNumber", 0, 0, 0 };
+
+JSSVGNumber::~JSSVGNumber()
+{
+}
+
+bool JSSVGNumber::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+    if (propertyName == "value") {
+        slot.setCustom(this, getValue);
+        return true;
+    }
+    return DOMObject::getOwnPropertySlot(exec, propertyName, slot);
+}
+
+JSValue* JSSVGNumber::getValue(ExecState* exec, JSObject* originalObject, const Identifier& propertyName, const PropertySlot& slot)
+{
+    JSSVGNumber* thisObj = static_cast<JSSVGNumber*>(slot.slotBase());
+    if (propertyName == "value")
+        return jsNumber(thisObj->m_value);
+    return 0;
+}
+
+JSValue* getJSSVGNumber(ExecState* exec, float v)
+{
+    return new JSSVGNumber(exec, v);
+}
+
+}
diff --git a/WebCore/ksvg2/bindings/js/JSSVGNumber.h b/WebCore/ksvg2/bindings/js/JSSVGNumber.h
new file mode 100644 (file)
index 0000000..f018ee9
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#ifndef JSSVGNumber_H
+#define JSSVGNumber_H
+
+#include "kjs_binding.h"
+
+namespace WebCore {
+
+class JSSVGNumber : public KJS::DOMObject {
+public:
+    JSSVGNumber(KJS::ExecState*, float v) : m_value(v) { }
+    ~JSSVGNumber();
+    
+    virtual bool getOwnPropertySlot(KJS::ExecState*, const KJS::Identifier&, KJS::PropertySlot&);
+    static JSValue* getValue(KJS::ExecState*, KJS::JSObject* originalObject, const KJS::Identifier& propertyName, const KJS::PropertySlot& slot);
+    // no put - all read-only
+    
+    virtual const KJS::ClassInfo* classInfo() const { return &info; }
+    static const KJS::ClassInfo info;
+private:
+    float m_value;
+};
+
+KJS::JSValue* getJSSVGNumber(KJS::ExecState*, float);
+
+}
+
+#endif
diff --git a/WebCore/ksvg2/bindings/js/JSSVGPoint.cpp b/WebCore/ksvg2/bindings/js/JSSVGPoint.cpp
new file mode 100644 (file)
index 0000000..ab183f5
--- /dev/null
@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#include "config.h"
+#include "JSSVGPoint.h"
+
+#include "JSSVGPointTable.cpp"
+
+using namespace KJS;
+
+namespace WebCore {
+
+const ClassInfo JSSVGPoint::info = { "SVGPoint", 0, &JSSVGPointTable, 0 };
+/*
+@begin JSSVGPointTable 4
+  x         WebCore::JSSVGPoint::PointX       DontDelete|ReadOnly
+  y         WebCore::JSSVGPoint::PointY       DontDelete|ReadOnly
+@end
+*/
+
+JSSVGPoint::~JSSVGPoint()
+{
+}
+
+bool JSSVGPoint::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+    return getStaticValueSlot<JSSVGPoint, DOMObject>(exec,  &JSSVGPointTable, this, propertyName, slot);
+}
+
+JSValue* JSSVGPoint::getValueProperty(ExecState* exec, int token) const
+{
+    switch (token) {
+    case PointX:
+        return jsNumber(m_point.x());
+    case PointY:
+        return jsNumber(m_point.y());
+    default:
+        return 0;
+    }
+}
+
+JSValue* getJSSVGPoint(ExecState* exec, const FloatPoint& p)
+{
+    return new JSSVGPoint(exec, p);
+}
+
+FloatPoint toFloatPoint(JSValue* val)
+{
+    return val->isObject(&JSSVGPoint::info) ? static_cast<JSSVGPoint*>(val)->impl() : FloatPoint();
+}
+
+}
diff --git a/WebCore/ksvg2/bindings/js/JSSVGPoint.h b/WebCore/ksvg2/bindings/js/JSSVGPoint.h
new file mode 100644 (file)
index 0000000..70d44fd
--- /dev/null
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#ifndef JSSVGPoint_H
+#define JSSVGPoint_H
+
+#include "kjs_binding.h"
+#include "FloatPoint.h"
+
+namespace WebCore {
+
+class JSSVGPoint : public KJS::DOMObject {
+public:
+    JSSVGPoint(KJS::ExecState*, const FloatPoint& p) : m_point(p) { }
+    ~JSSVGPoint();
+    
+    virtual bool getOwnPropertySlot(KJS::ExecState*, const KJS::Identifier&, KJS::PropertySlot&);
+    JSValue* getValueProperty(KJS::ExecState*, int token) const;
+    // no put - all read-only
+    
+    virtual const KJS::ClassInfo* classInfo() const { return &info; }
+    static const KJS::ClassInfo info;
+    enum { PointX, PointY };
+    
+    FloatPoint impl() { return m_point; }
+    
+private:
+    FloatPoint m_point;
+};
+
+KJS::JSValue* getJSSVGPoint(KJS::ExecState*, const FloatPoint&);
+FloatPoint toFloatPoint(KJS::JSValue*);
+  
+}
+
+#endif
diff --git a/WebCore/ksvg2/bindings/js/JSSVGRect.cpp b/WebCore/ksvg2/bindings/js/JSSVGRect.cpp
new file mode 100644 (file)
index 0000000..73ebbab
--- /dev/null
@@ -0,0 +1,80 @@
+/*
+ * Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#include "config.h"
+#include "JSSVGRect.h"
+
+#include "JSSVGRectTable.cpp"
+
+using namespace KJS;
+
+namespace WebCore {
+
+const ClassInfo JSSVGRect::info = { "SVGRect", 0, &JSSVGRectTable, 0 };
+/*
+@begin JSSVGRectTable 4
+  x         WebCore::JSSVGRect::RectX           DontDelete|ReadOnly
+  y         WebCore::JSSVGRect::RectY           DontDelete|ReadOnly
+  width     WebCore::JSSVGRect::RectWidth       DontDelete|ReadOnly
+  height    WebCore::JSSVGRect::RectHeight      DontDelete|ReadOnly
+@end
+*/
+
+JSSVGRect::~JSSVGRect()
+{
+}
+
+bool JSSVGRect::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+    return getStaticValueSlot<JSSVGRect, DOMObject>(exec,  &JSSVGRectTable, this, propertyName, slot);
+}
+
+JSValue* JSSVGRect::getValueProperty(ExecState* exec, int token) const
+{
+    switch (token) {
+    case RectX:
+        return jsNumber(m_rect.x());
+    case RectY:
+        return jsNumber(m_rect.y());
+    case RectWidth:
+        return jsNumber(m_rect.width());
+    case RectHeight:
+        return jsNumber(m_rect.height());
+    default:
+        return 0;
+    }
+}
+
+JSValue* getJSSVGRect(ExecState* exec, const FloatRect& r)
+{
+    return new JSSVGRect(exec, r);
+}
+
+FloatRect toFloatRect(JSValue* val)
+{
+    return val->isObject(&JSSVGRect::info) ? static_cast<JSSVGRect*>(val)->impl() : FloatRect();
+}
+
+}
diff --git a/WebCore/ksvg2/bindings/js/JSSVGRect.h b/WebCore/ksvg2/bindings/js/JSSVGRect.h
new file mode 100644 (file)
index 0000000..a2f2f23
--- /dev/null
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#ifndef JSSVGRect_H
+#define JSSVGRect_H
+
+#include "kjs_binding.h"
+#include "FloatRect.h"
+
+namespace WebCore {
+
+class JSSVGRect : public KJS::DOMObject {
+public:
+    JSSVGRect(KJS::ExecState*, const FloatRect& r) : m_rect(r) { }
+    ~JSSVGRect();
+    
+    virtual bool getOwnPropertySlot(KJS::ExecState*, const KJS::Identifier&, KJS::PropertySlot&);
+    JSValue* getValueProperty(KJS::ExecState*, int token) const;
+    // no put - all read-only
+    
+    virtual const KJS::ClassInfo* classInfo() const { return &info; }
+    static const KJS::ClassInfo info;
+    enum { RectX, RectY, RectWidth, RectHeight };
+    
+    FloatRect impl() { return m_rect; }
+    
+private:
+    FloatRect m_rect;
+};
+
+KJS::JSValue* getJSSVGRect(KJS::ExecState*, const FloatRect&);
+FloatRect toFloatRect(KJS::JSValue*);
+
+}
+
+#endif
index 16be3d9..4d6002c 100644 (file)
@@ -250,7 +250,7 @@ bool CSSParser::parseSVGValue(int propId, bool important)
            (id >= SVGCSS_VAL_ALICEBLUE && id <= SVGCSS_VAL_YELLOWGREEN))
             parsedValue = new SVGColor(domString(value->string).impl());
         else if (id == SVGCSS_VAL_CURRENTCOLOR)
-            parsedValue = new SVGColor(SVG_COLORTYPE_CURRENTCOLOR);
+            parsedValue = new SVGColor(SVGColor::SVG_COLORTYPE_CURRENTCOLOR);
         else // TODO : svgcolor (iccColor)
             parsedValue = parseSVGColor();
 
index 71989f7..00769e1 100644 (file)
@@ -669,7 +669,7 @@ void CSSStyleSelector::applySVGProperty(int id, CSSValue* value)
                 if (!c)
                     return CSSStyleSelector::applyProperty(id, value);
 
-                if (c->colorType() == SVG_COLORTYPE_CURRENTCOLOR)
+                if (c->colorType() == SVGColor::SVG_COLORTYPE_CURRENTCOLOR)
                     col = style->color();
                 else
                     col = c->color();
@@ -706,7 +706,7 @@ void CSSStyleSelector::applySVGProperty(int id, CSSValue* value)
                 if (!c)
                     return CSSStyleSelector::applyProperty(id, value);
 
-                if (c->colorType() == SVG_COLORTYPE_CURRENTCOLOR)
+                if (c->colorType() == SVGColor::SVG_COLORTYPE_CURRENTCOLOR)
                     col = style->color();
                 else
                     col = c->color();
index 2e38c59..2c733bc 100644 (file)
 
 #include "config.h"
 #if SVG_SUPPORT
-#include "SVGRect.h"
-#include "SVGPoint.h"
 #include "SVGZoomEvent.h"
 
 using namespace WebCore;
 
 SVGZoomEvent::SVGZoomEvent()
+    : m_newScale(0.0)
+    , m_previousScale(0.0)
 {
-    m_newScale = 0.0;
-    m_previousScale = 0.0;
 }
 
 SVGZoomEvent::~SVGZoomEvent()
 {
 }
 
-SVGRect *SVGZoomEvent::zoomRectScreen() const
+FloatRect SVGZoomEvent::zoomRectScreen() const
 {
-    return m_zoomRectScreen.get();
+    return m_zoomRectScreen;
 }
 
 float SVGZoomEvent::previousScale() const
@@ -53,9 +51,9 @@ void SVGZoomEvent::setPreviousScale(float scale)
     m_previousScale = scale;
 }
 
-SVGPoint *SVGZoomEvent::previousTranslate() const
+FloatPoint SVGZoomEvent::previousTranslate() const
 {
-    return m_previousTranslate.get();
+    return m_previousTranslate;
 }
 
 float SVGZoomEvent::newScale() const
@@ -68,9 +66,9 @@ void SVGZoomEvent::setNewScale(float scale)
     m_newScale = scale;
 }
 
-SVGPoint *SVGZoomEvent::newTranslate() const
+FloatPoint SVGZoomEvent::newTranslate() const
 {
-    return m_newTranslate.get();
+    return m_newTranslate;
 }
 
 // vim:ts=4:noet
index ef925ad..e81beed 100644 (file)
     the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
     Boston, MA 02111-1307, USA.
 */
-
-#ifndef KDOM_SVGZoomEventImpl_H
-#define KDOM_SVGZoomEventImpl_H
+#ifndef SVGZoomEvent_H
+#define SVGZoomEvent_H
 #if SVG_SUPPORT
 
 #include "dom2_eventsimpl.h"
+#include "FloatRect.h"
+
+namespace WebCore {
 
-namespace WebCore
-{
-    class SVGRect;
-    class SVGPoint;
     class SVGZoomEvent : public UIEvent
     {
     public:
@@ -37,26 +36,26 @@ namespace WebCore
         virtual ~SVGZoomEvent();
 
         // 'SVGZoomEvent' functions
-        SVGRect *zoomRectScreen() const;
+        FloatRect zoomRectScreen() const;
 
         float previousScale() const;
-        void setPreviousScale(float scale);
+        void setPreviousScale(float);
 
-        SVGPoint *previousTranslate() const;
+        FloatPoint previousTranslate() const;
 
         float newScale() const;
-        void setNewScale(float scale);
+        void setNewScale(float);
 
-        SVGPoint *newTranslate() const;
+        FloatPoint newTranslate() const;
 
     private:
         float m_newScale;
         float m_previousScale;
         
-        RefPtr<SVGRect> m_zoomRectScreen;
+        FloatRect m_zoomRectScreen;
         
-        RefPtr<SVGPoint> m_newTranslate;
-        RefPtr<SVGPoint> m_previousTranslate;
+        FloatPoint m_newTranslate;
+        FloatPoint m_previousTranslate;
     };
 };
 
index 8ae37b0..4fd8bb7 100644 (file)
@@ -38,39 +38,7 @@ namespace WebCore
         SVG_INVALID_VALUE_ERR        = 2,
         SVG_MATRIX_NOT_INVERTABLE    = 3
     };
-
-    enum SVGLengthType
-    {
-        SVG_LENGTHTYPE_UNKNOWN        = 0,
-        SVG_LENGTHTYPE_NUMBER        = 1,
-        SVG_LENGTHTYPE_PERCENTAGE    = 2,
-        SVG_LENGTHTYPE_EMS            = 3,
-        SVG_LENGTHTYPE_EXS            = 4,
-        SVG_LENGTHTYPE_PX            = 5,
-        SVG_LENGTHTYPE_CM            = 6,
-        SVG_LENGTHTYPE_MM            = 7,
-        SVG_LENGTHTYPE_IN            = 8,
-        SVG_LENGTHTYPE_PT            = 9,
-        SVG_LENGTHTYPE_PC            = 10
-    };
-
-    enum SVGAngleType
-    {
-        SVG_ANGLETYPE_UNKNOWN        = 0,
-        SVG_ANGLETYPE_UNSPECIFIED    = 1,
-        SVG_ANGLETYPE_DEG            = 2,
-        SVG_ANGLETYPE_RAD            = 3,
-        SVG_ANGLETYPE_GRAD            = 4
-    };
-
-    enum SVGColorType
-    {
-        SVG_COLORTYPE_UNKNOWN                = 0,
-        SVG_COLORTYPE_RGBCOLOR                = 1,
-        SVG_COLORTYPE_RGBCOLOR_ICCCOLOR        = 2,
-        SVG_COLORTYPE_CURRENTCOLOR            = 3
-    };
-
+    
     enum SVGUnitTypes
     {
         SVG_UNIT_TYPE_UNKNOWN                = 0,
@@ -87,23 +55,22 @@ namespace WebCore
         RENDERING_INTENT_SATURATION                = 4,
         RENDERING_INTENT_ABSOLUTE_COLORIMETRIC    = 5
     };
+    
+    enum SVGTransformType {
+        SVG_TRANSFORM_UNKNOWN           = 0,
+        SVG_TRANSFORM_MATRIX            = 1,
+        SVG_TRANSFORM_TRANSLATE         = 2,
+        SVG_TRANSFORM_SCALE             = 3,
+        SVG_TRANSFORM_ROTATE            = 4,
+        SVG_TRANSFORM_SKEWX             = 5,
+        SVG_TRANSFORM_SKEWY             = 6
+    };
 
     enum SVGCSSRuleType
     {
         COLOR_PROFILE_RULE = 7
     };
 
-    enum SVGTransformType
-    {
-        SVG_TRANSFORM_UNKNOWN        = 0,
-        SVG_TRANSFORM_MATRIX        = 1,
-        SVG_TRANSFORM_TRANSLATE        = 2,
-        SVG_TRANSFORM_SCALE            = 3,
-        SVG_TRANSFORM_ROTATE        = 4,
-        SVG_TRANSFORM_SKEWX            = 5,
-        SVG_TRANSFORM_SKEWY            = 6
-    };
-
     enum SVGPreserveAspectRatioType
     {
         SVG_PRESERVEASPECTRATIO_UNKNOWN        = 0,
index 3240dc2..5b1ae8e 100644 (file)
 #include "Frame.h"
 #include "KSVGTimeScheduler.h"
 #include "kjs_proxy.h"
+#include "SVGSVGElement.h"
 
 namespace WebCore {
 
-SVGDocumentExtensions::SVGDocumentExtensions(Document *doc)
+SVGDocumentExtensions::SVGDocumentExtensions(Documentdoc)
     : m_doc(doc)
-    , m_timeScheduler(new TimeScheduler(doc))
 {
 }
 
 SVGDocumentExtensions::~SVGDocumentExtensions()
 {
-    delete m_timeScheduler;
 }
 
 PassRefPtr<EventListener> SVGDocumentExtensions::createSVGEventListener(const String& functionName, const String& code, Node *node)
@@ -50,31 +49,39 @@ PassRefPtr<EventListener> SVGDocumentExtensions::createSVGEventListener(const St
     return 0;
 }
 
-void SVGDocumentExtensions::pauseAnimations()
+void SVGDocumentExtensions::addTimeContainer(SVGSVGElement* element)
 {
-    if (!m_timeScheduler->animationsPaused())
-        m_timeScheduler->toggleAnimations();
+    m_timeContainers.add(element);
 }
 
-void SVGDocumentExtensions::unpauseAnimations()
+void SVGDocumentExtensions::removeTimeContainer(SVGSVGElement* element)
 {
-    if (m_timeScheduler->animationsPaused())
-        m_timeScheduler->toggleAnimations();
+    ASSERT(m_timeContainers.contains(element));
+    m_timeContainers.remove(element);
 }
 
-bool SVGDocumentExtensions::animationsPaused() const
+void SVGDocumentExtensions::startAnimations()
 {
-    return m_timeScheduler->animationsPaused();
+    // FIXME: Eventually every "Time Container" will need a way to latch on to some global timer
+    // starting animations for a document will do this "latching"
+    
+    HashSet<SVGSVGElement*>::iterator end = m_timeContainers.begin();
+    for (HashSet<SVGSVGElement*>::iterator itr = m_timeContainers.begin(); itr != end; ++itr)
+        (*itr)->timeScheduler()->startAnimations();
 }
-
-float SVGDocumentExtensions::getCurrentTime() const
+    
+void SVGDocumentExtensions::pauseAnimations()
 {
-    return m_timeScheduler->elapsed();
+    HashSet<SVGSVGElement*>::iterator end = m_timeContainers.begin();
+    for (HashSet<SVGSVGElement*>::iterator itr = m_timeContainers.begin(); itr != end; ++itr)
+        (*itr)->pauseAnimations();
 }
 
-void SVGDocumentExtensions::setCurrentTime(float /* seconds */)
+void SVGDocumentExtensions::unpauseAnimations()
 {
-    // TODO
+    HashSet<SVGSVGElement*>::iterator end = m_timeContainers.begin();
+    for (HashSet<SVGSVGElement*>::iterator itr = m_timeContainers.begin(); itr != end; ++itr)
+        (*itr)->unpauseAnimations();
 }
 
 }
index 7f82c29..b8a887d 100644 (file)
@@ -25,6 +25,7 @@
 #if SVG_SUPPORT
 
 #include <wtf/Forward.h>
+#include <wtf/HashSet.h>
 
 namespace WebCore {
 
@@ -32,6 +33,7 @@ class Document;
 class EventListener;
 class Node;
 class String;
+class SVGSVGElement;
 class TimeScheduler;
 
 class SVGDocumentExtensions {
@@ -40,19 +42,17 @@ public:
     ~SVGDocumentExtensions();
     
     PassRefPtr<EventListener> createSVGEventListener(const String& functionName, const String& code, Node*);
-
-    TimeScheduler* timeScheduler() const { return m_timeScheduler; }
     
+    void addTimeContainer(SVGSVGElement*);
+    void removeTimeContainer(SVGSVGElement*);
+    
+    void startAnimations();
     void pauseAnimations();
     void unpauseAnimations();
-    bool animationsPaused() const;
-
-    float getCurrentTime() const;
-    void setCurrentTime(float seconds);
 
 private:
     Document* m_doc; // weak reference
-    TimeScheduler* m_timeScheduler;
+    HashSet<SVGSVGElement*> m_timeContainers; // For SVG 1.2 support this will need to be made more general.
 
     SVGDocumentExtensions(const SVGDocumentExtensions&);
     SVGDocumentExtensions& operator=(const SVGDocumentExtensions&);
index 97cb19e..b9750f1 100644 (file)
@@ -40,7 +40,7 @@ namespace WebCore
                             public SVGExternalResourcesRequired
     {
     public:
-        SVGAElement(const QualifiedName& tagName, Document *doc);
+        SVGAElement(const QualifiedName&, Document*);
         virtual ~SVGAElement();
 
         // 'SVGAElement' functions
index 2b7f240..830db75 100644 (file)
@@ -35,10 +35,18 @@ namespace WebCore
     public:
         SVGAngle(const SVGStyledElement *context);
         virtual ~SVGAngle();
+        
+        enum SVGAngleType {
+            SVG_ANGLETYPE_UNKNOWN           = 0,
+            SVG_ANGLETYPE_UNSPECIFIED       = 1,
+            SVG_ANGLETYPE_DEG               = 2,
+            SVG_ANGLETYPE_RAD               = 3,
+            SVG_ANGLETYPE_GRAD              = 4
+        };
 
         unsigned short unitType() const;
 
-        void setValue(float value);
+        void setValue(float);
         float value() const; 
 
         void setValueInSpecifiedUnits(float valueInSpecifiedUnits);
@@ -57,8 +65,8 @@ namespace WebCore
         // Returns the angle that divides the shortest arc between the two angles.
         static double shortestArcBisector(double angle1, double angle2);
 
-        const SVGStyledElement *context() const;
-        void setContext(const SVGStyledElement *context);
+        const SVGStyledElementcontext() const;
+        void setContext(const SVGStyledElement*);
 
     private:
         unsigned short m_unitType;
diff --git a/WebCore/ksvg2/svg/SVGAngle.idl b/WebCore/ksvg2/svg/SVGAngle.idl
new file mode 100644 (file)
index 0000000..e7d0661
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+    Copyright (C) 2004, 2005 Nikolas Zimmermann <wildfox@kde.org>
+                  2004, 2005 Rob Buis <buis@kde.org>
+    Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.
+
+    This file is part of the KDE project
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+    Boston, MA 02111-1307, USA.
+*/
+
+module svg {
+    interface SVGAngle { 
+        // Angle Unit Types
+        const unsigned short SVG_ANGLETYPE_UNKNOWN     = 0;
+        const unsigned short SVG_ANGLETYPE_UNSPECIFIED = 1;
+        const unsigned short SVG_ANGLETYPE_DEG         = 2;
+        const unsigned short SVG_ANGLETYPE_RAD         = 3;
+        const unsigned short SVG_ANGLETYPE_GRAD        = 4;
+        
+        readonly attribute unsigned short unitType;
+                 attribute float          value
+                        setter rasises DOMException;
+                 attribute float          valueInSpecifiedUnits
+                        setter rasises DOMException;
+                 attribute core::DOMString      valueAsString
+                        setter rasises DOMException;
+        
+        void newValueSpecifiedUnits( in unsigned short unitType, in float valueInSpecifiedUnits );
+        void convertToSpecifiedUnits( in unsigned short unitType );
+    };
+};
index 1d098eb..7a74cf1 100644 (file)
 #include "PlatformString.h"
 #include "Document.h"
 #include "SVGDocumentExtensions.h"
+#include "SVGSVGElement.h"
 
-using namespace WebCore;
+namespace WebCore {
 
 SVGAnimateColorElement::SVGAnimateColorElement(const QualifiedName& tagName, Document *doc)
-: SVGAnimationElement(tagName, doc)
+    : SVGAnimationElement(tagName, doc)
+    , m_toColor(new SVGColor())
+    , m_fromColor(new SVGColor())
+    , m_currentItem(-1)
+    , m_redDiff(0)
+    , m_greenDiff(0)
+    , m_blueDiff(0)
 {
-    m_toColor = new SVGColor();
-    m_fromColor = new SVGColor();
-
-    m_redDiff = 0;
-    m_greenDiff = 0;
-    m_blueDiff = 0;
-
-    m_currentItem = -1;
 }
 
 SVGAnimateColorElement::~SVGAnimateColorElement()
@@ -50,11 +49,10 @@ SVGAnimateColorElement::~SVGAnimateColorElement()
 void SVGAnimateColorElement::handleTimerEvent(double timePercentage)
 {
     // Start condition.
-    if(!m_connected)
-    {
+    if (!m_connected) {
         // Save initial color... (needed for fill="remove" or additve="sum")
         RefPtr<SVGColor> temp = new SVGColor();
-        temp->setRGBColor(targetAttribute().impl());
+        temp->setRGBColor(targetAttribute());
 
         m_initialColor = temp->color();
 
@@ -65,15 +63,15 @@ void SVGAnimateColorElement::handleTimerEvent(double timePercentage)
             case FROM_TO_ANIMATION:
             {
                 String toColorString(m_to);
-                m_toColor->setRGBColor(toColorString.impl());
+                m_toColor->setRGBColor(toColorString);
     
                 String fromColorString;
-                if(!m_from.isEmpty()) // from-to animation
+                if (!m_from.isEmpty()) // from-to animation
                     fromColorString = m_from;
                 else // to animation
                     fromColorString = m_initialColor.name();
     
-                m_fromColor->setRGBColor(fromColorString.impl());    
+                m_fromColor->setRGBColor(fromColorString);    
 
                 // Calculate color differences, once.
                 Color qTo = m_toColor->color();
@@ -89,16 +87,16 @@ void SVGAnimateColorElement::handleTimerEvent(double timePercentage)
             case FROM_BY_ANIMATION:
             {
                 String byColorString(m_by);
-                m_toColor->setRGBColor(byColorString.impl());
+                m_toColor->setRGBColor(byColorString);
 
                 String fromColorString;
             
-                if(!m_from.isEmpty()) // from-by animation
+                if (!m_from.isEmpty()) // from-by animation
                     fromColorString = m_from;
                 else // by animation
                     fromColorString = m_initialColor.name();
 
-                m_fromColor->setRGBColor(fromColorString.impl());
+                m_fromColor->setRGBColor(fromColorString);
 
                 Color qBy = m_toColor->color();
                 Color qFrom = m_fromColor->color();
@@ -111,7 +109,7 @@ void SVGAnimateColorElement::handleTimerEvent(double timePercentage)
                 Color qTo = clampColor(r, g, b);
             
                 String toColorString(qTo.name());
-                m_toColor->setRGBColor(toColorString.impl());
+                m_toColor->setRGBColor(toColorString);
             
                 m_redDiff = qTo.red() - qFrom.red();
                 m_greenDiff = qTo.green() - qFrom.green();
@@ -128,38 +126,35 @@ void SVGAnimateColorElement::handleTimerEvent(double timePercentage)
             }
         }
 
-        document()->accessSVGExtensions()->timeScheduler()->connectIntervalTimer(this);
+        ownerSVGElement()->timeScheduler()->connectIntervalTimer(this);
         m_connected = true;
 
         return;
     }
 
     // Calculations...
-    if(timePercentage >= 1.0)
+    if (timePercentage >= 1.0)
         timePercentage = 1.0;
 
     int r = 0, g = 0, b = 0;
-    if((m_redDiff != 0 || m_greenDiff != 0 || m_blueDiff != 0) && !m_values)
+    if ((m_redDiff != 0 || m_greenDiff != 0 || m_blueDiff != 0) && !m_values)
         calculateColor(timePercentage, r, g, b);
-    else if(m_values)
-    {
+    else if (m_values) {
         int itemByPercentage = calculateCurrentValueItem(timePercentage);
 
-        if(itemByPercentage == -1)
+        if (itemByPercentage == -1)
             return;
 
-        if(m_currentItem != itemByPercentage) // Item changed...
+        if (m_currentItem != itemByPercentage) // Item changed...
         {
             // Extract current 'from' / 'to' values
             String value1 = String(m_values->getItem(itemByPercentage));
             String value2 = String(m_values->getItem(itemByPercentage + 1));
 
             // Calculate r/g/b shifting values...
-            if(!value1.isEmpty() && !value2.isEmpty())
-            {
+            if (!value1.isEmpty() && !value2.isEmpty()) {
                 bool apply = false;
-                if(m_redDiff != 0 || m_greenDiff != 0 || m_blueDiff != 0)
-                {
+                if (m_redDiff != 0 || m_greenDiff != 0 || m_blueDiff != 0) {
                     r = m_toColor->color().red();
                     g = m_toColor->color().green();
                     b = m_toColor->color().blue();
@@ -168,10 +163,10 @@ void SVGAnimateColorElement::handleTimerEvent(double timePercentage)
                 }
 
                 String toColorString(value2);
-                m_toColor->setRGBColor(toColorString.impl());
+                m_toColor->setRGBColor(toColorString);
     
                 String fromColorString(value1);
-                m_fromColor->setRGBColor(fromColorString.impl());    
+                m_fromColor->setRGBColor(fromColorString);    
 
                 Color qTo = m_toColor->color();
                 Color qFrom = m_fromColor->color();
@@ -182,25 +177,25 @@ void SVGAnimateColorElement::handleTimerEvent(double timePercentage)
 
                 m_currentItem = itemByPercentage;
 
-                if(!apply)
+                if (!apply)
                     return;
             }
         }
-        else if(m_redDiff != 0 || m_greenDiff != 0 || m_blueDiff != 0)
+        else if (m_redDiff != 0 || m_greenDiff != 0 || m_blueDiff != 0)
         {
             double relativeTime = calculateRelativeTimePercentage(timePercentage, m_currentItem);
             calculateColor(relativeTime, r, g, b);
         }
     }
     
-    if(!isFrozen() && timePercentage == 1.0)
+    if (!isFrozen() && timePercentage == 1.0)
     {
         r = m_initialColor.red();
         g = m_initialColor.green();
         b = m_initialColor.blue();
     }
 
-    if(isAccumulated() && repeations() != 0.0)
+    if (isAccumulated() && repeations() != 0.0)
     {
         r += m_lastColor.red();
         g += m_lastColor.green();
@@ -211,16 +206,14 @@ void SVGAnimateColorElement::handleTimerEvent(double timePercentage)
     m_currentColor = clampColor(r, g, b);
     
     // End condition.
-    if(timePercentage == 1.0)
-    {
-        if((m_repeatCount > 0 && m_repeations < m_repeatCount - 1) || isIndefinite(m_repeatCount))
-        {
+    if (timePercentage == 1.0) {
+        if ((m_repeatCount > 0 && m_repeations < m_repeatCount - 1) || isIndefinite(m_repeatCount)) {
             m_lastColor = m_currentColor;
             m_repeations++;
             return;
         }
 
-        document()->accessSVGExtensions()->timeScheduler()->disconnectIntervalTimer(this);
+        ownerSVGElement()->timeScheduler()->disconnectIntervalTimer(this);
         m_connected = false;
 
         // Reset...
@@ -234,19 +227,19 @@ void SVGAnimateColorElement::handleTimerEvent(double timePercentage)
 
 Color SVGAnimateColorElement::clampColor(int r, int g, int b) const
 {
-    if(r > 255)
+    if (r > 255)
         r = 255;
-    else if(r < 0)
+    else if (r < 0)
         r = 0;
 
-    if(g > 255)
+    if (g > 255)
         g = 255;
-    else if(g < 0)
+    else if (g < 0)
         g = 0;
 
-    if(b > 255)
+    if (b > 255)
         b = 255;
-    else if(b < 0)
+    else if (b < 0)
         b = 0;
 
     return Color(r, g, b);
@@ -269,6 +262,8 @@ Color SVGAnimateColorElement::initialColor() const
     return m_initialColor;
 }
 
+}
+
 // vim:ts=4:noet
 #endif // SVG_SUPPORT
 
index 5b91fdf..ede1a27 100644 (file)
@@ -31,7 +31,7 @@ namespace WebCore
     class SVGAnimateColorElement : public SVGAnimationElement
     {
     public:
-        SVGAnimateColorElement(const QualifiedName& tagName, Document *doc);
+        SVGAnimateColorElement(const QualifiedName&, Document*);
         virtual ~SVGAnimateColorElement();
 
         virtual void handleTimerEvent(double timePercentage);
@@ -52,7 +52,9 @@ namespace WebCore
         RefPtr<SVGColor> m_fromColor;
 
         int m_currentItem;
-        int m_redDiff, m_greenDiff, m_blueDiff;
+        int m_redDiff;
+        int m_greenDiff;
+        int m_blueDiff;
     };
 };
 
index 4de9a95..0d135c7 100644 (file)
 #include "config.h"
 #if SVG_SUPPORT
 #include "SVGAnimateElement.h"
+
 #include "KSVGTimeScheduler.h"
 #include "Document.h"
 #include "SVGDocumentExtensions.h"
+#include "SVGSVGElement.h"
 
 using namespace WebCore;
 
 SVGAnimateElement::SVGAnimateElement(const QualifiedName& tagName, Document *doc)
-: SVGAnimationElement(tagName, doc)
+    : SVGAnimationElement(tagName, doc)
+    , m_currentItem(-1)
 {
-    m_currentItem = -1;
 }
 
 SVGAnimateElement::~SVGAnimateElement()
@@ -42,8 +44,7 @@ SVGAnimateElement::~SVGAnimateElement()
 void SVGAnimateElement::handleTimerEvent(double timePercentage)
 {
     // Start condition.
-    if(!m_connected)
-    {
+    if (!m_connected) {
         // Save initial attribute value...
         String attr(targetAttribute());
         m_savedTo = attr.deprecatedString();
@@ -58,7 +59,7 @@ void SVGAnimateElement::handleTimerEvent(double timePercentage)
                 m_toColor->setRGBColor(toColorString.impl());
     
                 String fromColorString;
-                if(!m_from.isEmpty()) // from-to animation
+                if (!m_from.isEmpty()) // from-to animation
                     fromColorString = m_from;
                 else // to animation
                     fromColorString = m_initialColor.name();
@@ -83,7 +84,7 @@ void SVGAnimateElement::handleTimerEvent(double timePercentage)
 
                 String fromColorString;
             
-                if(!m_from.isEmpty()) // from-by animation
+                if (!m_from.isEmpty()) // from-by animation
                     fromColorString = m_from;
                 else // by animation
                     fromColorString = m_initialColor.name();
@@ -118,37 +119,37 @@ void SVGAnimateElement::handleTimerEvent(double timePercentage)
             }
         }
 
-        document()->accessSVGExtensions()->timeScheduler()->connectIntervalTimer(this);
+        ownerSVGElement()->timeScheduler()->connectIntervalTimer(this);
         m_connected = true;
 
         return;
     }
 
     // Calculations...
-    if(timePercentage >= 1.0)
+    if (timePercentage >= 1.0)
         timePercentage = 1.0;
 
 //    int r = 0, g = 0, b = 0;
-//    if((m_redDiff != 0 || m_greenDiff != 0 || m_blueDiff != 0) && !m_values)
+//    if ((m_redDiff != 0 || m_greenDiff != 0 || m_blueDiff != 0) && !m_values)
 //        calculateColor(timePercentage, r, g, b);
-/*    else */if(m_values)
+/*    else */if (m_values)
     {
 /*        int itemByPercentage = calculateCurrentValueItem(timePercentage);
 
-        if(itemByPercentage == -1)
+        if (itemByPercentage == -1)
             return;
 
-        if(m_currentItem != itemByPercentage) // Item changed...
+        if (m_currentItem != itemByPercentage) // Item changed...
         {
             // Extract current 'from' / 'to' values
             String value1 = String(m_values->getItem(itemByPercentage));
             String value2 = String(m_values->getItem(itemByPercentage + 1));
 
             // Calculate r/g/b shifting values...
-            if(!value1.isEmpty() && !value2.isEmpty())
+            if (!value1.isEmpty() && !value2.isEmpty())
             {
                 bool apply = false;
-                if(m_redDiff != 0 || m_greenDiff != 0 || m_blueDiff != 0)
+                if (m_redDiff != 0 || m_greenDiff != 0 || m_blueDiff != 0)
                 {
                     r = m_toColor->color().red();
                     g = m_toColor->color().green();
@@ -172,37 +173,33 @@ void SVGAnimateElement::handleTimerEvent(double timePercentage)
 
                 m_currentItem = itemByPercentage;
 
-                if(!apply)
+                if (!apply)
                     return;
             }
         }
-        else if(m_redDiff != 0 || m_greenDiff != 0 || m_blueDiff != 0)
+        else if (m_redDiff != 0 || m_greenDiff != 0 || m_blueDiff != 0)
         {
             double relativeTime = calculateRelativeTimePercentage(timePercentage, m_currentItem);
             calculateColor(relativeTime, r, g, b);
         }*/
     }
     
-    if(!isFrozen() && timePercentage == 1.0)
-    {
+    if (!isFrozen() && timePercentage == 1.0) {
     }
 
-    if(isAccumulated() && repeations() != 0.0)
-    {
+    if (isAccumulated() && repeations() != 0.0) {
     }
 
     // Commit changes!
     
     // End condition.
-    if(timePercentage == 1.0)
-    {
-        if((m_repeatCount > 0 && m_repeations < m_repeatCount - 1) || isIndefinite(m_repeatCount))
-        {
+    if (timePercentage == 1.0) {
+        if ((m_repeatCount > 0 && m_repeations < m_repeatCount - 1) || isIndefinite(m_repeatCount)) {
             m_repeations++;
             return;
         }
 
-        document()->accessSVGExtensions()->timeScheduler()->disconnectIntervalTimer(this);
+        ownerSVGElement()->timeScheduler()->disconnectIntervalTimer(this);
         m_connected = false;
 
         // Reset...
index 4593985..5fa947e 100644 (file)
@@ -31,7 +31,7 @@ namespace WebCore
     class SVGAnimateElement : public SVGAnimationElement
     {
     public:
-        SVGAnimateElement(const QualifiedName& tagName, Document *doc);
+        SVGAnimateElement(const QualifiedName&, Document*);
         virtual ~SVGAnimateElement();
 
         virtual void handleTimerEvent(double timePercentage);
index 25d2541..f0431f9 100644 (file)
 #include "KSVGTimeScheduler.h"
 #include "Document.h"
 #include "SVGDocumentExtensions.h"
+#include "SVGSVGElement.h"
 
 #include <math.h>
 
-using namespace WebCore;
 using namespace std;
 
+namespace WebCore {
+
 SVGAnimateTransformElement::SVGAnimateTransformElement(const QualifiedName& tagName, Document *doc)
-: SVGAnimationElement(tagName, doc)
+    : SVGAnimationElement(tagName, doc)
+    , m_currentItem(-1)
+    , m_type(SVG_TRANSFORM_UNKNOWN)
+    , m_rotateSpecialCase(false)
+    , m_toRotateSpecialCase(false)
+    , m_fromRotateSpecialCase(false)
 {
-    m_type = SVG_TRANSFORM_UNKNOWN;
-
-    m_currentItem = -1;
-
-    m_rotateSpecialCase = false;
-    m_toRotateSpecialCase = false;
-    m_fromRotateSpecialCase = false;
 }
 
 SVGAnimateTransformElement::~SVGAnimateTransformElement()
@@ -73,33 +73,27 @@ void SVGAnimateTransformElement::parseMappedAttribute(MappedAttribute *attr)
             m_type = SVG_TRANSFORM_SKEWX;
         else if (value == "skewY")
             m_type = SVG_TRANSFORM_SKEWY;
-    } else {
+    } else
         SVGAnimationElement::parseMappedAttribute(attr);
-    }
 }
 
 void SVGAnimateTransformElement::handleTimerEvent(double timePercentage)
 {
     // Start condition.
-    if(!m_connected)
-    {
+    if (!m_connected) {
         m_initialTransform = 0;
         
         // Save initial transform... (needed for fill="remove" or additve="sum")
-        if(targetElement()->isStyledTransformable())
-        {
+        if (targetElement()->isStyledTransformable()) {
             SVGStyledTransformableElement *transform = static_cast<SVGStyledTransformableElement *>(targetElement());
             RefPtr<SVGTransformList> transformList = transform->transform()->baseVal();
-            if (transformList)
-            {
-                for(unsigned long i = 0; i < transformList->numberOfItems(); i++)
-                {
+            if (transformList) {
+                for (unsigned long i = 0; i < transformList->numberOfItems(); i++) {
                     SVGTransform *value = transformList->getItem(i);
-                    if(!value)
+                    if (!value)
                         continue;
                         
-                    if(value->type() == m_type)
-                    {
+                    if (value->type() == m_type) {
                         m_initialTransform = value;
                         break;
                     }
@@ -116,7 +110,7 @@ void SVGAnimateTransformElement::handleTimerEvent(double timePercentage)
                 m_toTransform = parseTransformValue(m_to);
                 m_toRotateSpecialCase = m_rotateSpecialCase;
 
-                if(!m_from.isEmpty()) // from-to animation
+                if (!m_from.isEmpty()) // from-to animation
                 {
                     m_fromTransform = parseTransformValue(m_from);
                     m_fromRotateSpecialCase = m_rotateSpecialCase;
@@ -127,7 +121,7 @@ void SVGAnimateTransformElement::handleTimerEvent(double timePercentage)
                     m_fromRotateSpecialCase = false;
                 }
 
-                if(!m_fromTransform)
+                if (!m_fromTransform)
                     m_fromTransform = new SVGTransform();
                 
                 break;
@@ -138,7 +132,7 @@ void SVGAnimateTransformElement::handleTimerEvent(double timePercentage)
                 m_toTransform = parseTransformValue(m_by);
                 m_toRotateSpecialCase = m_rotateSpecialCase;
 
-                if(!m_from.isEmpty()) // from-by animation
+                if (!m_from.isEmpty()) // from-by animation
                 {
                     m_fromTransform = parseTransformValue(m_from);
                     m_fromRotateSpecialCase = m_rotateSpecialCase;
@@ -149,7 +143,7 @@ void SVGAnimateTransformElement::handleTimerEvent(double timePercentage)
                     m_fromRotateSpecialCase = false;
                 }
 
-                if(!m_fromTransform)
+                if (!m_fromTransform)
                     m_fromTransform = new SVGTransform();
 
                 SVGMatrix *byMatrix = m_toTransform->matrix();
@@ -168,38 +162,35 @@ void SVGAnimateTransformElement::handleTimerEvent(double timePercentage)
             }
         }
         
-        document()->accessSVGExtensions()->timeScheduler()->connectIntervalTimer(this);
+        ownerSVGElement()->timeScheduler()->connectIntervalTimer(this);
         m_connected = true;
 
         return;
     }
 
     // Calculations...
-    if(timePercentage >= 1.0)
+    if (timePercentage >= 1.0)
         timePercentage = 1.0;
     
     QWMatrix qToMatrix, qFromMatrix;
     double useTimePercentage = timePercentage;
 
-    if(m_values)
-    {
+    if (m_values) {
         int itemByPercentage = calculateCurrentValueItem(timePercentage);
 
-        if(itemByPercentage == -1)
+        if (itemByPercentage == -1)
             return;
         
-        if(m_currentItem != itemByPercentage) // Item changed...
+        if (m_currentItem != itemByPercentage) // Item changed...
         {
             // Extract current 'from' / 'to' values
             String value1 = String(m_values->getItem(itemByPercentage));
             String value2 = String(m_values->getItem(itemByPercentage + 1));
 
             // Calculate new from/to transform values...
-            if(!value1.isEmpty() && !value2.isEmpty())
-            {
+            if (!value1.isEmpty() && !value2.isEmpty()) {
                 bool apply = false;
-                if(m_toTransform && m_fromTransform)
-                {    
+                if (m_toTransform && m_fromTransform) {    
                     qToMatrix = m_toTransform->matrix()->qmatrix();
                     qFromMatrix = m_fromTransform->matrix()->qmatrix();
                     
@@ -215,27 +206,26 @@ void SVGAnimateTransformElement::handleTimerEvent(double timePercentage)
 
                 m_currentItem = itemByPercentage;
 
-                if(!apply)
+                if (!apply)
                     return;
             }
         }
-        else if(m_toTransform && m_fromTransform)
+        else if (m_toTransform && m_fromTransform)
             useTimePercentage = calculateRelativeTimePercentage(timePercentage, m_currentItem);
     }
 
-    if(m_toTransform && m_toTransform->matrix() && qToMatrix.isIdentity())
+    if (m_toTransform && m_toTransform->matrix() && qToMatrix.isIdentity())
         qToMatrix = m_toTransform->matrix()->qmatrix();
 
-    if(m_fromTransform && m_fromTransform->matrix() && qFromMatrix.isIdentity())
+    if (m_fromTransform && m_fromTransform->matrix() && qFromMatrix.isIdentity())
         qFromMatrix = m_fromTransform->matrix()->qmatrix();
 
-    if(!m_transformMatrix)
+    if (!m_transformMatrix)
         m_transformMatrix = new SVGMatrix();
-    else
-    {
+    else {
         m_transformMatrix->reset();
 
-        if(isAccumulated() && repeations() != 0.0 && m_lastMatrix)
+        if (isAccumulated() && repeations() != 0.0 && m_lastMatrix)
             m_transformMatrix->multiply(m_lastMatrix.get());
     }
     
@@ -307,20 +297,20 @@ void SVGAnimateTransformElement::handleTimerEvent(double timePercentage)
     }
 
     // End condition.
-    if(timePercentage == 1.0)
+    if (timePercentage == 1.0)
     {
-        if((m_repeatCount > 0 && m_repeations < m_repeatCount - 1) || isIndefinite(m_repeatCount))
+        if ((m_repeatCount > 0 && m_repeations < m_repeatCount - 1) || isIndefinite(m_repeatCount))
         {
             m_lastMatrix = new SVGMatrix();
             
-            if(m_transformMatrix)
+            if (m_transformMatrix)
                 m_lastMatrix->copy(m_transformMatrix.get());
 
             m_repeations++;
             return;
         }
 
-        document()->accessSVGExtensions()->timeScheduler()->disconnectIntervalTimer(this);
+        ownerSVGElement()->timeScheduler()->disconnectIntervalTimer(this);
         m_connected = false;
 
         // Reset...
@@ -329,10 +319,9 @@ void SVGAnimateTransformElement::handleTimerEvent(double timePercentage)
         m_fromTransform = 0;
         m_initialTransform = 0;
 
-        if(!isFrozen())
-        {
+        if (!isFrozen()) {
             SVGMatrix *initial = initialMatrix();
-            if(initial)
+            if (initial)
                 m_transformMatrix = initial;
             else
                 m_transformMatrix = new SVGMatrix();
@@ -343,7 +332,7 @@ void SVGAnimateTransformElement::handleTimerEvent(double timePercentage)
 RefPtr<SVGTransform> SVGAnimateTransformElement::parseTransformValue(const DeprecatedString &data) const
 {
     DeprecatedString parse = data.stripWhiteSpace();
-    if(parse.isEmpty())
+    if (parse.isEmpty())
         return 0;
     
     int commaPos = parse.find(','); // In case two values are passed...
@@ -355,12 +344,10 @@ RefPtr<SVGTransform> SVGAnimateTransformElement::parseTransformValue(const Depre
         case SVG_TRANSFORM_TRANSLATE:
         {
             double tx = 0.0, ty = 0.0;
-            if(commaPos != - 1)
-            {
+            if (commaPos != - 1) {
                 tx = parse.mid(0, commaPos).toDouble();
                 ty = parse.mid(commaPos + 1).toDouble();
-            }
-            else 
+            } else 
                 tx = parse.toDouble();
 
             parsedTransform->setTranslate(tx, ty);
@@ -369,13 +356,10 @@ RefPtr<SVGTransform> SVGAnimateTransformElement::parseTransformValue(const Depre
         case SVG_TRANSFORM_SCALE:
         {
             double sx = 1.0, sy = 1.0;
-            if(commaPos != - 1)
-            {
+            if (commaPos != - 1) {
                 sx = parse.mid(0, commaPos).toDouble();
                 sy = parse.mid(commaPos + 1).toDouble();
-            }
-            else
-            {
+            } else {
                 sx = parse.toDouble();
                 sy = sx;
             }
@@ -386,13 +370,11 @@ RefPtr<SVGTransform> SVGAnimateTransformElement::parseTransformValue(const Depre
         case SVG_TRANSFORM_ROTATE:
         {
             double angle = 0, cx = 0, cy = 0;
-            if(commaPos != - 1)
-            {
+            if (commaPos != - 1) {
                 angle = parse.mid(0, commaPos).toDouble(); // TODO: probably needs it's own 'angle' parser
     
                 int commaPosTwo = parse.find(',', commaPos + 1); // In case three values are passed...
-                if(commaPosTwo != -1)
-                {
+                if (commaPosTwo != -1) {
                     cx = parse.mid(commaPos + 1, commaPosTwo - commaPos - 1).toDouble();
                     cy = parse.mid(commaPosTwo + 1).toDouble();
                 }
@@ -407,13 +389,10 @@ RefPtr<SVGTransform> SVGAnimateTransformElement::parseTransformValue(const Depre
             //    the cx/cy values, while keeping this uber-optimized way of handling <animateTransform>!
             m_rotateSpecialCase = false;
             
-            if(angle == 0.0)
-            {
+            if (angle == 0.0) {
                 angle = angle + 1.0;
                 m_rotateSpecialCase = true;
-            }
-            else if(angle == 360.0)
-            {
+            } else if (angle == 360.0) {
                 angle = angle - 1.0;
                 m_rotateSpecialCase = true;
             }
@@ -426,7 +405,7 @@ RefPtr<SVGTransform> SVGAnimateTransformElement::parseTransformValue(const Depre
         {
             double angle = parse.toDouble(); // TODO: probably needs it's own 'angle' parser
             
-            if(m_type == SVG_TRANSFORM_SKEWX)
+            if (m_type == SVG_TRANSFORM_SKEWX)
                 parsedTransform->setSkewX(angle);
             else
                 parsedTransform->setSkewY(angle);
@@ -445,12 +424,12 @@ void SVGAnimateTransformElement::calculateRotationFromMatrix(const QWMatrix &mat
     double cosa = matrix.m11();
     double sina = -matrix.m21();
 
-    if(cosa != 1.0)
+    if (cosa != 1.0)
     {
         // Calculate the angle via magic ;)
         double temp = SVGAngle::todeg(asin(sina));
         angle = SVGAngle::todeg(acos(cosa));
-        if(temp < 0)
+        if (temp < 0)
             angle = 360.0 - angle;
         
         double res = (1 - cosa) + ((sina * sina) / (1 - cosa));
@@ -472,11 +451,11 @@ SVGMatrix *SVGAnimateTransformElement::initialMatrix() const
         return 0;
     SVGStyledTransformableElement *transform = static_cast<SVGStyledTransformableElement *>(targetElement());
     SVGTransformList *transformList = (transform ? transform->transform()->baseVal() : 0);
-    if(!transformList)
+    if (!transformList)
         return 0;
     
     RefPtr<SVGTransform> result = transformList->concatenate();
-    if(!result)
+    if (!result)
         return 0;
 
     SVGMatrix *ret = result->matrix();
@@ -490,6 +469,8 @@ SVGMatrix *SVGAnimateTransformElement::transformMatrix() const
     return m_transformMatrix.get();
 }
 
+}
+
 // vim:ts=4:noet
 #endif // SVG_SUPPORT
 
index 298bc2d..6ac987e 100644 (file)
@@ -35,7 +35,7 @@ namespace WebCore
     class SVGAnimateTransformElement : public SVGAnimationElement
     {
     public:
-        SVGAnimateTransformElement(const QualifiedName& tagName, Document *doc);
+        SVGAnimateTransformElement(const QualifiedName&, Document*);
         virtual ~SVGAnimateTransformElement();
 
         virtual void parseMappedAttribute(MappedAttribute *attr);
index c0de3a0..8214d57 100644 (file)
@@ -396,7 +396,7 @@ double SVGAnimationElement::parseClockValue(const DeprecatedString &data) const
 
 void SVGAnimationElement::closeRenderer()
 {
-    document()->accessSVGExtensions()->timeScheduler()->addTimer(this, lround(getStartTime()));
+    ownerSVGElement()->timeScheduler()->addTimer(this, lround(getStartTime()));
     SVGElement::closeRenderer();
 }
 
index c512e59..86eec46 100644 (file)
@@ -85,7 +85,7 @@ namespace WebCore
                                     public SVGExternalResourcesRequired
     {
     public:
-        SVGAnimationElement(const QualifiedName& tagName, Document *doc);
+        SVGAnimationElement(const QualifiedName&, Document*);
         virtual ~SVGAnimationElement();
 
         // 'SVGAnimationElement' functions
index 047f252..dd5d6ad 100644 (file)
@@ -38,7 +38,7 @@ namespace WebCore
                                  public SVGExternalResourcesRequired
     {
     public:
-        SVGCircleElement(const QualifiedName& tagName, Document *doc);
+        SVGCircleElement(const QualifiedName&, Document*);
         virtual ~SVGCircleElement();
         
         virtual bool isValid() const { return SVGTests::isValid(); }
index b1417d7..5be1921 100644 (file)
@@ -40,7 +40,7 @@ namespace WebCore
                                    public SVGExternalResourcesRequired
     {
     public:
-        SVGClipPathElement(const QualifiedName& tagName, Document *doc);
+        SVGClipPathElement(const QualifiedName&, Document*);
         virtual ~SVGClipPathElement();
         
         virtual bool isValid() const { return SVGTests::isValid(); }
index cbc7909..dcdb490 100644 (file)
 #include "SVGColor.h"
 
 #include "DeprecatedStringList.h"
-#include "RGBColor.h"
 #include "SVGDOMImplementation.h"
 #include "ksvg.h"
 
 namespace WebCore {
 
-SVGColor::SVGColor() : CSSValue()
+SVGColor::SVGColor()
+    : CSSValue()
+    , m_colorType(SVG_COLORTYPE_UNKNOWN)
 {
-    m_colorType = SVG_COLORTYPE_UNKNOWN;
 }
 
-SVGColor::SVGColor(StringImpl* rgbColor) : CSSValue()
+SVGColor::SVGColor(const String& rgbColor)
+    : CSSValue()
+    , m_colorType(SVG_COLORTYPE_RGBCOLOR)
 {
-    m_colorType = SVG_COLORTYPE_RGBCOLOR;
     setRGBColor(rgbColor);
 }
 
-SVGColor::SVGColor(unsigned short colorType) : CSSValue()
+SVGColor::SVGColor(unsigned short colorType)
+    : CSSValue()
+    , m_colorType(colorType)
 {
-    m_colorType = colorType;
 }
 
 SVGColor::~SVGColor()
@@ -56,9 +58,9 @@ unsigned short SVGColor::colorType() const
     return m_colorType;
 }
 
-RGBColor *SVGColor::rgbColor() const
+unsigned SVGColor::rgbColor() const
 {
-    return new RGBColor(m_qColor);
+    return m_color.rgb();
 }
 
 #if 0
@@ -215,12 +217,14 @@ static const Color cmap[] =
 };
 #endif
 
-void SVGColor::setRGBColor(StringImpl* rgbColor)
+void SVGColor::setRGBColor(const String& rgbColor, ExceptionCode& ec)
 {
     m_rgbColor = rgbColor;
 
-    if (m_rgbColor.isNull())
+    if (m_rgbColor.isNull()) {
+        ec = SVG_INVALID_VALUE_ERR;
         return;
+    }
 
     DeprecatedString parse = m_rgbColor.deprecatedString().stripWhiteSpace();
     if (parse.startsWith("rgb(")) {
@@ -231,37 +235,38 @@ void SVGColor::setRGBColor(StringImpl* rgbColor)
     
         if (r.contains("%")) {
             r = r.left(r.length() - 1);
-            r = DeprecatedString::number(int((double(255 * r.toDouble()) / 100.0)));
+            r = DeprecatedString::number(int(((255.0 * r.toDouble()) / 100.0)));
         }
 
         if (g.contains("%")) {
             g = g.left(g.length() - 1);
-            g = DeprecatedString::number(int((double(255 * g.toDouble()) / 100.0)));
+            g = DeprecatedString::number(int(((255.0 * g.toDouble()) / 100.0)));
         }
     
         if (b.contains("%")) {
             b = b.left(b.length() - 1);
-            b = DeprecatedString::number(int((double(255 * b.toDouble()) / 100.0)));
+            b = DeprecatedString::number(int(((255.0 * b.toDouble()) / 100.0)));
         }
 
-        m_qColor = Color(r.toInt(), g.toInt(), b.toInt());
+        m_color = Color(r.toInt(), g.toInt(), b.toInt());
     } else {
         String colorName = m_rgbColor.lower();
-        DeprecatedString name = colorName.deprecatedString();
 //        int col = WebCore::getValueID(name.ascii(), name.length());
 //        if (col == 0)
-            m_qColor = Color(name);
+            m_color = Color(colorName);
 //        else
-//            m_qColor = cmap[col - SVGCSS_VAL_ALICEBLUE];
+//            m_color = cmap[col - SVGCSS_VAL_ALICEBLUE];
     }
+    if (!m_color.isValid())
+        ec = SVG_INVALID_VALUE_ERR;
 }
 
-void SVGColor::setRGBColorICCColor(StringImpl* /* rgbColor */, StringImpl* /* iccColor */)
+void SVGColor::setRGBColorICCColor(const String& /* rgbColor */, const String& /* iccColor */, ExceptionCode& ec)
 {
     // TODO: implement me!
 }
 
-void SVGColor::setColor(unsigned short colorType, StringImpl* /* rgbColor */ , StringImpl* /* iccColor */)
+void SVGColor::setColor(unsigned short colorType, const String& /* rgbColor */ , const String& /* iccColor */, ExceptionCode& ec)
 {
     // TODO: implement me!
     m_colorType = colorType;
@@ -277,7 +282,7 @@ String SVGColor::cssText() const
 
 const Color& SVGColor::color() const
 {
-    return m_qColor;
+    return m_color;
 }
 
 }
index c955a80..48c47db 100644 (file)
 namespace WebCore
 {
     class RGBColor;
-    class StringImpl;
-
+    typedef int ExceptionCode;
+    
     class SVGColor : public CSSValue
     {
     public:
         SVGColor();
-        SVGColor(StringImpl* rgbColor);
+        SVGColor(const String& rgbColor);
         SVGColor(unsigned short colorType);
         virtual ~SVGColor();
+        
+        enum SVGColorType {
+            SVG_COLORTYPE_UNKNOWN                   = 0,
+            SVG_COLORTYPE_RGBCOLOR                  = 1,
+            SVG_COLORTYPE_RGBCOLOR_ICCCOLOR         = 2,
+            SVG_COLORTYPE_CURRENTCOLOR              = 3
+        };
 
         // 'SVGColor' functions
         unsigned short colorType() const;
 
-        RGBColor* rgbColor() const;
+        unsigned rgbColor() const;
 
-        void setRGBColor(StringImpl* rgbColor);
-        void setRGBColorICCColor(StringImpl* rgbColor, StringImpl* iccColor);
-        void setColor(unsigned short colorType, StringImpl* rgbColor, StringImpl* iccColor);
+        void setRGBColor(const String& rgbColor) { ExceptionCode ignored = 0; setRGBColor(rgbColor, ignored); }
+        void setRGBColor(const String& rgbColor, ExceptionCode&);
+        void setRGBColorICCColor(const String& rgbColor, const String& iccColor, ExceptionCode&);
+        void setColor(unsigned short colorType, const String& rgbColor, const String& iccColor, ExceptionCode&);
 
         virtual String cssText() const;
 
@@ -56,7 +64,7 @@ namespace WebCore
         const Color& color() const;
 
     private:
-        Color m_qColor;
+        Color m_color;
         unsigned short m_colorType;
         String m_rgbColor;
     };
diff --git a/WebCore/ksvg2/svg/SVGColor.idl b/WebCore/ksvg2/svg/SVGColor.idl
new file mode 100644 (file)
index 0000000..e869a34
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+    Copyright (C) 2004, 2005 Nikolas Zimmermann <wildfox@kde.org>
+                  2004, 2005 Rob Buis <buis@kde.org>
+    Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.
+
+    This file is part of the KDE project
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+    Boston, MA 02111-1307, USA.
+*/
+
+module svg {
+    interface SVGColor : css::CSSValue { 
+        // Color Types
+        const unsigned short SVG_COLORTYPE_UNKNOWN           = 0;
+        const unsigned short SVG_COLORTYPE_RGBCOLOR          = 1;
+        const unsigned short SVG_COLORTYPE_RGBCOLOR_ICCCOLOR = 2;
+        const unsigned short SVG_COLORTYPE_CURRENTCOLOR      = 3;
+        
+        readonly attribute unsigned short colorType;
+        readonly attribute css::RGBColor  rgbColor;
+        //readonly attribute SVGICCColor    iccColor;
+        
+        void    setRGBColor( in core::DOMString rgbColor )
+                        raises( SVGException );
+        void    setRGBColorICCColor( in core::DOMString rgbColor, in core::DOMString iccColor )
+                        raises( SVGException );
+        void    setColor( in unsigned short colorType, in core::DOMString rgbColor, in core::DOMString iccColor )
+                        raises( SVGException );
+    };
+};
index ec547e0..f26f5f8 100644 (file)
@@ -36,7 +36,7 @@ namespace WebCore
     class SVGComponentTransferFunctionElement : public SVGElement
     {
     public:
-        SVGComponentTransferFunctionElement(const QualifiedName& tagName, Document *doc);
+        SVGComponentTransferFunctionElement(const QualifiedName&, Document*);
         virtual ~SVGComponentTransferFunctionElement();
 
         // 'SVGComponentTransferFunctionElement' functions
index 9afaad3..01f346a 100644 (file)
@@ -43,7 +43,7 @@ namespace WebCore
                                  public CachedObjectClient
     {
     public:
-        SVGCursorElement(const QualifiedName& tagName, Document *doc);
+        SVGCursorElement(const QualifiedName&, Document*);
         virtual ~SVGCursorElement();
         
         virtual bool isValid() const { return SVGTests::isValid(); }
index 8a704ef..c1d828a 100644 (file)
@@ -37,7 +37,7 @@ namespace WebCore
                                public SVGExternalResourcesRequired
     {
     public:
-        SVGDefsElement(const QualifiedName& tagName, Document *doc);
+        SVGDefsElement(const QualifiedName&, Document*);
         virtual ~SVGDefsElement();
         
         virtual bool isValid() const { return SVGTests::isValid(); }
index d22977f..437abd5 100644 (file)
@@ -33,7 +33,7 @@ namespace WebCore
                                public SVGLangSpace
     {
     public:
-        SVGDescElement(const QualifiedName& tagName, Document *doc);
+        SVGDescElement(const QualifiedName&, Document*);
         virtual ~SVGDescElement();
 
         StringImpl *description() const;
similarity index 52%
rename from WebCore/WebCore+SVG/RGBColor.cpp
rename to WebCore/ksvg2/svg/SVGDocument.idl
index cd1ce45..2bf72ea 100644 (file)
@@ -1,6 +1,7 @@
 /*
     Copyright (C) 2004, 2005 Nikolas Zimmermann <wildfox@kde.org>
                   2004, 2005 Rob Buis <buis@kde.org>
+    Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.
 
     This file is part of the KDE project
 
     Boston, MA 02111-1307, USA.
 */
 
-#include "config.h"
-#if SVG_SUPPORT
-#include "RGBColor.h"
-#include "CSSPrimitiveValue.h"
-
-namespace WebCore {
-
-RGBColor::RGBColor(const RGBA32 &color)
-    : Shared<RGBColor>()
-    , m_color(color)
-{
-}
-
-RGBColor::RGBColor(const Color &color)
-    : Shared<RGBColor>()
-    , m_color(color)
-{
-}
-
-RGBColor::~RGBColor()
-{
-}
-
-CSSPrimitiveValue *RGBColor::red() const
-{
-    return new CSSPrimitiveValue(float(m_color.alpha() ? m_color.red() : 0), CSSPrimitiveValue::CSS_DIMENSION);
-}
-
-CSSPrimitiveValue *RGBColor::green() const
-{
-    return new CSSPrimitiveValue(float(m_color.alpha() ? m_color.green() : 0), CSSPrimitiveValue::CSS_DIMENSION);
-}
-
-CSSPrimitiveValue *RGBColor::blue() const
-{
-    return new CSSPrimitiveValue(float(m_color.alpha() ? m_color.blue() : 0), CSSPrimitiveValue::CSS_DIMENSION);
-}
-
-}
-
-// vim:ts=4:noet
-#endif // SVG_SUPPORT
-
+module svg {
+    interface SVGDocument : core::Document {
+        readonly attribute core::DOMString      title;
+        readonly attribute core::DOMString      referrer;
+        readonly attribute core::DOMString      domain;
+        readonly attribute core::DOMString      URL;
+        //readonly attribute SVGSVGElement      rootElement; // FIXME: SVGSVGElement is not yet generated due to dependencies.
+
+        // Overwrite the one in events::DocumentEvent
+        events::Event createEvent(in core::DOMString eventType)
+            raises(core::DOMException);
+    };
+};
index cbcdac5..0ca2953 100644 (file)
 #if SVG_SUPPORT
 #include "SVGElement.h"
 
+#include "Attr.h"
 #include "Document.h"
 #include "EventListener.h"
 #include "EventNames.h"
+#include "HTMLNames.h"
+#include "PlatformString.h"
 #include "SVGDOMImplementation.h"
+#include "SVGDocumentExtensions.h"
 #include "SVGNames.h"
 #include "SVGSVGElement.h"
-#include "HTMLNames.h"
+#include "XMLNames.h"
 #include "ksvg.h"
-#include "PlatformString.h"
-#include "Attr.h"
-#include "SVGDocumentExtensions.h"
 
 namespace WebCore {
 
 using namespace HTMLNames;
 using namespace EventNames;
 
-SVGElement::SVGElement(const QualifiedName& tagName, Document *doc) : StyledElement(tagName, doc), m_closed(false)
+SVGElement::SVGElement(const QualifiedName& tagName, Document* doc)
+    : StyledElement(tagName, doc)
+    , m_closed(false)
 {
 }
 
@@ -49,21 +52,40 @@ SVGElement::~SVGElement()
 {
 }
 
-bool SVGElement::isSupported(StringImpl *feature, StringImpl *version) const
+bool SVGElement::isSupported(StringImpl* feature, StringImpl* version) const
 {
-    if(SVGDOMImplementation::instance()->hasFeature(feature, version))
+    if (SVGDOMImplementation::instance()->hasFeature(feature, version))
         return true;
 
     return DOMImplementation::instance()->hasFeature(feature, version);
 }
 
-SVGSVGElement *SVGElement::ownerSVGElement() const
+String SVGElement::id() const
+{
+    return getAttribute(idAttr);
+}
+
+void SVGElement::setId(const String& value)
+{
+    setAttribute(idAttr, value);
+}
+
+String SVGElement::xmlbase() const
+{
+    return getAttribute(XMLNames::baseAttr);
+}
+
+void SVGElement::setXmlbase(const String& value)
+{
+    setAttribute(XMLNames::baseAttr, value);
+}
+
+SVGSVGElement* SVGElement::ownerSVGElement() const
 {
     Node *n = parentNode();
-    while(n)
-    {
-        if(n->nodeType() == ELEMENT_NODE && n->hasTagName(SVGNames::svgTag))
-            return static_cast<SVGSVGElement *>(n);
+    while(n) {
+        if (n->nodeType() == ELEMENT_NODE && n->hasTagName(SVGNames::svgTag))
+            return static_cast<SVGSVGElement*>(n);
 
         n = n->parentNode();
     }
@@ -71,13 +93,13 @@ SVGSVGElement *SVGElement::ownerSVGElement() const
     return 0;
 }
 
-SVGElement *SVGElement::viewportElement() const
+SVGElementSVGElement::viewportElement() const
 {
     Node *n = parentNode();
     while (n) {
         if (n->isElementNode() &&
             (n->hasTagName(SVGNames::svgTag) || n->hasTagName(SVGNames::imageTag) || n->hasTagName(SVGNames::symbolTag)))
-            return static_cast<SVGElement *>(n);
+            return static_cast<SVGElement*>(n);
 
         n = n->parentNode();
     }
@@ -87,7 +109,7 @@ SVGElement *SVGElement::viewportElement() const
 
 AtomicString SVGElement::tryGetAttribute(const String& name, AtomicString defaultVal) const
 {
-    if(hasAttribute(name))
+    if (hasAttribute(name))
         return getAttribute(name);
 
     return defaultVal;
@@ -95,7 +117,7 @@ AtomicString SVGElement::tryGetAttribute(const String& name, AtomicString defaul
 
 AtomicString SVGElement::tryGetAttributeNS(const String& namespaceURI, const String& localName, AtomicString defaultVal) const
 {
-    if(hasAttributeNS(namespaceURI, localName))
+    if (hasAttributeNS(namespaceURI, localName))
         return getAttributeNS(namespaceURI, localName);
 
     return defaultVal;
@@ -133,7 +155,7 @@ void SVGElement::parseMappedAttribute(MappedAttribute *attr)
 bool SVGElement::childShouldCreateRenderer(WebCore::Node *child) const
 {
     if (child->isSVGElement())
-        return static_cast<SVGElement *>(child)->isValid();
+        return static_cast<SVGElement*>(child)->isValid();
     return false;
 }
 
index 27459da..0ad2dd7 100644 (file)
@@ -37,13 +37,18 @@ namespace WebCore {
     class SVGElement : public StyledElement
     {
     public:
-        SVGElement(const QualifiedName& tagName, Document *doc);
+        SVGElement(const QualifiedName&, Document*);
         virtual ~SVGElement();
         virtual bool isSVGElement() const { return true; }
-        virtual bool isSupported(StringImpl *feature, StringImpl *version) const;
+        virtual bool isSupported(StringImpl* feature, StringImpl* version) const;
+        
+        String id() const;
+        void setId(const String&);
+        String xmlbase() const;
+        void setXmlbase(const String&);
 
-        SVGSVGElement *ownerSVGElement() const;
-        SVGElement *viewportElement() const;
+        SVGSVGElementownerSVGElement() const;
+        SVGElementviewportElement() const;
 
         // Helper methods that returns the attr value if attr is set, otherwise the default value.
         // It throws NO_MODIFICATION_ALLOWED_ERR if the element is read-only.
@@ -51,7 +56,7 @@ namespace WebCore {
         AtomicString tryGetAttributeNS(const String& namespaceURI, const String& localName, AtomicString defaultValue = AtomicString()) const;
 
         // Internal
-        virtual void parseMappedAttribute(MappedAttribute *attr);
+        virtual void parseMappedAttribute(MappedAttribute*);
 
         // To be implemented by any element which can establish new viewports...
         virtual DeprecatedString adjustViewportClipping() const { return DeprecatedString::null; }
diff --git a/WebCore/ksvg2/svg/SVGElement.idl b/WebCore/ksvg2/svg/SVGElement.idl
new file mode 100644 (file)
index 0000000..8991f1f
--- /dev/null
@@ -0,0 +1,33 @@
+/*
+    Copyright (C) 2004, 2005 Nikolas Zimmermann <wildfox@kde.org>
+                  2004, 2005 Rob Buis <buis@kde.org>
+    Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.
+
+    This file is part of the KDE project
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+    Boston, MA 02111-1307, USA.
+*/
+
+module svg {
+    interface [GenerateNativeConverter] SVGElement : core::Element {
+        attribute core::DOMString id
+            setter raises DOMException;
+        attribute core::DOMString xmlbase
+            setter raises DOMException;
+        readonly attribute SVGSVGElement ownerSVGElement;
+        readonly attribute SVGElement viewportElement;
+    };
+};
index c624534..613bb27 100644 (file)
@@ -38,7 +38,7 @@ namespace WebCore
                                   public SVGExternalResourcesRequired
     {
     public:
-        SVGEllipseElement(const QualifiedName& tagName, Document *doc);
+        SVGEllipseElement(const QualifiedName&, Document*);
         virtual ~SVGEllipseElement();
         
         virtual bool isValid() const { return SVGTests::isValid(); }
diff --git a/WebCore/ksvg2/svg/SVGEvent.idl b/WebCore/ksvg2/svg/SVGEvent.idl
new file mode 100644 (file)
index 0000000..d21fc84
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2004, 2005 Nikolas Zimmermann <wildfox@kde.org>
+ *               2004, 2005 Rob Buis <buis@kde.org>
+ * Copyright (C) 2006 Apple Computer, Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+module svg {
+  interface SVGEvent : events::Event {};
+};
index fef0425..002ea70 100644 (file)
@@ -35,7 +35,7 @@ namespace WebCore
     class SVGFEBlendElement : public SVGFilterPrimitiveStandardAttributes
     {
     public:
-        SVGFEBlendElement(const QualifiedName& tagName, Document *doc);
+        SVGFEBlendElement(const QualifiedName&, Document*);
         virtual ~SVGFEBlendElement();
 
         // 'SVGFEBlendElement' functions
index 2b78516..e5f9eca 100644 (file)
@@ -36,7 +36,7 @@ namespace WebCore
     class SVGFEColorMatrixElement : public SVGFilterPrimitiveStandardAttributes
     {
     public:
-        SVGFEColorMatrixElement(const QualifiedName& tagName, Document *doc);
+        SVGFEColorMatrixElement(const QualifiedName&, Document*);
         virtual ~SVGFEColorMatrixElement();
 
         // 'SVGFEColorMatrixElement' functions
index 1b711da..ebfc25d 100644 (file)
@@ -34,7 +34,7 @@ namespace WebCore
     class SVGFEComponentTransferElement : public SVGFilterPrimitiveStandardAttributes
     {
     public:
-        SVGFEComponentTransferElement(const QualifiedName& tagName, Document *doc);
+        SVGFEComponentTransferElement(const QualifiedName&, Document*);
         virtual ~SVGFEComponentTransferElement();
 
         // 'SVGFEComponentTransferElement' functions
index 0fc48c7..9b94efb 100644 (file)
@@ -36,7 +36,7 @@ namespace WebCore
     class SVGFECompositeElement : public SVGFilterPrimitiveStandardAttributes
     {
     public:
-        SVGFECompositeElement(const QualifiedName& tagName, Document *doc);
+        SVGFECompositeElement(const QualifiedName&, Document*);
         virtual ~SVGFECompositeElement();
 
         // 'SVGFECompositeElement' functions
index a6f4018..3ef982f 100644 (file)
@@ -34,7 +34,7 @@ namespace WebCore {
     class SVGFEDiffuseLightingElement : public SVGFilterPrimitiveStandardAttributes
     {
     public:
-        SVGFEDiffuseLightingElement(const QualifiedName& tagName, Document *doc);
+        SVGFEDiffuseLightingElement(const QualifiedName&, Document*);
         virtual ~SVGFEDiffuseLightingElement();
 
         // 'SVGFEDiffuseLightingElement' functions
index 09adb47..c8dae7d 100644 (file)
@@ -28,7 +28,7 @@ namespace WebCore
     class SVGFEDistantLightElement : public SVGFELightElement
     { 
     public:
-        SVGFEDistantLightElement(const QualifiedName& tagName, Document *doc);
+        SVGFEDistantLightElement(const QualifiedName&, Document*);
         virtual ~SVGFEDistantLightElement();
         virtual KCLightSource *lightSource() const;
     };
index 7ccc02a..991dbf6 100644 (file)
@@ -34,7 +34,7 @@ namespace WebCore
     class SVGFEFloodElement : public SVGFilterPrimitiveStandardAttributes
     {
     public:
-        SVGFEFloodElement(const QualifiedName& tagName, Document *doc);
+        SVGFEFloodElement(const QualifiedName&, Document*);
         virtual ~SVGFEFloodElement();
 
         // 'SVGFEFloodElement' functions
index b3405e8..e1b25aa 100644 (file)
@@ -31,7 +31,7 @@ namespace WebCore
     class SVGFEFuncAElement : public SVGComponentTransferFunctionElement
     {
     public:
-        SVGFEFuncAElement(const QualifiedName& tagName, Document *doc);
+        SVGFEFuncAElement(const QualifiedName&, Document*);
         virtual ~SVGFEFuncAElement();
     };
 };
index a20c297..9f906e4 100644 (file)
@@ -31,7 +31,7 @@ namespace WebCore
     class SVGFEFuncBElement : public SVGComponentTransferFunctionElement
     {
     public:
-        SVGFEFuncBElement(const QualifiedName& tagName, Document *doc);
+        SVGFEFuncBElement(const QualifiedName&, Document*);
         virtual ~SVGFEFuncBElement();
     };
 };
index ae45c3f..8ac56b2 100644 (file)
@@ -31,7 +31,7 @@ namespace WebCore
     class SVGFEFuncGElement : public SVGComponentTransferFunctionElement
     {
     public:
-        SVGFEFuncGElement(const QualifiedName& tagName, Document *doc);
+        SVGFEFuncGElement(const QualifiedName&, Document*);
         virtual ~SVGFEFuncGElement();
     };
 };
index 02dc010..6368699 100644 (file)
@@ -31,7 +31,7 @@ namespace WebCore
     class SVGFEFuncRElement : public SVGComponentTransferFunctionElement
     {
     public:
-        SVGFEFuncRElement(const QualifiedName& tagName, Document *doc);
+        SVGFEFuncRElement(const QualifiedName&, Document*);
         virtual ~SVGFEFuncRElement();
     };
 };
index 23e0f0c..1591daf 100644 (file)
@@ -35,7 +35,7 @@ namespace WebCore
     class SVGFEGaussianBlurElement : public SVGFilterPrimitiveStandardAttributes
     {
     public:
-        SVGFEGaussianBlurElement(const QualifiedName& tagName, Document *doc);
+        SVGFEGaussianBlurElement(const QualifiedName&, Document*);
         virtual ~SVGFEGaussianBlurElement();
 
         // 'SVGFEGaussianBlurElement' functions
index 17b2689..d60a8ab 100644 (file)
@@ -40,7 +40,7 @@ namespace WebCore {
                                   public CachedObjectClient
     {
     public:
-        SVGFEImageElement(const QualifiedName& tagName, Document *doc);
+        SVGFEImageElement(const QualifiedName&, Document*);
         virtual ~SVGFEImageElement();
 
         // 'SVGFEImageElement' functions
index 58758ef..f33596b 100644 (file)
@@ -35,7 +35,7 @@ namespace WebCore
     class SVGFELightElement : public SVGElement
     {
     public:
-        SVGFELightElement(const QualifiedName& tagName, Document *doc);
+        SVGFELightElement(const QualifiedName&, Document*);
         virtual ~SVGFELightElement();