Reviewed by Geoff.
authordarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 21 Mar 2006 01:15:36 +0000 (01:15 +0000)
committerdarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 21 Mar 2006 01:15:36 +0000 (01:15 +0000)
        - http://bugzilla.opendarwin.org/show_bug.cgi?id=7867
          get rid of macro hacks for DOM, KDOM, KSVG, khtml, DOMString, QString

        * config.h: Remove the defines for DOM, KDOM, KSVG, khtml, DOMString, QString,
        and qstring().

        * WebCore.xcodeproj/project.pbxproj: Pass in WebCore instead of KSVG as the
        namespace for SVG names.
        * ksvg2/scripts/make_names.pl: Made a couple changes to trick the SVG names into
        recompiling, since they are in a different namespace now.

        * ForwardingHeaders/kjs/identifier.h: Added.

        * dom/PlatformWheelEvent.idl: Removed.
        * dom/WheelEvent.idl: Added. This file was renamed by accident.

        * bindings/js/JSDOMCore.cpp:
        * bindings/js/JSDOMEvents.cpp:
        * bindings/js/JSDOMHTML.cpp:
        * dom/Attr.idl:
        * dom/CharacterData.idl:
        * dom/DOMImplementation.idl:
        * dom/DocumentType.idl:
        * dom/Element.idl:
        * dom/Entity.idl:
        * dom/MutationEvent.idl:
        * dom/Notation.idl:
        * dom/ProcessingInstruction.idl:
        * dom/Text.idl:
        * html/CanvasGradient.idl:
        * html/CanvasPattern.idl:
        * html/CanvasRenderingContext2D.idl:
        Touched, to get CodeGeneratorJS.pm changes to take effect.

        * css/CSSGrammar.y:
        * css/css_valueimpl.cpp: (WebCore::propertyID):
        Changed calls to get CSS property values to use an explicit SVG:: namespace,
        to match what the script writes out.

        * khtml/ecma/kjs_binding.h: Added forward declaration of WebCore::String.

        * ksvg2/scripts/cssmakeget rid of macro hacks for DOM, KDOM, KSVG, khtml, DOMString, QString
          props: Made this compile with warnings and strict turned on.
        Really just a trick to get properties to recompile, which turned out to be unneeded.
        * ksvg2/scripts/cssmakevalues: Ditto.

        * ksvg2/svg/SVGAElement.cpp:
        (SVGAElement::parseMappedAttribute):
        (SVGAElement::defaultEventHandler):
        * ksvg2/svg/SVGAnimateTransformElement.cpp:
        (SVGAnimateTransformElement::parseMappedAttribute):
        * ksvg2/svg/SVGAnimationElement.cpp:
        (SVGAnimationElement::parseMappedAttribute):
        * ksvg2/svg/SVGClipPathElement.cpp:
        (SVGClipPathElement::parseMappedAttribute):
        * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
        (SVGComponentTransferFunctionElement::parseMappedAttribute):
        * ksvg2/svg/SVGExternalResourcesRequired.cpp:
        (SVGExternalResourcesRequired::parseMappedAttribute):
        * ksvg2/svg/SVGFEBlendElement.cpp:
        (SVGFEBlendElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEColorMatrixElement.cpp:
        (SVGFEColorMatrixElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEComponentTransferElement.cpp:
        (SVGFEComponentTransferElement::parseMappedAttribute):
        * ksvg2/svg/SVGFECompositeElement.cpp:
        (SVGFECompositeElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
        (SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
        (SVGFEDisplacementMapElement::stringToChannel):
        (SVGFEDisplacementMapElement::parseMappedAttribute):
        (SVGFEDisplacementMapElement::filterEffect):
        * ksvg2/svg/SVGFEDisplacementMapElement.h:
        * ksvg2/svg/SVGFEFloodElement.cpp:
        (SVGFEFloodElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
        (SVGFEGaussianBlurElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEImageElement.cpp:
        (SVGFEImageElement::parseMappedAttribute):
        * ksvg2/svg/SVGFELightElement.cpp:
        (SVGFELightElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEMergeNodeElement.cpp:
        (SVGFEMergeNodeElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEOffsetElement.cpp:
        (SVGFEOffsetElement::parseMappedAttribute):
        * ksvg2/svg/SVGFESpecularLightingElement.cpp:
        (SVGFESpecularLightingElement::parseMappedAttribute):
        * ksvg2/svg/SVGFETileElement.cpp:
        (SVGFETileElement::parseMappedAttribute):
        * ksvg2/svg/SVGFETurbulenceElement.cpp:
        (SVGFETurbulenceElement::parseMappedAttribute):
        * ksvg2/svg/SVGFilterElement.cpp:
        (SVGFilterElement::parseMappedAttribute):
        * ksvg2/svg/SVGGradientElement.cpp:
        (SVGGradientElement::parseMappedAttribute):
        * ksvg2/svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::parseMappedAttribute):
        * ksvg2/svg/SVGPolyElement.cpp:
        (SVGPolyElement::parseMappedAttribute):
        * ksvg2/svg/SVGStopElement.cpp:
        (SVGStopElement::parseMappedAttribute):
        * ksvg2/svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::parseMappedAttribute):
        * ksvg2/svg/SVGTests.cpp:
        (WebCore::SVGTests::parseMappedAttribute):
        * ksvg2/svg/SVGTextContentElement.cpp:
        (SVGTextContentElement::parseMappedAttribute):
        * ksvg2/svg/SVGTextPositioningElement.cpp:
        (SVGTextPositioningElement::parseMappedAttribute):
        * ksvg2/svg/SVGViewElement.cpp:
        (SVGViewElement::parseMappedAttribute):
        * ksvg2/svg/SVGZoomAndPan.cpp:
        (SVGZoomAndPan::parseMappedAttribute):
        Changed code that converts an AtomicString to a String to do it in a
        more-efficient fashion that works even with all the new conversions.

        * page/Frame.cpp:
        (WebCore::getString): Removed unneeded .deprecatedString().
        (WebCore::Frame::begin): Removed the only use of QSTRING_NULL.

        * platform/AtomicString.h: Added conversion to and from KJS::Identifier
        and KJS::UString.
        * platform/AtomicString.cpp:
        (WebCore::AtomicString::add): Added overloads for Identifier and UString.
        (WebCore::AtomicString::operator Identifier): Added.
        (WebCore::AtomicString::operator UString): Added.

        * platform/DeprecatedString.h: Added conversion to and from KJS::Identifier
        and KJS::UString.
        * platform/DeprecatedString.cpp:
        (DeprecatedString::DeprecatedString): Added overloads for Identifier and UString.
        (DeprecatedString::operator Identifier): Added.
        (DeprecatedString::operator UString): Added.

        * platform/PlatformString.h: Added conversion to and from KJS::Identifier
        and KJS::UString.
        * platform/String.cpp:
        (WebCore::String::String): Added overloads for Identifier and UString.
        (WebCore::String::operator Identifier): Added.
        (WebCore::String::operator UString): Added.

        * platform/StringImpl.h: Added constructors that take KJS::Identifier
        and KJS::UString
        * platform/StringImpl.cpp:
        (WebCore::getWordBreakIterator): Changed a use of UChar to say ::UChar
        instead because of ambiguity with KJS::UChar.
        (WebCore::StringImpl::StringImpl): Added overloads for Identifier and String.

        * bindings/js/JSCanvasRenderingContext2DBase.cpp:
        (WebCore::JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction):
        (WebCore::toHTMLCanvasStyle):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/mac/WebCoreFrameBridge.mm:
        (aeDescFromJSValue):
        (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
        * dom/QualifiedName.cpp:
        (WebCore::QualifiedName::toString):
        * khtml/ecma/JSDOMParser.cpp:
        (KJS::DOMParserProtoFunc::callAsFunction):
        * khtml/ecma/JSXMLHttpRequest.cpp:
        (KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
        * khtml/ecma/JSXSLTProcessor.cpp:
        (KJS::XSLTProcessorProtoFunc::callAsFunction):
        * khtml/ecma/kjs_binding.cpp:
        (KJS::valueToStringWithNullCheck):
        * khtml/ecma/kjs_css.cpp:
        (KJS::cssPropertyName):
        (KJS::DOMCSSStyleDeclaration::put):
        (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
        (KJS::DOMStyleSheetList::nameGetter):
        (KJS::DOMStyleSheetList::getOwnPropertySlot):
        (KJS::DOMMediaList::put):
        (KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
        (KJS::DOMCSSStyleSheetProtoFunc::callAsFunction):
        (KJS::DOMCSSRule::putValueProperty):
        (KJS::DOMCSSRuleFunc::callAsFunction):
        (KJS::DOMCSSValue::put):
        (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction):
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNode::putValueProperty):
        (KJS::DOMNode::toString):
        (KJS::DOMNodeProtoFunc::callAsFunction):
        (KJS::DOMEventTargetNodeProtoFunc::callAsFunction):
        (KJS::DOMNodeList::nameGetter):
        (KJS::DOMNodeList::getOwnPropertySlot):
        (KJS::DOMDocument::putValueProperty):
        (KJS::DOMDocumentProtoFunc::callAsFunction):
        (KJS::DOMElement::attributeGetter):
        (KJS::DOMElement::getOwnPropertySlot):
        (KJS::DOMNamedNodeMap::nameGetter):
        (KJS::DOMNamedNodeMap::getOwnPropertySlot):
        (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
        (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
        * khtml/ecma/kjs_events.cpp:
        (KJS::JSAbstractEventListener::handleEvent):
        (KJS::DOMEvent::getValueProperty):
        (KJS::DOMEventProtoFunc::callAsFunction):
        (KJS::DOMUIEventProtoFunc::callAsFunction):
        (KJS::DOMMouseEventProtoFunc::callAsFunction):
        (KJS::DOMKeyboardEventProtoFunc::callAsFunction):
        (KJS::Clipboard::putValueProperty):
        (KJS::ClipboardProtoFunc::callAsFunction):
        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLDocFunction::callAsFunction):
        (KJS::JSHTMLDocument::namedItemGetter):
        (KJS::JSHTMLDocument::getOwnPropertySlot):
        (KJS::JSHTMLDocument::putValueProperty):
        (KJS::JSHTMLElement::framesetNameGetter):
        (KJS::JSHTMLElement::getOwnPropertySlot):
        (KJS::HTMLElementFunction::callAsFunction):
        (KJS::JSHTMLElement::putValueProperty):
        (KJS::JSHTMLCollection::callAsFunction):
        (KJS::JSHTMLCollection::getNamedItems):
        (KJS::HTMLCollectionProtoFunc::callAsFunction):
        (KJS::OptionConstructorImp::construct):
        * khtml/ecma/kjs_navigator.cpp:
        (KJS::Plugins::nameGetter):
        (KJS::Plugins::getOwnPropertySlot):
        (KJS::MimeTypes::nameGetter):
        (KJS::MimeTypes::getOwnPropertySlot):
        (KJS::Plugin::nameGetter):
        (KJS::Plugin::getOwnPropertySlot):
        * khtml/ecma/kjs_proxy.cpp:
        (WebCore::KJSProxy::evaluate):
        * khtml/ecma/kjs_range.cpp:
        (KJS::DOMRangeProtoFunc::callAsFunction):
        * khtml/ecma/kjs_views.cpp:
        (KJS::DOMAbstractViewProtoFunc::callAsFunction):
        * khtml/ecma/kjs_window.cpp:
        (KJS::parseModalDialogFeatures):
        (KJS::showModalDialog):
        (KJS::Window::childFrameGetter):
        (KJS::Window::namedFrameGetter):
        (KJS::Window::namedItemGetter):
        (KJS::Window::getOwnPropertySlot):
        (KJS::Window::put):
        (KJS::WindowFunc::callAsFunction):
        (KJS::ScheduledAction::execute):
        (KJS::Window::installTimeout):
        (KJS::FrameArray::nameGetter):
        (KJS::FrameArray::getOwnPropertySlot):
        (KJS::Location::put):
        (KJS::LocationFunc::callAsFunction):
        (KJS::SelectionFunc::callAsFunction):
        Removed explicit calls to domString(), sometimes replacing with explicit calls to the
        String() constructor. Other similar changes for AtomicString and DeprecatedString use.

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

86 files changed:
WebCore/ChangeLog
WebCore/ForwardingHeaders/kjs/identifier.h [new file with mode: 0644]
WebCore/WebCore.xcodeproj/project.pbxproj
WebCore/bindings/js/JSCanvasRenderingContext2DBase.cpp
WebCore/bindings/js/JSDOMCore.cpp
WebCore/bindings/js/JSDOMEvents.cpp
WebCore/bindings/js/JSDOMHTML.cpp
WebCore/bindings/scripts/CodeGeneratorJS.pm
WebCore/bridge/mac/WebCoreFrameBridge.mm
WebCore/config.h
WebCore/css/CSSGrammar.y
WebCore/css/css_valueimpl.cpp
WebCore/dom/Attr.idl
WebCore/dom/CharacterData.idl
WebCore/dom/DOMImplementation.idl
WebCore/dom/DocumentType.idl
WebCore/dom/Element.idl
WebCore/dom/Entity.idl
WebCore/dom/MutationEvent.idl
WebCore/dom/Notation.idl
WebCore/dom/ProcessingInstruction.idl
WebCore/dom/QualifiedName.cpp
WebCore/dom/Range.idl
WebCore/dom/Text.idl
WebCore/dom/WheelEvent.idl [moved from WebCore/dom/PlatformWheelEvent.idl with 99% similarity]
WebCore/html/CanvasGradient.idl
WebCore/html/CanvasPattern.idl
WebCore/html/CanvasRenderingContext2D.idl
WebCore/khtml/ecma/JSDOMParser.cpp
WebCore/khtml/ecma/JSXMLHttpRequest.cpp
WebCore/khtml/ecma/JSXSLTProcessor.cpp
WebCore/khtml/ecma/kjs_binding.cpp
WebCore/khtml/ecma/kjs_binding.h
WebCore/khtml/ecma/kjs_css.cpp
WebCore/khtml/ecma/kjs_dom.cpp
WebCore/khtml/ecma/kjs_events.cpp
WebCore/khtml/ecma/kjs_html.cpp
WebCore/khtml/ecma/kjs_navigator.cpp
WebCore/khtml/ecma/kjs_proxy.cpp
WebCore/khtml/ecma/kjs_views.cpp
WebCore/khtml/ecma/kjs_window.cpp
WebCore/ksvg2/scripts/cssmakeprops
WebCore/ksvg2/scripts/cssmakevalues
WebCore/ksvg2/scripts/make_names.pl
WebCore/ksvg2/svg/SVGAElement.cpp
WebCore/ksvg2/svg/SVGAnimateTransformElement.cpp
WebCore/ksvg2/svg/SVGAnimationElement.cpp
WebCore/ksvg2/svg/SVGClipPathElement.cpp
WebCore/ksvg2/svg/SVGComponentTransferFunctionElement.cpp
WebCore/ksvg2/svg/SVGExternalResourcesRequired.cpp
WebCore/ksvg2/svg/SVGFEBlendElement.cpp
WebCore/ksvg2/svg/SVGFEColorMatrixElement.cpp
WebCore/ksvg2/svg/SVGFEComponentTransferElement.cpp
WebCore/ksvg2/svg/SVGFECompositeElement.cpp
WebCore/ksvg2/svg/SVGFEDiffuseLightingElement.cpp
WebCore/ksvg2/svg/SVGFEDisplacementMapElement.cpp
WebCore/ksvg2/svg/SVGFEDisplacementMapElement.h
WebCore/ksvg2/svg/SVGFEFloodElement.cpp
WebCore/ksvg2/svg/SVGFEGaussianBlurElement.cpp
WebCore/ksvg2/svg/SVGFEImageElement.cpp
WebCore/ksvg2/svg/SVGFELightElement.cpp
WebCore/ksvg2/svg/SVGFEMergeNodeElement.cpp
WebCore/ksvg2/svg/SVGFEOffsetElement.cpp
WebCore/ksvg2/svg/SVGFESpecularLightingElement.cpp
WebCore/ksvg2/svg/SVGFETileElement.cpp
WebCore/ksvg2/svg/SVGFETurbulenceElement.cpp
WebCore/ksvg2/svg/SVGFilterElement.cpp
WebCore/ksvg2/svg/SVGGradientElement.cpp
WebCore/ksvg2/svg/SVGMaskElement.cpp
WebCore/ksvg2/svg/SVGPolyElement.cpp
WebCore/ksvg2/svg/SVGStopElement.cpp
WebCore/ksvg2/svg/SVGStyledElement.cpp
WebCore/ksvg2/svg/SVGTests.cpp
WebCore/ksvg2/svg/SVGTextContentElement.cpp
WebCore/ksvg2/svg/SVGTextPositioningElement.cpp
WebCore/ksvg2/svg/SVGViewElement.cpp
WebCore/ksvg2/svg/SVGZoomAndPan.cpp
WebCore/page/Frame.cpp
WebCore/platform/AtomicString.cpp
WebCore/platform/AtomicString.h
WebCore/platform/DeprecatedString.cpp
WebCore/platform/DeprecatedString.h
WebCore/platform/PlatformString.h
WebCore/platform/String.cpp
WebCore/platform/StringImpl.cpp
WebCore/platform/StringImpl.h

index 829b40c3258fbbe9334742f0024eba508da66f85..a508a09349a77d517631e3bd117f454d460321d7 100644 (file)
@@ -1,3 +1,256 @@
+2006-03-20  Darin Adler  <darin@apple.com>
+
+        Reviewed by Geoff.
+
+        - http://bugzilla.opendarwin.org/show_bug.cgi?id=7867
+          get rid of macro hacks for DOM, KDOM, KSVG, khtml, DOMString, QString
+
+        * config.h: Remove the defines for DOM, KDOM, KSVG, khtml, DOMString, QString,
+        and qstring().
+
+        * WebCore.xcodeproj/project.pbxproj: Pass in WebCore instead of KSVG as the
+        namespace for SVG names.
+        * ksvg2/scripts/make_names.pl: Made a couple changes to trick the SVG names into
+        recompiling, since they are in a different namespace now.
+
+        * ForwardingHeaders/kjs/identifier.h: Added.
+
+        * dom/PlatformWheelEvent.idl: Removed.
+        * dom/WheelEvent.idl: Added. This file was renamed by accident.
+
+        * bindings/js/JSDOMCore.cpp:
+        * bindings/js/JSDOMEvents.cpp:
+        * bindings/js/JSDOMHTML.cpp:
+        * dom/Attr.idl:
+        * dom/CharacterData.idl:
+        * dom/DOMImplementation.idl:
+        * dom/DocumentType.idl:
+        * dom/Element.idl:
+        * dom/Entity.idl:
+        * dom/MutationEvent.idl:
+        * dom/Notation.idl:
+        * dom/ProcessingInstruction.idl:
+        * dom/Text.idl:
+        * html/CanvasGradient.idl:
+        * html/CanvasPattern.idl:
+        * html/CanvasRenderingContext2D.idl:
+        Touched, to get CodeGeneratorJS.pm changes to take effect.
+        * css/CSSGrammar.y:
+        * css/css_valueimpl.cpp: (WebCore::propertyID):
+        Changed calls to get CSS property values to use an explicit SVG:: namespace,
+        to match what the script writes out.
+
+        * khtml/ecma/kjs_binding.h: Added forward declaration of WebCore::String.
+
+        * ksvg2/scripts/cssmakeget rid of macro hacks for DOM, KDOM, KSVG, khtml, DOMString, QString
+          props: Made this compile with warnings and strict turned on.
+        Really just a trick to get properties to recompile, which turned out to be unneeded.
+        * ksvg2/scripts/cssmakevalues: Ditto.
+
+        * ksvg2/svg/SVGAElement.cpp:
+        (SVGAElement::parseMappedAttribute):
+        (SVGAElement::defaultEventHandler):
+        * ksvg2/svg/SVGAnimateTransformElement.cpp:
+        (SVGAnimateTransformElement::parseMappedAttribute):
+        * ksvg2/svg/SVGAnimationElement.cpp:
+        (SVGAnimationElement::parseMappedAttribute):
+        * ksvg2/svg/SVGClipPathElement.cpp:
+        (SVGClipPathElement::parseMappedAttribute):
+        * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
+        (SVGComponentTransferFunctionElement::parseMappedAttribute):
+        * ksvg2/svg/SVGExternalResourcesRequired.cpp:
+        (SVGExternalResourcesRequired::parseMappedAttribute):
+        * ksvg2/svg/SVGFEBlendElement.cpp:
+        (SVGFEBlendElement::parseMappedAttribute):
+        * ksvg2/svg/SVGFEColorMatrixElement.cpp:
+        (SVGFEColorMatrixElement::parseMappedAttribute):
+        * ksvg2/svg/SVGFEComponentTransferElement.cpp:
+        (SVGFEComponentTransferElement::parseMappedAttribute):
+        * ksvg2/svg/SVGFECompositeElement.cpp:
+        (SVGFECompositeElement::parseMappedAttribute):
+        * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
+        (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
+        * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
+        (SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
+        (SVGFEDisplacementMapElement::stringToChannel):
+        (SVGFEDisplacementMapElement::parseMappedAttribute):
+        (SVGFEDisplacementMapElement::filterEffect):
+        * ksvg2/svg/SVGFEDisplacementMapElement.h:
+        * ksvg2/svg/SVGFEFloodElement.cpp:
+        (SVGFEFloodElement::parseMappedAttribute):
+        * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
+        (SVGFEGaussianBlurElement::parseMappedAttribute):
+        * ksvg2/svg/SVGFEImageElement.cpp:
+        (SVGFEImageElement::parseMappedAttribute):
+        * ksvg2/svg/SVGFELightElement.cpp:
+        (SVGFELightElement::parseMappedAttribute):
+        * ksvg2/svg/SVGFEMergeNodeElement.cpp:
+        (SVGFEMergeNodeElement::parseMappedAttribute):
+        * ksvg2/svg/SVGFEOffsetElement.cpp:
+        (SVGFEOffsetElement::parseMappedAttribute):
+        * ksvg2/svg/SVGFESpecularLightingElement.cpp:
+        (SVGFESpecularLightingElement::parseMappedAttribute):
+        * ksvg2/svg/SVGFETileElement.cpp:
+        (SVGFETileElement::parseMappedAttribute):
+        * ksvg2/svg/SVGFETurbulenceElement.cpp:
+        (SVGFETurbulenceElement::parseMappedAttribute):
+        * ksvg2/svg/SVGFilterElement.cpp:
+        (SVGFilterElement::parseMappedAttribute):
+        * ksvg2/svg/SVGGradientElement.cpp:
+        (SVGGradientElement::parseMappedAttribute):
+        * ksvg2/svg/SVGMaskElement.cpp:
+        (WebCore::SVGMaskElement::parseMappedAttribute):
+        * ksvg2/svg/SVGPolyElement.cpp:
+        (SVGPolyElement::parseMappedAttribute):
+        * ksvg2/svg/SVGStopElement.cpp:
+        (SVGStopElement::parseMappedAttribute):
+        * ksvg2/svg/SVGStyledElement.cpp:
+        (WebCore::SVGStyledElement::parseMappedAttribute):
+        * ksvg2/svg/SVGTests.cpp:
+        (WebCore::SVGTests::parseMappedAttribute):
+        * ksvg2/svg/SVGTextContentElement.cpp:
+        (SVGTextContentElement::parseMappedAttribute):
+        * ksvg2/svg/SVGTextPositioningElement.cpp:
+        (SVGTextPositioningElement::parseMappedAttribute):
+        * ksvg2/svg/SVGViewElement.cpp:
+        (SVGViewElement::parseMappedAttribute):
+        * ksvg2/svg/SVGZoomAndPan.cpp:
+        (SVGZoomAndPan::parseMappedAttribute):
+        Changed code that converts an AtomicString to a String to do it in a
+        more-efficient fashion that works even with all the new conversions.
+
+        * page/Frame.cpp:
+        (WebCore::getString): Removed unneeded .deprecatedString().
+        (WebCore::Frame::begin): Removed the only use of QSTRING_NULL.
+
+        * platform/AtomicString.h: Added conversion to and from KJS::Identifier
+        and KJS::UString.
+        * platform/AtomicString.cpp:
+        (WebCore::AtomicString::add): Added overloads for Identifier and UString.
+        (WebCore::AtomicString::operator Identifier): Added.
+        (WebCore::AtomicString::operator UString): Added.
+
+        * platform/DeprecatedString.h: Added conversion to and from KJS::Identifier
+        and KJS::UString.
+        * platform/DeprecatedString.cpp:
+        (DeprecatedString::DeprecatedString): Added overloads for Identifier and UString.
+        (DeprecatedString::operator Identifier): Added.
+        (DeprecatedString::operator UString): Added.
+
+        * platform/PlatformString.h: Added conversion to and from KJS::Identifier
+        and KJS::UString.
+        * platform/String.cpp:
+        (WebCore::String::String): Added overloads for Identifier and UString.
+        (WebCore::String::operator Identifier): Added.
+        (WebCore::String::operator UString): Added.
+
+        * platform/StringImpl.h: Added constructors that take KJS::Identifier
+        and KJS::UString
+        * platform/StringImpl.cpp:
+        (WebCore::getWordBreakIterator): Changed a use of UChar to say ::UChar
+        instead because of ambiguity with KJS::UChar.
+        (WebCore::StringImpl::StringImpl): Added overloads for Identifier and String.
+
+        * bindings/js/JSCanvasRenderingContext2DBase.cpp:
+        (WebCore::JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction):
+        (WebCore::toHTMLCanvasStyle):
+        * bindings/scripts/CodeGeneratorJS.pm:
+        * bridge/mac/WebCoreFrameBridge.mm:
+        (aeDescFromJSValue):
+        (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
+        * dom/QualifiedName.cpp:
+        (WebCore::QualifiedName::toString):
+        * khtml/ecma/JSDOMParser.cpp:
+        (KJS::DOMParserProtoFunc::callAsFunction):
+        * khtml/ecma/JSXMLHttpRequest.cpp:
+        (KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
+        * khtml/ecma/JSXSLTProcessor.cpp:
+        (KJS::XSLTProcessorProtoFunc::callAsFunction):
+        * khtml/ecma/kjs_binding.cpp:
+        (KJS::valueToStringWithNullCheck):
+        * khtml/ecma/kjs_css.cpp:
+        (KJS::cssPropertyName):
+        (KJS::DOMCSSStyleDeclaration::put):
+        (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
+        (KJS::DOMStyleSheetList::nameGetter):
+        (KJS::DOMStyleSheetList::getOwnPropertySlot):
+        (KJS::DOMMediaList::put):
+        (KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
+        (KJS::DOMCSSStyleSheetProtoFunc::callAsFunction):
+        (KJS::DOMCSSRule::putValueProperty):
+        (KJS::DOMCSSRuleFunc::callAsFunction):
+        (KJS::DOMCSSValue::put):
+        (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction):
+        * khtml/ecma/kjs_dom.cpp:
+        (KJS::DOMNode::putValueProperty):
+        (KJS::DOMNode::toString):
+        (KJS::DOMNodeProtoFunc::callAsFunction):
+        (KJS::DOMEventTargetNodeProtoFunc::callAsFunction):
+        (KJS::DOMNodeList::nameGetter):
+        (KJS::DOMNodeList::getOwnPropertySlot):
+        (KJS::DOMDocument::putValueProperty):
+        (KJS::DOMDocumentProtoFunc::callAsFunction):
+        (KJS::DOMElement::attributeGetter):
+        (KJS::DOMElement::getOwnPropertySlot):
+        (KJS::DOMNamedNodeMap::nameGetter):
+        (KJS::DOMNamedNodeMap::getOwnPropertySlot):
+        (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
+        (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
+        * khtml/ecma/kjs_events.cpp:
+        (KJS::JSAbstractEventListener::handleEvent):
+        (KJS::DOMEvent::getValueProperty):
+        (KJS::DOMEventProtoFunc::callAsFunction):
+        (KJS::DOMUIEventProtoFunc::callAsFunction):
+        (KJS::DOMMouseEventProtoFunc::callAsFunction):
+        (KJS::DOMKeyboardEventProtoFunc::callAsFunction):
+        (KJS::Clipboard::putValueProperty):
+        (KJS::ClipboardProtoFunc::callAsFunction):
+        * khtml/ecma/kjs_html.cpp:
+        (KJS::HTMLDocFunction::callAsFunction):
+        (KJS::JSHTMLDocument::namedItemGetter):
+        (KJS::JSHTMLDocument::getOwnPropertySlot):
+        (KJS::JSHTMLDocument::putValueProperty):
+        (KJS::JSHTMLElement::framesetNameGetter):
+        (KJS::JSHTMLElement::getOwnPropertySlot):
+        (KJS::HTMLElementFunction::callAsFunction):
+        (KJS::JSHTMLElement::putValueProperty):
+        (KJS::JSHTMLCollection::callAsFunction):
+        (KJS::JSHTMLCollection::getNamedItems):
+        (KJS::HTMLCollectionProtoFunc::callAsFunction):
+        (KJS::OptionConstructorImp::construct):
+        * khtml/ecma/kjs_navigator.cpp:
+        (KJS::Plugins::nameGetter):
+        (KJS::Plugins::getOwnPropertySlot):
+        (KJS::MimeTypes::nameGetter):
+        (KJS::MimeTypes::getOwnPropertySlot):
+        (KJS::Plugin::nameGetter):
+        (KJS::Plugin::getOwnPropertySlot):
+        * khtml/ecma/kjs_proxy.cpp:
+        (WebCore::KJSProxy::evaluate):
+        * khtml/ecma/kjs_range.cpp:
+        (KJS::DOMRangeProtoFunc::callAsFunction):
+        * khtml/ecma/kjs_views.cpp:
+        (KJS::DOMAbstractViewProtoFunc::callAsFunction):
+        * khtml/ecma/kjs_window.cpp:
+        (KJS::parseModalDialogFeatures):
+        (KJS::showModalDialog):
+        (KJS::Window::childFrameGetter):
+        (KJS::Window::namedFrameGetter):
+        (KJS::Window::namedItemGetter):
+        (KJS::Window::getOwnPropertySlot):
+        (KJS::Window::put):
+        (KJS::WindowFunc::callAsFunction):
+        (KJS::ScheduledAction::execute):
+        (KJS::Window::installTimeout):
+        (KJS::FrameArray::nameGetter):
+        (KJS::FrameArray::getOwnPropertySlot):
+        (KJS::Location::put):
+        (KJS::LocationFunc::callAsFunction):
+        (KJS::SelectionFunc::callAsFunction):
+        Removed explicit calls to domString(), sometimes replacing with explicit calls to the
+        String() constructor. Other similar changes for AtomicString and DeprecatedString use.
+
 2006-03-20  Eric Seidel  <eseidel@apple.com>
 
         Reviewed by darin.
diff --git a/WebCore/ForwardingHeaders/kjs/identifier.h b/WebCore/ForwardingHeaders/kjs/identifier.h
new file mode 100644 (file)
index 0000000..2471c99
--- /dev/null
@@ -0,0 +1 @@
+#include <JavaScriptCore/identifier.h>
index 70967e11c75e89c1ac5c5c5a0293635de08bdd5d..d2321a0d688de56b5a8ad980dd541ddd799df4e0 100644 (file)
                93EEC20609C2877700C515D1 /* Notation.idl in Resources */ = {isa = PBXBuildFile; fileRef = 93EEC1F409C2877700C515D1 /* Notation.idl */; };
                93EEC20709C2877700C515D1 /* ProcessingInstruction.idl in Resources */ = {isa = PBXBuildFile; fileRef = 93EEC1F509C2877700C515D1 /* ProcessingInstruction.idl */; };
                93EEC20809C2877700C515D1 /* Text.idl in Resources */ = {isa = PBXBuildFile; fileRef = 93EEC1F609C2877700C515D1 /* Text.idl */; };
-               93EEC20909C2877700C515D1 /* PlatformWheelEvent.idl in Resources */ = {isa = PBXBuildFile; fileRef = 93EEC1F709C2877700C515D1 /* PlatformWheelEvent.idl */; };
+               93EEC20909C2877700C515D1 /* WheelEvent.idl in Resources */ = {isa = PBXBuildFile; fileRef = 93EEC1F709C2877700C515D1 /* WheelEvent.idl */; };
                93EEC26F09C3218000C515D1 /* CanvasPattern.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93EEC26E09C3218000C515D1 /* CanvasPattern.cpp */; };
                93EEC27109C3218800C515D1 /* CanvasStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93EEC27009C3218800C515D1 /* CanvasStyle.cpp */; };
                93F198CE08245E59001E9ABC /* kjs_binding.h in Headers */ = {isa = PBXBuildFile; fileRef = F523D1F502DE4369018635CA /* kjs_binding.h */; };
                93EEC1F409C2877700C515D1 /* Notation.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Notation.idl; sourceTree = "<group>"; };
                93EEC1F509C2877700C515D1 /* ProcessingInstruction.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ProcessingInstruction.idl; sourceTree = "<group>"; };
                93EEC1F609C2877700C515D1 /* Text.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Text.idl; sourceTree = "<group>"; };
-               93EEC1F709C2877700C515D1 /* PlatformWheelEvent.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = PlatformWheelEvent.idl; sourceTree = "<group>"; };
+               93EEC1F709C2877700C515D1 /* WheelEvent.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WheelEvent.idl; sourceTree = "<group>"; };
                93EEC26E09C3218000C515D1 /* CanvasPattern.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CanvasPattern.cpp; sourceTree = "<group>"; };
                93EEC27009C3218800C515D1 /* CanvasStyle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CanvasStyle.cpp; sourceTree = "<group>"; };
                93F19B1908245E59001E9ABC /* Info.plist */ = {isa = PBXFileReference; indentWidth = 4; lastKnownFileType = text.xml; path = Info.plist; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                                A81872160977D3C0005826D9 /* NodeList.cpp */,
                                A81872100977D3C0005826D9 /* NodeList.h */,
                                93EEC1F409C2877700C515D1 /* Notation.idl */,
-                               93EEC1F709C2877700C515D1 /* PlatformWheelEvent.idl */,
                                BE91FC8C06133666005E3790 /* Position.cpp */,
                                BE91FC8B06133666005E3790 /* Position.h */,
                                93EEC1F509C2877700C515D1 /* ProcessingInstruction.idl */,
                                6550B69B099DF0270090D781 /* Text.cpp */,
                                6550B69C099DF0270090D781 /* Text.h */,
                                93EEC1F609C2877700C515D1 /* Text.idl */,
+                               93EEC1F709C2877700C515D1 /* WheelEvent.idl */,
                                F523D30902DE4476018635CA /* xml_tokenizer.cpp */,
                                F523D30A02DE4476018635CA /* xml_tokenizer.h */,
                        );
                                93EEC20609C2877700C515D1 /* Notation.idl in Resources */,
                                93EEC20709C2877700C515D1 /* ProcessingInstruction.idl in Resources */,
                                93EEC20809C2877700C515D1 /* Text.idl in Resources */,
-                               93EEC20909C2877700C515D1 /* PlatformWheelEvent.idl in Resources */,
+                               93EEC20909C2877700C515D1 /* WheelEvent.idl in Resources */,
                                930CAAD709C495B600229C04 /* CanvasRenderingContext2D.idl in Resources */,
                                930CAB8909C49EFA00229C04 /* CanvasGradient.idl in Resources */,
                                930CAB9009C49F1B00229C04 /* CanvasPattern.idl in Resources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
-                       shellScript = "ksvg2/scripts/make_names.pl --tags ksvg2/svg/svgtags.in --attrs ksvg2/svg/svgattrs.in \\\n    --namespace SVG --cppNamespace KSVG --namespaceURI \"http://www.w3.org/2000/svg\" \\\n    --factory --attrsNullNamespace --output \"$DERIVED_FILE_DIR\"\ntouch WebCore+SVG/SVGNamesWrapper.cpp\ntouch WebCore+SVG/SVGElementFactoryWrapper.cpp\n";
+                       shellScript = "ksvg2/scripts/make_names.pl --tags ksvg2/svg/svgtags.in --attrs ksvg2/svg/svgattrs.in \\\n    --namespace SVG --cppNamespace WebCore --namespaceURI \"http://www.w3.org/2000/svg\" \\\n    --factory --attrsNullNamespace --output \"$DERIVED_FILE_DIR\"\ntouch WebCore+SVG/SVGNamesWrapper.cpp\ntouch WebCore+SVG/SVGElementFactoryWrapper.cpp\n";
                };
                A88AD52509524A34001DD196 /* XLinkNames */ = {
                        isa = PBXShellScriptBuildPhase;
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
-                       shellScript = "ksvg2/scripts/make_names.pl --attrs ksvg2/misc/xlinkattrs.in --namespace XLink --cppNamespace DOM --namespaceURI \"http://www.w3.org/1999/xlink\" --output \"$DERIVED_FILE_DIR\"\ntouch WebCore+SVG/XLinkNamesWrapper.cpp";
+                       shellScript = "ksvg2/scripts/make_names.pl --attrs ksvg2/misc/xlinkattrs.in --namespace XLink --cppNamespace WebCore --namespaceURI \"http://www.w3.org/1999/xlink\" --output \"$DERIVED_FILE_DIR\"\ntouch WebCore+SVG/XLinkNamesWrapper.cpp";
                };
                A88AD52909524A4A001DD196 /* ksvgcssproperties.c/h */ = {
                        isa = PBXShellScriptBuildPhase;
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
-                       shellScript = "echo \"First checking for duplicate CSSPropertyNames between html and SVG...\"\ncat css/CSSPropertyNames.in ksvg2/css/CSSPropertyNames.in | sort | uniq -c | grep -v 1 | awk '{print $2;}' | grep -E '^[^#]'\nif [ $? -eq 0 ]; then\n\techo \"Duplicate property!\";\n\texit 1;\nfi\n\ncat ksvg2/css/CSSPropertyNames.in > \"$DERIVED_FILE_DIR/ksvgcssproperties.in\"\ncd \"$DERIVED_FILE_DIR\"\n\"$SRCROOT/ksvg2/scripts/cssmakeprops\" -n KSVG -f ksvgcssproperties.in";
+                       shellScript = "cat css/CSSPropertyNames.in ksvg2/css/CSSPropertyNames.in | sort | uniq -c | grep -v 1 | awk '{print $2;}' | grep -E '^[^#]'\nif [ $? -eq 0 ]; then\n\techo \"Duplicate property!\";\n\texit 1;\nfi\n\ncat ksvg2/css/CSSPropertyNames.in > \"$DERIVED_FILE_DIR/ksvgcssproperties.in\"\ncd \"$DERIVED_FILE_DIR\"\n\"$SRCROOT/ksvg2/scripts/cssmakeprops\" -n SVG -f ksvgcssproperties.in\n";
                };
                A88AD52B09524A52001DD196 /* ksvgcssvalues.c/h */ = {
                        isa = PBXShellScriptBuildPhase;
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
-                       shellScript = "echo \"First checking for duplicate CSSValueKeywords between html and SVG...\"\ncat css/CSSValueKeywords.in ksvg2/css/CSSValueKeywords.in | sort | uniq -c | grep -v 1 | awk '{print $2;}' | grep -E '^[^#]'\nif [ $? -eq 0 ]; then\n\techo \"Duplicate value!\";\n\texit 1;\nfi\n\n# Lower case all the values, as CSS values are case-insensitive\ncat ksvg2/css/CSSValueKeywords.in | perl -pe '$_ = lc;' > \"$DERIVED_FILE_DIR/ksvgcssvalues.in\"\ncd \"$DERIVED_FILE_DIR\"\n\"$SRCROOT/ksvg2/scripts/cssmakevalues\" -n KSVG -f ksvgcssvalues.in";
+                       shellScript = "cat css/CSSValueKeywords.in ksvg2/css/CSSValueKeywords.in | sort | uniq -c | grep -v 1 | awk '{print $2;}' | grep -E '^[^#]'\nif [ $? -eq 0 ]; then\n\techo \"Duplicate value!\";\n\texit 1;\nfi\n\n# Lower case all the values, as CSS values are case-insensitive\ncat ksvg2/css/CSSValueKeywords.in | perl -pe '$_ = lc;' > \"$DERIVED_FILE_DIR/ksvgcssvalues.in\"\ncd \"$DERIVED_FILE_DIR\"\n\"$SRCROOT/ksvg2/scripts/cssmakevalues\" -n SVG -f ksvgcssvalues.in\n";
                };
 /* End PBXShellScriptBuildPhase section */
 
index 4350110e8db3fc034259191c24d3e6b0281043e2..a88462e90ae782b4982a2669c580a4ad1033e2bf 100644 (file)
@@ -72,13 +72,13 @@ JSValue* JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction(ExecState* exec
             switch (args.size()) {
                 case 1:
                     if (args[0]->isString())
-                        context->setStrokeColor(args[0]->toString(exec).domString());
+                        context->setStrokeColor(args[0]->toString(exec));
                     else
                         context->setStrokeColor(args[0]->toNumber(exec));
                     break;
                 case 2:
                     if (args[0]->isString())
-                        context->setStrokeColor(args[0]->toString(exec).domString(), args[1]->toNumber(exec));
+                        context->setStrokeColor(args[0]->toString(exec), args[1]->toNumber(exec));
                     else
                         context->setStrokeColor(args[0]->toNumber(exec), args[1]->toNumber(exec));
                     break;
@@ -104,13 +104,13 @@ JSValue* JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction(ExecState* exec
             switch (args.size()) {
                 case 1:
                     if (args[0]->isString())
-                        context->setFillColor(args[0]->toString(exec).domString());
+                        context->setFillColor(args[0]->toString(exec));
                     else
                         context->setFillColor(args[0]->toNumber(exec));
                     break;
                 case 2:
                     if (args[0]->isString())
-                        context->setFillColor(args[0]->toString(exec).domString(), args[1]->toNumber(exec));
+                        context->setFillColor(args[0]->toString(exec), args[1]->toNumber(exec));
                     else
                         context->setFillColor(args[0]->toNumber(exec), args[1]->toNumber(exec));
                     break;
@@ -143,7 +143,7 @@ JSValue* JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction(ExecState* exec
                 case 4:
                     if (args[3]->isString())
                         context->setShadow(args[0]->toNumber(exec), args[1]->toNumber(exec),
-                            args[2]->toNumber(exec), args[3]->toString(exec).domString());
+                            args[2]->toNumber(exec), args[3]->toString(exec));
                     else
                         context->setShadow(args[0]->toNumber(exec), args[1]->toNumber(exec),
                             args[2]->toNumber(exec), args[3]->toNumber(exec));
@@ -151,7 +151,7 @@ JSValue* JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction(ExecState* exec
                 case 5:
                     if (args[3]->isString())
                         context->setShadow(args[0]->toNumber(exec), args[1]->toNumber(exec),
-                            args[2]->toNumber(exec), args[3]->toString(exec).domString(),
+                            args[2]->toNumber(exec), args[3]->toString(exec),
                             args[4]->toNumber(exec));
                     else
                         context->setShadow(args[0]->toNumber(exec), args[1]->toNumber(exec),
@@ -217,7 +217,7 @@ JSValue* JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction(ExecState* exec
                 args[3]->toNumber(exec), args[4]->toNumber(exec),
                 args[5]->toNumber(exec), args[6]->toNumber(exec),
                 args[7]->toNumber(exec), args[8]->toNumber(exec),
-                args[9]->toString(exec).domString());
+                args[9]->toString(exec));
             break;
         }
         case JSCanvasRenderingContext2DBase::CreatePattern:
@@ -228,7 +228,7 @@ JSValue* JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction(ExecState* exec
                 return throwError(exec, TypeError);
             return toJS(exec,
                 context->createPattern(static_cast<HTMLImageElement*>(static_cast<JSHTMLElement*>(args[0])->impl()),
-                args[1]->toString(exec).domString()).get());
+                args[1]->toString(exec)).get());
     }
 
     return jsUndefined();
@@ -254,7 +254,7 @@ static JSValue* toJS(ExecState* exec, CanvasStyle* style)
 static PassRefPtr<CanvasStyle> toHTMLCanvasStyle(ExecState* exec, JSValue* value)
 {
     if (value->isString())
-        return new CanvasStyle(value->toString(exec).domString());
+        return new CanvasStyle(value->toString(exec));
     if (!value->isObject())
         return 0;
     JSObject* object = static_cast<JSObject*>(value);
index 75a74e77ca7ab8900a347946999f2b4ec2329db0..efafeed650e8e4f8fe63c44b5a234dd0e59c97ba 100644 (file)
@@ -1,6 +1,6 @@
 #include "config.h"
 
-// The files below are all generated by a script.
+// The files below are generated by a script.
 
 #include "JSAttr.cpp"
 #include "JSCharacterData.cpp"
index 2036d5eab3aebd970f74d4de308e6556331507d2..bb93a30077f4f255484df2ed8cf69e59e8eb29c2 100644 (file)
@@ -1,6 +1,6 @@
 #include "config.h"
 
-// The files below are all generated by a script.
+// The files below are generated by a script.
 
 #include "JSMutationEvent.cpp"
 #include "JSWheelEvent.cpp"
index 95057b9aad8e2964c3a7289f75fe16d1f9841ae6..3334fff8ef8c0d0fcf75d26f7f6c7bd03eca6251 100644 (file)
@@ -1,6 +1,6 @@
 #include "config.h"
 
-// The files below are all generated by a script.
+// The files below are generated by a script.
 
 #include "JSCanvasGradient.cpp"
 #include "JSCanvasPattern.cpp"
index 7a099bb4b42eb8fe7e19d0b48596d772f721d076..5e23842fd58f8471882c7ba9037e8e6fa7f7034e 100644 (file)
@@ -771,12 +771,12 @@ sub JSValueToNative
   } elsif ($type eq "float") {
     return "$value->toNumber(exec)";
   } elsif ($type eq "AtomicString") {
-    return "AtomicString($value->toString(exec).domString())";
+    return "$value->toString(exec)";
   } elsif ($type eq "DOMString") {
     if ($signature->extendedAttributes->{"ConvertNullToNullString"}) {
       return "valueToStringWithNullCheck(exec, $value)";
     } else {
-      return "$value->toString(exec).domString()";
+      return "$value->toString(exec)";
     }
   } elsif ($type eq "views::AbstractView") {
     $implIncludes{"kjs_views.h"} = 1;
index a38c60a61328ca9dc30221fa6d2ec6843ac61dd4..e3ca68a323a35f80bc9ca2796683d1ff5e5a34ae 100644 (file)
@@ -197,7 +197,7 @@ static NSAppleEventDescriptor* aeDescFromJSValue(ExecState* exec, JSValue* jsVal
             aeDesc = [NSAppleEventDescriptor descriptorWithBoolean:jsValue->getBoolean()];
             break;
         case StringType:
-            aeDesc = [NSAppleEventDescriptor descriptorWithString:jsValue->getString().domString()];
+            aeDesc = [NSAppleEventDescriptor descriptorWithString:String(jsValue->getString())];
             break;
         case NumberType: {
             Float64 value = jsValue->getNumber();
@@ -1301,7 +1301,7 @@ static HTMLFormElement *formElementFromDOMElement(DOMElement *element)
     if (!result || !result->isString())
         return 0;
     JSLock lock;
-    return result->getString().domString();
+    return String(result->getString());
 }
 
 - (NSAppleEventDescriptor *)aeDescByEvaluatingJavaScriptFromString:(NSString *)string
index 8e0c6e8fa2f75c3a25abac8282d1ebdcaa61b558..deb3c1abcbf313ad168f89685b872352880afed7 100644 (file)
 #define KHTML_NO_XBL 1
 #define KHTML_XSLT 1
 
-// Temporary defines to help the namespace merging and platform projects.
-#define DOM WebCore
-#define KDOM WebCore
-#define KSVG WebCore
-#define khtml WebCore
-#define DOMString String
-#define QString DeprecatedString
-#define qstring() deprecatedString()
-
 #if __APPLE__
 #define HAVE_FUNC_USLEEP 1
 #endif
index 989fd312b6f029e4f4d33f68eba8e8fb78971688..75b3627d9517650070badb3e09a9274b90ed0bfa 100644 (file)
@@ -831,7 +831,7 @@ property:
         $$ = getPropertyID( str.lower().latin1(), str.length() );
 #if SVG_SUPPORT
       if ($$ == 0)
-          $$ = getSVGCSSPropertyID(str.lower().latin1(), str.length());
+          $$ = SVG::getSVGCSSPropertyID(str.lower().latin1(), str.length());
 #endif
     }
   ;
@@ -887,7 +887,7 @@ term:
       $$.id = getValueID( str.lower().latin1(), str.length() );
 #if SVG_SUPPORT
       if ($$.id == 0)
-          $$.id = getSVGCSSValueID(str.lower().latin1(), str.length());
+          $$.id = SVG::getSVGCSSValueID(str.lower().latin1(), str.length());
 #endif
       $$.unit = CSSPrimitiveValue::CSS_IDENT;
       $$.string = $1;
index 1babd9c13dd234b3b53be5d78e072f1e1ac76d11..2c3ce47eaf8102a583f49f8d49a07f70fad683f3 100644 (file)
@@ -71,7 +71,7 @@ static int propertyID(const String &s)
     int id = getPropertyID(buffer, len);
 #if SVG_SUPPORT
     if (id == 0)
-        id = getSVGCSSPropertyID(buffer, len);
+        id = SVG::getSVGCSSPropertyID(buffer, len);
 #endif
     return id;
 }
index cfece6c0875a2b78f76646fe78cdba8a6c3d50fd..cfb14d3df2e5f7e186c44267f389a6032189180c 100644 (file)
@@ -38,3 +38,4 @@ module core {
     };
 
 }
+
index d2e9c8e119e34c33a8d49d0c8a472d53771138af..d4fee2ccbf0169febf691a80fd6d14c572e1f3ff 100644 (file)
@@ -49,3 +49,4 @@ module core {
     };
 
 }
+
index a58cfa12a2ecf0b07bf4264bb8558705b59216ff..1abdf6540088a442ac66363a3a7f5280ed3020d6 100644 (file)
@@ -49,3 +49,4 @@ module core {
     };
 
 }
+
index 5d7516a2da4e0921f9d2798fbd7b657292ea5314..1c1dd386fe663895d4ad88ffafa212f31b723839 100644 (file)
@@ -36,3 +36,4 @@ module core {
     };
 
 }
+
index 8c71e6be0fe498e6b25af17f5bfd75d26ef2befd..54a52a4d5e5e4c9d3473020b251e6606e89e1d39 100644 (file)
@@ -82,3 +82,4 @@ module core {
     };
 
 }
+
index 13d418d07c3b4d8ce2f9f9bbcdc282c5a66ac8c6..56f247583f104f46d4f9297f525d4adcb6fb5b31 100644 (file)
@@ -26,3 +26,4 @@ module core {
     };
 
 }
+
index fd27ac01e3ff0d4818d6b67be514b86fe0408270..b688b6766f73d91312e711ef2bf9999743b306c0 100644 (file)
@@ -45,3 +45,4 @@ module events {
     };
 
 }
+
index f2129a6faaed06adb157f10419ba59e694614cdd..85858c69aae5a766839f548f65d8b9df9552592c 100644 (file)
@@ -25,3 +25,4 @@ module core {
     };
 
 }
+
index 0107216e8de9aea2ee9c81ec2a20035b8dd7ce99..8a9f1c4398afef9664a095c0e8d01f740b070c57 100644 (file)
@@ -34,3 +34,4 @@ module core {
     };
 
 }
+
index 6d2f49a01b8799e31223d62dd35c9762737cb97d..87f0eee518ab6b2ec88f3cf2193e5b544546d7ae 100644 (file)
@@ -167,7 +167,7 @@ String QualifiedName::toString() const
 {
     String local = localName();
     if (hasPrefix())
-        return String(prefix()) + ":" + local;
+        return prefix() + ":" + local;
     return local;
 }
 
index 320ad4721b11ea6aa3d15322749d1298fc44469e..e4158367cb19de8b6f4003e982b4648bea240948 100644 (file)
@@ -87,3 +87,4 @@ module ranges {
     };
 
 }
+
index d48f801eec9833893ee6ee96b7e9b03167f1a4f6..4b29e090fb6e3778e9daa8b783fae4c6f7dd0f46 100644 (file)
@@ -29,3 +29,4 @@ module core {
     };
 
 }
+
similarity index 99%
rename from WebCore/dom/PlatformWheelEvent.idl
rename to WebCore/dom/WheelEvent.idl
index 65d0298ca7501cb74a9e71645520ef55fef101b5..7055d1328b10d9f2d5cf1f13b6ca0a7e62da265b 100644 (file)
@@ -39,3 +39,4 @@ module events {
     };
 
 }
+
index 2d00e9718122372a07d0f439cc793038c4c2b317..8f29b2a2546dec3ba627a816e0797ba4b4a94c4b 100644 (file)
@@ -26,3 +26,4 @@ module html {
     };
 
 }
+
index 2e836ade20566503261aa9547d9711824f8a9ede..e1e9d1a8a4cf7b7ddc5933c97f6d9518d4354634 100644 (file)
@@ -24,3 +24,4 @@ module html {
     };
 
 }
+
index c5696f3cef4990389ea2fda291873e13d4d50780..7cf8e2861dd146c18787f1552eb96ee50d025a2e 100644 (file)
@@ -79,3 +79,4 @@ module html {
     };
 
 }
+
index ade558b3137c06de05a950935eeac50bc5c61ea5..095f617c04b7f2b07f0ba033339d7731600680fd 100644 (file)
@@ -83,8 +83,8 @@ JSValue *DOMParserProtoFunc::callAsFunction(ExecState *exec, JSObject *thisObj,
         if (args.size() != 2)
             return jsUndefined();
 
-      DeprecatedString str = args[0]->toString(exec).deprecatedString();
-      DeprecatedString contentType = args[1]->toString(exec).deprecatedString().stripWhiteSpace();
+      DeprecatedString str = args[0]->toString(exec);
+      DeprecatedString contentType = DeprecatedString(args[1]->toString(exec)).stripWhiteSpace();
 
       if (DOMImplementation::isXMLMIMEType(contentType)) {
         RefPtr<Document> doc = parser->doc->implementation()->createDocument();
index 1871b364a5f9855ff72dd9b88790489680059344..588a319bce00eeed9c15c8c76a26d0b37a01ef0b 100644 (file)
@@ -184,14 +184,14 @@ JSValue* JSXMLHttpRequestProtoFunc::callAsFunction(ExecState *exec, JSObject* th
   case JSXMLHttpRequest::GetResponseHeader:
     if (args.size() != 1)
       return jsUndefined();
-    return jsStringOrUndefined(request->m_impl->getResponseHeader(args[0]->toString(exec).domString()));
+    return jsStringOrUndefined(request->m_impl->getResponseHeader(args[0]->toString(exec)));
   case JSXMLHttpRequest::Open:
     {
       if (args.size() < 2 || args.size() > 5)
         return jsUndefined();
     
-      String method = args[0]->toString(exec).domString();
-      KURL url = KURL(Window::retrieveActive(exec)->frame()->document()->completeURL(args[1]->toString(exec).deprecatedString()));
+      String method = args[0]->toString(exec);
+      KURL url = KURL(Window::retrieveActive(exec)->frame()->document()->completeURL(DeprecatedString(args[1]->toString(exec))));
 
       bool async = true;
       if (args.size() >= 3)
@@ -199,11 +199,11 @@ JSValue* JSXMLHttpRequestProtoFunc::callAsFunction(ExecState *exec, JSObject* th
     
       String user;
       if (args.size() >= 4)
-        user = args[3]->toString(exec).domString();
+        user = args[3]->toString(exec);
       
       String password;
       if (args.size() >= 5)
-        password = args[4]->toString(exec).domString();
+        password = args[4]->toString(exec);
 
       request->m_impl->open(method, url, async, user, password);
 
@@ -225,7 +225,7 @@ JSValue* JSXMLHttpRequestProtoFunc::callAsFunction(ExecState *exec, JSObject* th
           if (exec->hadException())
             exec->clearException();
           else
-            body = args[0]->toString(exec).domString();
+            body = args[0]->toString(exec);
         }
       }
 
@@ -236,12 +236,12 @@ JSValue* JSXMLHttpRequestProtoFunc::callAsFunction(ExecState *exec, JSObject* th
   case JSXMLHttpRequest::SetRequestHeader:
     if (args.size() != 2)
       return jsUndefined();
-    request->m_impl->setRequestHeader(args[0]->toString(exec).domString(), args[1]->toString(exec).domString());
+    request->m_impl->setRequestHeader(args[0]->toString(exec), args[1]->toString(exec));
     return jsUndefined();
   case JSXMLHttpRequest::OverrideMIMEType:
     if (args.size() != 1)
       return jsUndefined();
-    request->m_impl->overrideMIMEType(args[0]->toString(exec).domString());
+    request->m_impl->overrideMIMEType(args[0]->toString(exec));
     return jsUndefined();
   }
 
index eb232b827a37898bcf0db176ba7d5733573477a6..d34f35b0077460a78d6a1ca7d80904dc6014ec6f 100644 (file)
@@ -113,9 +113,9 @@ JSValue *XSLTProcessorProtoFunc::callAsFunction(ExecState *exec, JSObject *thisO
         {
             if (args[1]->isUndefinedOrNull() || args[2]->isUndefinedOrNull())
                 return jsUndefined(); // Throw exception?
-            String namespaceURI = args[0]->toString(exec).domString();
-            String localName = args[1]->toString(exec).domString();
-            String value = args[2]->toString(exec).domString();
+            String namespaceURI = args[0]->toString(exec);
+            String localName = args[1]->toString(exec);
+            String value = args[2]->toString(exec);
             processor.setParameter(namespaceURI.impl(), localName.impl(), value.impl());
             return jsUndefined();
         }
@@ -123,8 +123,8 @@ JSValue *XSLTProcessorProtoFunc::callAsFunction(ExecState *exec, JSObject *thisO
         {
             if (args[1]->isUndefinedOrNull())
                 return jsUndefined();
-            String namespaceURI = args[0]->toString(exec).domString();
-            String localName = args[1]->toString(exec).domString();
+            String namespaceURI = args[0]->toString(exec);
+            String localName = args[1]->toString(exec);
             StringImpl *value = processor.getParameter(namespaceURI.impl(), localName.impl()).get();
             if (value)
                 return jsString(UString(String(value)));
@@ -134,8 +134,8 @@ JSValue *XSLTProcessorProtoFunc::callAsFunction(ExecState *exec, JSObject *thisO
         {
             if (args[1]->isUndefinedOrNull())
                 return jsUndefined();
-            String namespaceURI = args[0]->toString(exec).domString();
-            String localName = args[1]->toString(exec).domString();
+            String namespaceURI = args[0]->toString(exec);
+            String localName = args[1]->toString(exec);
             processor.removeParameter(namespaceURI.impl(), localName.impl());
             return jsUndefined();
         }
index 2fe8dd1c55139d36a8d40d7770f73d9608861a01..f2a5b84ca1b8a7a63b61dd8f280b93f914d82470 100644 (file)
@@ -28,8 +28,9 @@
 
 #include "EventNames.h"
 #include "Frame.h"
-#include "dom2_eventsimpl.h"
+#include "PlatformString.h"
 #include "Range.h"
+#include "dom2_eventsimpl.h"
 #include "kjs_dom.h"
 #include "kjs_window.h"
 #include <kjs/collector.h>
@@ -233,73 +234,6 @@ void *ScriptInterpreter::createLanguageInstanceForValue (ExecState *exec, int la
 
 //////
 
-UString::UString(const DeprecatedString &d)
-{
-  // reinterpret_cast is ugly but in this case safe, since QChar and UChar have the same memory layout
-  m_rep = UString::Rep::createCopying(reinterpret_cast<const UChar *>(d.unicode()), d.length());
-}
-
-UString::UString(const String &d)
-{
-  if (d.isNull()) {
-    m_rep = &Rep::null;
-    return;
-  }
-  // reinterpret_cast is ugly but in this case safe, since QChar and UChar have the same memory layout
-  m_rep = UString::Rep::createCopying(reinterpret_cast<const UChar *>(d.unicode()), d.length());
-}
-
-UString::UString(const AtomicString &d)
-{
-  if (d.isNull()) {
-    m_rep = &Rep::null;
-    return;
-  }
-  // reinterpret_cast is ugly but in this case safe, since QChar and UChar have the same memory layout
-  m_rep = UString::Rep::createCopying(reinterpret_cast<const UChar *>(d.domString().unicode()), d.domString().length());
-}
-
-String UString::domString() const
-{
-  if (isNull())
-    return String();
-  if (isEmpty())
-    return "";
-  return String((QChar*) data(), size());
-}
-
-DeprecatedString UString::deprecatedString() const
-{
-  if (isNull())
-    return DeprecatedString();
-  if (isEmpty())
-    return "";
-  return DeprecatedString((QChar*) data(), size());
-}
-
-QConstString UString::qconststring() const
-{
-  return QConstString((QChar*) data(), size());
-}
-
-String Identifier::domString() const
-{
-  if (isNull())
-    return String();
-  if (isEmpty())
-    return "";
-  return String((QChar*) data(), size());
-}
-
-DeprecatedString Identifier::deprecatedString() const
-{
-  if (isNull())
-    return DeprecatedString();
-  if (isEmpty())
-    return "";
-  return DeprecatedString((QChar*) data(), size());
-}
-
 JSValue *jsStringOrNull(const String &s)
 {
     if (s.isNull())
@@ -318,7 +252,7 @@ String valueToStringWithNullCheck(ExecState *exec, JSValue *val)
 {
     if (val->isNull())
         return String();
-    return val->toString(exec).domString();
+    return val->toString(exec);
 }
 
 static const char * const exceptionNames[] = {
index 20caafa6ff444887b97d5551fe3d8c0a08ca7081..59e3b6f6e1a1a55dd710a9a2fc4f9c3cfc862de7 100644 (file)
@@ -34,6 +34,7 @@ namespace WebCore {
     class Event;
     class Frame;
     class Node;
+    class String;
 
     typedef int ExceptionCode;
 }
index e32997e47d015e9e1fc971ffda6e8539b13e6d7c..590fb826a51f19d9f58f64b6970f1156499de826 100644 (file)
@@ -42,7 +42,7 @@ namespace KJS {
 
 static String cssPropertyName(const Identifier &p, bool *hadPixelOrPosPrefix = 0)
 {
-    DeprecatedString prop = p.deprecatedString();
+    DeprecatedString prop = p;
 
     int i = prop.length();
     while (--i) {
@@ -182,17 +182,17 @@ JSValue *DOMCSSStyleDeclaration::getValueProperty(ExecState *exec, int token)
 void DOMCSSStyleDeclaration::put(ExecState *exec, const Identifier &propertyName, JSValue *value, int attr )
 {
 #ifdef KJS_VERBOSE
-  kdDebug(6070) << "DOMCSSStyleDeclaration::put " << propertyName.deprecatedString() << endl;
+  kdDebug(6070) << "DOMCSSStyleDeclaration::put " << propertyName << endl;
 #endif
   DOMExceptionTranslator exception(exec);
   CSSStyleDeclaration &styleDecl = *m_impl;
   if (propertyName == "cssText") {
-    styleDecl.setCssText(value->toString(exec).domString(), exception);
+    styleDecl.setCssText(value->toString(exec), exception);
   } else {
     if (isCSSPropertyName(propertyName)) {
       bool pixelOrPos;
       String prop = cssPropertyName(propertyName, &pixelOrPos);
-      String propvalue = value->toString(exec).domString();
+      String propvalue = value->toString(exec);
       if (pixelOrPos)
        propvalue += "px";
 #ifdef KJS_VERBOSE
@@ -223,7 +223,7 @@ JSValue *DOMCSSStyleDeclarationProtoFunc::callAsFunction(ExecState *exec, JSObje
   DOMExceptionTranslator exception(exec);
   CSSStyleDeclaration &styleDecl = *static_cast<DOMCSSStyleDeclaration *>(thisObj)->impl();
   UString str = args[0]->toString(exec);
-  WebCore::String s = str.domString();
+  WebCore::String s = str;
 
   switch (id) {
     case DOMCSSStyleDeclaration::GetPropertyValue:
@@ -239,7 +239,7 @@ JSValue *DOMCSSStyleDeclarationProtoFunc::callAsFunction(ExecState *exec, JSObje
     case DOMCSSStyleDeclaration::IsPropertyImplicit:
       return jsBoolean(styleDecl.isPropertyImplicit(s));
     case DOMCSSStyleDeclaration::SetProperty:
-      styleDecl.setProperty(s, args[1]->toString(exec).domString(), args[2]->toString(exec).domString(), exception);
+      styleDecl.setProperty(s, args[1]->toString(exec), args[2]->toString(exec), exception);
       return jsUndefined();
     case DOMCSSStyleDeclaration::Item:
       return jsStringOrNull(styleDecl.item(args[0]->toInt32(exec)));
@@ -364,7 +364,7 @@ JSValue *DOMStyleSheetList::indexGetter(ExecState *exec, JSObject *originalObjec
 JSValue *DOMStyleSheetList::nameGetter(ExecState *exec, JSObject *originalObject, const Identifier& propertyName, const PropertySlot& slot)
 {
   DOMStyleSheetList *thisObj = static_cast<DOMStyleSheetList *>(slot.slotBase());
-  Element *element = thisObj->m_doc->getElementById(propertyName.domString().impl());
+  Element *element = thisObj->m_doc->getElementById(propertyName);
   return toJS(exec, static_cast<HTMLStyleElement *>(element)->sheet());
 }
 
@@ -398,7 +398,7 @@ bool DOMStyleSheetList::getOwnPropertySlot(ExecState *exec, const Identifier& pr
   // ### Bad implementation because returns a single element (are IDs always unique?)
   // and doesn't look for name attribute (see implementation above).
   // But unicity of stylesheet ids is good practice anyway ;)
-  Element *element = m_doc->getElementById(propertyName.domString().impl());
+  Element *element = m_doc->getElementById(propertyName);
   if (element && element->hasTagName(styleTag)) {
     slot.setCustom(this, nameGetter);
     return true;
@@ -504,7 +504,7 @@ void DOMMediaList::put(ExecState *exec, const Identifier &propertyName, JSValue
 {
   MediaList &mediaList = *m_impl;
   if (propertyName == "mediaText")
-    mediaList.setMediaText(value->toString(exec).domString());
+    mediaList.setMediaText(value->toString(exec));
   else
     DOMObject::put(exec, propertyName, value, attr);
 }
@@ -523,10 +523,10 @@ JSValue *KJS::DOMMediaListProtoFunc::callAsFunction(ExecState *exec, JSObject *t
     case DOMMediaList::Item:
       return jsStringOrNull(mediaList.item(args[0]->toInt32(exec)));
     case DOMMediaList::DeleteMedium:
-      mediaList.deleteMedium(args[0]->toString(exec).domString());
+      mediaList.deleteMedium(args[0]->toString(exec));
       return jsUndefined();
     case DOMMediaList::AppendMedium:
-      mediaList.appendMedium(args[0]->toString(exec).domString());
+      mediaList.appendMedium(args[0]->toString(exec));
       return jsUndefined();
     default:
       return jsUndefined();
@@ -593,13 +593,13 @@ JSValue *DOMCSSStyleSheetProtoFunc::callAsFunction(ExecState *exec, JSObject *th
   CSSStyleSheet &styleSheet = *static_cast<CSSStyleSheet *>(static_cast<DOMCSSStyleSheet *>(thisObj)->impl());
   switch (id) {
     case DOMCSSStyleSheet::InsertRule:
-      return jsNumber(styleSheet.insertRule(args[0]->toString(exec).domString(), args[1]->toInt32(exec), exception));
+      return jsNumber(styleSheet.insertRule(args[0]->toString(exec), args[1]->toInt32(exec), exception));
     case DOMCSSStyleSheet::DeleteRule:
       styleSheet.deleteRule(args[0]->toInt32(exec), exception);
       return jsUndefined();
     case DOMCSSStyleSheet::AddRule: {
       int index = args.size() >= 3 ? args[2]->toInt32(exec) : -1;
-      styleSheet.addRule(args[0]->toString(exec).domString(), args[1]->toString(exec).domString(), index, exception);
+      styleSheet.addRule(args[0]->toString(exec), args[1]->toString(exec), index, exception);
       // As per Microsoft documentation, always return -1.
       return jsNumber(-1);
     }
@@ -848,17 +848,17 @@ void DOMCSSRule::putValueProperty(ExecState *exec, int token, JSValue *value, in
   switch (token) {
   // for STYLE_RULE:
   case Style_SelectorText:
-    static_cast<CSSStyleRule *>(m_impl.get())->setSelectorText(value->toString(exec).domString());
+    static_cast<CSSStyleRule *>(m_impl.get())->setSelectorText(value->toString(exec));
     return;
 
   // for PAGE_RULE:
   case Page_SelectorText:
-    static_cast<CSSPageRule *>(m_impl.get())->setSelectorText(value->toString(exec).domString());
+    static_cast<CSSPageRule *>(m_impl.get())->setSelectorText(value->toString(exec));
     return;
 
   // for CHARSET_RULE:
   case Charset_Encoding:
-    static_cast<CSSCharsetRule *>(m_impl.get())->setEncoding(value->toString(exec).domString());
+    static_cast<CSSCharsetRule *>(m_impl.get())->setEncoding(value->toString(exec));
     return;
   }
 }
@@ -872,7 +872,7 @@ JSValue *DOMCSSRuleFunc::callAsFunction(ExecState *exec, JSObject *thisObj, cons
   if (cssRule.type() == WebCore::MEDIA_RULE) {
     CSSMediaRule &rule = static_cast<CSSMediaRule &>(cssRule);
     if (id == DOMCSSRule::Media_InsertRule)
-      return jsNumber(rule.insertRule(args[0]->toString(exec).domString(), args[1]->toInt32(exec)));
+      return jsNumber(rule.insertRule(args[0]->toString(exec), args[1]->toInt32(exec)));
     else if (id == DOMCSSRule::Media_DeleteRule)
       rule.deleteRule(args[0]->toInt32(exec));
   }
@@ -969,7 +969,7 @@ void DOMCSSValue::put(ExecState *exec, const Identifier &propertyName, JSValue *
 {
   CSSValue &cssValue = *m_impl;
   if (propertyName == "cssText")
-    cssValue.setCssText(value->toString(exec).domString());
+    cssValue.setCssText(value->toString(exec));
   else
     DOMObject::put(exec, propertyName, value, attr);
 }
@@ -1081,7 +1081,7 @@ JSValue *DOMCSSPrimitiveValueProtoFunc::callAsFunction(ExecState *exec, JSObject
     case DOMCSSPrimitiveValue::GetFloatValue:
       return jsNumber(val.getFloatValue(args[0]->toInt32(exec)));
     case DOMCSSPrimitiveValue::SetStringValue:
-      val.setStringValue(args[0]->toInt32(exec), args[1]->toString(exec).domString(), exception);
+      val.setStringValue(args[0]->toInt32(exec), args[1]->toString(exec), exception);
       return jsUndefined();
     case DOMCSSPrimitiveValue::GetStringValue:
       return jsStringOrNull(val.getStringValue());
index 0b723bab469ce93a30a5d924143b53bb9742cb17..f2f642093c5637fba5b1a9cb3901d55d98965988 100644 (file)
@@ -249,10 +249,10 @@ void DOMNode::putValueProperty(ExecState *exec, int token, JSValue *value, int /
   Node &node = *m_impl;
   switch (token) {
   case NodeValue:
-    node.setNodeValue(value->toString(exec).domString(), exception);
+    node.setNodeValue(value->toString(exec), exception);
     break;
   case Prefix:
-    node.setPrefix(value->toString(exec).domString().impl(), exception);
+    node.setPrefix(value->toString(exec), exception);
     break;
   case TextContent:
     node.setTextContent(valueToStringWithNullCheck(exec, value), exception);
@@ -272,7 +272,7 @@ UString DOMNode::toString(ExecState *) const
 {
   if (!m_impl)
     return "null";
-  return "[object " + (m_impl->isElementNode() ? m_impl->nodeName() : className()) + "]";
+  return "[object " + (m_impl->isElementNode() ? UString(m_impl->nodeName()) : className()) + "]";
 }
 
 JSValue *DOMNodeProtoFunc::callAsFunction(ExecState *exec, JSObject *thisObj, const List &args)
@@ -292,7 +292,7 @@ JSValue *DOMNodeProtoFunc::callAsFunction(ExecState *exec, JSObject *thisObj, co
       node.normalize();
       return jsUndefined();
     case DOMNode::IsSupported:
-        return jsBoolean(node.isSupported(args[0]->toString(exec).domString(),
+        return jsBoolean(node.isSupported(args[0]->toString(exec),
                                           valueToStringWithNullCheck(exec, args[1])));
     case DOMNode::IsSameNode:
         return jsBoolean(node.isSameNode(toNode(args[0])));
@@ -678,13 +678,13 @@ JSValue *DOMEventTargetNodeProtoFunc::callAsFunction(ExecState *exec, JSObject *
         case DOMEventTargetNode::AddEventListener: {
             JSEventListener *listener = Window::retrieveActive(exec)->getJSEventListener(args[1]);
             if (listener)
-                node->addEventListener(AtomicString(args[0]->toString(exec).domString()), listener,args[2]->toBoolean(exec));
+                node->addEventListener(args[0]->toString(exec), listener,args[2]->toBoolean(exec));
             return jsUndefined();
         }
         case DOMEventTargetNode::RemoveEventListener: {
             JSEventListener *listener = Window::retrieveActive(exec)->getJSEventListener(args[1]);
             if (listener)
-                node->removeEventListener(AtomicString(args[0]->toString(exec).domString()), listener,args[2]->toBoolean(exec));
+                node->removeEventListener(args[0]->toString(exec), listener,args[2]->toBoolean(exec));
             return jsUndefined();
         }
         case DOMEventTargetNode::DispatchEvent:
@@ -735,7 +735,7 @@ JSValue *DOMNodeList::indexGetter(ExecState *exec, JSObject *originalObject, con
 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->itemById(propertyName.domString().impl()));
+  return toJS(exec, thisObj->m_impl->itemById(propertyName));
 }
 
 bool DOMNodeList::getOwnPropertySlot(ExecState *exec, const Identifier& propertyName, PropertySlot& slot)
@@ -758,7 +758,7 @@ bool DOMNodeList::getOwnPropertySlot(ExecState *exec, const Identifier& property
   if (ok && idx < list.length()) {
     slot.setCustomIndex(this, idx, indexGetter);
     return true;
-  } else if (list.itemById(propertyName.domString().impl())) {
+  } else if (list.itemById(String(propertyName).impl())) {
     slot.setCustom(this, nameGetter);
     return true;
   }
@@ -932,7 +932,7 @@ void DOMDocument::putValueProperty(ExecState *exec, int token, JSValue *value, i
   Document &doc = *static_cast<Document *>(impl());
   switch (token) {
     case SelectedStylesheetSet:
-      doc.setSelectedStylesheetSet(value->toString(exec).domString());
+      doc.setSelectedStylesheetSet(value->toString(exec));
       break;
     case Charset:
       doc.decoder()->setEncodingName(value->toString(exec).cstring().c_str(), Decoder::UserChosenEncoding);
@@ -948,7 +948,7 @@ JSValue *DOMDocumentProtoFunc::callAsFunction(ExecState *exec, JSObject *thisObj
   Node &node = *static_cast<DOMNode *>(thisObj)->impl();
   Document &doc = static_cast<Document &>(node);
   UString str = args[0]->toString(exec);
-  WebCore::String s = str.domString();
+  WebCore::String s = str;
 
   switch(id) {
   case DOMDocument::AdoptNode:
@@ -964,7 +964,7 @@ JSValue *DOMDocumentProtoFunc::callAsFunction(ExecState *exec, JSObject *thisObj
   case DOMDocument::CreateCDATASection:
     return toJS(exec, doc.createCDATASection(s, exception));
   case DOMDocument::CreateProcessingInstruction:
-    return toJS(exec, doc.createProcessingInstruction(args[0]->toString(exec).domString(), args[1]->toString(exec).domString(), exception));
+    return toJS(exec, doc.createProcessingInstruction(args[0]->toString(exec), args[1]->toString(exec), exception));
   case DOMDocument::CreateAttribute:
     return toJS(exec,doc.createAttribute(s, exception));
   case DOMDocument::CreateEntityReference:
@@ -976,13 +976,13 @@ JSValue *DOMDocumentProtoFunc::callAsFunction(ExecState *exec, JSObject *thisObj
   case DOMDocument::ImportNode: // DOM2
     return toJS(exec,doc.importNode(toNode(args[0]), args[1]->toBoolean(exec), exception));
   case DOMDocument::CreateElementNS: // DOM2
-    return toJS(exec,doc.createElementNS(s, args[1]->toString(exec).domString(), exception));
+    return toJS(exec,doc.createElementNS(s, args[1]->toString(exec), exception));
   case DOMDocument::CreateAttributeNS: // DOM2
-    return toJS(exec,doc.createAttributeNS(s, args[1]->toString(exec).domString(), exception));
+    return toJS(exec,doc.createAttributeNS(s, args[1]->toString(exec), exception));
   case DOMDocument::GetElementsByTagNameNS: // DOM2
-    return toJS(exec,doc.getElementsByTagNameNS(s, args[1]->toString(exec).domString()).get());
+    return toJS(exec,doc.getElementsByTagNameNS(s, args[1]->toString(exec)).get());
   case DOMDocument::GetElementById:
-    return toJS(exec,doc.getElementById(args[0]->toString(exec).domString().impl()));
+    return toJS(exec,doc.getElementById(args[0]->toString(exec)));
   case DOMDocument::CreateRange:
     return toJS(exec, doc.createRange().get());
   case DOMDocument::CreateNodeIterator: {
@@ -1009,26 +1009,26 @@ JSValue *DOMDocumentProtoFunc::callAsFunction(ExecState *exec, JSObject *thisObj
     return toJS(exec, doc.createEvent(s, exception).get());
   case DOMDocument::GetOverrideStyle:
     if (Element *element0 = toElement(args[0]))
-        return toJS(exec,doc.getOverrideStyle(element0, args[1]->toString(exec).domString()));
+        return toJS(exec,doc.getOverrideStyle(element0, args[1]->toString(exec)));
     // FIXME: Is undefined right here, or should we raise an exception?
     return jsUndefined();
   case DOMDocument::ExecCommand: {
-    return jsBoolean(doc.execCommand(args[0]->toString(exec).domString(), args[1]->toBoolean(exec), args[2]->toString(exec).domString()));
+    return jsBoolean(doc.execCommand(args[0]->toString(exec), args[1]->toBoolean(exec), args[2]->toString(exec)));
   }
   case DOMDocument::QueryCommandEnabled: {
-    return jsBoolean(doc.queryCommandEnabled(args[0]->toString(exec).domString()));
+    return jsBoolean(doc.queryCommandEnabled(args[0]->toString(exec)));
   }
   case DOMDocument::QueryCommandIndeterm: {
-    return jsBoolean(doc.queryCommandIndeterm(args[0]->toString(exec).domString()));
+    return jsBoolean(doc.queryCommandIndeterm(args[0]->toString(exec)));
   }
   case DOMDocument::QueryCommandState: {
-    return jsBoolean(doc.queryCommandState(args[0]->toString(exec).domString()));
+    return jsBoolean(doc.queryCommandState(args[0]->toString(exec)));
   }
   case DOMDocument::QueryCommandSupported: {
-    return jsBoolean(doc.queryCommandSupported(args[0]->toString(exec).domString()));
+    return jsBoolean(doc.queryCommandSupported(args[0]->toString(exec)));
   }
   case DOMDocument::QueryCommandValue: {
-    WebCore::String commandValue(doc.queryCommandValue(args[0]->toString(exec).domString()));
+    WebCore::String commandValue(doc.queryCommandValue(args[0]->toString(exec)));
     // Method returns null String to signal command is unsupported.
     // Microsoft documentation for this method says:
     // "If not supported [for a command identifier], this method returns a Boolean set to false."
@@ -1164,7 +1164,7 @@ JSValue *DOMElement::attributeGetter(ExecState *exec, JSObject *originalObject,
   DOMElement *thisObj = static_cast<DOMElement *>(slot.slotBase());
 
   Element *element = static_cast<Element *>(thisObj->impl());
-  WebCore::String attr = element->getAttribute(propertyName.domString());
+  WebCore::String attr = element->getAttribute(propertyName);
   return jsStringOrNull(attr);
 }
 
@@ -1190,7 +1190,7 @@ bool DOMElement::getOwnPropertySlot(ExecState *exec, const Identifier& propertyN
 
   // FIXME: do we really want to do this attribute lookup thing? Mozilla doesn't do it,
   // and it seems like it could interfere with XBL.
-  WebCore::String attr = element.getAttribute(propertyName.domString());
+  WebCore::String attr = element.getAttribute(propertyName);
   if (!attr.isNull()) {
     slot.setCustom(this, attributeGetter);
     return true;
@@ -1294,7 +1294,7 @@ JSValue *DOMNamedNodeMap::indexGetter(ExecState* exec, JSObject *originalObject,
 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.domString()));
+  return toJS(exec, thisObj->m_impl->getNamedItem(propertyName));
 }
 
 bool DOMNamedNodeMap::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
@@ -1316,7 +1316,7 @@ bool DOMNamedNodeMap::getOwnPropertySlot(ExecState* exec, const Identifier& prop
       return true;
     }
 
-    if (m_impl->getNamedItem(propertyName.domString())) {
+    if (m_impl->getNamedItem(propertyName)) {
       slot.setCustom(this, nameGetter);
       return true;
     }
@@ -1333,19 +1333,19 @@ JSValue *DOMNamedNodeMapProtoFunc::callAsFunction(ExecState *exec, JSObject *thi
   NamedNodeMap &map = *static_cast<DOMNamedNodeMap *>(thisObj)->impl();
   switch (id) {
     case DOMNamedNodeMap::GetNamedItem:
-      return toJS(exec, map.getNamedItem(args[0]->toString(exec).domString()));
+      return toJS(exec, map.getNamedItem(args[0]->toString(exec)));
     case DOMNamedNodeMap::SetNamedItem:
       return toJS(exec, map.setNamedItem(toNode(args[0]), exception).get());
     case DOMNamedNodeMap::RemoveNamedItem:
-      return toJS(exec, map.removeNamedItem(args[0]->toString(exec).domString(), exception).get());
+      return toJS(exec, map.removeNamedItem(args[0]->toString(exec), exception).get());
     case DOMNamedNodeMap::Item:
       return toJS(exec, map.item(args[0]->toInt32(exec)));
     case DOMNamedNodeMap::GetNamedItemNS: // DOM2
-      return toJS(exec, map.getNamedItemNS(valueToStringWithNullCheck(exec, args[0]), args[1]->toString(exec).domString()));
+      return toJS(exec, map.getNamedItemNS(valueToStringWithNullCheck(exec, args[0]), args[1]->toString(exec)));
     case DOMNamedNodeMap::SetNamedItemNS: // DOM2
       return toJS(exec, map.setNamedItemNS(toNode(args[0]), exception).get());
     case DOMNamedNodeMap::RemoveNamedItemNS: // DOM2
-      return toJS(exec, map.removeNamedItemNS(valueToStringWithNullCheck(exec, args[0]), args[1]->toString(exec).domString(), exception).get());
+      return toJS(exec, map.removeNamedItemNS(valueToStringWithNullCheck(exec, args[0]), args[1]->toString(exec), exception).get());
   }
   return jsUndefined();
 }
@@ -1596,12 +1596,12 @@ bool DOMNamedNodesCollection::getOwnPropertySlot(ExecState *exec, const Identifi
   // For IE compatibility, we need to be able to look up elements in a
   // document.formName.name result by id as well as be index.
 
+  AtomicString atomicPropertyName = propertyName;
   DeprecatedValueListConstIterator< RefPtr<Node> > end = m_nodes.end();
   int i = 0;
   for (DeprecatedValueListConstIterator< RefPtr<Node> > it = m_nodes.begin(); it != end; ++it, ++i) {
     Node *node = (*it).get();
-    if (node->hasAttributes() &&
-        node->attributes()->id() == propertyName.domString()) {
+    if (node->hasAttributes() && node->attributes()->id() == atomicPropertyName) {
       slot.setCustomIndex(this, i, indexGetter);
       return true;
     }
index dcafae8b0179eb055644bddd9eeeb9a537c63ba4..4021e212ce101c4402232125ed979a9f53026c21 100644 (file)
@@ -111,16 +111,16 @@ void JSAbstractEventListener::handleEvent(Event* ele, bool isWindowEvent)
 
         if (exec->hadException()) {
             JSObject* exception = exec->exception()->toObject(exec);
-            String message = exception->get(exec, messagePropertyName)->toString(exec).domString();
+            String message = exception->get(exec, messagePropertyName)->toString(exec);
             int lineNumber = exception->get(exec, "line")->toInt32(exec);
-            String sourceURL = exception->get(exec, "sourceURL")->toString(exec).domString();
+            String sourceURL = exception->get(exec, "sourceURL")->toString(exec);
             if (Interpreter::shouldPrintExceptions())
                 printf("(event handler):%s\n", message.deprecatedString().utf8().data());
             frame->addMessageToConsole(message, lineNumber, sourceURL);
             exec->clearException();
         } else {
             if (!retval->isUndefinedOrNull() && event->storesResultAsString())
-                event->storeResult(retval->toString(exec).domString());
+                event->storeResult(retval->toString(exec));
             if (html) {
                 bool retvalbool;
                 if (retval->getBoolean(retvalbool) && !retvalbool)
@@ -395,7 +395,7 @@ JSValue *DOMEvent::getValueProperty(ExecState *exec, int token) const
   Event &event = *m_impl;
   switch (token) {
   case Type:
-    return jsString(event.type().domString());
+    return jsString(event.type());
   case Target:
   case SrcElement: /*MSIE extension - "the object that fired the event"*/
     return toJS(exec, event.target());
@@ -477,7 +477,7 @@ JSValue *DOMEventProtoFunc::callAsFunction(ExecState *exec, JSObject * thisObj,
       event.preventDefault();
       return jsUndefined();
     case DOMEvent::InitEvent:
-      event.initEvent(AtomicString(args[0]->toString(exec).domString()), args[1]->toBoolean(exec), args[2]->toBoolean(exec));
+      event.initEvent(AtomicString(args[0]->toString(exec)), args[1]->toBoolean(exec), args[2]->toBoolean(exec));
       return jsUndefined();
   };
   return jsUndefined();
@@ -612,7 +612,7 @@ JSValue *DOMUIEventProtoFunc::callAsFunction(ExecState *exec, JSObject *thisObj,
   UIEvent &uiEvent = *static_cast<UIEvent *>(static_cast<DOMUIEvent *>(thisObj)->impl());
   switch (id) {
     case DOMUIEvent::InitUIEvent:
-      uiEvent.initUIEvent(AtomicString(args[0]->toString(exec).domString()),
+      uiEvent.initUIEvent(AtomicString(args[0]->toString(exec)),
                           args[1]->toBoolean(exec),
                           args[2]->toBoolean(exec),
                           toAbstractView(args[3]),
@@ -712,7 +712,7 @@ JSValue *DOMMouseEventProtoFunc::callAsFunction(ExecState *exec, JSObject *thisO
   MouseEvent &mouseEvent = *static_cast<MouseEvent *>(static_cast<DOMMouseEvent *>(thisObj)->impl());
   switch (id) {
     case DOMMouseEvent::InitMouseEvent:
-      mouseEvent.initMouseEvent(AtomicString(args[0]->toString(exec).domString()), // typeArg
+      mouseEvent.initMouseEvent(AtomicString(args[0]->toString(exec)), // typeArg
                                 args[1]->toBoolean(exec), // canBubbleArg
                                 args[2]->toBoolean(exec), // cancelableArg
                                 toAbstractView(args[3]), // viewArg
@@ -795,11 +795,11 @@ JSValue *DOMKeyboardEventProtoFunc::callAsFunction(ExecState *exec, JSObject *th
   KeyboardEvent &event = *static_cast<KeyboardEvent *>(static_cast<DOMUIEvent *>(thisObj)->impl());
   switch (id) {
     case DOMKeyboardEvent::InitKeyboardEvent:
-      event.initKeyboardEvent(AtomicString(args[0]->toString(exec).domString()), // typeArg
+      event.initKeyboardEvent(AtomicString(args[0]->toString(exec)), // typeArg
                               args[1]->toBoolean(exec), // canBubbleArg
                               args[2]->toBoolean(exec), // cancelableArg
                               toAbstractView(args[3]), // viewArg
-                              args[4]->toString(exec).domString(), // keyIdentifier
+                              args[4]->toString(exec), // keyIdentifier
                               args[5]->toInt32(exec), // keyLocationArg
                               args[6]->toBoolean(exec), // ctrlKeyArg
                               args[7]->toBoolean(exec), // altKeyArg
@@ -882,12 +882,12 @@ void Clipboard::putValueProperty(ExecState *exec, int token, JSValue *value, int
         case DropEffect:
             // can never set this when not for dragging, thus getting always returns NULL string
             if (clipboard->isForDragging())
-                clipboard->setDropEffect(value->toString(exec).domString());
+                clipboard->setDropEffect(value->toString(exec));
             break;
         case EffectAllowed:
             // can never set this when not for dragging, thus getting always returns NULL string
             if (clipboard->isForDragging())
-                clipboard->setEffectAllowed(value->toString(exec).domString());
+                clipboard->setEffectAllowed(value->toString(exec));
             break;
     }
 }
@@ -904,7 +904,7 @@ JSValue *ClipboardProtoFunc::callAsFunction(ExecState *exec, JSObject *thisObj,
                 cb->clipboard->clearAllData();
                 return jsUndefined();
             } else if (args.size() == 1) {
-                cb->clipboard->clearData(args[0]->toString(exec).domString());
+                cb->clipboard->clearData(args[0]->toString(exec));
                 return jsUndefined();
             } else {
                 return throwError(exec, SyntaxError, "clearData: Invalid number of arguments");
@@ -913,7 +913,7 @@ JSValue *ClipboardProtoFunc::callAsFunction(ExecState *exec, JSObject *thisObj,
         {
             if (args.size() == 1) {
                 bool success;
-                WebCore::String result = cb->clipboard->getData(args[0]->toString(exec).domString(), success);
+                WebCore::String result = cb->clipboard->getData(args[0]->toString(exec), success);
                 if (success) {
                     return jsString(result);
                 } else {
@@ -925,7 +925,7 @@ JSValue *ClipboardProtoFunc::callAsFunction(ExecState *exec, JSObject *thisObj,
         }
         case Clipboard::SetData:
             if (args.size() == 2) {
-                return jsBoolean(cb->clipboard->setData(args[0]->toString(exec).domString(), args[1]->toString(exec).domString()));
+                return jsBoolean(cb->clipboard->setData(args[0]->toString(exec), args[1]->toString(exec)));
             } else {
                 return throwError(exec, SyntaxError, "setData: Invalid number of arguments");
             }
index 925918b3a0b451c2a8203922d501585addb9025f..dd561913adc00073974230be1738c3d226eeb800 100644 (file)
@@ -116,17 +116,16 @@ JSValue *HTMLDocFunction::callAsFunction(ExecState *exec, JSObject *thisObj, con
   case JSHTMLDocument::WriteLn: {
     // DOM only specifies single string argument, but NS & IE allow multiple
     // or no arguments
-    UString str = "";
+    String str = "";
     for (int i = 0; i < args.size(); i++)
       str += args[i]->toString(exec);
     if (id == JSHTMLDocument::WriteLn)
       str += "\n";
-    //kdDebug() << "document.write: " << str.ascii() << endl;
-    doc.write(str.domString());
+    doc.write(str);
     return jsUndefined();
   }
   case JSHTMLDocument::GetElementsByName:
-    return toJS(exec, doc.getElementsByName(args[0]->toString(exec).domString()).get());
+    return toJS(exec, doc.getElementsByName(args[0]->toString(exec)).get());
   case JSHTMLDocument::CaptureEvents:
   case JSHTMLDocument::ReleaseEvents:
     // Do nothing for now. These are NS-specific legacy calls.
@@ -194,7 +193,7 @@ JSValue *JSHTMLDocument::namedItemGetter(ExecState *exec, JSObject *originalObje
   JSHTMLDocument *thisObj = static_cast<JSHTMLDocument *>(slot.slotBase());
   HTMLDocument &doc = *static_cast<HTMLDocument *>(thisObj->impl());
 
-  String name = propertyName.domString();
+  String name = propertyName;
   RefPtr<WebCore::HTMLCollection> collection = doc.documentNamedItems(name);
 
   if (collection->length() == 1) {
@@ -302,7 +301,7 @@ bool JSHTMLDocument::getOwnPropertySlot(ExecState *exec, const Identifier& prope
 {
   HTMLDocument &doc = *static_cast<HTMLDocument *>(impl());
 
-  String name = propertyName.domString();
+  String name = propertyName;
   if (doc.hasNamedItem(name) || doc.hasDocExtraNamedItem(name)) {
     slot.setCustom(this, namedItemGetter);
     return true;
@@ -334,22 +333,22 @@ void JSHTMLDocument::putValueProperty(ExecState *exec, int token, JSValue *value
 
   switch (token) {
   case Title:
-    doc.setTitle(value->toString(exec).domString());
+    doc.setTitle(value->toString(exec));
     break;
   case Body:
     doc.setBody(toHTMLElement(value), exception);
     break;
   case Domain: // not part of the DOM
-    doc.setDomain(value->toString(exec).domString());
+    doc.setDomain(value->toString(exec));
     break;
   case Cookie:
-    doc.setCookie(value->toString(exec).domString());
+    doc.setCookie(value->toString(exec));
     break;
   case Location: {
     Frame *frame = doc.frame();
     if (frame)
     {
-      DeprecatedString str = value->toString(exec).deprecatedString();
+      DeprecatedString str = value->toString(exec);
 
       // When assigning location, IE and Mozilla both resolve the URL
       // relative to the frame where the JavaScript is executing not
@@ -366,18 +365,18 @@ void JSHTMLDocument::putValueProperty(ExecState *exec, int token, JSValue *value
   }
   case BgColor:
     if (bodyElement)
-      bodyElement->setBgColor(value->toString(exec).domString());
+      bodyElement->setBgColor(value->toString(exec));
     break;
   case FgColor:
     if (bodyElement)
-      bodyElement->setText(value->toString(exec).domString());
+      bodyElement->setText(value->toString(exec));
     break;
   case AlinkColor:
     if (bodyElement) {
       // this check is a bit silly, but some benchmarks like to set the
       // document's link colors over and over to the same value and we
       // don't want to incur a style update each time.
-      String newColor = value->toString(exec).domString();
+      String newColor = value->toString(exec);
       if (bodyElement->aLink() != newColor)
         bodyElement->setALink(newColor);
     }
@@ -387,7 +386,7 @@ void JSHTMLDocument::putValueProperty(ExecState *exec, int token, JSValue *value
       // this check is a bit silly, but some benchmarks like to set the
       // document's link colors over and over to the same value and we
       // don't want to incur a style update each time.
-      String newColor = value->toString(exec).domString();
+      String newColor = value->toString(exec);
       if (bodyElement->link() != newColor)
         bodyElement->setLink(newColor);
     }
@@ -397,17 +396,17 @@ void JSHTMLDocument::putValueProperty(ExecState *exec, int token, JSValue *value
       // this check is a bit silly, but some benchmarks like to set the
       // document's link colors over and over to the same value and we
       // don't want to incur a style update each time.
-      String newColor = value->toString(exec).domString();
+      String newColor = value->toString(exec);
       if (bodyElement->vLink() != newColor)
         bodyElement->setVLink(newColor);
     }
     break;
   case Dir:
-    body->setDir(value->toString(exec).domString());
+    body->setDir(value->toString(exec));
     break;
   case DesignMode:
     {
-      String modeString = value->toString(exec).domString();
+      String modeString = value->toString(exec);
       Document::InheritedBool mode;
       if (equalIgnoringCase(modeString, "on"))
         mode = Document::on;
@@ -1209,7 +1208,7 @@ JSValue *JSHTMLElement::framesetNameGetter(ExecState *exec, JSObject *originalOb
     JSHTMLElement *thisObj = static_cast<JSHTMLElement *>(slot.slotBase());
     HTMLElement *element = static_cast<HTMLElement *>(thisObj->impl());
 
-    Node *frame = element->children()->namedItem(propertyName.domString());
+    Node *frame = element->children()->namedItem(propertyName);
     if (Document* doc = static_cast<HTMLFrameElement *>(frame)->contentDocument())
         if (Window *window = Window::retrieveWindow(doc->frame()))
             return window;
@@ -1265,7 +1264,7 @@ bool JSHTMLElement::getOwnPropertySlot(ExecState *exec, const Identifier& proper
             return true;
         }
     } else if (element.hasLocalName(framesetTag)) {
-        Node *frame = element.children()->namedItem(propertyName.domString());
+        Node *frame = element.children()->namedItem(propertyName);
         if (frame && frame->hasTagName(frameTag)) {
             slot.setCustom(this, framesetNameGetter);
             return true;
@@ -2408,7 +2407,7 @@ JSValue *HTMLElementFunction::callAsFunction(ExecState *exec, JSObject *thisObj,
     }
     else if (element.hasLocalName(canvasTag)) {
         if (id == JSHTMLElement::GetContext)
-            return toJS(exec, static_cast<HTMLCanvasElement*>(&element)->getContext(args[0]->toString(exec).domString()));
+            return toJS(exec, static_cast<HTMLCanvasElement*>(&element)->getContext(args[0]->toString(exec)));
     }
 
     return jsUndefined();
@@ -3112,7 +3111,7 @@ void JSHTMLElement::marqueeSetter(ExecState *exec, int token, JSValue *value, co
 void JSHTMLElement::putValueProperty(ExecState *exec, int token, JSValue *value, int)
 {
     DOMExceptionTranslator exception(exec);
-    WebCore::String str = value->toString(exec).domString();
+    WebCore::String str = value->toString(exec);
  
     // Check our set of generic properties first.
     HTMLElement &element = *static_cast<HTMLElement *>(impl());
@@ -3275,7 +3274,7 @@ JSValue *JSHTMLCollection::callAsFunction(ExecState *exec, JSObject *, const Lis
     unsigned int u = args[1]->toString(exec).toUInt32(&ok);
     if (ok)
     {
-      WebCore::String pstr = s.domString();
+      WebCore::String pstr = s;
       Node *node = collection.namedItem(pstr);
       while (node) {
         if (!u)
@@ -3290,7 +3289,7 @@ JSValue *JSHTMLCollection::callAsFunction(ExecState *exec, JSObject *, const Lis
 
 JSValue *JSHTMLCollection::getNamedItems(ExecState *exec, const Identifier &propertyName) const
 {
-    DeprecatedValueList< RefPtr<Node> > namedItems = m_impl->namedItems(AtomicString(propertyName.domString()));
+    DeprecatedValueList< RefPtr<Node> > namedItems = m_impl->namedItems(propertyName);
 
     if (namedItems.isEmpty())
         return jsUndefined();
@@ -3311,7 +3310,7 @@ JSValue *HTMLCollectionProtoFunc::callAsFunction(ExecState *exec, JSObject *this
   case JSHTMLCollection::Item:
     return toJS(exec,coll.item(args[0]->toUInt32(exec)));
   case JSHTMLCollection::Tags:
-    return toJS(exec, coll.base()->getElementsByTagName(args[0]->toString(exec).domString()).get());
+    return toJS(exec, coll.base()->getElementsByTagName(args[0]->toString(exec)).get());
   case JSHTMLCollection::NamedItem:
     return static_cast<JSHTMLCollection *>(thisObj)->getNamedItems(exec, Identifier(args[0]->toString(exec)));
   default:
@@ -3452,9 +3451,9 @@ JSObject *OptionConstructorImp::construct(ExecState *exec, const List &args)
     RefPtr<Text> t = m_doc->createTextNode("");
     opt->appendChild(t, exception);
     if (exception == 0 && sz > 0)
-      t->setData(args[0]->toString(exec).domString(), exception); // set the text
+      t->setData(args[0]->toString(exec), exception); // set the text
     if (exception == 0 && sz > 1)
-      opt->setValue(args[1]->toString(exec).domString());
+      opt->setValue(args[1]->toString(exec));
     if (exception == 0 && sz > 2)
       opt->setDefaultSelected(args[2]->toBoolean(exec));
     if (exception == 0 && sz > 3)
index 6770af4d0c25c5061bef2e3883ec799d56f1bc0b..fe4bb30d726e39e894d4e48fdfcd782a17826b16 100644 (file)
@@ -24,6 +24,7 @@
 #include "config.h"
 #include "kjs_navigator.h"
 
+#include "AtomicString.h"
 #include "CookieJar.h"
 #include "Frame.h"
 #include "Language.h"
@@ -271,10 +272,11 @@ JSValue *Plugins::indexGetter(ExecState *exec, JSObject *originalObject, const I
 
 JSValue *Plugins::nameGetter(ExecState *exec, JSObject *originalObject, const Identifier& propertyName, const PropertySlot& slot)
 {
+    AtomicString atomicPropertyName = propertyName;
     Vector<PluginInfo*>::iterator end = plugins->end();
     for (Vector<PluginInfo*>::iterator itr = plugins->begin(); itr != end; itr++) {
         PluginInfo *pl = *itr;
-        if (pl->name == propertyName.domString())
+        if (pl->name == atomicPropertyName)
             return new Plugin(exec, pl);
     }
     return jsUndefined();
@@ -299,9 +301,10 @@ bool Plugins::getOwnPropertySlot(ExecState *exec, const Identifier& propertyName
         }
 
         // plugin[name]
+        AtomicString atomicPropertyName = propertyName;
         Vector<PluginInfo*>::iterator end = plugins->end();
         for (Vector<PluginInfo*>::iterator itr = plugins->begin(); itr != end; itr++) {
-            if ((*itr)->name == propertyName.domString()) {
+            if ((*itr)->name == atomicPropertyName) {
                 slot.setCustom(this, nameGetter);
                 return true;
             }
@@ -332,10 +335,11 @@ JSValue *MimeTypes::indexGetter(ExecState *exec, JSObject *originalObject, const
 
 JSValue *MimeTypes::nameGetter(ExecState *exec, JSObject *originalObject, const Identifier& propertyName, const PropertySlot& slot)
 {
+    AtomicString atomicPropertyName = propertyName;
     Vector<MimeClassInfo*>::iterator end = mimes->end();
     for (Vector<MimeClassInfo*>::iterator itr = mimes->begin(); itr != end; itr++) {
         MimeClassInfo *m = (*itr);
-        if (m->type == propertyName.domString())
+        if (m->type == atomicPropertyName)
             return new MimeType(exec, m);
     }
     return jsUndefined();
@@ -357,9 +361,10 @@ bool MimeTypes::getOwnPropertySlot(ExecState *exec, const Identifier& propertyNa
         }
 
         // mimeTypes[name]
+        AtomicString atomicPropertyName = propertyName;
         Vector<MimeClassInfo*>::iterator end = mimes->end();
         for (Vector<MimeClassInfo*>::iterator itr = mimes->begin(); itr != end; itr++) {
-            if ((*itr)->type == propertyName.domString()) {
+            if ((*itr)->type == atomicPropertyName) {
                 slot.setCustom(this, nameGetter);
                 return true;
             }
@@ -407,10 +412,11 @@ JSValue *Plugin::indexGetter(ExecState *exec, JSObject *originalObject, const Id
 JSValue *Plugin::nameGetter(ExecState *exec, JSObject *originalObject, const Identifier& propertyName, const PropertySlot& slot)
 {
     Plugin *thisObj = static_cast<Plugin *>(slot.slotBase());
+    AtomicString atomicPropertyName = propertyName;
     Vector<MimeClassInfo*>::iterator end = thisObj->m_info->mimes.end();
     for (Vector<MimeClassInfo*>::iterator itr = thisObj->m_info->mimes.begin(); itr != end; itr++) {
         MimeClassInfo *m = (*itr);
-        if (m->type == propertyName.domString())
+        if (m->type == atomicPropertyName)
             return new MimeType(exec, m);
     }
     return jsUndefined();
@@ -433,9 +439,10 @@ bool Plugin::getOwnPropertySlot(ExecState *exec, const Identifier& propertyName,
         }
 
         // plugin["name"]
+        AtomicString atomicPropertyName = propertyName;
         Vector<MimeClassInfo*>::iterator end = m_info->mimes.end();
         for (Vector<MimeClassInfo*>::iterator itr = m_info->mimes.begin(); itr != end; itr++) {
-            if ((*itr)->type == propertyName.domString()) {
+            if ((*itr)->type == atomicPropertyName) {
                 slot.setCustom(this, nameGetter);
                 return true;
             }
index 66c4f6df4ed2e81a5db3cce542f8018c94bf5692..c5cd32bb4b5230dfcacb3082530d39ab2157a68a 100644 (file)
@@ -75,7 +75,7 @@ JSValue* KJSProxy::evaluate(const String& filename, int baseLine, const String&
     UString errorMessage = comp.value()->toString(m_script->globalExec());
     int lineNumber = comp.value()->toObject(m_script->globalExec())->get(m_script->globalExec(), "line")->toInt32(m_script->globalExec());
     UString sourceURL = comp.value()->toObject(m_script->globalExec())->get(m_script->globalExec(), "sourceURL")->toString(m_script->globalExec());
-    m_frame->addMessageToConsole(errorMessage.domString(), lineNumber, sourceURL.domString());
+    m_frame->addMessageToConsole(errorMessage, lineNumber, sourceURL);
   }
 
   return 0;
index 9610a168e8ef7a692d4ed5534944e8bb39648a7b..2d499b8389783170c39e419bd248b483d5cbc2d8 100644 (file)
@@ -89,7 +89,7 @@ JSValue *DOMAbstractViewProtoFunc::callAsFunction(ExecState *exec, JSObject *thi
           return jsUndefined(); // throw exception?
         else {
           arg0->getDocument()->updateLayoutIgnorePendingStylesheets();
-          return toJS(exec, abstractView.getComputedStyle(arg0, args[1]->toString(exec).domString().impl()));
+          return toJS(exec, abstractView.getComputedStyle(arg0, WebCore::String(args[1]->toString(exec)).impl()));
         }
       }
     case DOMAbstractView::GetMatchedCSSRules: {
@@ -98,8 +98,7 @@ JSValue *DOMAbstractViewProtoFunc::callAsFunction(ExecState *exec, JSObject *thi
             return jsUndefined(); // throw exception?
         else {
             // No need to update layout, since we just want the back-end rules.
-            return toJS(exec, abstractView.getMatchedCSSRules(arg0,
-                                     args[1]->toString(exec).domString().impl()).get());
+            return toJS(exec, abstractView.getMatchedCSSRules(arg0, WebCore::String(args[1]->toString(exec)).impl()).get());
         }
     }
   }
index d4b733bd242f009f5cc12128856e357d974d3761..6fea6600d3a95a838c3b08f16187c2eee3f98a4d 100644 (file)
@@ -471,7 +471,7 @@ static HashMap<String, String> parseModalDialogFeatures(ExecState *exec, JSValue
 {
     HashMap<String, String> map;
 
-    DeprecatedStringList features = DeprecatedStringList::split(';', featuresArg->toString(exec).deprecatedString());
+    DeprecatedStringList features = DeprecatedStringList::split(';', featuresArg->toString(exec));
     DeprecatedStringList::ConstIterator end = features.end();
     for (DeprecatedStringList::ConstIterator it = features.begin(); it != end; ++it) {
         DeprecatedString s = *it;
@@ -640,7 +640,7 @@ static JSValue *showModalDialog(ExecState *exec, Window *openerWindow, const Lis
     wargs.locationBarVisible = false;
     wargs.fullscreen = false;
     
-    Frame *dialogPart = createNewWindow(exec, openerWindow, URL.deprecatedString(), "", wargs, args[1]);
+    Frame *dialogPart = createNewWindow(exec, openerWindow, URL, "", wargs, args[1]);
     if (!dialogPart)
         return jsUndefined();
 
@@ -876,7 +876,7 @@ JSValue *Window::getValueProperty(ExecState *exec, int token) const
 
 JSValue* Window::childFrameGetter(ExecState*, JSObject*, const Identifier& propertyName, const PropertySlot& slot)
 {
-    return retrieve(static_cast<Window*>(slot.slotBase())->m_frame->tree()->child(AtomicString(propertyName.domString())));
+    return retrieve(static_cast<Window*>(slot.slotBase())->m_frame->tree()->child(AtomicString(propertyName)));
 }
 
 JSValue* Window::namedFrameGetter(ExecState*, JSObject*, const Identifier& propertyName, const PropertySlot& slot)
@@ -885,7 +885,7 @@ JSValue* Window::namedFrameGetter(ExecState*, JSObject*, const Identifier& prope
     // There's no point in checking for child frames twice. I suspect this should be using
     // find instead of "child". But I don't want to change the behavior without testing,
     // so I'm leaving this as-is for now.
-    return retrieve(static_cast<Window*>(slot.slotBase())->m_frame->tree()->child(AtomicString(propertyName.domString())));
+    return retrieve(static_cast<Window*>(slot.slotBase())->m_frame->tree()->child(AtomicString(propertyName)));
 }
 
 JSValue* Window::indexGetter(ExecState*, JSObject*, const Identifier&, const PropertySlot& slot)
@@ -899,7 +899,7 @@ JSValue *Window::namedItemGetter(ExecState *exec, JSObject *originalObject, cons
   Document *doc = thisObj->m_frame->document();
   ASSERT(thisObj->isSafeScript(exec) && doc && doc->isHTMLDocument());
 
-  String name = propertyName.domString();
+  String name = propertyName;
   RefPtr<WebCore::HTMLCollection> collection = doc->windowNamedItems(name);
   if (collection->length() == 1)
     return toJS(exec, collection->firstItem());
@@ -940,7 +940,7 @@ bool Window::getOwnPropertySlot(ExecState *exec, const Identifier& propertyName,
   // naming frames things that conflict with window properties that
   // are in Moz but not IE. Since we have some of these, we have to do
   // it the Moz way.
-  AtomicString atomicPropertyName = AtomicString(propertyName.domString());
+  AtomicString atomicPropertyName = propertyName;
   if (m_frame->tree()->child(atomicPropertyName)) {
     slot.setCustom(this, childFrameGetter);
     return true;
@@ -1021,15 +1021,15 @@ void Window::put(ExecState* exec, const Identifier &propertyName, JSValue *value
   {
     switch( entry->value ) {
     case Status:
-      m_frame->setJSStatusBarText(value->toString(exec).deprecatedString());
+      m_frame->setJSStatusBarText(value->toString(exec));
       return;
     case DefaultStatus:
-      m_frame->setJSDefaultStatusBarText(value->toString(exec).deprecatedString());
+      m_frame->setJSDefaultStatusBarText(value->toString(exec));
       return;
     case Location_: {
       Frame* p = Window::retrieveActive(exec)->m_frame;
       if (p) {
-        DeprecatedString dstUrl = p->document()->completeURL(value->toString(exec).deprecatedString());
+        DeprecatedString dstUrl = p->document()->completeURL(DeprecatedString(value->toString(exec)));
         if (!dstUrl.startsWith("javascript:", false) || isSafeScript(exec))
         {
           bool userGesture = static_cast<ScriptInterpreter *>(exec->dynamicInterpreter())->wasRunByUserGesture();
@@ -1149,7 +1149,7 @@ void Window::put(ExecState* exec, const Identifier &propertyName, JSValue *value
       return;
     case Name:
       if (isSafeScript(exec))
-        m_frame->tree()->setName(value->toString(exec).deprecatedString());
+        m_frame->tree()->setName(value->toString(exec));
       return;
     default:
       break;
@@ -1532,7 +1532,7 @@ JSValue *WindowFunc::callAsFunction(ExecState *exec, JSObject *thisObj, const Li
   FrameView *widget = frame->view();
   JSValue *v = args[0];
   UString s = v->toString(exec);
-  String str = s.domString();
+  String str = s;
   String str2;
 
   switch (id) {
@@ -1549,7 +1549,7 @@ JSValue *WindowFunc::callAsFunction(ExecState *exec, JSObject *thisObj, const Li
   {
     if (frame && frame->document())
       frame->document()->updateRendering();
-    String message = args.size() >= 2 ? args[1]->toString(exec).domString() : String();
+    String message = args.size() >= 2 ? args[1]->toString(exec) : UString();
     bool ok = frame->runJavaScriptPrompt(str, message, str2);
     if (ok)
         return jsString(str2);
@@ -1559,12 +1559,12 @@ JSValue *WindowFunc::callAsFunction(ExecState *exec, JSObject *thisObj, const Li
   case Window::Open:
   {
       AtomicString frameName = args[1]->isUndefinedOrNull()
-        ? "_blank" : AtomicString(args[1]->toString(exec).domString());
+        ? "_blank" : AtomicString(args[1]->toString(exec));
       if (!allowPopUp(exec, window) && !frame->tree()->find(frameName))
           return jsUndefined();
       
       WindowArgs windowArgs;
-      String features = args[2]->isUndefinedOrNull() ? String() : args[2]->toString(exec).domString();
+      String features = args[2]->isUndefinedOrNull() ? UString() : args[2]->toString(exec);
       parseWindowFeatures(features, windowArgs);
       constrainToVisible(screenRect(widget), windowArgs);
       
@@ -1785,14 +1785,14 @@ JSValue *WindowFunc::callAsFunction(ExecState *exec, JSObject *thisObj, const Li
             return jsUndefined();
         if (JSEventListener *listener = Window::retrieveActive(exec)->getJSEventListener(args[1]))
             if (Document *doc = frame->document())
-                doc->addWindowEventListener(AtomicString(args[0]->toString(exec).domString()), listener, args[2]->toBoolean(exec));
+                doc->addWindowEventListener(AtomicString(args[0]->toString(exec)), listener, args[2]->toBoolean(exec));
         return jsUndefined();
   case Window::RemoveEventListener:
         if (!window->isSafeScript(exec))
             return jsUndefined();
         if (JSEventListener *listener = Window::retrieveActive(exec)->getJSEventListener(args[1]))
             if (Document *doc = frame->document())
-                doc->removeWindowEventListener(AtomicString(args[0]->toString(exec).domString()), listener, args[2]->toBoolean(exec));
+                doc->removeWindowEventListener(AtomicString(args[0]->toString(exec)), listener, args[2]->toBoolean(exec));
         return jsUndefined();
   case Window::ShowModalDialog:
     return showModalDialog(exec, window, args);
@@ -1827,7 +1827,7 @@ void ScheduledAction::execute(Window *window)
             if (exec->hadException()) {
                 JSObject* exception = exec->exception()->toObject(exec);
                 exec->clearException();
-                String message = exception->get(exec, messagePropertyName)->toString(exec).domString();
+                String message = exception->get(exec, messagePropertyName)->toString(exec);
                 int lineNumber = exception->get(exec, "line")->toInt32(exec);
                 if (Interpreter::shouldPrintExceptions())
                     printf("(timer):%s\n", message.deprecatedString().utf8().data());
@@ -1872,7 +1872,7 @@ int Window::installTimeout(ScheduledAction* a, int t, bool singleShot)
 
 int Window::installTimeout(const UString& handler, int t, bool singleShot)
 {
-    return installTimeout(new ScheduledAction(handler.deprecatedString()), t, singleShot);
+    return installTimeout(new ScheduledAction(handler), t, singleShot);
 }
 
 int Window::installTimeout(JSValue* func, const List& args, int t, bool singleShot)
@@ -2005,7 +2005,7 @@ JSValue* FrameArray::indexGetter(ExecState*, JSObject*, const Identifier&, const
   
 JSValue* FrameArray::nameGetter(ExecState*, JSObject*, const Identifier& propertyName, const PropertySlot& slot)
 {
-    return Window::retrieve(static_cast<FrameArray*>(slot.slotBase())->m_frame->tree()->child(AtomicString(propertyName.domString())));
+    return Window::retrieve(static_cast<FrameArray*>(slot.slotBase())->m_frame->tree()->child(AtomicString(propertyName)));
 }
 
 bool FrameArray::getOwnPropertySlot(ExecState *exec, const Identifier& propertyName, PropertySlot& slot)
@@ -2022,7 +2022,7 @@ bool FrameArray::getOwnPropertySlot(ExecState *exec, const Identifier& propertyN
   }
 
   // check for the name or number
-  if (m_frame->tree()->child(AtomicString(propertyName.domString()))) {
+  if (m_frame->tree()->child(propertyName)) {
     slot.setCustom(this, nameGetter);
     return true;
   }
@@ -2122,7 +2122,7 @@ void Location::put(ExecState *exec, const Identifier &p, JSValue *v, int attr)
   if (!m_frame)
     return;
 
-  DeprecatedString str = v->toString(exec).deprecatedString();
+  DeprecatedString str = v->toString(exec);
   KURL url = m_frame->url();
   const HashEntry *entry = Lookup::findEntry(&LocationTable, p);
   if (entry)
@@ -2203,7 +2203,7 @@ JSValue *LocationFunc::callAsFunction(ExecState *exec, JSObject *thisObj, const
     switch (id) {
     case Location::Replace:
     {
-      DeprecatedString str = args[0]->toString(exec).deprecatedString();
+      DeprecatedString str = args[0]->toString(exec);
       Frame* p = Window::retrieveActive(exec)->frame();
       if ( p ) {
         const Window* window = Window::retrieveWindow(frame);
@@ -2229,7 +2229,7 @@ JSValue *LocationFunc::callAsFunction(ExecState *exec, JSObject *thisObj, const
         Frame *p = Window::retrieveActive(exec)->frame();
         if (p) {
             const Window *window = Window::retrieveWindow(frame);
-            DeprecatedString dstUrl = p->document()->completeURL(args[0]->toString(exec).deprecatedString());
+            DeprecatedString dstUrl = p->document()->completeURL(DeprecatedString(args[0]->toString(exec)));
             if (!dstUrl.startsWith("javascript:", false) || (window && window->isSafeScript(exec))) {
                 bool userGesture = static_cast<ScriptInterpreter *>(exec->dynamicInterpreter())->wasRunByUserGesture();
                 // We want a new history item if this JS was called via a user gesture
@@ -2358,7 +2358,7 @@ JSValue *SelectionFunc::callAsFunction(ExecState *exec, JSObject *thisObj, const
                 s.setPosition(toNode(args[0]), args[1]->toInt32(exec));
                 break;
             case Selection::Modify:
-                s.modify(args[0]->toString(exec).domString(), args[1]->toString(exec).domString(), args[2]->toString(exec).domString());
+                s.modify(args[0]->toString(exec), args[1]->toString(exec), args[2]->toString(exec));
                 break;
             case Selection::GetRangeAt:
                 return toJS(exec, s.getRangeAt(args[0]->toInt32(exec)).get());
index ba2a265fa57c68d1d9cc8b748ad211c2a9d684bc..559910c745deb6527acc44c1eadbe5c7984082fa 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/usr/bin/perl -w
 #
 #   This file is part of the KDE libraries
 #
@@ -21,6 +21,8 @@
 #   Boston, MA 02111-1307, USA.
 #
 
+use strict;
+
 my $nsFull = $ARGV[1];
 my $ns = $nsFull; $ns =~ s/K//;
 my $basename = "cssproperties";
@@ -36,51 +38,52 @@ my $filein = "$basename.in";
 my $filegperf = "$basename.gperf";
 
 open IN, $filein or die "Can't open $filein\n";
-open header, ">$fileh" or die "Can't open $fileh\n";
-open out, ">$filegperf" or die "Can't open $filegperf\n";
+open HEADER, ">$fileh" or die "Can't open $fileh\n";
+open OUT, ">$filegperf" or die "Can't open $filegperf\n";
 
-print out "%{\n/* This file is automatically generated from $filein by cssmakeprops, do not edit */\n#include \"$fileh\"\n%}\n";
-print out "struct css_prop {\n    int name;\n    int id;\n};\n\n";
-print out "static const struct css_prop *find${ns}Prop (register const char *str, register unsigned int len);\n\n%%\n";
+print OUT "%{\n/* This file is automatically generated from $filein by cssmakeprops, do not edit */\n#include \"$fileh\"\n%}\n";
+print OUT "struct css_prop {\n    int name;\n    int id;\n};\n\n";
+print OUT "static const struct css_prop *find${ns}Prop (register const char *str, register unsigned int len);\n\n%%\n";
 
-print header "/* This file is automatically generated from $filein by cssmakeprops, do not edit */\n/* Copyright 1999 Lars Knoll */\n\n#ifndef ${nsFull}_CSSPROPERTIES_H\n#define ${nsFull}_CSSPROPERTIES_H\n\n";
+print HEADER "/* This file is automatically generated from $filein by cssmakeprops, do not edit */\n/* Copyright 1999 Lars Knoll */\n\n#ifndef ${nsFull}_CSSPROPERTIES_H\n#define ${nsFull}_CSSPROPERTIES_H\n\n";
 
 my %amap = ();
+my @a = ();
 
-$num = 0;
+my $num = 0;
 if ($nsFull ne "KDOM") {
        $num = 10001; # Bigger than all properties from HTML CSS
 
-       print header "#define ${ns}CSS_PROP_INVALID 0\n";
-       print header "#define ${ns}CSS_PROP_MIN $num\n";
+       print HEADER "#define ${ns}CSS_PROP_INVALID 0\n";
+       print HEADER "#define ${ns}CSS_PROP_MIN $num\n";
 
        $num = $num - 1;
 } else {
-       print header "#define CSS_PROP_INVALID 0\n";
-       print header "#define CSS_PROP_MIN 1\n";
+       print HEADER "#define CSS_PROP_INVALID 0\n";
+       print HEADER "#define CSS_PROP_MIN 1\n";
 }
 
 while (<IN>) {
     chomp;
-    $prop = $_;
+    my $prop = $_;
 
        if(not($prop =~ /#/) and (length($prop) > 0)) {
            $num = $num + 1;
 
-           $up = uc($prop);
+           my $up = uc($prop);
            push(@a, $up);
 
-               $pup = $up;
+               my $pup = $up;
                $pup =~ s/-/_/g;
 
            $amap{$pup} = $num;
                
                if ($nsFull eq "KDOM") {
-               print out $prop . ", CSS_PROP_" . $pup . "\n";
-                   print header "#define CSS_PROP_" . $pup . " " . $num . "\n";
+               print OUT $prop . ", CSS_PROP_" . $pup . "\n";
+                   print HEADER "#define CSS_PROP_" . $pup . " " . $num . "\n";
                } else {
-               print out $prop . ", ${ns}CSS_PROP_" . $pup . "\n";
-                   print header "#define ${ns}CSS_PROP_" . $pup . " " . $num . "\n";
+               print OUT $prop . ", ${ns}CSS_PROP_" . $pup . "\n";
+                   print HEADER "#define ${ns}CSS_PROP_" . $pup . " " . $num . "\n";
                }
     }
 }
@@ -88,21 +91,21 @@ while (<IN>) {
 close(IN);
 
 if ($nsFull eq "KDOM") {
-       print header "#define CSS_PROP_MAX $num\n";
+       print HEADER "#define CSS_PROP_MAX $num\n";
 } else {
-       print header "#define ${ns}CSS_PROP_MAX $num\n";
+       print HEADER "#define ${ns}CSS_PROP_MAX $num\n";
 }
 
-print out "%%\n";
-close out;
+print OUT "%%\n";
+close OUT;
 
-print header "\nnamespace ${nsFull}\n{\n";
-print header "    const char *getSVGCSSPropertyName(unsigned short id);\n";
-print header "    int getSVGCSSPropertyID(const char *tagStr, int len);\n";
-print header "}\n";
+print HEADER "\nnamespace ${nsFull}\n{\n";
+print HEADER "    const char *getSVGCSSPropertyName(unsigned short id);\n";
+print HEADER "    int getSVGCSSPropertyID(const char *tagStr, int len);\n";
+print HEADER "}\n";
 
-print header "\n#endif\n";
-close header;
+print HEADER "\n#endif\n";
+close HEADER;
 
 my $result = system("/bin/sh", "-c", "gperf -c -a -L 'ANSI-C' -P -G -D -E -C -o -t -k '*' -Nfind${ns}Prop -Hhash_prop -Wwordlist_prop -Qspool_prop -s 3 $filegperf > $filec");
 if ($result) {
@@ -122,7 +125,7 @@ system("/bin/sh", "-c", "perl -pi -e \"s/lookup/lookupProp/g\" $filec");
 my %hmap = ();
 open(IN, "< $filec");
 while(<IN>) {
-       $lookFor = "CSS_PROP_";
+       my $lookFor = "CSS_PROP_";
        if ($nsFull ne "KDOM") {
                $lookFor = $ns . $lookFor;
        }
@@ -138,7 +141,7 @@ print OUT "\nnamespace ${nsFull}\n{\n";
 print OUT "\n\nstatic const unsigned short propList[] = {\n";
 print OUT "    65535,\n";
 
-while(defined ($line = shift @a)) {
+while(defined (my $line = shift @a)) {
     my $l = $line;
 
        if(not($l =~ /#/) and (length($l) > 0)) {
@@ -150,7 +153,7 @@ while(defined ($line = shift @a)) {
        }
 }
 
-$lookFor = "CSS_PROP_MAX";
+my $lookFor = "CSS_PROP_MAX";
 if ($nsFull ne "KDOM") {
        $lookFor = $ns . $lookFor;
 }
index 12c915d6ec841f28a17da14bec2429734272f4ef..7ee9145b9ab8a4f1e2d763528ab1a4351b263138 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/usr/bin/perl -w
 #
 #   This file is part of the KDE libraries
 #
@@ -21,6 +21,8 @@
 #   Boston, MA 02111-1307, USA.
 #
 
+use strict;
+
 my $nsFull = $ARGV[1];
 my $ns = $nsFull; $ns =~ s/K//;
 my $basename = "cssvalues";
@@ -36,51 +38,53 @@ my $filein = "$basename.in";
 my $filegperf = "$basename.gperf";
 
 open IN, $filein or die "Can't open $filein\n";
-open header, ">$fileh" or die "Can't open $fileh\n";
-open out, ">$filegperf" or die "Can't open $filegperf\n";
+open HEADER, ">$fileh" or die "Can't open $fileh\n";
+open OUT, ">$filegperf" or die "Can't open $filegperf\n";
 
-print out "%{\n/* This file is automatically generated from $filein by cssmakevalues, do not edit */\n#include \"$fileh\"\n%}\n";
-print out "struct css_val {\n    int name;\n    int id;\n};\n\n";
-print out "static const struct css_val *find${ns}Val (register const char *str, register unsigned int len);\n\n%%\n";
+print OUT "%{\n/* This file is automatically generated from $filein by cssmakevalues, do not edit */\n#include \"$fileh\"\n%}\n";
+print OUT "struct css_val {\n    int name;\n    int id;\n};\n\n";
+print OUT "static const struct css_val *find${ns}Val (register const char *str, register unsigned int len);\n\n%%\n";
 
-print header "/* This file is automatically generated from $filein by cssmakevalues, do not edit */\n/* Copyright 1999 Lars Knoll */\n\n#ifndef ${nsFull}_CSSVALUES_H\n#define ${nsFull}_CSSVALUES_H\n\n";
+print HEADER "/* This file is automatically generated from $filein by cssmakevalues, do not edit */\n/* Copyright 1999 Lars Knoll */\n\n#ifndef ${nsFull}_CSSVALUES_H\n#define ${nsFull}_CSSVALUES_H\n\n";
 
 my %amap = ();
 
-$num = 0;
+my $num = 0;
 if ($nsFull ne "KDOM") {
        $num = 10001; # Bigger than all values from HTML CSS
 
-       print header "#define ${ns}CSS_VAL_INVALID 0\n";
-       print header "#define ${ns}CSS_VAL_MIN $num\n";
+       print HEADER "#define ${ns}CSS_VAL_INVALID 0\n";
+       print HEADER "#define ${ns}CSS_VAL_MIN $num\n";
 
     $num = $num - 1;
 } else {
-       print header "#define CSS_VAL_INVALID 0\n";
-       print header "#define CSS_VAL_MIN 1\n";
+       print HEADER "#define CSS_VAL_INVALID 0\n";
+       print HEADER "#define CSS_VAL_MIN 1\n";
 }
 
+my @a = ();
+
 while (<IN>) {
     chomp;
-    $prop = $_;
+    my $prop = $_;
 
        if(not($prop =~ /#/) and (length($prop) > 0)) {
            $num = $num + 1;
 
-           $up = uc($prop);
+           my $up = uc($prop);
            push(@a, $up);
 
-               $pup = $up;
+               my $pup = $up;
                $pup =~ s/-/_/g;
 
            $amap{$pup} = $num;
                
                if ($nsFull eq "KDOM") {
-               print out $prop . ", CSS_VAL_" . $pup . "\n";
-                   print header "#define CSS_VAL_" . $pup . " " . $num . "\n";
+               print OUT $prop . ", CSS_VAL_" . $pup . "\n";
+                   print HEADER "#define CSS_VAL_" . $pup . " " . $num . "\n";
                } else {
-               print out $prop . ", ${ns}CSS_VAL_" . $pup . "\n";
-                   print header "#define ${ns}CSS_VAL_" . $pup . " " . $num . "\n";
+               print OUT $prop . ", ${ns}CSS_VAL_" . $pup . "\n";
+                   print HEADER "#define ${ns}CSS_VAL_" . $pup . " " . $num . "\n";
                }
     }
 }
@@ -88,21 +92,21 @@ while (<IN>) {
 close(IN);
 
 if ($nsFull eq "KDOM") {
-       print header "#define CSS_VAL_MAX $num\n";
+       print HEADER "#define CSS_VAL_MAX $num\n";
 } else {
-       print header "#define ${ns}CSS_VAL_MAX $num\n";
+       print HEADER "#define ${ns}CSS_VAL_MAX $num\n";
 }
 
-print out "%%\n";
-close out;
+print OUT "%%\n";
+close OUT;
 
-print header "\nnamespace ${nsFull}\n{\n";
-print header "    const char* getSVGCSSValueName(unsigned short id);\n";
-print header "    int getSVGCSSValueID(const char *tagStr, int len);\n";
-print header "}\n";
+print HEADER "\nnamespace ${nsFull}\n{\n";
+print HEADER "    const char* getSVGCSSValueName(unsigned short id);\n";
+print HEADER "    int getSVGCSSValueID(const char *tagStr, int len);\n";
+print HEADER "}\n";
 
-print header "\n#endif\n";
-close header;
+print HEADER "\n#endif\n";
+close HEADER;
 
 my $result = system("/bin/sh", "-c", "gperf -c -a -L 'ANSI-C' -P -G -D -E -C -o -t -k '*' -Nfind${ns}Val -Hhash_val -Wwordlist_val -Qspool_val -s 3 $filegperf > $filec");
 if ($result) {
@@ -122,7 +126,7 @@ system("/bin/sh", "-c", "perl -pi -e \"s/lookup/lookupVal/g\" $filec");
 my %hmap = ();
 open(IN, "< $filec");
 while(<IN>) {
-       $lookFor = "CSS_VAL_";
+       my $lookFor = "CSS_VAL_";
        if ($nsFull ne "KDOM") {
                $lookFor = $ns . $lookFor;
        }
@@ -138,7 +142,7 @@ print OUT "\nnamespace ${nsFull}\n{\n";
 print OUT "\n\nstatic const unsigned short valList[] = {\n";
 print OUT "    65535,\n";
 
-while(defined ($line = shift @a)) {
+while(defined (my $line = shift @a)) {
     my $l = $line;
 
        if(not($l =~ /#/) and (length($l) > 0)) {
@@ -150,7 +154,7 @@ while(defined ($line = shift @a)) {
        }
 }
 
-$lookFor = "CSS_VAL_MAX";
+my $lookFor = "CSS_VAL_MAX";
 if ($nsFull ne "KDOM") {
        $lookFor = $ns . $lookFor;
 }
index eb14e7ca2857624b3d2e5b669938570ee62d7dcd..2ec4d9812c9fc5be7ec50b77f5ee383e5ef1f3fe 100755 (executable)
@@ -400,7 +400,7 @@ print <<END
 ${namespace}Element *${namespace}ElementFactory::create${namespace}Element(const QualifiedName& qName, Document* doc, bool createdByParser)
 {
     if (!doc)
-        return 0; // Don't allow elements to ever be made without having a doc.
+        return 0; // Do not allow elements to ever be made without having a doc.
 
     createFunctionMapIfNecessary();
     ConstructorFunc func = gFunctionMap->get(qName.localName().impl());
@@ -456,5 +456,3 @@ namespace ${cppNamespace}
 
        restoreSTDOUT();
 }
-
-
index df2544d299876772620662c922d16d94af89182b..e5ecb08c8e73231cd7a0edf0439d77124beff8e6 100644 (file)
@@ -58,7 +58,7 @@ SVGAnimatedString *SVGAElement::target() const
 
 void SVGAElement::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
+    const AtomicString& value(attr->value());
     if (attr->name() == SVGNames::targetAttr) {
         target()->setBaseVal(value.impl());
     } else {
@@ -94,7 +94,7 @@ void SVGAElement::defaultEventHandler(Event *evt)
             return;
         }
         url = parseURL(href()->baseVal()).deprecatedString();
-        utarget = String(getAttribute(SVGNames::targetAttr)).deprecatedString();
+        utarget = getAttribute(SVGNames::targetAttr).deprecatedString();
 
         if(e && e->button() == 1)
             utarget = "_blank";
index a7d934d5030f94b8fbb1f0decd89f00828c7b4a3..c7dc60857d50adb2868ea16022198adfd77e9130 100644 (file)
@@ -61,17 +61,17 @@ SVGAnimateTransformElement::~SVGAnimateTransformElement()
 
 void SVGAnimateTransformElement::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
     if (attr->name() == SVGNames::typeAttr) {
-        if(value == "translate")
+        const String& value = attr->value();
+        if (value == "translate")
             m_type = SVG_TRANSFORM_TRANSLATE;
-        else if(value == "scale")
+        else if (value == "scale")
             m_type = SVG_TRANSFORM_SCALE;
-        else if(value == "rotate")
+        else if (value == "rotate")
             m_type = SVG_TRANSFORM_ROTATE;
-        else if(value == "skewX")
+        else if (value == "skewX")
             m_type = SVG_TRANSFORM_SKEWX;
-        else if(value == "skewY")
+        else if (value == "skewY")
             m_type = SVG_TRANSFORM_SKEWY;
     } else {
         SVGAnimationElement::parseMappedAttribute(attr);
index 4b1cc2c4c2900b4e7a0a1b5784a80da31fc1d6e6..67555407caa95c2bacf7e0d0f06211e8c89913a3 100644 (file)
@@ -128,11 +128,11 @@ double SVGAnimationElement::getSimpleDuration() const
 
 void SVGAnimationElement::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
+    const String& value = attr->value();
     if (attr->name().matches(XLinkNames::hrefAttr))
-            m_href = value.deprecatedString();
+        m_href = value.deprecatedString();
     else if (attr->name() == SVGNames::attributeNameAttr)
-            m_attributeName = value.deprecatedString();
+        m_attributeName = value.deprecatedString();
     else if (attr->name() == SVGNames::attributeTypeAttr)
     {
         if (value == "CSS")
index fcee4cce4d7978f7a91c49eb3dae2006eb933e6d..750c3f3c54744834c1a38595eecc8bfbac46a9f1 100644 (file)
@@ -63,7 +63,7 @@ SVGAnimatedEnumeration *SVGClipPathElement::clipPathUnits() const
 
 void SVGClipPathElement::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
+    const String& value = attr->value();
     if (attr->name() == SVGNames::clipPathUnitsAttr)
     {
         if(value == "userSpaceOnUse")
index 73a6f4ba9ca65996016de29702f5887f5b191fff..131cbb0c2a17f918a9d19bc508f9008fb341cc4f 100644 (file)
@@ -91,7 +91,7 @@ SVGAnimatedNumber *SVGComponentTransferFunctionElement::offset() const
 
 void SVGComponentTransferFunctionElement::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
+    const String& value = attr->value();
     if (attr->name() == SVGNames::typeAttr)
     {
         if(value == "identity")
index 5792deb94035a3cf05fe41189005fc54427dc135..6f635a3f2279b68c0a0e4a34fb580efe6279b7d1 100644 (file)
@@ -47,7 +47,7 @@ SVGAnimatedBoolean *SVGExternalResourcesRequired::externalResourcesRequired() co
 
 bool SVGExternalResourcesRequired::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
+    const String& value = attr->value();
     if (attr->name() == SVGNames::externalResourcesRequiredAttr) {
         externalResourcesRequired()->setBaseVal(value == "true");
         return true;
index 47c1f1ff79abd6a4a7d53fb2cbf07ce1a48fc7ce..638c4626b943dbfd5006f71794e9efb125604bf1 100644 (file)
@@ -71,7 +71,7 @@ SVGAnimatedEnumeration *SVGFEBlendElement::mode() const
 
 void SVGFEBlendElement::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
+    const String& value = attr->value();
     if (attr->name() == SVGNames::modeAttr)
     {
         if(value == "normal")
index b0182332b975cd1474c4cd20bb9d918f49662faf..0d855f388441482b83d8f2a1e38fc699f5176b1b 100644 (file)
@@ -75,7 +75,7 @@ SVGAnimatedNumberList *SVGFEColorMatrixElement::values() const
 
 void SVGFEColorMatrixElement::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
+    const String& value = attr->value();
     if (attr->name() == SVGNames::typeAttr)
     {
         if(value == "matrix")
index 59b51b5c864d014fe10446102fd732efd96ba631..7c212776e7346cb1ed399aa605e9b25fc53c17a3 100644 (file)
@@ -65,7 +65,7 @@ SVGAnimatedString *SVGFEComponentTransferElement::in1() const
 
 void SVGFEComponentTransferElement::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
+    const String& value = attr->value();
     if (attr->name() == SVGNames::inAttr)
         in1()->setBaseVal(value.impl());
     else
index 6542d7db5e543cf79a236ed8e18b2d5e68178400..9115ee0f9de4d0d3793f2cce6b451b1b4e7ac408 100644 (file)
@@ -99,7 +99,7 @@ SVGAnimatedNumber *SVGFECompositeElement::k4() const
 
 void SVGFECompositeElement::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
+    const String& value = attr->value();
     if (attr->name() == SVGNames::operatorAttr)
     {
         if(value == "over")
index fa1a9b3abc89c7a2c92c2fbaf996a97c64f1c5eb..89db247d38d07b04380145cd08f84dc45f80e1e5 100644 (file)
@@ -89,7 +89,7 @@ SVGAnimatedColor *SVGFEDiffuseLightingElement::lightingColor() const
 
 void SVGFEDiffuseLightingElement::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
+    const String& value = attr->value();
     if (attr->name() == SVGNames::inAttr)
         in1()->setBaseVal(value.impl());
     else if (attr->name() == SVGNames::surfaceScaleAttr)
index 93caddde3d99e80dcaf4e0b6ae8427e54909d8cb..aaef15398bd4674af45eabaae700e0887aee0866 100644 (file)
@@ -39,7 +39,7 @@
 
 using namespace WebCore;
 
-SVGFEDisplacementMapElement::SVGFEDisplacementMapElement(const WebCore::QualifiedName& tagName, WebCore::Document* doc) : 
+SVGFEDisplacementMapElement::SVGFEDisplacementMapElement(const QualifiedName& tagName, Document* doc) : 
 SVGFilterPrimitiveStandardAttributes(tagName, doc)
 {
     m_filterEffect = 0;
@@ -80,7 +80,7 @@ SVGAnimatedNumber* SVGFEDisplacementMapElement::scale() const
     return lazy_create<SVGAnimatedNumber>(m_scale, dummy);
 }
 
-KCChannelSelectorType SVGFEDisplacementMapElement::stringToChannel(WebCore::String& key)
+KCChannelSelectorType SVGFEDisplacementMapElement::stringToChannel(const String& key)
 {
     if(key == "R")
         return CS_RED;
@@ -94,9 +94,9 @@ KCChannelSelectorType SVGFEDisplacementMapElement::stringToChannel(WebCore::Stri
     return (KCChannelSelectorType)-1;
 }
 
-void SVGFEDisplacementMapElement::parseMappedAttribute(WebCore::MappedAttribute* attr)
+void SVGFEDisplacementMapElement::parseMappedAttribute(MappedAttribute* attr)
 {
-    WebCore::String value(attr->value());
+    const String& value = attr->value();
     if (attr->name() == SVGNames::xChannelSelectorAttr)
         xChannelSelector()->setBaseVal(stringToChannel(value));
     else if (attr->name() == SVGNames::yChannelSelectorAttr)
@@ -119,8 +119,8 @@ KCanvasFEDisplacementMap* SVGFEDisplacementMapElement::filterEffect() const
         return 0;
     m_filterEffect->setXChannelSelector((KCChannelSelectorType)(xChannelSelector()->baseVal()));
     m_filterEffect->setYChannelSelector((KCChannelSelectorType)(yChannelSelector()->baseVal()));
-    m_filterEffect->setIn(WebCore::String(in1()->baseVal()).deprecatedString());
-    m_filterEffect->setIn2(WebCore::String(in2()->baseVal()).deprecatedString());
+    m_filterEffect->setIn(String(in1()->baseVal()).deprecatedString());
+    m_filterEffect->setIn2(String(in2()->baseVal()).deprecatedString());
     m_filterEffect->setScale(scale()->baseVal());
     setStandardAttributes(m_filterEffect);
     return m_filterEffect;
index d86a75ac44c41c58b53c599586fd733b4710e834..698e24e050660c499606b5df0f3b28edfe40b081 100644 (file)
@@ -17,8 +17,6 @@
  Boston, MA 02111-1307, USA.
  */
 
-
-
 #ifndef KSVG_SVGFEDisplacementMapElementImpl_H
 #define KSVG_SVGFEDisplacementMapElementImpl_H
 #if SVG_SUPPORT
 #include "SVGFilterPrimitiveStandardAttributes.h"
 #include "KCanvasFilters.h"
 
-namespace WebCore
-{
+namespace WebCore {
     class SVGAnimatedNumber;
     class SVGAnimatedString;
     class SVGAnimatedEnumeration;
     
-    class SVGFEDisplacementMapElement : public SVGFilterPrimitiveStandardAttributes
-    {
-public:
-        SVGFEDisplacementMapElement(const WebCore::QualifiedName& tagName, WebCore::Document *doc);
+    class SVGFEDisplacementMapElement : public SVGFilterPrimitiveStandardAttributes {
+    public:
+        SVGFEDisplacementMapElement(const QualifiedName& tagName, Document*);
         virtual ~SVGFEDisplacementMapElement();
         
         // 'SVGFEDisplacementMapElement' functions
@@ -45,23 +41,22 @@ public:
         SVGAnimatedEnumeration* yChannelSelector() const;
         SVGAnimatedNumber* scale() const;
         
-        static KCChannelSelectorType stringToChannel(WebCore::String &key);
+        static KCChannelSelectorType stringToChannel(const String&);
         
         // Derived from: 'Element'
-        virtual void parseMappedAttribute(WebCore::MappedAttribute *attr);
+        virtual void parseMappedAttribute(MappedAttribute*);
         
         virtual KCanvasFEDisplacementMap* filterEffect() const;
         
-private:
+    private:
         mutable RefPtr<SVGAnimatedString> m_in1;
         mutable RefPtr<SVGAnimatedString> m_in2;
         mutable RefPtr<SVGAnimatedEnumeration> m_xChannelSelector;
         mutable RefPtr<SVGAnimatedEnumeration> m_yChannelSelector;
         mutable RefPtr<SVGAnimatedNumber> m_scale;
-        mutable KCanvasFEDisplacementMap *m_filterEffect;
+        mutable KCanvasFEDisplacementMapm_filterEffect;
     };
-};
+}
 
 #endif // SVG_SUPPORT
 #endif // KSVG_SVGFEDisplacementMapElementImpl_H
-
index fe7ebc6427a4765478e47d33620d8e28e3e7e55e..73f10ca50296fd5d2655641f1f329b9233b2483c 100644 (file)
@@ -58,7 +58,7 @@ SVGAnimatedString *SVGFEFloodElement::in1() const
 
 void SVGFEFloodElement::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
+    const String& value = attr->value();
     if (attr->name() == SVGNames::inAttr)
         in1()->setBaseVal(value.impl());
     else
index de59c3d95b6ca216c204c2839a16190dacc1ab96..7289a20f6801a923b4fbaa74896312ebfa7dfe83 100644 (file)
@@ -77,7 +77,7 @@ void SVGFEGaussianBlurElement::setStdDeviation(float stdDeviationX, float stdDev
 
 void SVGFEGaussianBlurElement::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
+    const String& value = attr->value();
     if (attr->name() == SVGNames::stdDeviationAttr) {
         DeprecatedStringList numbers = DeprecatedStringList::split(' ', value.deprecatedString());
         stdDeviationX()->setBaseVal(numbers[0].toDouble());
index 803ed5802b178aa48dbac98e479905165ea142c7..7439ef02302ceafc3758275404743ccc95d611e7 100644 (file)
@@ -67,7 +67,7 @@ SVGAnimatedPreserveAspectRatio *SVGFEImageElement::preserveAspectRatio() const
 
 void SVGFEImageElement::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
+    const String& value = attr->value();
     if (attr->name() == SVGNames::preserveAspectRatioAttr)
         preserveAspectRatio()->baseVal()->parsePreserveAspectRatio(value.impl());
     else
index 49bea2bec50d5a6600d92f03b0e9913bcc7317d0..bbf26ab796695d485659bf7a09ad6999125a08cf 100644 (file)
@@ -113,7 +113,7 @@ SVGAnimatedNumber *SVGFELightElement::limitingConeAngle() const
 
 void SVGFELightElement::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
+    const String& value = attr->value();
     if (attr->name() == SVGNames::azimuthAttr)
         azimuth()->setBaseVal(value.deprecatedString().toDouble());
     else if (attr->name() == SVGNames::elevationAttr)
index 76df88722809e6a6d051061b7ccbce5fb93f7263..105ed4d94192dae7e86cbb946c1adedad884dad5 100644 (file)
@@ -46,7 +46,7 @@ SVGAnimatedString *SVGFEMergeNodeElement::in1() const
 
 void SVGFEMergeNodeElement::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
+    const String& value = attr->value();
     if (attr->name() == SVGNames::inAttr)
         in1()->setBaseVal(value.impl());
     else
index c59c6e27edcc67fcba337b01a07156172a3ef4cd..0f7ff3a280a337a9da14433231cb3147850264ed 100644 (file)
@@ -72,7 +72,7 @@ SVGAnimatedNumber *SVGFEOffsetElement::dy() const
 
 void SVGFEOffsetElement::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
+    const String& value = attr->value();
     if (attr->name() == SVGNames::dxAttr)
         dx()->setBaseVal(value.deprecatedString().toDouble());
     else if (attr->name() == SVGNames::dyAttr)
index e043056946590800411db51530138cc77a7bf501..6dce78f5d8a7d48c9343bc093270f439690a09a4 100644 (file)
@@ -97,7 +97,7 @@ SVGAnimatedColor  *SVGFESpecularLightingElement::lightingColor() const
 
 void SVGFESpecularLightingElement::parseMappedAttribute(MappedAttribute *attr)
 {    
-    String value(attr->value());
+    const String& value = attr->value();
     if (attr->name() == SVGNames::inAttr)
         in1()->setBaseVal(value.impl());
     else if (attr->name() == SVGNames::surfaceScaleAttr)
index c9df488f4897bb5b65a8348a136daf31df7b5044..24f7552273821c41831fb8259b192d70c3bfd902 100644 (file)
@@ -57,7 +57,7 @@ SVGAnimatedString *SVGFETileElement::in1() const
 
 void SVGFETileElement::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
+    const String& value = attr->value();
     if (attr->name() == SVGNames::inAttr)
         in1()->setBaseVal(value.impl());
     else
index 339c23a34e1ed28de8632fa9df21c4e9f5a26829..4179544b9adea5b8ae979ff80ea559b52fd3b97e 100644 (file)
@@ -92,7 +92,7 @@ SVGAnimatedEnumeration *SVGFETurbulenceElement::type() const
 
 void SVGFETurbulenceElement::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
+    const String& value = attr->value();
     if (attr->name() == SVGNames::typeAttr)
     {
         if(value == "fractalNoise")
index 6a7598febbf652b9a27d9d7310292e8b81caa030..6fb03b9f064f6d3a0df229bde5487ae3fcf66b27 100644 (file)
@@ -131,7 +131,7 @@ void SVGFilterElement::setFilterRes(unsigned long, unsigned long) const
 
 void SVGFilterElement::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
+    const String& value = attr->value();
     if (attr->name() == SVGNames::filterUnitsAttr)
     {
         if(value == "userSpaceOnUse")
index 9bdbc017738bb3dbd27fde4294580d22fff4b048..c216b6739c2f72bc86a6913aee518f2b2c70c4de 100644 (file)
@@ -77,7 +77,7 @@ SVGAnimatedEnumeration *SVGGradientElement::spreadMethod() const
 
 void SVGGradientElement::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
+    const String& value = attr->value();
     if (attr->name() == SVGNames::gradientUnitsAttr) {
         if(value == "userSpaceOnUse")
             gradientUnits()->setBaseVal(SVG_UNIT_TYPE_USERSPACEONUSE);
index 2146c099d68983ab6fc69b6ab15c2b716e04e8eb..e3c3815bccf13b20d1c8e2c1d7f5acf7ad484a00 100644 (file)
@@ -86,7 +86,7 @@ void SVGMaskElement::childrenChanged()
 
 void SVGMaskElement::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
+    const String& value = attr->value();
     if (attr->name() == SVGNames::xAttr)
         x()->baseVal()->setValueAsString(value.impl());
     else if (attr->name() == SVGNames::yAttr)
index dac1c7448a1d8eecb006a359ae6f0c5d38a2a6cc..2e9651dd4e54c0a29da9b01545e98fbeb79459d5 100644 (file)
@@ -56,7 +56,7 @@ SVGPointList *SVGPolyElement::animatedPoints() const
 void SVGPolyElement::parseMappedAttribute(MappedAttribute *attr)
 {
     if (attr->name() == SVGNames::pointsAttr)
-        parsePoints(String(attr->value()).deprecatedString());
+        parsePoints(attr->value().deprecatedString());
     else
     {
         if(SVGTests::parseMappedAttribute(attr)) return;
index 8165fffbf5555af6225a479797373f1a65bc27d8..246cca509dff6b956b029f902a1655197df1b50e 100644 (file)
@@ -52,7 +52,7 @@ SVGAnimatedNumber *SVGStopElement::offset() const
 
 void SVGStopElement::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
+    const String& value = attr->value();
     if (attr->name() == SVGNames::offsetAttr) {
         if(value.deprecatedString().endsWith("%"))
             offset()->setBaseVal(value.deprecatedString().left(value.length() - 1).toDouble() / 100.);
index 82076c0335479d39af7adf204795b121c68b7d5b..7a1bf08111277d003546c24e5e9ab2e84fbcc69f 100644 (file)
@@ -80,12 +80,12 @@ RenderObject *SVGStyledElement::createRenderer(RenderArena *arena, RenderStyle *
 
 void SVGStyledElement::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
+    const String& value = attr->value();
     // id and class are handled by StyledElement
     DeprecatedString qProp = attr->name().localName().deprecatedString();
-    int propId = WebCore::getPropertyID(qProp.ascii(), qProp.length());
+    int propId = getPropertyID(qProp.ascii(), qProp.length());
     if (propId == 0)
-        propId = getSVGCSSPropertyID(qProp.ascii(), qProp.length());
+        propId = SVG::getSVGCSSPropertyID(qProp.ascii(), qProp.length());
     if(propId > 0) {
         addCSSProperty(attr, propId, value);
         setChanged();
index a9208b131f27c49e838bfd5f50081e5f814dc86c..1bc86ffcc2edccd59cdc36cdc5c10f6c8cd912ba 100644 (file)
@@ -86,7 +86,7 @@ bool SVGTests::isValid() const
 
 bool SVGTests::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
+    const String& value = attr->value();
     if (attr->name() == SVGNames::requiredFeaturesAttr) {
         requiredFeatures()->reset(value.deprecatedString());
         return true;
index ffc3292362e214f1844ea9f43fc0cdbff4c855f7..c7aa5f307e7dc10a4bbfb8f01b343b61f2369124 100644 (file)
@@ -98,8 +98,6 @@ void SVGTextContentElement::selectSubString(unsigned long charnum, unsigned long
 
 void SVGTextContentElement::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
-    
     //if (attr->name() == SVGNames::lengthAdjustAttr)
     //    x()->baseVal()->setValueAsString(value.impl());
     //else
index 05d121abf943ec46dfaf78a25e1f68e22efc51c0..b1a5691938ad65210ea10e9bf92f49b80270c710 100644 (file)
@@ -69,7 +69,7 @@ SVGAnimatedNumberList *SVGTextPositioningElement::rotate() const
 
 void SVGTextPositioningElement::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
+    const String& value = attr->value();
     
     if (attr->name() == SVGNames::xAttr)
         x()->baseVal()->parse(value.deprecatedString(), this, LM_WIDTH);
index 2d87ad76861262d43dd78c15dddb99fea8000288..163e4be3a762a5ace2d1ba6eb40f69144823bf74 100644 (file)
@@ -52,7 +52,7 @@ SVGStringList *SVGViewElement::viewTarget() const
 
 void SVGViewElement::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
+    const String& value = attr->value();
     if (attr->name() == SVGNames::viewTargetAttr) {
         viewTarget()->reset(value.deprecatedString());
     } else {
index 40e552854e6d07c34810a51435cf38442b5af33d..2237d7713cb3ef2a0d30e5a674cd7f6e9076be27 100644 (file)
@@ -52,7 +52,7 @@ void SVGZoomAndPan::setZoomAndPan(unsigned short zoomAndPan)
 
 bool SVGZoomAndPan::parseMappedAttribute(MappedAttribute *attr)
 {
-    String value(attr->value());
+    const String& value = attr->value();
     if (attr->name() == SVGNames::zoomAndPanAttr) {
         if(value == "disable")
             setZoomAndPan(SVG_ZOOMANDPAN_DISABLE);
index 230fa951d9558512c34e4becf31c6509f7b34a6b..c09adc96c66e47ce2c9ea015a554dd1df680a434 100644 (file)
@@ -377,7 +377,7 @@ static bool getString(JSValue* result, DeprecatedString& string)
     UString ustring;
     if (!result->getString(ustring))
         return false;
-    string = ustring.deprecatedString();
+    string = ustring;
     return true;
 }
 
@@ -603,9 +603,9 @@ void Frame::begin(const KURL& url)
   d->m_bLoadingMainResource = true;
 
   KURL ref(url);
-  ref.setUser(QSTRING_NULL);
-  ref.setPass(QSTRING_NULL);
-  ref.setRef(QSTRING_NULL);
+  ref.setUser(DeprecatedString());
+  ref.setPass(DeprecatedString());
+  ref.setRef(DeprecatedString());
   d->m_referrer = ref.url();
   d->m_url = url;
   KURL baseurl;
index 4fcb0834c79e56f8c51e5571266cc82a61582f6c..4fd88aacd130b4ac26252eef0e2514d1367a5f67 100644 (file)
 #endif
 
 #include "AtomicString.h"
-#include "StaticConstructors.h"
 
+#include "StaticConstructors.h"
+#include <kjs/identifier.h>
 #include <kxmlcore/HashSet.h>
 
+using namespace KJS;
+
 namespace WebCore {
    
 static HashSet<StringImpl*>* stringTable;
@@ -157,6 +160,25 @@ void AtomicString::remove(StringImpl* r)
     stringTable->remove(r);
 }
 
+StringImpl* AtomicString::add(const KJS::Identifier& str)
+{
+    return add(reinterpret_cast<const QChar*>(str.data()), str.size());
+}
+
+StringImpl* AtomicString::add(const KJS::UString& str)
+{
+    return add(reinterpret_cast<const QChar*>(str.data()), str.size());
+}
+
+AtomicString::operator Identifier() const
+{
+    return domString();
+}
+
+AtomicString::operator UString() const
+{
+    return domString();
+}
 
 DEFINE_GLOBAL(AtomicString, nullAtom)
 DEFINE_GLOBAL(AtomicString, emptyAtom, "")
index e2637f53a7986eaea9db1c21698e0050b528cb89..06117ac70647e40747b0d1068b89731a291166bc 100644 (file)
@@ -37,6 +37,8 @@ public:
     AtomicString(const QChar* s, int length) : m_string(add(s, length)) { }
     AtomicString(const unsigned short* s, int length) : m_string(add((QChar*)s, length)) { }
     AtomicString(const DeprecatedString& s) : m_string(add(s.unicode(), s.length())) { }
+    AtomicString(const KJS::UString& s) : m_string(add(s)) { }
+    AtomicString(const KJS::Identifier& s) : m_string(add(s)) { }
     AtomicString(StringImpl* imp) : m_string(add(imp)) { }
     AtomicString(AtomicStringImpl* imp) : m_string(imp) { }
     explicit AtomicString(const String& s) : m_string(add(s.impl())) { }
@@ -45,6 +47,9 @@ public:
     const String& domString() const { return m_string; };
     DeprecatedString deprecatedString() const { return m_string.deprecatedString(); };
     
+    operator KJS::Identifier() const;
+    operator KJS::UString() const;
+
     AtomicStringImpl* impl() const { return static_cast<AtomicStringImpl *>(m_string.impl()); }
     
     const QChar* unicode() const { return m_string.unicode(); }
@@ -86,6 +91,8 @@ private:
     static StringImpl* add(const char*);
     static StringImpl* add(const QChar*, int length);
     static StringImpl* add(StringImpl*);
+    static StringImpl* add(const KJS::UString&);
+    static StringImpl* add(const KJS::Identifier&);
 };
 
 inline bool operator==(const AtomicString& a, const AtomicString& b) { return a.impl() == b.impl(); }
index 54d37b6c3de6709fa27778458c804af411520d04..253feb4e219628639efd2b2f41f2500019ec4ed9 100644 (file)
 #include "RegularExpression.h"
 #include "TextEncoding.h"
 #include <kjs/dtoa.h>
+#include <kjs/identifier.h>
 #include <stdio.h>
 #include <stdarg.h>
 #ifdef WIN32
 #include "Windows.h"
 #endif
 
+using namespace KJS;
 using namespace WebCore;
 
 #define CHECK_FOR_HANDLE_LEAKS 0
@@ -2657,3 +2659,42 @@ DeprecatedCString DeprecatedString::utf8(int& length) const
     return result;
 }
 
+DeprecatedString::DeprecatedString(const Identifier& str)
+{
+    if (str.isNull()) {
+        internalData.deref();
+        dataHandle = makeSharedNullHandle();
+        dataHandle[0]->ref();
+    } else {
+        dataHandle = allocateHandle();
+        *dataHandle = &internalData;
+        internalData.initialize(reinterpret_cast<const QChar*>(str.data()), str.size());
+    }
+}
+
+DeprecatedString::DeprecatedString(const UString& str)
+{
+    if (str.isNull()) {
+        internalData.deref();
+        dataHandle = makeSharedNullHandle();
+        dataHandle[0]->ref();
+    } else {
+        dataHandle = allocateHandle();
+        *dataHandle = &internalData;
+        internalData.initialize(reinterpret_cast<const QChar*>(str.data()), str.size());
+    }
+}
+
+DeprecatedString::operator Identifier() const
+{
+    if (isNull())
+        return Identifier();
+    return Identifier(reinterpret_cast<const KJS::UChar*>(unicode()), length());
+}
+
+DeprecatedString::operator UString() const
+{
+    if (isNull())
+        return UString();
+    return UString(reinterpret_cast<const KJS::UChar*>(unicode()), length());
+}
index 8a30ff7b829290aa3dd26dd094c7c153e3ea3468..8165e1141d65fd335089f42b693df5efaab741ea 100644 (file)
@@ -44,6 +44,11 @@ class NSString;
 #endif
 #endif
 
+namespace KJS {
+    class Identifier;
+    class UString;
+}
+
 class QChar {
 public:
 
@@ -401,11 +406,9 @@ private:
     KWQStringData &operator=(const KWQStringData &);
 };
 
-#define QSTRING_NULL DeprecatedString()
-
 class DeprecatedString {
 public:
-    static const char * const null; // not a DeprecatedString as in Qt (can't have static constructor), but close enough to be compatible in most cases
+    static const char * const null;
 
     DeprecatedString();
     DeprecatedString(QChar);
@@ -413,12 +416,17 @@ public:
     DeprecatedString(const QChar *, unsigned);
     DeprecatedString(const char *);
     DeprecatedString(const char *, int len);
+    DeprecatedString(const KJS::Identifier&);
+    DeprecatedString(const KJS::UString&);
     
     DeprecatedString(const DeprecatedString &);
     DeprecatedString &operator=(const DeprecatedString &);
 
     ~DeprecatedString();
 
+    operator KJS::Identifier() const;
+    operator KJS::UString() const;
+
     static DeprecatedString fromLatin1(const char *);
     static DeprecatedString fromLatin1(const char *, int len);
     static DeprecatedString fromUtf8(const char *);
index 84ddcfb64163e66581596a283492f16d9e819def..0517f9727d5661a68885345936429d3344e8ffe4 100644 (file)
@@ -45,9 +45,14 @@ public:
     String() { } // gives null string, distinguishable from an empty string
     String(const QChar*, unsigned length);
     String(const DeprecatedString&);
+    String(const KJS::Identifier&);
+    String(const KJS::UString&);
     String(const char*);
     String(StringImpl* i) : m_impl(i) { }
 
+    operator KJS::Identifier() const;
+    operator KJS::UString() const;
+
     String& operator +=(const String&);
 
     void insert(const String&, unsigned pos);
index 9fab0a44335e10423198981f516d94f09b913ef6..d4d88a8f2967ada093d606e58c8c3972e9a6d5ef 100644 (file)
 #include "config.h"
 #include "PlatformString.h"
 
+#include <kjs/identifier.h>
+
+using namespace KJS;
+
 namespace WebCore {
 
 String::String(const QChar* str, unsigned len)
@@ -192,8 +196,6 @@ String String::copy() const
     return m_impl->copy();
 }
 
-// ------------------------------------------------------------------------
-
 bool String::isEmpty() const
 {
     return (!m_impl || m_impl->l == 0);
@@ -216,8 +218,6 @@ const char *String::ascii() const
 }
 #endif
 
-//-----------------------------------------------------------------------------
-
 bool operator==(const String& a, const DeprecatedString& b)
 {
     unsigned l = a.length();
@@ -228,4 +228,40 @@ bool operator==(const String& a, const DeprecatedString& b)
     return false;
 }
 
+String::String(const Identifier& str)
+{
+    if (str.isNull())
+        return;
+    
+    if (str.isEmpty())
+        m_impl = StringImpl::empty();
+    else 
+        m_impl = new StringImpl(reinterpret_cast<const QChar*>(str.data()), str.size());
+}
+
+String::String(const UString& str)
+{
+    if (str.isNull())
+        return;
+    
+    if (str.isEmpty())
+        m_impl = StringImpl::empty();
+    else 
+        m_impl = new StringImpl(reinterpret_cast<const QChar*>(str.data()), str.size());
+}
+
+String::operator Identifier() const
+{
+    if (!m_impl)
+        return Identifier();
+    return Identifier(reinterpret_cast<const KJS::UChar*>(m_impl->unicode()), m_impl->length());
+}
+
+String::operator UString() const
+{
+    if (!m_impl)
+        return UString();
+    return UString(reinterpret_cast<const KJS::UChar*>(m_impl->unicode()), m_impl->length());
+}
+
 }
index fefb1bb6c00da753245904a8c31c6c899ece3ca1..77e0a54c14a0512ec273c787b9e52fe34b608d31 100644 (file)
 
 #include "AtomicString.h"
 #include "Length.h"
+#include <kjs/identifier.h>
 #include <kxmlcore/Assertions.h>
 #include <string.h>
 #include <unicode/ubrk.h>
 
+using namespace KJS;
 using namespace KXMLCore;
 
 namespace WebCore {
@@ -390,7 +392,7 @@ static UBreakIterator* getWordBreakIterator(const QChar* string, int length)
         return 0;
 
     status = U_ZERO_ERROR;
-    ubrk_setText(iterator, reinterpret_cast<const UChar*>(string), length, &status);
+    ubrk_setText(iterator, reinterpret_cast<const ::UChar*>(string), length, &status);
     if (status != U_ZERO_ERROR)
         return 0;
 
@@ -539,7 +541,7 @@ int StringImpl::find(const QChar c, int start) const
     return -1;
 }
 
-// This was copied from KWQ's DeprecatedString and made to work here w/ small modifications.
+// This was copied from DeprecatedString and made to work here w/ small modifications.
 // FIXME comments were from the DeprecatedString version.
 int StringImpl::find(const StringImpl* str, int index, bool caseSensitive) const
 {
@@ -835,6 +837,16 @@ const char* StringImpl::ascii() const
     return buffer;
 }
 
+StringImpl::StringImpl(const Identifier& str)
+{
+    initWithQChar(reinterpret_cast<const QChar*>(str.data()), str.size());
+}
+
+StringImpl::StringImpl(const UString& str)
+{
+    initWithQChar(reinterpret_cast<const QChar*>(str.data()), str.size());
+}
+
 } // namespace WebCore
 
 namespace KXMLCore {
index 40ecf350c324bf2b234cbd3bbebd2b0004909be3..9075bf276b5a25287badece28630b32d9791ba72 100644 (file)
@@ -54,6 +54,8 @@ protected:
     StringImpl() : l(0), s(0), _hash(0), _inTable(false) { }
 public:
     StringImpl(const DeprecatedString&);
+    StringImpl(const KJS::Identifier&);
+    StringImpl(const KJS::UString&);
     StringImpl(const QChar*, unsigned len);
     StringImpl(const char*);
     StringImpl(const char*, unsigned len);