#include "config.h"
#include "StringStatics.h"
-#ifdef SKIP_STATIC_CONSTRUCTORS_ON_GCC
-#define ATOMICSTRING_HIDE_GLOBALS 1
-#endif
-
#include "AtomicString.h"
#include "StringImpl.h"
#include "wtf/DynamicAnnotations.h"
WTF_EXPORT DEFINE_GLOBAL(AtomicString, nullAtom)
WTF_EXPORT DEFINE_GLOBAL(AtomicString, emptyAtom)
-WTF_EXPORT DEFINE_GLOBAL(AtomicString, textAtom)
-WTF_EXPORT DEFINE_GLOBAL(AtomicString, commentAtom)
WTF_EXPORT DEFINE_GLOBAL(AtomicString, starAtom)
WTF_EXPORT DEFINE_GLOBAL(AtomicString, xmlAtom)
WTF_EXPORT DEFINE_GLOBAL(AtomicString, xmlnsAtom)
WTF_EXPORT DEFINE_GLOBAL(AtomicString, xlinkAtom)
+// This is not an AtomicString because it is unlikely to be used as an
+// event/element/attribute name, so it shouldn't pollute the AtomicString hash
+// table.
+WTF_EXPORT DEFINE_GLOBAL(String, xmlnsWithColon)
+
NEVER_INLINE unsigned StringImpl::hashSlowCase() const
{
if (is8Bit())
ASSERT(isMainThread());
// FIXME: These should be allocated at compile time.
- new (NotNull, (void*)&textAtom) AtomicString("#text", AtomicString::ConstructFromLiteral);
- new (NotNull, (void*)&commentAtom) AtomicString("#comment", AtomicString::ConstructFromLiteral);
new (NotNull, (void*)&starAtom) AtomicString("*", AtomicString::ConstructFromLiteral);
new (NotNull, (void*)&xmlAtom) AtomicString("xml", AtomicString::ConstructFromLiteral);
new (NotNull, (void*)&xmlnsAtom) AtomicString("xmlns", AtomicString::ConstructFromLiteral);
new (NotNull, (void*)&xlinkAtom) AtomicString("xlink", AtomicString::ConstructFromLiteral);
+ new (NotNull, (void*)&xmlnsWithColon) String("xmlns:");
}
}