Title: [197143] trunk/Source/WTF
- Revision
- 197143
- Author
- commit-qu...@webkit.org
- Date
- 2016-02-25 15:59:21 -0800 (Thu, 25 Feb 2016)
Log Message
Unreviewed, rolling out r197137.
https://bugs.webkit.org/show_bug.cgi?id=154700
broke windows build (Requested by alexchristensen on #webkit).
Reverted changeset:
"Replace RefCounter::Token implementation with RefPtr"
https://bugs.webkit.org/show_bug.cgi?id=154698
http://trac.webkit.org/changeset/197137
Modified Paths
Diff
Modified: trunk/Source/WTF/ChangeLog (197142 => 197143)
--- trunk/Source/WTF/ChangeLog 2016-02-25 23:52:07 UTC (rev 197142)
+++ trunk/Source/WTF/ChangeLog 2016-02-25 23:59:21 UTC (rev 197143)
@@ -1,3 +1,16 @@
+2016-02-25 Commit Queue <commit-qu...@webkit.org>
+
+ Unreviewed, rolling out r197137.
+ https://bugs.webkit.org/show_bug.cgi?id=154700
+
+ broke windows build (Requested by alexchristensen on #webkit).
+
+ Reverted changeset:
+
+ "Replace RefCounter::Token implementation with RefPtr"
+ https://bugs.webkit.org/show_bug.cgi?id=154698
+ http://trac.webkit.org/changeset/197137
+
2016-02-25 Gavin Barraclough <barraclo...@apple.com>
Replace RefCounter::Token implementation with RefPtr
Modified: trunk/Source/WTF/wtf/RefCounter.h (197142 => 197143)
--- trunk/Source/WTF/wtf/RefCounter.h 2016-02-25 23:52:07 UTC (rev 197142)
+++ trunk/Source/WTF/wtf/RefCounter.h 2016-02-25 23:59:21 UTC (rev 197143)
@@ -56,14 +56,32 @@
};
public:
- using Token = RefPtr<Count>;
+ class Token {
+ public:
+ Token() { }
+ Token(std::nullptr_t) { }
+ inline Token(const Token&);
+ inline Token(Token&&);
+ inline Token& operator=(std::nullptr_t);
+ inline Token& operator=(const Token&);
+ inline Token& operator=(Token&&);
+
+ explicit operator bool() const { return m_ptr; }
+
+ private:
+ friend class RefCounter;
+ inline Token(Count* count);
+
+ RefPtr<Count> m_ptr;
+ };
+
WTF_EXPORT_PRIVATE RefCounter(std::function<void(bool)> = [](bool) { });
WTF_EXPORT_PRIVATE ~RefCounter();
Token count() const
{
- return m_count;
+ return Token(m_count);
}
unsigned value() const
@@ -125,6 +143,45 @@
delete m_count;
}
+template<class T>
+inline RefCounter<T>::Token::Token(Count* count)
+ : m_ptr(count)
+{
+}
+
+template<class T>
+inline RefCounter<T>::Token::Token(const RefCounter::Token& token)
+ : m_ptr(token.m_ptr)
+{
+}
+
+template<class T>
+inline RefCounter<T>::Token::Token(RefCounter::Token&& token)
+ : m_ptr(token.m_ptr)
+{
+}
+
+template<class T>
+inline typename RefCounter<T>::Token& RefCounter<T>::Token::operator=(std::nullptr_t)
+{
+ m_ptr = nullptr;
+ return *this;
+}
+
+template<class T>
+inline typename RefCounter<T>::Token& RefCounter<T>::Token::operator=(const RefCounter<T>::Token& token)
+{
+ m_ptr = token.m_ptr;
+ return *this;
+}
+
+template<class T>
+inline typename RefCounter<T>::Token& RefCounter<T>::Token::operator=(RefCounter<T>::Token&& token)
+{
+ m_ptr = token.m_ptr;
+ return *this;
+}
+
} // namespace WTF
using WTF::RefCounter;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes