Autocapitalize.cpp [plain text]
#include "config.h"
#include "Autocapitalize.h"
#include <wtf/NeverDestroyed.h>
namespace WebCore {
AutocapitalizeType autocapitalizeTypeForAttributeValue(const AtomicString& attributeValue)
{
if (attributeValue.isEmpty())
return AutocapitalizeTypeDefault;
if (equalLettersIgnoringASCIICase(attributeValue, "on") || equalLettersIgnoringASCIICase(attributeValue, "sentences"))
return AutocapitalizeTypeSentences;
if (equalLettersIgnoringASCIICase(attributeValue, "off") || equalLettersIgnoringASCIICase(attributeValue, "none"))
return AutocapitalizeTypeNone;
if (equalLettersIgnoringASCIICase(attributeValue, "words"))
return AutocapitalizeTypeWords;
if (equalLettersIgnoringASCIICase(attributeValue, "characters"))
return AutocapitalizeTypeAllCharacters;
return AutocapitalizeTypeSentences;
}
const AtomicString& stringForAutocapitalizeType(AutocapitalizeType type)
{
switch (type) {
case AutocapitalizeTypeDefault:
return nullAtom();
case AutocapitalizeTypeNone: {
static NeverDestroyed<const AtomicString> valueNone("none", AtomicString::ConstructFromLiteral);
return valueNone;
}
case AutocapitalizeTypeSentences: {
static NeverDestroyed<const AtomicString> valueSentences("sentences", AtomicString::ConstructFromLiteral);
return valueSentences;
}
case AutocapitalizeTypeWords: {
static NeverDestroyed<const AtomicString> valueWords("words", AtomicString::ConstructFromLiteral);
return valueWords;
}
case AutocapitalizeTypeAllCharacters: {
static NeverDestroyed<const AtomicString> valueAllCharacters("characters", AtomicString::ConstructFromLiteral);
return valueAllCharacters;
}
}
ASSERT_NOT_REACHED();
return nullAtom();
}
}