Greetings all, While working on the bug 44288<https://bugs.webkit.org/show_bug.cgi?id=44288>, it came to my attention that the default constructor of QualifiedName is behind a flag QNAME_DEFAULT_CONSTRUCTOR, and I can't find a qualified name that stands for invalid / null value.
Is there any designated qualified name object that stands for invalid / null value? Invalid / null qualified name will be useful in the context like: http://trac.webkit.org/browser/trunk/WebCore/editing/markup.cpp?rev=65854#L488 : void MarkupAccumulator::appendText(Vector<UChar>& out, Text* text) { const QualifiedName* parentName = 0; if (text->parentElement()) parentName = &static_cast<Element*>(text->parentElement())->tagQName(); if (parentName && (*parentName == scriptTag || *parentName == styleTag || *parentName == xmpTag)) { appendUCharRange(out, ucharRange(text, m_range)); return; } if (!shouldAnnotate() || (parentName && *parentName == textareaTag)) { appendEscapedContent(out, ucharRange(text, m_range), text->document()->isHTMLDocument()); return; } ... where I obtain the qualified name of the parent element which may or may not exist. If we had a null qualified name, above code can be re-written as: void MarkupAccumulator::appendText(Vector<UChar>& out, Text* text) { QualifiedName parentName = nullName; if (text->parentElement()) parentName = &static_cast<Element*>(text->parentElement())->tagQName(); if (parentName == scriptTag || parentName == styleTag || parentName == xmpTag) { appendUCharRange(out, ucharRange(text, m_range)); return; } if (!shouldAnnotate() || parentName == textareaTag) { appendEscapedContent(out, ucharRange(text, m_range), text->document()->isHTMLDocument()); return; } ... IMHO, new code is easier to read and has very little drawbacks (possible slowdown use to construction of QualifiedName). I could have used htmlTag or any other qualified name different from the four names used above, but that wouldn't be semantically correct. Ryosuke Niwa Software Engineer Google Inc.
_______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev