Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(508)

Unified Diff: third_party/WebKit/Source/modules/fetch/CompositeDataConsumerHandleTest.cpp

Issue 2177243002: Use per-frame TaskRunner instead of thread's default in DataConsumerHandle (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@data_consumer_handle_unique_ptr
Patch Set: update Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698