static bool isCharsetSpecifyingNode(Node* node) { if (!node->isHTMLElement()) return false; HTMLElement* element = toHTMLElement(node); if (!element->hasTagName(HTMLNames::metaTag)) return false; HTMLMetaCharsetParser::AttributeList attributes; if (element->hasAttributes()) { for (unsigned i = 0; i < element->attributeCount(); ++i) { Attribute* item = element->attributeItem(i); // FIXME: We should deal appropriately with the attribute if they have a namespace. attributes.append(make_pair(item->name().toString(), item->value().string())); } } TextEncoding textEncoding = HTMLMetaCharsetParser::encodingFromMetaAttributes(attributes); return textEncoding.isValid(); }