Changeset 174809 in webkit


Ignore:
Timestamp:
Oct 16, 2014 10:14:25 PM (10 years ago)
Author:
mitz@apple.com
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.

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WTF/ChangeLog

    r174699 r174809  
     12014-10-16  Dan Bernstein  <mitz@apple.com>
     2
     3        OSObjectPtr is missing leakRef()
     4        https://bugs.webkit.org/show_bug.cgi?id=137798
     5
     6        Reviewed by Sam Weinig.
     7
     8        * wtf/OSObjectPtr.h:
     9
    1102014-10-14  Brent Fulgham  <bfulgham@apple.com>
    211
  • trunk/Source/WTF/wtf/OSObjectPtr.h

    r174086 r174809  
    142142    }
    143143
     144    T leakRef() WARN_UNUSED_RETURN
     145    {
     146        T ptr = m_ptr;
     147        m_ptr = nullptr;
     148        return ptr;
     149    }
     150
    144151    friend OSObjectPtr adoptOSObject<T>(T);
    145152
  • trunk/Tools/ChangeLog

    r174808 r174809  
     12014-10-16  Dan Bernstein  <mitz@apple.com>
     2
     3        OSObjectPtr is missing leakRef()
     4        https://bugs.webkit.org/show_bug.cgi?id=137798
     5
     6        Reviewed by Sam Weinig.
     7
     8        * TestWebKitAPI/Tests/WTF/darwin/OSObjectPtr.cpp:
     9        (TestWebKitAPI::TEST(OSObjectPtr, LeakRef)): Added.
     10
    1112014-10-16  Lucas Forschler  <lforschler@apple.com>
    212
  • trunk/Tools/TestWebKitAPI/Tests/WTF/darwin/OSObjectPtr.cpp

    r174086 r174809  
    5252}
    5353
     54TEST(OSObjectPtr, LeakRef)
     55{
     56    OSObjectPtr<dispatch_queue_t> foo = adoptOSObject(dispatch_queue_create(0, DISPATCH_QUEUE_SERIAL));
     57    EXPECT_EQ(1, CFGetRetainCount(foo.get()));
     58
     59    dispatch_queue_t queue = foo.leakRef();
     60    EXPECT_EQ(nullptr, foo.get());
     61    EXPECT_EQ(1, CFGetRetainCount(queue));
     62
     63    WTF::releaseOSObject(queue);
     64}
     65
    5466} // namespace TestWebKitAPI
Note: See TracChangeset for help on using the changeset viewer.