Changeset 176078 in webkit
- Timestamp:
- Nov 13, 2014, 11:07:11 AM (11 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
-
Source/WTF/ChangeLog (modified) (1 diff)
-
Source/WTF/wtf/PassRef.h (modified) (1 diff)
-
Tools/ChangeLog (modified) (1 diff)
-
Tools/TestWebKitAPI/Tests/WTF/Ref.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WTF/ChangeLog
r176066 r176078 1 2014-11-13 Myles C. Maxfield <mmaxfield@apple.com> 2 3 Allow constructing a base PassRef with a derived Ref 4 https://bugs.webkit.org/show_bug.cgi?id=138701 5 6 Reviewed by Andreas Kling 7 8 * wtf/PassRef.h: 9 (WTF::PassRef<T>::PassRef): 10 1 11 2014-11-12 Ryuan Choi <ryuan.choi@navercorp.com> 2 12 -
trunk/Source/WTF/wtf/PassRef.h
r175648 r176078 101 101 102 102 template<typename T> template<typename U> inline PassRef<T>::PassRef(const Ref<U>& other) 103 : m_reference( const_cast<T&>(other.get()))103 : m_reference(static_cast<T&>(const_cast<U&>(other.get()))) 104 104 #ifndef NDEBUG 105 105 , m_gaveUpReference(false) -
trunk/Tools/ChangeLog
r176039 r176078 1 2014-11-13 Myles C. Maxfield <mmaxfield@apple.com> 2 3 Allow constructing a base PassRef with a derived Ref 4 https://bugs.webkit.org/show_bug.cgi?id=138701 5 6 Reviewed by Andreas Kling 7 8 * TestWebKitAPI/Tests/WTF/Ref.cpp: 9 (TestWebKitAPI::passWithPassRef): 10 (TestWebKitAPI::passWithPassRefPtr): 11 (TestWebKitAPI::TEST): 12 1 13 2014-11-05 Ada Chan <adachan@apple.com> 2 14 -
trunk/Tools/TestWebKitAPI/Tests/WTF/Ref.cpp
r175583 r176078 99 99 } 100 100 101 PassRef<RefLogger> passWithPassRef(PassRef<RefLogger> reference)101 static PassRef<RefLogger> passWithPassRef(PassRef<RefLogger> reference) 102 102 { 103 103 return reference; 104 104 } 105 105 106 RefPtr<RefLogger> passWithPassRefPtr(PassRefPtr<RefLogger> reference)106 static RefPtr<RefLogger> passWithPassRefPtr(PassRefPtr<RefLogger> reference) 107 107 { 108 108 return reference; … … 142 142 } 143 143 ASSERT_STREQ("ref(a) deref(a) ", takeLogStr().c_str()); 144 145 { 146 RefPtr<DerivedRefLogger> ptr(&a); 147 RefPtr<RefLogger> ptr2(WTF::move(ptr)); 148 ASSERT_EQ(nullptr, ptr.get()); 149 ASSERT_EQ(&a, ptr2.get()); 150 } 151 ASSERT_STREQ("ref(a) deref(a) ", takeLogStr().c_str()); 152 153 { 154 Ref<DerivedRefLogger> derivedReference(a); 155 Ref<RefLogger> baseReference(passWithPassRef(derivedReference)); 156 ASSERT_EQ(&a, derivedReference.ptr()); 157 ASSERT_EQ(&a, baseReference.ptr()); 158 } 159 ASSERT_STREQ("ref(a) ref(a) deref(a) deref(a) ", takeLogStr().c_str()); 144 160 } 145 161
Note:
See TracChangeset
for help on using the changeset viewer.