bool DOMImplementation::hasFeature(const String& feature, const String& version) { String lower = feature.lower(); if (lower == "core" || lower == "html" || lower == "xml" || lower == "xhtml") return version.isEmpty() || version == "1.0" || version == "2.0"; if (lower == "css" || lower == "css2" || lower == "events" || lower == "htmlevents" || lower == "mouseevents" || lower == "mutationevents" || lower == "range" || lower == "stylesheets" || lower == "traversal" || lower == "uievents" || lower == "views") return version.isEmpty() || version == "2.0"; if (lower == "xpath" || lower == "textevents") return version.isEmpty() || version == "3.0"; #if ENABLE(SVG) if ((version.isEmpty() || version == "1.1") && feature.startsWith("http://www.w3.org/tr/svg11/feature#", false)) { if (isSVG11Feature(feature.right(feature.length() - 35))) return true; } if ((version.isEmpty() || version == "1.0") && feature.startsWith("org.w3c.", false)) { if (isSVG10Feature(feature.right(feature.length() - 8))) return true; } #endif return false; }
bool DOMImplementation::hasFeature(const String& feature, const String& version) { String lower = feature.lower(); if (lower == "core" || lower == "html" || lower == "xml" || lower == "xhtml") return version.isEmpty() || version == "1.0" || version == "2.0"; if (lower == "css" || lower == "css2" || lower == "range" || lower == "stylesheets" || lower == "traversal" || lower == "views") return version.isEmpty() || version == "2.0"; if (isEvents2Feature(feature, version)) return true; if (lower == "xpath") return version.isEmpty() || version == "3.0"; if (isEvents3Feature(feature, version)) return true; #if ENABLE(SVG) if (isSVG11Feature(feature, version)) return true; if (isSVG10Feature(feature, version)) return true; #endif return false; }