Improve use of NeverDestroyed
[WebKit-https.git] / Source / WebCore / editing / RemoveFormatCommand.cpp
index 4b6aa45..c19b774 100644 (file)
@@ -33,6 +33,7 @@
 #include "FrameSelection.h"
 #include "HTMLNames.h"
 #include "StyleProperties.h"
+#include <wtf/NeverDestroyed.h>
 
 namespace WebCore {
 
@@ -45,39 +46,38 @@ RemoveFormatCommand::RemoveFormatCommand(Document& document)
 
 static bool isElementForRemoveFormatCommand(const Element* element)
 {
-    DEPRECATED_DEFINE_STATIC_LOCAL(HashSet<QualifiedName>, elements, ());
-    if (elements.isEmpty()) {
-        elements.add(acronymTag);
-        elements.add(bTag);
-        elements.add(bdoTag);
-        elements.add(bigTag);
-        elements.add(citeTag);
-        elements.add(codeTag);
-        elements.add(dfnTag);
-        elements.add(emTag);
-        elements.add(fontTag);
-        elements.add(iTag);
-        elements.add(insTag);
-        elements.add(kbdTag);
-        elements.add(nobrTag);
-        elements.add(qTag);
-        elements.add(sTag);
-        elements.add(sampTag);
-        elements.add(smallTag);
-        elements.add(strikeTag);
-        elements.add(strongTag);
-        elements.add(subTag);
-        elements.add(supTag);
-        elements.add(ttTag);
-        elements.add(uTag);
-        elements.add(varTag);
-    }
-    return elements.contains(element->tagQName());
+    static const auto elements = makeNeverDestroyed(HashSet<QualifiedName> {
+        acronymTag,
+        bTag,
+        bdoTag,
+        bigTag,
+        citeTag,
+        codeTag,
+        dfnTag,
+        emTag,
+        fontTag,
+        iTag,
+        insTag,
+        kbdTag,
+        nobrTag,
+        qTag,
+        sTag,
+        sampTag,
+        smallTag,
+        strikeTag,
+        strongTag,
+        subTag,
+        supTag,
+        ttTag,
+        uTag,
+        varTag,
+    });
+    return elements.get().contains(element->tagQName());
 }
 
 void RemoveFormatCommand::doApply()
 {
-    if (!endingSelection().isNonOrphanedCaretOrRange())
+    if (endingSelection().isNoneOrOrphaned())
         return;
 
     // Get the default style for this editable root, it's the style that we'll give the