Index: Source/wtf/text/TextEncoding.cpp |
diff --git a/Source/wtf/text/TextEncoding.cpp b/Source/wtf/text/TextEncoding.cpp |
index 293afb4ecb6a048f96173b28440353ea1db703d8..8882e6c5213fa07b2deb809d57c3799052f894ba 100644 |
--- a/Source/wtf/text/TextEncoding.cpp |
+++ b/Source/wtf/text/TextEncoding.cpp |
@@ -32,6 +32,7 @@ |
#include <unicode/unorm.h> |
#include "wtf/OwnPtr.h" |
#include "wtf/StdLibExtras.h" |
+#include "wtf/Threading.h" |
#include "wtf/text/CString.h" |
#include "wtf/text/WTFString.h" |
@@ -39,7 +40,7 @@ namespace WTF { |
static const TextEncoding& UTF7Encoding() |
{ |
- static TextEncoding globalUTF7Encoding("UTF-7"); |
+ AtomicallyInitializedStatic(TextEncoding, globalUTF7Encoding = *new TextEncoding("UTF-7")); |
return globalUTF7Encoding; |
} |
@@ -174,50 +175,50 @@ const TextEncoding& TextEncoding::encodingForFormSubmission() const |
const TextEncoding& ASCIIEncoding() |
{ |
- static TextEncoding globalASCIIEncoding("ASCII"); |
+ AtomicallyInitializedStatic(TextEncoding, globalASCIIEncoding = *new TextEncoding("ASCII")); |
return globalASCIIEncoding; |
} |
const TextEncoding& Latin1Encoding() |
{ |
- static TextEncoding globalLatin1Encoding("latin1"); |
+ AtomicallyInitializedStatic(TextEncoding, globalLatin1Encoding = *new TextEncoding("latin1")); |
return globalLatin1Encoding; |
} |
const TextEncoding& UTF16BigEndianEncoding() |
{ |
- static TextEncoding globalUTF16BigEndianEncoding("UTF-16BE"); |
+ AtomicallyInitializedStatic(TextEncoding, globalUTF16BigEndianEncoding = *new TextEncoding("UTF-16BE")); |
return globalUTF16BigEndianEncoding; |
} |
const TextEncoding& UTF16LittleEndianEncoding() |
{ |
- static TextEncoding globalUTF16LittleEndianEncoding("UTF-16LE"); |
+ AtomicallyInitializedStatic(TextEncoding, globalUTF16LittleEndianEncoding = *new TextEncoding("UTF-16LE")); |
return globalUTF16LittleEndianEncoding; |
} |
const TextEncoding& UTF32BigEndianEncoding() |
{ |
- static TextEncoding globalUTF32BigEndianEncoding("UTF-32BE"); |
+ AtomicallyInitializedStatic(TextEncoding, globalUTF32BigEndianEncoding = *new TextEncoding("UTF-32BE")); |
return globalUTF32BigEndianEncoding; |
} |
const TextEncoding& UTF32LittleEndianEncoding() |
{ |
- static TextEncoding globalUTF32LittleEndianEncoding("UTF-32LE"); |
+ AtomicallyInitializedStatic(TextEncoding, globalUTF32LittleEndianEncoding = *new TextEncoding("UTF-32LE")); |
return globalUTF32LittleEndianEncoding; |
} |
const TextEncoding& UTF8Encoding() |
{ |
- static TextEncoding globalUTF8Encoding("UTF-8"); |
+ AtomicallyInitializedStatic(TextEncoding, globalUTF8Encoding = *new TextEncoding("UTF-8")); |
ASSERT(globalUTF8Encoding.isValid()); |
return globalUTF8Encoding; |
} |
const TextEncoding& WindowsLatin1Encoding() |
{ |
- static TextEncoding globalWindowsLatin1Encoding("WinLatin1"); |
+ AtomicallyInitializedStatic(TextEncoding, globalWindowsLatin1Encoding = *new TextEncoding("WinLatin1")); |
return globalWindowsLatin1Encoding; |
} |