String::isolatedCopy doesn’t return an isolated copy when used on an rvalue reference
authormitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 17 Jun 2014 16:16:38 +0000 (16:16 +0000)
committermitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 17 Jun 2014 16:16:38 +0000 (16:16 +0000)
commitd6d7b108877cd431a875b26791d2d25e8d2efbb5
treea5ecf8ab330f868397bd9fd1920f8f6bfa7708f4
parent596944aa9b26ffdf497a0777bea0aab152026297
String::isolatedCopy doesn’t return an isolated copy when used on an rvalue reference
https://bugs.webkit.org/show_bug.cgi?id=133968

Reviewed by Anders Carlsson.

Source/WTF:
Made the rvalue reference overload of isolatedCopy() non-const, so that std::move(*this) is
an rvalue reference that can be moved, rather than copied, into the returned String.

* wtf/text/WTFString.cpp:
(WTF::String::isolatedCopy):
* wtf/text/WTFString.h:

Tools:
* TestWebKitAPI/Tests/WTF/WTFString.cpp:
(TestWebKitAPI::TEST): Added a test that an isolated copy of an rvalue reference doesn’t
share an impl() with the original.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@170055 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WTF/ChangeLog
Source/WTF/wtf/text/WTFString.cpp
Source/WTF/wtf/text/WTFString.h
Tools/ChangeLog
Tools/TestWebKitAPI/Tests/WTF/WTFString.cpp