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