Add CrossThreadCopier and isolatedCopy() to SourceLocation.
We have to make isolatedCopy of every WTF::String when passing
SourceLocation between threads.
This fixes data race introduced by https://codereview.chromium.org/2010603002.
BUG=615712
Review-Url: https://codereview.chromium.org/2024993003
Cr-Original-Commit-Position: refs/heads/master@{#397137}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 48e31ee8f0d774b8674b90a7167e648ada24292c
diff --git a/String16STL.h b/String16STL.h
index 3488dc1..73b541a 100644
--- a/String16STL.h
+++ b/String16STL.h
@@ -34,6 +34,7 @@
m_impl[i] = characters[i];
}
String16(const UChar* characters, size_t size) : m_impl(characters, size) { }
+ String16 isolatedCopy() const { return String16(m_impl); }
~String16() { }
unsigned sizeInBytes() const { return m_impl.size() * sizeof(UChar); }
diff --git a/String16WTF.h b/String16WTF.h
index 533dd2d..b60045b 100644
--- a/String16WTF.h
+++ b/String16WTF.h
@@ -35,6 +35,7 @@
operator WTF::String() const { return m_impl; }
operator WebString() { return m_impl; }
const WTF::String& impl() const { return m_impl; }
+ String16 isolatedCopy() const { return String16(m_impl.isolatedCopy()); }
~String16() { }