Autocapitalize.cpp [plain text]
#include "config.h"
#include "Autocapitalize.h"
namespace WebCore {
static const AtomicString& valueDefault()
{
return nullAtom;
}
static const AtomicString& valueOn()
{
DEFINE_STATIC_LOCAL(const AtomicString, valueOn, ("on"));
return valueOn;
}
static const AtomicString& valueOff()
{
DEFINE_STATIC_LOCAL(const AtomicString, valueOff, ("off"));
return valueOff;
}
static const AtomicString& valueNone()
{
DEFINE_STATIC_LOCAL(const AtomicString, valueNone, ("none"));
return valueNone;
}
static const AtomicString& valueWords()
{
DEFINE_STATIC_LOCAL(const AtomicString, valueWords, ("words"));
return valueWords;
}
static const AtomicString& valueSentences()
{
DEFINE_STATIC_LOCAL(const AtomicString, valueSentences, ("sentences"));
return valueSentences;
}
static const AtomicString& valueAllCharacters()
{
DEFINE_STATIC_LOCAL(const AtomicString, valueAllCharacters, ("characters"));
return valueAllCharacters;
}
WebAutocapitalizeType autocapitalizeTypeForAttributeValue(const AtomicString& attr)
{
if (attr.isNull() || attr.isEmpty())
return WebAutocapitalizeTypeDefault;
if (equalIgnoringCase(attr, valueOn()) || equalIgnoringCase(attr, valueSentences()))
return WebAutocapitalizeTypeSentences;
if (equalIgnoringCase(attr, valueOff()) || equalIgnoringCase(attr, valueNone()))
return WebAutocapitalizeTypeNone;
if (equalIgnoringCase(attr, valueWords()))
return WebAutocapitalizeTypeWords;
if (equalIgnoringCase(attr, valueAllCharacters()))
return WebAutocapitalizeTypeAllCharacters;
return WebAutocapitalizeTypeSentences;
}
const AtomicString& stringForAutocapitalizeType(WebAutocapitalizeType type)
{
switch (type) {
case WebAutocapitalizeTypeDefault:
return valueDefault();
case WebAutocapitalizeTypeNone:
return valueNone();
case WebAutocapitalizeTypeSentences:
return valueSentences();
case WebAutocapitalizeTypeWords:
return valueWords();
case WebAutocapitalizeTypeAllCharacters:
return valueAllCharacters();
}
ASSERT_NOT_REACHED();
return valueDefault();
}
}