| Index: third_party/WebKit/Source/modules/fetch/CompositeDataConsumerHandleTest.cpp
|
| diff --git a/third_party/WebKit/Source/modules/fetch/CompositeDataConsumerHandleTest.cpp b/third_party/WebKit/Source/modules/fetch/CompositeDataConsumerHandleTest.cpp
|
| index d1c172e61797871f46c0a506bbc491122817111e..6bbe0262985743fe1244db7b9b74573d7b2f92e0 100644
|
| --- a/third_party/WebKit/Source/modules/fetch/CompositeDataConsumerHandleTest.cpp
|
| +++ b/third_party/WebKit/Source/modules/fetch/CompositeDataConsumerHandleTest.cpp
|
| @@ -46,7 +46,11 @@ class MockHandle : public WebDataConsumerHandle {
|
| public:
|
| static std::unique_ptr<StrictMock<MockHandle>> create() { return wrapUnique(new StrictMock<MockHandle>); }
|
|
|
| - MOCK_METHOD1(obtainReader, std::unique_ptr<Reader>(Client*));
|
| + MOCK_METHOD1(obtainReaderMock, std::unique_ptr<Reader>(Client*));
|
| + std::unique_ptr<Reader> obtainReader(Client* client, std::unique_ptr<WebTaskRunner>) override
|
| + {
|
| + return obtainReaderMock(client);
|
| + }
|
|
|
| private:
|
| const char* debugName() const override { return "MockHandle in CompositeDataConsumerHandleTest"; }
|
| @@ -76,7 +80,7 @@ private:
|
| }
|
| void obtainReader()
|
| {
|
| - m_reader = m_handle->obtainReader(&m_client);
|
| + m_reader = m_handle->obtainReader(&m_client, m_context->getReadingThreadTaskRunner()->clone());
|
| postTaskToUpdatingThread(BLINK_FROM_HERE, crossThreadBind(&Self::update, wrapPassRefPtr(this)));
|
| }
|
| void update()
|
| @@ -116,7 +120,7 @@ private:
|
|
|
| void obtainReader()
|
| {
|
| - m_reader = m_handle->obtainReader(&m_client);
|
| + m_reader = m_handle->obtainReader(&m_client, m_context->getReadingThreadTaskRunner()->clone());
|
| postTaskToUpdatingThread(BLINK_FROM_HERE, crossThreadBind(&Self::update, wrapPassRefPtr(this)));
|
| }
|
| void update()
|
| @@ -157,7 +161,7 @@ private:
|
|
|
| void obtainReader()
|
| {
|
| - m_reader = m_handle->obtainReader(&m_client);
|
| + m_reader = m_handle->obtainReader(&m_client, m_context->getReadingThreadTaskRunner()->clone());
|
| postTaskToUpdatingThread(BLINK_FROM_HERE, crossThreadBind(&Self::update, wrapPassRefPtr(this)));
|
| }
|
| void update()
|
| @@ -199,7 +203,7 @@ private:
|
|
|
| void obtainReader()
|
| {
|
| - m_reader = m_handle->obtainReader(&m_client);
|
| + m_reader = m_handle->obtainReader(&m_client, m_context->getReadingThreadTaskRunner()->clone());
|
| postTaskToUpdatingThread(BLINK_FROM_HERE, crossThreadBind(&Self::update, wrapPassRefPtr(this)));
|
| m_updateEvent->wait();
|
| }
|
| @@ -217,7 +221,7 @@ private:
|
| void reobtainReader()
|
| {
|
| m_reader = nullptr;
|
| - m_reader = m_handle->obtainReader(&m_client);
|
| + m_reader = m_handle->obtainReader(&m_client, m_context->getReadingThreadTaskRunner()->clone());
|
| }
|
|
|
| std::unique_ptr<WebDataConsumerHandle> m_handle;
|
| @@ -251,7 +255,7 @@ private:
|
|
|
| void obtainReader()
|
| {
|
| - m_reader = m_handle->obtainReader(&m_client);
|
| + m_reader = m_handle->obtainReader(&m_client, m_context->getReadingThreadTaskRunner()->clone());
|
| postTaskToUpdatingThread(BLINK_FROM_HERE, crossThreadBind(&Self::update, wrapPassRefPtr(this)));
|
| // Stalls this thread while updating handles.
|
| m_updateEvent->wait();
|
| @@ -287,11 +291,11 @@ TEST(CompositeDataConsumerHandleTest, Read)
|
|
|
| InSequence s;
|
| EXPECT_CALL(checkpoint, Call(0));
|
| - EXPECT_CALL(*handle1, obtainReader(&client)).WillOnce(Return(ByMove(WTF::wrapUnique(reader1))));
|
| + EXPECT_CALL(*handle1, obtainReaderMock(&client)).WillOnce(Return(ByMove(WTF::wrapUnique(reader1))));
|
| EXPECT_CALL(checkpoint, Call(1));
|
| EXPECT_CALL(*reader1, read(buffer, sizeof(buffer), kNone, &size)).WillOnce(Return(kOk));
|
| EXPECT_CALL(checkpoint, Call(2));
|
| - EXPECT_CALL(*handle2, obtainReader(&client)).WillOnce(Return(ByMove(WTF::wrapUnique(reader2))));
|
| + EXPECT_CALL(*handle2, obtainReaderMock(&client)).WillOnce(Return(ByMove(WTF::wrapUnique(reader2))));
|
| EXPECT_CALL(checkpoint, Call(3));
|
| EXPECT_CALL(*reader2, read(buffer, sizeof(buffer), kNone, &size)).WillOnce(Return(kOk));
|
| EXPECT_CALL(checkpoint, Call(4));
|
| @@ -299,7 +303,7 @@ TEST(CompositeDataConsumerHandleTest, Read)
|
| CompositeDataConsumerHandle::Updater* updater = nullptr;
|
| std::unique_ptr<WebDataConsumerHandle> handle = CompositeDataConsumerHandle::create(std::move(handle1), &updater);
|
| checkpoint.Call(0);
|
| - std::unique_ptr<WebDataConsumerHandle::Reader> reader = handle->obtainReader(&client);
|
| + std::unique_ptr<WebDataConsumerHandle::Reader> reader = handle->obtainReader(&client, getCurrentTaskRunner());
|
| checkpoint.Call(1);
|
| EXPECT_EQ(kOk, reader->read(buffer, sizeof(buffer), kNone, &size));
|
| checkpoint.Call(2);
|
| @@ -324,13 +328,13 @@ TEST(CompositeDataConsumerHandleTest, TwoPhaseRead)
|
|
|
| InSequence s;
|
| EXPECT_CALL(checkpoint, Call(0));
|
| - EXPECT_CALL(*handle1, obtainReader(nullptr)).WillOnce(Return(ByMove(WTF::wrapUnique(reader1))));
|
| + EXPECT_CALL(*handle1, obtainReaderMock(nullptr)).WillOnce(Return(ByMove(WTF::wrapUnique(reader1))));
|
| EXPECT_CALL(checkpoint, Call(1));
|
| EXPECT_CALL(*reader1, beginRead(&p, kNone, &size)).WillOnce(Return(kOk));
|
| EXPECT_CALL(checkpoint, Call(2));
|
| EXPECT_CALL(*reader1, endRead(0)).WillOnce(Return(kOk));
|
| EXPECT_CALL(checkpoint, Call(3));
|
| - EXPECT_CALL(*handle2, obtainReader(nullptr)).WillOnce(Return(ByMove(WTF::wrapUnique(reader2))));
|
| + EXPECT_CALL(*handle2, obtainReaderMock(nullptr)).WillOnce(Return(ByMove(WTF::wrapUnique(reader2))));
|
| EXPECT_CALL(checkpoint, Call(4));
|
| EXPECT_CALL(*reader2, beginRead(&p, kNone, &size)).WillOnce(Return(kOk));
|
| EXPECT_CALL(checkpoint, Call(5));
|
| @@ -340,7 +344,7 @@ TEST(CompositeDataConsumerHandleTest, TwoPhaseRead)
|
| CompositeDataConsumerHandle::Updater* updater = nullptr;
|
| std::unique_ptr<WebDataConsumerHandle> handle = CompositeDataConsumerHandle::create(std::move(handle1), &updater);
|
| checkpoint.Call(0);
|
| - std::unique_ptr<WebDataConsumerHandle::Reader> reader = handle->obtainReader(nullptr);
|
| + std::unique_ptr<WebDataConsumerHandle::Reader> reader = handle->obtainReader(nullptr, getCurrentTaskRunner());
|
| checkpoint.Call(1);
|
| EXPECT_EQ(kOk, reader->beginRead(&p, kNone, &size));
|
| checkpoint.Call(2);
|
| @@ -371,17 +375,17 @@ TEST(CompositeDataConsumerHandleTest, HangingTwoPhaseRead)
|
|
|
| InSequence s;
|
| EXPECT_CALL(checkpoint, Call(0));
|
| - EXPECT_CALL(*handle1, obtainReader(nullptr)).WillOnce(Return(ByMove(WTF::wrapUnique(reader1))));
|
| + EXPECT_CALL(*handle1, obtainReaderMock(nullptr)).WillOnce(Return(ByMove(WTF::wrapUnique(reader1))));
|
| EXPECT_CALL(checkpoint, Call(1));
|
| EXPECT_CALL(*reader1, beginRead(&p, kNone, &size)).WillOnce(Return(kOk));
|
| EXPECT_CALL(checkpoint, Call(2));
|
| EXPECT_CALL(checkpoint, Call(3));
|
| EXPECT_CALL(*reader1, endRead(0)).WillOnce(Return(kOk));
|
| - EXPECT_CALL(*handle2, obtainReader(nullptr)).WillOnce(Return(ByMove(WTF::wrapUnique(reader2))));
|
| + EXPECT_CALL(*handle2, obtainReaderMock(nullptr)).WillOnce(Return(ByMove(WTF::wrapUnique(reader2))));
|
| EXPECT_CALL(checkpoint, Call(4));
|
| EXPECT_CALL(*reader2, beginRead(&p, kNone, &size)).WillOnce(Return(kShouldWait));
|
| EXPECT_CALL(checkpoint, Call(5));
|
| - EXPECT_CALL(*handle3, obtainReader(nullptr)).WillOnce(Return(ByMove(WTF::wrapUnique(reader3))));
|
| + EXPECT_CALL(*handle3, obtainReaderMock(nullptr)).WillOnce(Return(ByMove(WTF::wrapUnique(reader3))));
|
| EXPECT_CALL(checkpoint, Call(6));
|
| EXPECT_CALL(*reader3, beginRead(&p, kNone, &size)).WillOnce(Return(kOk));
|
| EXPECT_CALL(checkpoint, Call(7));
|
| @@ -391,7 +395,7 @@ TEST(CompositeDataConsumerHandleTest, HangingTwoPhaseRead)
|
| CompositeDataConsumerHandle::Updater* updater = nullptr;
|
| std::unique_ptr<WebDataConsumerHandle> handle = CompositeDataConsumerHandle::create(std::move(handle1), &updater);
|
| checkpoint.Call(0);
|
| - std::unique_ptr<WebDataConsumerHandle::Reader> reader = handle->obtainReader(nullptr);
|
| + std::unique_ptr<WebDataConsumerHandle::Reader> reader = handle->obtainReader(nullptr, getCurrentTaskRunner());
|
| checkpoint.Call(1);
|
| EXPECT_EQ(kOk, reader->beginRead(&p, kNone, &size));
|
| checkpoint.Call(2);
|
|
|