Title: [174809] trunk
- Revision
- 174809
- Author
- m...@apple.com
- Date
- 2014-10-16 22:14:25 -0700 (Thu, 16 Oct 2014)
Log Message
OSObjectPtr is missing leakRef()
https://bugs.webkit.org/show_bug.cgi?id=137798
Reviewed by Sam Weinig.
Source/WTF:
* wtf/OSObjectPtr.h:
Tools:
* TestWebKitAPI/Tests/WTF/darwin/OSObjectPtr.cpp:
(TestWebKitAPI::TEST(OSObjectPtr, LeakRef)): Added.
Modified Paths
Diff
Modified: trunk/Source/WTF/ChangeLog (174808 => 174809)
--- trunk/Source/WTF/ChangeLog 2014-10-17 03:26:22 UTC (rev 174808)
+++ trunk/Source/WTF/ChangeLog 2014-10-17 05:14:25 UTC (rev 174809)
@@ -1,3 +1,12 @@
+2014-10-16 Dan Bernstein <m...@apple.com>
+
+ OSObjectPtr is missing leakRef()
+ https://bugs.webkit.org/show_bug.cgi?id=137798
+
+ Reviewed by Sam Weinig.
+
+ * wtf/OSObjectPtr.h:
+
2014-10-14 Brent Fulgham <bfulg...@apple.com>
[Win] Unreviewed gardening. Ignore Visual Studio *.sdf files.
Modified: trunk/Source/WTF/wtf/OSObjectPtr.h (174808 => 174809)
--- trunk/Source/WTF/wtf/OSObjectPtr.h 2014-10-17 03:26:22 UTC (rev 174808)
+++ trunk/Source/WTF/wtf/OSObjectPtr.h 2014-10-17 05:14:25 UTC (rev 174809)
@@ -141,6 +141,13 @@
std::swap(m_ptr, other.m_ptr);
}
+ T leakRef() WARN_UNUSED_RETURN
+ {
+ T ptr = m_ptr;
+ m_ptr = nullptr;
+ return ptr;
+ }
+
friend OSObjectPtr adoptOSObject<T>(T);
private:
Modified: trunk/Tools/ChangeLog (174808 => 174809)
--- trunk/Tools/ChangeLog 2014-10-17 03:26:22 UTC (rev 174808)
+++ trunk/Tools/ChangeLog 2014-10-17 05:14:25 UTC (rev 174809)
@@ -1,3 +1,13 @@
+2014-10-16 Dan Bernstein <m...@apple.com>
+
+ OSObjectPtr is missing leakRef()
+ https://bugs.webkit.org/show_bug.cgi?id=137798
+
+ Reviewed by Sam Weinig.
+
+ * TestWebKitAPI/Tests/WTF/darwin/OSObjectPtr.cpp:
+ (TestWebKitAPI::TEST(OSObjectPtr, LeakRef)): Added.
+
2014-10-16 Lucas Forschler <lforsch...@apple.com>
Update target platform to remove Leopard, Snow Leopard, Lion.
Modified: trunk/Tools/TestWebKitAPI/Tests/WTF/darwin/OSObjectPtr.cpp (174808 => 174809)
--- trunk/Tools/TestWebKitAPI/Tests/WTF/darwin/OSObjectPtr.cpp 2014-10-17 03:26:22 UTC (rev 174808)
+++ trunk/Tools/TestWebKitAPI/Tests/WTF/darwin/OSObjectPtr.cpp 2014-10-17 05:14:25 UTC (rev 174809)
@@ -51,4 +51,16 @@
EXPECT_EQ(1, CFGetRetainCount(foo));
}
+TEST(OSObjectPtr, LeakRef)
+{
+ OSObjectPtr<dispatch_queue_t> foo = adoptOSObject(dispatch_queue_create(0, DISPATCH_QUEUE_SERIAL));
+ EXPECT_EQ(1, CFGetRetainCount(foo.get()));
+
+ dispatch_queue_t queue = foo.leakRef();
+ EXPECT_EQ(nullptr, foo.get());
+ EXPECT_EQ(1, CFGetRetainCount(queue));
+
+ WTF::releaseOSObject(queue);
+}
+
} // namespace TestWebKitAPI
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes