| Index: third_party/WebKit/Source/modules/fetch/DataConsumerTeeTest.cpp
|
| diff --git a/third_party/WebKit/Source/modules/fetch/DataConsumerTeeTest.cpp b/third_party/WebKit/Source/modules/fetch/DataConsumerTeeTest.cpp
|
| index d46714312f38c3a3dee4c3d3b06898bc34b2b121..dfa3d1cba25c3e316fda3f7d8a84c74773944b05 100644
|
| --- a/third_party/WebKit/Source/modules/fetch/DataConsumerTeeTest.cpp
|
| +++ b/third_party/WebKit/Source/modules/fetch/DataConsumerTeeTest.cpp
|
| @@ -15,7 +15,9 @@
|
| #include "public/platform/WebTraceLocation.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| #include "wtf/PassRefPtr.h"
|
| +#include "wtf/PtrUtil.h"
|
| #include "wtf/RefPtr.h"
|
| +#include <memory>
|
| #include <string.h>
|
| #include <v8.h>
|
|
|
| @@ -53,10 +55,10 @@ String toString(const Vector<char>& v)
|
| template<typename Handle>
|
| class TeeCreationThread {
|
| public:
|
| - void run(PassOwnPtr<Handle> src, OwnPtr<Handle>* dest1, OwnPtr<Handle>* dest2)
|
| + void run(std::unique_ptr<Handle> src, std::unique_ptr<Handle>* dest1, std::unique_ptr<Handle>* dest2)
|
| {
|
| - m_thread = adoptPtr(new Thread("src thread", Thread::WithExecutionContext));
|
| - m_waitableEvent = adoptPtr(new WaitableEvent());
|
| + m_thread = wrapUnique(new Thread("src thread", Thread::WithExecutionContext));
|
| + m_waitableEvent = wrapUnique(new WaitableEvent());
|
| m_thread->thread()->postTask(BLINK_FROM_HERE, threadSafeBind(&TeeCreationThread<Handle>::runInternal, AllowCrossThreadAccess(this), passed(std::move(src)), AllowCrossThreadAccess(dest1), AllowCrossThreadAccess(dest2)));
|
| m_waitableEvent->wait();
|
| }
|
| @@ -64,24 +66,24 @@ public:
|
| Thread* getThread() { return m_thread.get(); }
|
|
|
| private:
|
| - void runInternal(PassOwnPtr<Handle> src, OwnPtr<Handle>* dest1, OwnPtr<Handle>* dest2)
|
| + void runInternal(std::unique_ptr<Handle> src, std::unique_ptr<Handle>* dest1, std::unique_ptr<Handle>* dest2)
|
| {
|
| DataConsumerTee::create(m_thread->getExecutionContext(), std::move(src), dest1, dest2);
|
| m_waitableEvent->signal();
|
| }
|
|
|
| - OwnPtr<Thread> m_thread;
|
| - OwnPtr<WaitableEvent> m_waitableEvent;
|
| + std::unique_ptr<Thread> m_thread;
|
| + std::unique_ptr<WaitableEvent> m_waitableEvent;
|
| };
|
|
|
| TEST(DataConsumerTeeTest, CreateDone)
|
| {
|
| - OwnPtr<Handle> src(Handle::create());
|
| - OwnPtr<WebDataConsumerHandle> dest1, dest2;
|
| + std::unique_ptr<Handle> src(Handle::create());
|
| + std::unique_ptr<WebDataConsumerHandle> dest1, dest2;
|
|
|
| src->add(Command(Command::Done));
|
|
|
| - OwnPtr<TeeCreationThread<WebDataConsumerHandle>> t = adoptPtr(new TeeCreationThread<WebDataConsumerHandle>());
|
| + std::unique_ptr<TeeCreationThread<WebDataConsumerHandle>> t = wrapUnique(new TeeCreationThread<WebDataConsumerHandle>());
|
| t->run(std::move(src), &dest1, &dest2);
|
|
|
| ASSERT_TRUE(dest1);
|
| @@ -89,8 +91,8 @@ TEST(DataConsumerTeeTest, CreateDone)
|
|
|
| HandleReaderRunner<HandleReader> r1(std::move(dest1)), r2(std::move(dest2));
|
|
|
| - OwnPtr<HandleReadResult> res1 = r1.wait();
|
| - OwnPtr<HandleReadResult> res2 = r2.wait();
|
| + std::unique_ptr<HandleReadResult> res1 = r1.wait();
|
| + std::unique_ptr<HandleReadResult> res2 = r2.wait();
|
|
|
| EXPECT_EQ(kDone, res1->result());
|
| EXPECT_EQ(0u, res1->data().size());
|
| @@ -100,8 +102,8 @@ TEST(DataConsumerTeeTest, CreateDone)
|
|
|
| TEST(DataConsumerTeeTest, Read)
|
| {
|
| - OwnPtr<Handle> src(Handle::create());
|
| - OwnPtr<WebDataConsumerHandle> dest1, dest2;
|
| + std::unique_ptr<Handle> src(Handle::create());
|
| + std::unique_ptr<WebDataConsumerHandle> dest1, dest2;
|
|
|
| src->add(Command(Command::Wait));
|
| src->add(Command(Command::Data, "hello, "));
|
| @@ -111,7 +113,7 @@ TEST(DataConsumerTeeTest, Read)
|
| src->add(Command(Command::Wait));
|
| src->add(Command(Command::Done));
|
|
|
| - OwnPtr<TeeCreationThread<WebDataConsumerHandle>> t = adoptPtr(new TeeCreationThread<WebDataConsumerHandle>());
|
| + std::unique_ptr<TeeCreationThread<WebDataConsumerHandle>> t = wrapUnique(new TeeCreationThread<WebDataConsumerHandle>());
|
| t->run(std::move(src), &dest1, &dest2);
|
|
|
| ASSERT_TRUE(dest1);
|
| @@ -120,8 +122,8 @@ TEST(DataConsumerTeeTest, Read)
|
| HandleReaderRunner<HandleReader> r1(std::move(dest1));
|
| HandleReaderRunner<HandleReader> r2(std::move(dest2));
|
|
|
| - OwnPtr<HandleReadResult> res1 = r1.wait();
|
| - OwnPtr<HandleReadResult> res2 = r2.wait();
|
| + std::unique_ptr<HandleReadResult> res1 = r1.wait();
|
| + std::unique_ptr<HandleReadResult> res2 = r2.wait();
|
|
|
| EXPECT_EQ(kDone, res1->result());
|
| EXPECT_EQ("hello, world", toString(res1->data()));
|
| @@ -132,8 +134,8 @@ TEST(DataConsumerTeeTest, Read)
|
|
|
| TEST(DataConsumerTeeTest, TwoPhaseRead)
|
| {
|
| - OwnPtr<Handle> src(Handle::create());
|
| - OwnPtr<WebDataConsumerHandle> dest1, dest2;
|
| + std::unique_ptr<Handle> src(Handle::create());
|
| + std::unique_ptr<WebDataConsumerHandle> dest1, dest2;
|
|
|
| src->add(Command(Command::Wait));
|
| src->add(Command(Command::Data, "hello, "));
|
| @@ -144,7 +146,7 @@ TEST(DataConsumerTeeTest, TwoPhaseRead)
|
| src->add(Command(Command::Wait));
|
| src->add(Command(Command::Done));
|
|
|
| - OwnPtr<TeeCreationThread<WebDataConsumerHandle>> t = adoptPtr(new TeeCreationThread<WebDataConsumerHandle>());
|
| + std::unique_ptr<TeeCreationThread<WebDataConsumerHandle>> t = wrapUnique(new TeeCreationThread<WebDataConsumerHandle>());
|
| t->run(std::move(src), &dest1, &dest2);
|
|
|
| ASSERT_TRUE(dest1);
|
| @@ -153,8 +155,8 @@ TEST(DataConsumerTeeTest, TwoPhaseRead)
|
| HandleReaderRunner<HandleTwoPhaseReader> r1(std::move(dest1));
|
| HandleReaderRunner<HandleTwoPhaseReader> r2(std::move(dest2));
|
|
|
| - OwnPtr<HandleReadResult> res1 = r1.wait();
|
| - OwnPtr<HandleReadResult> res2 = r2.wait();
|
| + std::unique_ptr<HandleReadResult> res1 = r1.wait();
|
| + std::unique_ptr<HandleReadResult> res2 = r2.wait();
|
|
|
| EXPECT_EQ(kDone, res1->result());
|
| EXPECT_EQ("hello, world", toString(res1->data()));
|
| @@ -165,14 +167,14 @@ TEST(DataConsumerTeeTest, TwoPhaseRead)
|
|
|
| TEST(DataConsumerTeeTest, Error)
|
| {
|
| - OwnPtr<Handle> src(Handle::create());
|
| - OwnPtr<WebDataConsumerHandle> dest1, dest2;
|
| + std::unique_ptr<Handle> src(Handle::create());
|
| + std::unique_ptr<WebDataConsumerHandle> dest1, dest2;
|
|
|
| src->add(Command(Command::Data, "hello, "));
|
| src->add(Command(Command::Data, "world"));
|
| src->add(Command(Command::Error));
|
|
|
| - OwnPtr<TeeCreationThread<WebDataConsumerHandle>> t = adoptPtr(new TeeCreationThread<WebDataConsumerHandle>());
|
| + std::unique_ptr<TeeCreationThread<WebDataConsumerHandle>> t = wrapUnique(new TeeCreationThread<WebDataConsumerHandle>());
|
| t->run(std::move(src), &dest1, &dest2);
|
|
|
| ASSERT_TRUE(dest1);
|
| @@ -181,8 +183,8 @@ TEST(DataConsumerTeeTest, Error)
|
| HandleReaderRunner<HandleReader> r1(std::move(dest1));
|
| HandleReaderRunner<HandleReader> r2(std::move(dest2));
|
|
|
| - OwnPtr<HandleReadResult> res1 = r1.wait();
|
| - OwnPtr<HandleReadResult> res2 = r2.wait();
|
| + std::unique_ptr<HandleReadResult> res1 = r1.wait();
|
| + std::unique_ptr<HandleReadResult> res2 = r2.wait();
|
|
|
| EXPECT_EQ(kUnexpectedError, res1->result());
|
| EXPECT_EQ(kUnexpectedError, res2->result());
|
| @@ -195,13 +197,13 @@ void postStop(Thread* thread)
|
|
|
| TEST(DataConsumerTeeTest, StopSource)
|
| {
|
| - OwnPtr<Handle> src(Handle::create());
|
| - OwnPtr<WebDataConsumerHandle> dest1, dest2;
|
| + std::unique_ptr<Handle> src(Handle::create());
|
| + std::unique_ptr<WebDataConsumerHandle> dest1, dest2;
|
|
|
| src->add(Command(Command::Data, "hello, "));
|
| src->add(Command(Command::Data, "world"));
|
|
|
| - OwnPtr<TeeCreationThread<WebDataConsumerHandle>> t = adoptPtr(new TeeCreationThread<WebDataConsumerHandle>());
|
| + std::unique_ptr<TeeCreationThread<WebDataConsumerHandle>> t = wrapUnique(new TeeCreationThread<WebDataConsumerHandle>());
|
| t->run(std::move(src), &dest1, &dest2);
|
|
|
| ASSERT_TRUE(dest1);
|
| @@ -214,8 +216,8 @@ TEST(DataConsumerTeeTest, StopSource)
|
| // t->thread() is alive.
|
| t->getThread()->thread()->postTask(BLINK_FROM_HERE, threadSafeBind(postStop, AllowCrossThreadAccess(t->getThread())));
|
|
|
| - OwnPtr<HandleReadResult> res1 = r1.wait();
|
| - OwnPtr<HandleReadResult> res2 = r2.wait();
|
| + std::unique_ptr<HandleReadResult> res1 = r1.wait();
|
| + std::unique_ptr<HandleReadResult> res2 = r2.wait();
|
|
|
| EXPECT_EQ(kUnexpectedError, res1->result());
|
| EXPECT_EQ(kUnexpectedError, res2->result());
|
| @@ -223,13 +225,13 @@ TEST(DataConsumerTeeTest, StopSource)
|
|
|
| TEST(DataConsumerTeeTest, DetachSource)
|
| {
|
| - OwnPtr<Handle> src(Handle::create());
|
| - OwnPtr<WebDataConsumerHandle> dest1, dest2;
|
| + std::unique_ptr<Handle> src(Handle::create());
|
| + std::unique_ptr<WebDataConsumerHandle> dest1, dest2;
|
|
|
| src->add(Command(Command::Data, "hello, "));
|
| src->add(Command(Command::Data, "world"));
|
|
|
| - OwnPtr<TeeCreationThread<WebDataConsumerHandle>> t = adoptPtr(new TeeCreationThread<WebDataConsumerHandle>());
|
| + std::unique_ptr<TeeCreationThread<WebDataConsumerHandle>> t = wrapUnique(new TeeCreationThread<WebDataConsumerHandle>());
|
| t->run(std::move(src), &dest1, &dest2);
|
|
|
| ASSERT_TRUE(dest1);
|
| @@ -240,8 +242,8 @@ TEST(DataConsumerTeeTest, DetachSource)
|
|
|
| t = nullptr;
|
|
|
| - OwnPtr<HandleReadResult> res1 = r1.wait();
|
| - OwnPtr<HandleReadResult> res2 = r2.wait();
|
| + std::unique_ptr<HandleReadResult> res1 = r1.wait();
|
| + std::unique_ptr<HandleReadResult> res2 = r2.wait();
|
|
|
| EXPECT_EQ(kUnexpectedError, res1->result());
|
| EXPECT_EQ(kUnexpectedError, res2->result());
|
| @@ -249,21 +251,21 @@ TEST(DataConsumerTeeTest, DetachSource)
|
|
|
| TEST(DataConsumerTeeTest, DetachSourceAfterReadingDone)
|
| {
|
| - OwnPtr<Handle> src(Handle::create());
|
| - OwnPtr<WebDataConsumerHandle> dest1, dest2;
|
| + std::unique_ptr<Handle> src(Handle::create());
|
| + std::unique_ptr<WebDataConsumerHandle> dest1, dest2;
|
|
|
| src->add(Command(Command::Data, "hello, "));
|
| src->add(Command(Command::Data, "world"));
|
| src->add(Command(Command::Done));
|
|
|
| - OwnPtr<TeeCreationThread<WebDataConsumerHandle>> t = adoptPtr(new TeeCreationThread<WebDataConsumerHandle>());
|
| + std::unique_ptr<TeeCreationThread<WebDataConsumerHandle>> t = wrapUnique(new TeeCreationThread<WebDataConsumerHandle>());
|
| t->run(std::move(src), &dest1, &dest2);
|
|
|
| ASSERT_TRUE(dest1);
|
| ASSERT_TRUE(dest2);
|
|
|
| HandleReaderRunner<HandleReader> r1(std::move(dest1));
|
| - OwnPtr<HandleReadResult> res1 = r1.wait();
|
| + std::unique_ptr<HandleReadResult> res1 = r1.wait();
|
|
|
| EXPECT_EQ(kDone, res1->result());
|
| EXPECT_EQ("hello, world", toString(res1->data()));
|
| @@ -271,7 +273,7 @@ TEST(DataConsumerTeeTest, DetachSourceAfterReadingDone)
|
| t = nullptr;
|
|
|
| HandleReaderRunner<HandleReader> r2(std::move(dest2));
|
| - OwnPtr<HandleReadResult> res2 = r2.wait();
|
| + std::unique_ptr<HandleReadResult> res2 = r2.wait();
|
|
|
| EXPECT_EQ(kDone, res2->result());
|
| EXPECT_EQ("hello, world", toString(res2->data()));
|
| @@ -279,14 +281,14 @@ TEST(DataConsumerTeeTest, DetachSourceAfterReadingDone)
|
|
|
| TEST(DataConsumerTeeTest, DetachOneDestination)
|
| {
|
| - OwnPtr<Handle> src(Handle::create());
|
| - OwnPtr<WebDataConsumerHandle> dest1, dest2;
|
| + std::unique_ptr<Handle> src(Handle::create());
|
| + std::unique_ptr<WebDataConsumerHandle> dest1, dest2;
|
|
|
| src->add(Command(Command::Data, "hello, "));
|
| src->add(Command(Command::Data, "world"));
|
| src->add(Command(Command::Done));
|
|
|
| - OwnPtr<TeeCreationThread<WebDataConsumerHandle>> t = adoptPtr(new TeeCreationThread<WebDataConsumerHandle>());
|
| + std::unique_ptr<TeeCreationThread<WebDataConsumerHandle>> t = wrapUnique(new TeeCreationThread<WebDataConsumerHandle>());
|
| t->run(std::move(src), &dest1, &dest2);
|
|
|
| ASSERT_TRUE(dest1);
|
| @@ -295,7 +297,7 @@ TEST(DataConsumerTeeTest, DetachOneDestination)
|
| dest1 = nullptr;
|
|
|
| HandleReaderRunner<HandleReader> r2(std::move(dest2));
|
| - OwnPtr<HandleReadResult> res2 = r2.wait();
|
| + std::unique_ptr<HandleReadResult> res2 = r2.wait();
|
|
|
| EXPECT_EQ(kDone, res2->result());
|
| EXPECT_EQ("hello, world", toString(res2->data()));
|
| @@ -303,14 +305,14 @@ TEST(DataConsumerTeeTest, DetachOneDestination)
|
|
|
| TEST(DataConsumerTeeTest, DetachBothDestinationsShouldStopSourceReader)
|
| {
|
| - OwnPtr<Handle> src(Handle::create());
|
| + std::unique_ptr<Handle> src(Handle::create());
|
| RefPtr<Handle::Context> context(src->getContext());
|
| - OwnPtr<WebDataConsumerHandle> dest1, dest2;
|
| + std::unique_ptr<WebDataConsumerHandle> dest1, dest2;
|
|
|
| src->add(Command(Command::Data, "hello, "));
|
| src->add(Command(Command::Data, "world"));
|
|
|
| - OwnPtr<TeeCreationThread<WebDataConsumerHandle>> t = adoptPtr(new TeeCreationThread<WebDataConsumerHandle>());
|
| + std::unique_ptr<TeeCreationThread<WebDataConsumerHandle>> t = wrapUnique(new TeeCreationThread<WebDataConsumerHandle>());
|
| t->run(std::move(src), &dest1, &dest2);
|
|
|
| ASSERT_TRUE(dest1);
|
| @@ -327,8 +329,8 @@ TEST(DataConsumerTeeTest, DetachBothDestinationsShouldStopSourceReader)
|
| TEST(FetchDataConsumerTeeTest, Create)
|
| {
|
| RefPtr<BlobDataHandle> blobDataHandle = BlobDataHandle::create();
|
| - OwnPtr<MockFetchDataConsumerHandle> src(MockFetchDataConsumerHandle::create());
|
| - OwnPtr<MockFetchDataConsumerReader> reader(MockFetchDataConsumerReader::create());
|
| + std::unique_ptr<MockFetchDataConsumerHandle> src(MockFetchDataConsumerHandle::create());
|
| + std::unique_ptr<MockFetchDataConsumerReader> reader(MockFetchDataConsumerReader::create());
|
|
|
| Checkpoint checkpoint;
|
| InSequence s;
|
| @@ -339,10 +341,10 @@ TEST(FetchDataConsumerTeeTest, Create)
|
| EXPECT_CALL(checkpoint, Call(2));
|
|
|
| // |reader| is adopted by |obtainReader|.
|
| - ASSERT_TRUE(reader.leakPtr());
|
| + ASSERT_TRUE(reader.release());
|
|
|
| - OwnPtr<FetchDataConsumerHandle> dest1, dest2;
|
| - OwnPtr<TeeCreationThread<FetchDataConsumerHandle>> t = adoptPtr(new TeeCreationThread<FetchDataConsumerHandle>());
|
| + std::unique_ptr<FetchDataConsumerHandle> dest1, dest2;
|
| + std::unique_ptr<TeeCreationThread<FetchDataConsumerHandle>> t = wrapUnique(new TeeCreationThread<FetchDataConsumerHandle>());
|
|
|
| checkpoint.Call(1);
|
| t->run(std::move(src), &dest1, &dest2);
|
| @@ -357,8 +359,8 @@ TEST(FetchDataConsumerTeeTest, Create)
|
| TEST(FetchDataConsumerTeeTest, CreateFromBlobWithInvalidSize)
|
| {
|
| RefPtr<BlobDataHandle> blobDataHandle = BlobDataHandle::create(BlobData::create(), -1);
|
| - OwnPtr<MockFetchDataConsumerHandle> src(MockFetchDataConsumerHandle::create());
|
| - OwnPtr<MockFetchDataConsumerReader> reader(MockFetchDataConsumerReader::create());
|
| + std::unique_ptr<MockFetchDataConsumerHandle> src(MockFetchDataConsumerHandle::create());
|
| + std::unique_ptr<MockFetchDataConsumerReader> reader(MockFetchDataConsumerReader::create());
|
|
|
| Checkpoint checkpoint;
|
| InSequence s;
|
| @@ -369,10 +371,10 @@ TEST(FetchDataConsumerTeeTest, CreateFromBlobWithInvalidSize)
|
| EXPECT_CALL(checkpoint, Call(2));
|
|
|
| // |reader| is adopted by |obtainReader|.
|
| - ASSERT_TRUE(reader.leakPtr());
|
| + ASSERT_TRUE(reader.release());
|
|
|
| - OwnPtr<FetchDataConsumerHandle> dest1, dest2;
|
| - OwnPtr<TeeCreationThread<FetchDataConsumerHandle>> t = adoptPtr(new TeeCreationThread<FetchDataConsumerHandle>());
|
| + std::unique_ptr<FetchDataConsumerHandle> dest1, dest2;
|
| + std::unique_ptr<TeeCreationThread<FetchDataConsumerHandle>> t = wrapUnique(new TeeCreationThread<FetchDataConsumerHandle>());
|
|
|
| checkpoint.Call(1);
|
| t->run(std::move(src), &dest1, &dest2);
|
| @@ -388,12 +390,12 @@ TEST(FetchDataConsumerTeeTest, CreateFromBlobWithInvalidSize)
|
|
|
| TEST(FetchDataConsumerTeeTest, CreateDone)
|
| {
|
| - OwnPtr<Handle> src(Handle::create());
|
| - OwnPtr<FetchDataConsumerHandle> dest1, dest2;
|
| + std::unique_ptr<Handle> src(Handle::create());
|
| + std::unique_ptr<FetchDataConsumerHandle> dest1, dest2;
|
|
|
| src->add(Command(Command::Done));
|
|
|
| - OwnPtr<TeeCreationThread<FetchDataConsumerHandle>> t = adoptPtr(new TeeCreationThread<FetchDataConsumerHandle>());
|
| + std::unique_ptr<TeeCreationThread<FetchDataConsumerHandle>> t = wrapUnique(new TeeCreationThread<FetchDataConsumerHandle>());
|
| t->run(createFetchDataConsumerHandleFromWebHandle(std::move(src)), &dest1, &dest2);
|
|
|
| ASSERT_TRUE(dest1);
|
| @@ -404,8 +406,8 @@ TEST(FetchDataConsumerTeeTest, CreateDone)
|
|
|
| HandleReaderRunner<HandleReader> r1(std::move(dest1)), r2(std::move(dest2));
|
|
|
| - OwnPtr<HandleReadResult> res1 = r1.wait();
|
| - OwnPtr<HandleReadResult> res2 = r2.wait();
|
| + std::unique_ptr<HandleReadResult> res1 = r1.wait();
|
| + std::unique_ptr<HandleReadResult> res2 = r2.wait();
|
|
|
| EXPECT_EQ(kDone, res1->result());
|
| EXPECT_EQ(0u, res1->data().size());
|
|
|