summaryrefslogtreecommitdiff
path: root/Source/WebCore/rendering/style/DataRef.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/rendering/style/DataRef.h')
-rw-r--r--Source/WebCore/rendering/style/DataRef.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/Source/WebCore/rendering/style/DataRef.h b/Source/WebCore/rendering/style/DataRef.h
index 0afb6ecd9..3eb14e1eb 100644
--- a/Source/WebCore/rendering/style/DataRef.h
+++ b/Source/WebCore/rendering/style/DataRef.h
@@ -24,17 +24,18 @@
#ifndef DataRef_h
#define DataRef_h
+#include <wtf/PassRef.h>
#include <wtf/Ref.h>
namespace WebCore {
template <typename T> class DataRef {
public:
- DataRef(Ref<T>&& data) : m_data(WTFMove(data)) { }
+ DataRef(PassRef<T> data) : m_data(std::move(data)) { }
DataRef(const DataRef& other) : m_data(const_cast<T&>(other.m_data.get())) { }
DataRef& operator=(const DataRef& other) { m_data = const_cast<T&>(other.m_data.get()); return *this; }
- const T* get() const { return m_data.ptr(); }
+ const T* get() const { return &m_data.get(); }
const T& operator*() const { return *get(); }
const T* operator->() const { return get(); }
@@ -43,17 +44,17 @@ public:
{
if (!m_data->hasOneRef())
m_data = m_data->copy();
- return m_data.ptr();
+ return &m_data.get();
}
bool operator==(const DataRef<T>& o) const
{
- return m_data.ptr() == o.m_data.ptr() || m_data.get() == o.m_data.get();
+ return &m_data.get() == &o.m_data.get() || m_data.get() == o.m_data.get();
}
bool operator!=(const DataRef<T>& o) const
{
- return m_data.ptr() != o.m_data.ptr() && m_data.get() != o.m_data.get();
+ return &m_data.get() != &o.m_data.get() && m_data.get() != o.m_data.get();
}
private: