| Index: Source/core/dom/DOMImplementation.cpp
|
| diff --git a/Source/core/dom/DOMImplementation.cpp b/Source/core/dom/DOMImplementation.cpp
|
| index e47b6bce7d252ddbadb6f552d5b8ff1f3ec62c22..fccfbfd853bec9d1c1ac22a05c7219efed012498 100644
|
| --- a/Source/core/dom/DOMImplementation.cpp
|
| +++ b/Source/core/dom/DOMImplementation.cpp
|
| @@ -61,123 +61,11 @@
|
|
|
| namespace blink {
|
|
|
| -typedef HashSet<String, CaseFoldingHash> FeatureSet;
|
| -
|
| -static void addString(FeatureSet& set, const char* string)
|
| -{
|
| - set.add(string);
|
| -}
|
| -
|
| -static bool isSupportedSVG10Feature(const String& feature, const String& version)
|
| -{
|
| - if (!version.isEmpty() && version != "1.0")
|
| - return false;
|
| -
|
| - static bool initialized = false;
|
| - DEFINE_STATIC_LOCAL(FeatureSet, svgFeatures, ());
|
| - if (!initialized) {
|
| - addString(svgFeatures, "svg");
|
| - addString(svgFeatures, "svg.static");
|
| -// addString(svgFeatures, "svg.animation");
|
| -// addString(svgFeatures, "svg.dynamic");
|
| -// addString(svgFeatures, "svg.dom.animation");
|
| -// addString(svgFeatures, "svg.dom.dynamic");
|
| - addString(svgFeatures, "dom");
|
| - addString(svgFeatures, "dom.svg");
|
| - addString(svgFeatures, "dom.svg.static");
|
| -// addString(svgFeatures, "svg.all");
|
| -// addString(svgFeatures, "dom.svg.all");
|
| - initialized = true;
|
| - }
|
| - return feature.startsWith("org.w3c.", TextCaseInsensitive)
|
| - && svgFeatures.contains(feature.right(feature.length() - 8));
|
| -}
|
| -
|
| -static bool isSupportedSVG11Feature(const String& feature, const String& version)
|
| -{
|
| - if (!version.isEmpty() && version != "1.1")
|
| - return false;
|
| -
|
| - static bool initialized = false;
|
| - DEFINE_STATIC_LOCAL(FeatureSet, svgFeatures, ());
|
| - if (!initialized) {
|
| - // Sadly, we cannot claim to implement any of the SVG 1.1 generic feature sets
|
| - // lack of Font and Filter support.
|
| - // http://bugs.webkit.org/show_bug.cgi?id=15480
|
| - addString(svgFeatures, "SVG");
|
| - addString(svgFeatures, "SVGDOM");
|
| - addString(svgFeatures, "SVG-static");
|
| - addString(svgFeatures, "SVGDOM-static");
|
| - addString(svgFeatures, "SVG-animation");
|
| - addString(svgFeatures, "SVGDOM-animation");
|
| -// addString(svgFeatures, "SVG-dynamic);
|
| -// addString(svgFeatures, "SVGDOM-dynamic);
|
| - addString(svgFeatures, "CoreAttribute");
|
| - addString(svgFeatures, "Structure");
|
| - addString(svgFeatures, "BasicStructure");
|
| - addString(svgFeatures, "ContainerAttribute");
|
| - addString(svgFeatures, "ConditionalProcessing");
|
| - addString(svgFeatures, "Image");
|
| - addString(svgFeatures, "Style");
|
| - addString(svgFeatures, "ViewportAttribute");
|
| - addString(svgFeatures, "Shape");
|
| - addString(svgFeatures, "Text");
|
| - addString(svgFeatures, "BasicText");
|
| - addString(svgFeatures, "PaintAttribute");
|
| - addString(svgFeatures, "BasicPaintAttribute");
|
| - addString(svgFeatures, "OpacityAttribute");
|
| - addString(svgFeatures, "GraphicsAttribute");
|
| - addString(svgFeatures, "BaseGraphicsAttribute");
|
| - addString(svgFeatures, "Marker");
|
| -// addString(svgFeatures, "ColorProfile");
|
| - addString(svgFeatures, "Gradient");
|
| - addString(svgFeatures, "Pattern");
|
| - addString(svgFeatures, "Clip");
|
| - addString(svgFeatures, "BasicClip");
|
| - addString(svgFeatures, "Mask");
|
| - addString(svgFeatures, "Filter");
|
| - addString(svgFeatures, "BasicFilter");
|
| - addString(svgFeatures, "DocumentEventsAttribute");
|
| - addString(svgFeatures, "GraphicalEventsAttribute");
|
| -// addString(svgFeatures, "AnimationEventsAttribute");
|
| - addString(svgFeatures, "Cursor");
|
| - addString(svgFeatures, "Hyperlinking");
|
| - addString(svgFeatures, "XlinkAttribute");
|
| - addString(svgFeatures, "View");
|
| - addString(svgFeatures, "Script");
|
| - addString(svgFeatures, "Animation");
|
| - addString(svgFeatures, "Extensibility");
|
| - initialized = true;
|
| - }
|
| - return feature.startsWith("http://www.w3.org/tr/svg11/feature#", TextCaseInsensitive)
|
| - && svgFeatures.contains(feature.right(feature.length() - 35));
|
| -}
|
| -
|
| DOMImplementation::DOMImplementation(Document& document)
|
| : m_document(document)
|
| {
|
| }
|
|
|
| -bool DOMImplementation::hasFeature(const String& feature, const String& version)
|
| -{
|
| - if (feature.startsWith("http://www.w3.org/TR/SVG", TextCaseInsensitive)
|
| - || feature.startsWith("org.w3c.dom.svg", TextCaseInsensitive)
|
| - || feature.startsWith("org.w3c.svg", TextCaseInsensitive)) {
|
| - // FIXME: SVG 2.0 support?
|
| - return isSupportedSVG10Feature(feature, version) || isSupportedSVG11Feature(feature, version);
|
| - }
|
| - return true;
|
| -}
|
| -
|
| -bool DOMImplementation::hasFeatureForBindings(const String& feature, const String& version)
|
| -{
|
| - if (!hasFeature(feature, version)) {
|
| - UseCounter::countDeprecation(m_document, UseCounter::DOMImplementationHasFeatureReturnFalse);
|
| - return false;
|
| - }
|
| - return true;
|
| -}
|
| -
|
| PassRefPtrWillBeRawPtr<DocumentType> DOMImplementation::createDocumentType(const AtomicString& qualifiedName,
|
| const String& publicId, const String& systemId, ExceptionState& exceptionState)
|
| {
|
|
|