Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(661)

Unified Diff: Source/core/editing/FormatBlockCommand.cpp

Issue 15622005: Introduce LiteralSet (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Literal, Literal, Literal Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/dom/QualifiedName.h ('k') | Source/core/editing/ReplaceSelectionCommand.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/editing/FormatBlockCommand.cpp
diff --git a/Source/core/editing/FormatBlockCommand.cpp b/Source/core/editing/FormatBlockCommand.cpp
index 6b5337ccaaa3161832bb9d707d8b937825a7c83b..661dac3d9d2cd2493c1312d1a2782caf2433060e 100644
--- a/Source/core/editing/FormatBlockCommand.cpp
+++ b/Source/core/editing/FormatBlockCommand.cpp
@@ -115,34 +115,38 @@ Element* FormatBlockCommand::elementForFormatBlockCommand(Range* range)
return commonAncestor->isElementNode() ? toElement(commonAncestor) : 0;
}
+// FIXME: This function doesn't work properly for XHTML documents that use a non-standard prefix.
bool isElementForFormatBlock(const QualifiedName& tagName)
{
- DEFINE_STATIC_LOCAL(HashSet<QualifiedName>, blockTags, ());
- if (blockTags.isEmpty()) {
- blockTags.add(addressTag);
- blockTags.add(articleTag);
- blockTags.add(asideTag);
- blockTags.add(blockquoteTag);
- blockTags.add(ddTag);
- blockTags.add(divTag);
- blockTags.add(dlTag);
- blockTags.add(dtTag);
- blockTags.add(footerTag);
- blockTags.add(h1Tag);
- blockTags.add(h2Tag);
- blockTags.add(h3Tag);
- blockTags.add(h4Tag);
- blockTags.add(h5Tag);
- blockTags.add(h6Tag);
- blockTags.add(headerTag);
- blockTags.add(hgroupTag);
- blockTags.add(mainTag);
- blockTags.add(navTag);
- blockTags.add(pTag);
- blockTags.add(preTag);
- blockTags.add(sectionTag);
+ DEFINE_STATIC_LOCAL(QualifiedNameLiteralSet, blockTags, ());
+ if (!blockTags.isInitialized()) {
+ static const QualifiedName* blockTagData[] = {
+ &addressTag,
+ &articleTag,
+ &asideTag,
+ &blockquoteTag,
+ &ddTag,
+ &divTag,
+ &dlTag,
+ &dtTag,
+ &footerTag,
+ &h1Tag,
+ &h2Tag,
+ &h3Tag,
+ &h4Tag,
+ &h5Tag,
+ &h6Tag,
+ &headerTag,
+ &hgroupTag,
+ &mainTag,
+ &navTag,
+ &pTag,
+ &preTag,
+ &sectionTag,
+ };
+ blockTags.init(blockTagData, WTF_ARRAY_LENGTH(blockTagData));
}
- return blockTags.contains(tagName);
+ return blockTags.contains(&tagName);
}
Node* enclosingBlockToSplitTreeTo(Node* startNode)
« no previous file with comments | « Source/core/dom/QualifiedName.h ('k') | Source/core/editing/ReplaceSelectionCommand.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698