| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "config.h" | 5 #include "config.h" |
| 6 #include "modules/fetch/BodyStreamBuffer.h" | 6 #include "modules/fetch/BodyStreamBuffer.h" |
| 7 | 7 |
| 8 #include "core/testing/DummyPageHolder.h" | 8 #include "core/testing/DummyPageHolder.h" |
| 9 #include "modules/fetch/DataConsumerHandleTestUtil.h" | 9 #include "modules/fetch/DataConsumerHandleTestUtil.h" |
| 10 #include "platform/testing/UnitTestHelpers.h" | 10 #include "platform/testing/UnitTestHelpers.h" |
| (...skipping 21 matching lines...) Expand all Loading... |
| 32 } | 32 } |
| 33 ~BodyStreamBufferTest() override {} | 33 ~BodyStreamBufferTest() override {} |
| 34 | 34 |
| 35 protected: | 35 protected: |
| 36 ScriptState* scriptState() { return ScriptState::forMainWorld(m_page->docume
nt().frame()); } | 36 ScriptState* scriptState() { return ScriptState::forMainWorld(m_page->docume
nt().frame()); } |
| 37 ExecutionContext* executionContext() { return &m_page->document(); } | 37 ExecutionContext* executionContext() { return &m_page->document(); } |
| 38 | 38 |
| 39 OwnPtr<DummyPageHolder> m_page; | 39 OwnPtr<DummyPageHolder> m_page; |
| 40 }; | 40 }; |
| 41 | 41 |
| 42 TEST_F(BodyStreamBufferTest, LockBodyStreamBuffer) | 42 TEST_F(BodyStreamBufferTest, ReleaseHandle) |
| 43 { | 43 { |
| 44 OwnPtr<FetchDataConsumerHandle> handle = createFetchDataConsumerHandleFromWe
bHandle(createWaitingDataConsumerHandle()); | 44 OwnPtr<FetchDataConsumerHandle> handle = createFetchDataConsumerHandleFromWe
bHandle(createWaitingDataConsumerHandle()); |
| 45 FetchDataConsumerHandle* rawHandle = handle.get(); | 45 FetchDataConsumerHandle* rawHandle = handle.get(); |
| 46 BodyStreamBuffer* buffer = new BodyStreamBuffer(handle.release()); | 46 BodyStreamBuffer* buffer = new BodyStreamBuffer(handle.release()); |
| 47 | 47 |
| 48 EXPECT_FALSE(buffer->isLocked()); | |
| 49 EXPECT_FALSE(buffer->hasPendingActivity()); | 48 EXPECT_FALSE(buffer->hasPendingActivity()); |
| 49 EXPECT_FALSE(buffer->stream()->isLocked()); |
| 50 EXPECT_FALSE(buffer->stream()->isDisturbed()); |
| 51 EXPECT_EQ(ReadableStream::Readable, buffer->stream()->stateInternal()); |
| 50 | 52 |
| 51 OwnPtr<FetchDataConsumerHandle> handle2 = buffer->lock(executionContext()); | 53 OwnPtr<FetchDataConsumerHandle> handle2 = buffer->releaseHandle(executionCon
text()); |
| 52 | 54 |
| 53 ASSERT_EQ(rawHandle, handle2.get()); | 55 ASSERT_EQ(rawHandle, handle2.get()); |
| 54 EXPECT_TRUE(buffer->isLocked()); | 56 EXPECT_TRUE(buffer->stream()->isLocked()); |
| 55 EXPECT_TRUE(buffer->hasPendingActivity()); | 57 EXPECT_TRUE(buffer->stream()->isDisturbed()); |
| 58 EXPECT_EQ(ReadableStream::Closed, buffer->stream()->stateInternal()); |
| 56 } | 59 } |
| 57 | 60 |
| 58 TEST_F(BodyStreamBufferTest, LoadBodyStreamBufferAsArrayBuffer) | 61 TEST_F(BodyStreamBufferTest, LoadBodyStreamBufferAsArrayBuffer) |
| 59 { | 62 { |
| 60 Checkpoint checkpoint; | 63 Checkpoint checkpoint; |
| 61 MockFetchDataLoaderClient* client = MockFetchDataLoaderClient::create(); | 64 MockFetchDataLoaderClient* client = MockFetchDataLoaderClient::create(); |
| 62 RefPtr<DOMArrayBuffer> arrayBuffer; | 65 RefPtr<DOMArrayBuffer> arrayBuffer; |
| 63 | 66 |
| 64 InSequence s; | 67 InSequence s; |
| 65 EXPECT_CALL(checkpoint, Call(1)); | 68 EXPECT_CALL(checkpoint, Call(1)); |
| 66 EXPECT_CALL(*client, didFetchDataLoadedArrayBufferMock(_)).WillOnce(SaveArg<
0>(&arrayBuffer)); | 69 EXPECT_CALL(*client, didFetchDataLoadedArrayBufferMock(_)).WillOnce(SaveArg<
0>(&arrayBuffer)); |
| 67 EXPECT_CALL(checkpoint, Call(2)); | 70 EXPECT_CALL(checkpoint, Call(2)); |
| 68 | 71 |
| 69 OwnPtr<ReplayingHandle> handle = ReplayingHandle::create(); | 72 OwnPtr<ReplayingHandle> handle = ReplayingHandle::create(); |
| 70 handle->add(Command(Command::Data, "hello")); | 73 handle->add(Command(Command::Data, "hello")); |
| 71 handle->add(Command(Command::Done)); | 74 handle->add(Command(Command::Done)); |
| 72 BodyStreamBuffer* buffer = new BodyStreamBuffer(createFetchDataConsumerHandl
eFromWebHandle(handle.release())); | 75 BodyStreamBuffer* buffer = new BodyStreamBuffer(createFetchDataConsumerHandl
eFromWebHandle(handle.release())); |
| 73 buffer->startLoading(executionContext(), FetchDataLoader::createLoaderAsArra
yBuffer(), client); | 76 buffer->startLoading(executionContext(), FetchDataLoader::createLoaderAsArra
yBuffer(), client); |
| 74 | 77 |
| 75 EXPECT_TRUE(buffer->isLocked()); | 78 EXPECT_TRUE(buffer->stream()->isLocked()); |
| 79 EXPECT_TRUE(buffer->stream()->isDisturbed()); |
| 76 EXPECT_TRUE(buffer->hasPendingActivity()); | 80 EXPECT_TRUE(buffer->hasPendingActivity()); |
| 77 | 81 |
| 78 checkpoint.Call(1); | 82 checkpoint.Call(1); |
| 79 testing::runPendingTasks(); | 83 testing::runPendingTasks(); |
| 80 checkpoint.Call(2); | 84 checkpoint.Call(2); |
| 81 | 85 |
| 82 EXPECT_FALSE(buffer->isLocked()); | 86 EXPECT_TRUE(buffer->stream()->isLocked()); |
| 87 EXPECT_TRUE(buffer->stream()->isDisturbed()); |
| 83 EXPECT_FALSE(buffer->hasPendingActivity()); | 88 EXPECT_FALSE(buffer->hasPendingActivity()); |
| 89 ASSERT_TRUE(arrayBuffer); |
| 84 EXPECT_EQ("hello", String(static_cast<const char*>(arrayBuffer->data()), arr
ayBuffer->byteLength())); | 90 EXPECT_EQ("hello", String(static_cast<const char*>(arrayBuffer->data()), arr
ayBuffer->byteLength())); |
| 85 } | 91 } |
| 86 | 92 |
| 87 TEST_F(BodyStreamBufferTest, LoadBodyStreamBufferAsBlob) | 93 TEST_F(BodyStreamBufferTest, LoadBodyStreamBufferAsBlob) |
| 88 { | 94 { |
| 89 Checkpoint checkpoint; | 95 Checkpoint checkpoint; |
| 90 MockFetchDataLoaderClient* client = MockFetchDataLoaderClient::create(); | 96 MockFetchDataLoaderClient* client = MockFetchDataLoaderClient::create(); |
| 91 RefPtr<BlobDataHandle> blobDataHandle; | 97 RefPtr<BlobDataHandle> blobDataHandle; |
| 92 | 98 |
| 93 InSequence s; | 99 InSequence s; |
| 94 EXPECT_CALL(checkpoint, Call(1)); | 100 EXPECT_CALL(checkpoint, Call(1)); |
| 95 EXPECT_CALL(*client, didFetchDataLoadedBlobHandleMock(_)).WillOnce(SaveArg<0
>(&blobDataHandle)); | 101 EXPECT_CALL(*client, didFetchDataLoadedBlobHandleMock(_)).WillOnce(SaveArg<0
>(&blobDataHandle)); |
| 96 EXPECT_CALL(checkpoint, Call(2)); | 102 EXPECT_CALL(checkpoint, Call(2)); |
| 97 | 103 |
| 98 OwnPtr<ReplayingHandle> handle = ReplayingHandle::create(); | 104 OwnPtr<ReplayingHandle> handle = ReplayingHandle::create(); |
| 99 handle->add(Command(Command::Data, "hello")); | 105 handle->add(Command(Command::Data, "hello")); |
| 100 handle->add(Command(Command::Done)); | 106 handle->add(Command(Command::Done)); |
| 101 BodyStreamBuffer* buffer = new BodyStreamBuffer(createFetchDataConsumerHandl
eFromWebHandle(handle.release())); | 107 BodyStreamBuffer* buffer = new BodyStreamBuffer(createFetchDataConsumerHandl
eFromWebHandle(handle.release())); |
| 102 buffer->startLoading(executionContext(), FetchDataLoader::createLoaderAsBlob
Handle("text/plain"), client); | 108 buffer->startLoading(executionContext(), FetchDataLoader::createLoaderAsBlob
Handle("text/plain"), client); |
| 103 | 109 |
| 104 EXPECT_TRUE(buffer->isLocked()); | 110 EXPECT_TRUE(buffer->stream()->isLocked()); |
| 111 EXPECT_TRUE(buffer->stream()->isDisturbed()); |
| 105 EXPECT_TRUE(buffer->hasPendingActivity()); | 112 EXPECT_TRUE(buffer->hasPendingActivity()); |
| 106 | 113 |
| 107 checkpoint.Call(1); | 114 checkpoint.Call(1); |
| 108 testing::runPendingTasks(); | 115 testing::runPendingTasks(); |
| 109 checkpoint.Call(2); | 116 checkpoint.Call(2); |
| 110 | 117 |
| 111 EXPECT_FALSE(buffer->isLocked()); | 118 EXPECT_TRUE(buffer->stream()->isLocked()); |
| 119 EXPECT_TRUE(buffer->stream()->isDisturbed()); |
| 112 EXPECT_FALSE(buffer->hasPendingActivity()); | 120 EXPECT_FALSE(buffer->hasPendingActivity()); |
| 113 EXPECT_EQ(5u, blobDataHandle->size()); | 121 EXPECT_EQ(5u, blobDataHandle->size()); |
| 114 } | 122 } |
| 115 | 123 |
| 116 TEST_F(BodyStreamBufferTest, LoadBodyStreamBufferAsString) | 124 TEST_F(BodyStreamBufferTest, LoadBodyStreamBufferAsString) |
| 117 { | 125 { |
| 118 Checkpoint checkpoint; | 126 Checkpoint checkpoint; |
| 119 MockFetchDataLoaderClient* client = MockFetchDataLoaderClient::create(); | 127 MockFetchDataLoaderClient* client = MockFetchDataLoaderClient::create(); |
| 120 | 128 |
| 121 InSequence s; | 129 InSequence s; |
| 122 EXPECT_CALL(checkpoint, Call(1)); | 130 EXPECT_CALL(checkpoint, Call(1)); |
| 123 EXPECT_CALL(*client, didFetchDataLoadedString(String("hello"))); | 131 EXPECT_CALL(*client, didFetchDataLoadedString(String("hello"))); |
| 124 EXPECT_CALL(checkpoint, Call(2)); | 132 EXPECT_CALL(checkpoint, Call(2)); |
| 125 | 133 |
| 126 OwnPtr<ReplayingHandle> handle = ReplayingHandle::create(); | 134 OwnPtr<ReplayingHandle> handle = ReplayingHandle::create(); |
| 127 handle->add(Command(Command::Data, "hello")); | 135 handle->add(Command(Command::Data, "hello")); |
| 128 handle->add(Command(Command::Done)); | 136 handle->add(Command(Command::Done)); |
| 129 BodyStreamBuffer* buffer = new BodyStreamBuffer(createFetchDataConsumerHandl
eFromWebHandle(handle.release())); | 137 BodyStreamBuffer* buffer = new BodyStreamBuffer(createFetchDataConsumerHandl
eFromWebHandle(handle.release())); |
| 130 buffer->startLoading(executionContext(), FetchDataLoader::createLoaderAsStri
ng(), client); | 138 buffer->startLoading(executionContext(), FetchDataLoader::createLoaderAsStri
ng(), client); |
| 131 | 139 |
| 132 EXPECT_TRUE(buffer->isLocked()); | 140 EXPECT_TRUE(buffer->stream()->isLocked()); |
| 141 EXPECT_TRUE(buffer->stream()->isDisturbed()); |
| 133 EXPECT_TRUE(buffer->hasPendingActivity()); | 142 EXPECT_TRUE(buffer->hasPendingActivity()); |
| 134 | 143 |
| 135 checkpoint.Call(1); | 144 checkpoint.Call(1); |
| 136 testing::runPendingTasks(); | 145 testing::runPendingTasks(); |
| 137 checkpoint.Call(2); | 146 checkpoint.Call(2); |
| 138 | 147 |
| 139 EXPECT_FALSE(buffer->isLocked()); | 148 EXPECT_TRUE(buffer->stream()->isLocked()); |
| 149 EXPECT_TRUE(buffer->stream()->isDisturbed()); |
| 140 EXPECT_FALSE(buffer->hasPendingActivity()); | 150 EXPECT_FALSE(buffer->hasPendingActivity()); |
| 141 } | 151 } |
| 142 | 152 |
| 143 TEST_F(BodyStreamBufferTest, LockClosedHandle) | 153 TEST_F(BodyStreamBufferTest, ReleaseClosedHandle) |
| 144 { | 154 { |
| 145 BodyStreamBuffer* buffer = new BodyStreamBuffer(createFetchDataConsumerHandl
eFromWebHandle(createDoneDataConsumerHandle())); | 155 BodyStreamBuffer* buffer = new BodyStreamBuffer(createFetchDataConsumerHandl
eFromWebHandle(createDoneDataConsumerHandle())); |
| 146 | 156 |
| 147 EXPECT_EQ(ReadableStream::Readable, buffer->stream()->stateInternal()); | 157 EXPECT_EQ(ReadableStream::Readable, buffer->stream()->stateInternal()); |
| 148 testing::runPendingTasks(); | 158 testing::runPendingTasks(); |
| 149 EXPECT_EQ(ReadableStream::Closed, buffer->stream()->stateInternal()); | 159 EXPECT_EQ(ReadableStream::Closed, buffer->stream()->stateInternal()); |
| 150 | 160 |
| 151 EXPECT_FALSE(buffer->isLocked()); | 161 EXPECT_FALSE(buffer->stream()->isLocked()); |
| 152 OwnPtr<FetchDataConsumerHandle> handle = buffer->lock(executionContext()); | 162 EXPECT_FALSE(buffer->stream()->isDisturbed()); |
| 163 EXPECT_FALSE(buffer->hasPendingActivity()); |
| 164 OwnPtr<FetchDataConsumerHandle> handle = buffer->releaseHandle(executionCont
ext()); |
| 165 |
| 153 EXPECT_TRUE(handle); | 166 EXPECT_TRUE(handle); |
| 154 EXPECT_FALSE(buffer->isLocked()); | 167 EXPECT_TRUE(buffer->stream()->isLocked()); |
| 155 | 168 EXPECT_TRUE(buffer->stream()->isDisturbed()); |
| 156 OwnPtr<FetchDataConsumerHandle> handle2 = buffer->lock(executionContext()); | 169 EXPECT_FALSE(buffer->hasPendingActivity()); |
| 157 EXPECT_TRUE(handle2); | |
| 158 EXPECT_FALSE(buffer->isLocked()); | |
| 159 EXPECT_TRUE(buffer->hasPendingActivity()); | |
| 160 } | 170 } |
| 161 | 171 |
| 162 TEST_F(BodyStreamBufferTest, LoadClosedHandle) | 172 TEST_F(BodyStreamBufferTest, LoadClosedHandle) |
| 163 { | 173 { |
| 164 Checkpoint checkpoint; | 174 Checkpoint checkpoint; |
| 165 MockFetchDataLoaderClient* client1 = MockFetchDataLoaderClient::create(); | 175 MockFetchDataLoaderClient* client = MockFetchDataLoaderClient::create(); |
| 166 MockFetchDataLoaderClient* client2 = MockFetchDataLoaderClient::create(); | |
| 167 | 176 |
| 168 InSequence s; | 177 InSequence s; |
| 169 EXPECT_CALL(checkpoint, Call(1)); | 178 EXPECT_CALL(checkpoint, Call(1)); |
| 170 EXPECT_CALL(*client1, didFetchDataLoadedString(String(""))); | 179 EXPECT_CALL(*client, didFetchDataLoadedString(String(""))); |
| 171 EXPECT_CALL(*client2, didFetchDataLoadedString(String(""))); | |
| 172 EXPECT_CALL(checkpoint, Call(2)); | 180 EXPECT_CALL(checkpoint, Call(2)); |
| 173 | 181 |
| 174 BodyStreamBuffer* buffer = new BodyStreamBuffer(createFetchDataConsumerHandl
eFromWebHandle(createDoneDataConsumerHandle())); | 182 BodyStreamBuffer* buffer = new BodyStreamBuffer(createFetchDataConsumerHandl
eFromWebHandle(createDoneDataConsumerHandle())); |
| 175 | 183 |
| 176 EXPECT_EQ(ReadableStream::Readable, buffer->stream()->stateInternal()); | 184 EXPECT_EQ(ReadableStream::Readable, buffer->stream()->stateInternal()); |
| 177 testing::runPendingTasks(); | 185 testing::runPendingTasks(); |
| 178 EXPECT_EQ(ReadableStream::Closed, buffer->stream()->stateInternal()); | 186 EXPECT_EQ(ReadableStream::Closed, buffer->stream()->stateInternal()); |
| 179 | 187 |
| 180 buffer->startLoading(executionContext(), FetchDataLoader::createLoaderAsStri
ng(), client1); | 188 EXPECT_FALSE(buffer->stream()->isLocked()); |
| 181 EXPECT_FALSE(buffer->isLocked()); | 189 EXPECT_FALSE(buffer->stream()->isDisturbed()); |
| 182 buffer->startLoading(executionContext(), FetchDataLoader::createLoaderAsStri
ng(), client2); | 190 EXPECT_FALSE(buffer->hasPendingActivity()); |
| 183 EXPECT_FALSE(buffer->isLocked()); | 191 |
| 192 buffer->startLoading(executionContext(), FetchDataLoader::createLoaderAsStri
ng(), client); |
| 193 EXPECT_TRUE(buffer->stream()->isLocked()); |
| 194 EXPECT_TRUE(buffer->stream()->isDisturbed()); |
| 184 EXPECT_TRUE(buffer->hasPendingActivity()); | 195 EXPECT_TRUE(buffer->hasPendingActivity()); |
| 185 | 196 |
| 186 checkpoint.Call(1); | 197 checkpoint.Call(1); |
| 187 testing::runPendingTasks(); | 198 testing::runPendingTasks(); |
| 188 checkpoint.Call(2); | 199 checkpoint.Call(2); |
| 189 | 200 |
| 190 EXPECT_FALSE(buffer->isLocked()); | 201 EXPECT_TRUE(buffer->stream()->isLocked()); |
| 202 EXPECT_TRUE(buffer->stream()->isDisturbed()); |
| 191 EXPECT_FALSE(buffer->hasPendingActivity()); | 203 EXPECT_FALSE(buffer->hasPendingActivity()); |
| 192 } | 204 } |
| 193 | 205 |
| 194 TEST_F(BodyStreamBufferTest, LockErroredHandle) | 206 TEST_F(BodyStreamBufferTest, ReleaseErroredHandle) |
| 195 { | 207 { |
| 196 BodyStreamBuffer* buffer = new BodyStreamBuffer(createFetchDataConsumerHandl
eFromWebHandle(createUnexpectedErrorDataConsumerHandle())); | 208 BodyStreamBuffer* buffer = new BodyStreamBuffer(createFetchDataConsumerHandl
eFromWebHandle(createUnexpectedErrorDataConsumerHandle())); |
| 197 | 209 |
| 198 EXPECT_EQ(ReadableStream::Readable, buffer->stream()->stateInternal()); | 210 EXPECT_EQ(ReadableStream::Readable, buffer->stream()->stateInternal()); |
| 199 testing::runPendingTasks(); | 211 testing::runPendingTasks(); |
| 200 EXPECT_EQ(ReadableStream::Errored, buffer->stream()->stateInternal()); | 212 EXPECT_EQ(ReadableStream::Errored, buffer->stream()->stateInternal()); |
| 201 | 213 |
| 202 EXPECT_FALSE(buffer->isLocked()); | 214 EXPECT_FALSE(buffer->stream()->isLocked()); |
| 203 OwnPtr<FetchDataConsumerHandle> handle = buffer->lock(executionContext()); | 215 EXPECT_FALSE(buffer->stream()->isDisturbed()); |
| 216 EXPECT_FALSE(buffer->hasPendingActivity()); |
| 217 OwnPtr<FetchDataConsumerHandle> handle = buffer->releaseHandle(executionCont
ext()); |
| 204 EXPECT_TRUE(handle); | 218 EXPECT_TRUE(handle); |
| 205 EXPECT_FALSE(buffer->isLocked()); | 219 EXPECT_TRUE(buffer->stream()->isLocked()); |
| 206 | 220 EXPECT_TRUE(buffer->stream()->isDisturbed()); |
| 207 OwnPtr<FetchDataConsumerHandle> handle2 = buffer->lock(executionContext()); | 221 EXPECT_FALSE(buffer->hasPendingActivity()); |
| 208 EXPECT_TRUE(handle2); | |
| 209 EXPECT_FALSE(buffer->isLocked()); | |
| 210 EXPECT_TRUE(buffer->hasPendingActivity()); | |
| 211 } | 222 } |
| 212 | 223 |
| 213 TEST_F(BodyStreamBufferTest, LoadErroredHandle) | 224 TEST_F(BodyStreamBufferTest, LoadErroredHandle) |
| 214 { | 225 { |
| 215 Checkpoint checkpoint; | 226 Checkpoint checkpoint; |
| 216 MockFetchDataLoaderClient* client1 = MockFetchDataLoaderClient::create(); | 227 MockFetchDataLoaderClient* client = MockFetchDataLoaderClient::create(); |
| 217 MockFetchDataLoaderClient* client2 = MockFetchDataLoaderClient::create(); | |
| 218 | 228 |
| 219 InSequence s; | 229 InSequence s; |
| 220 EXPECT_CALL(checkpoint, Call(1)); | 230 EXPECT_CALL(checkpoint, Call(1)); |
| 221 EXPECT_CALL(*client1, didFetchDataLoadFailed()); | 231 EXPECT_CALL(*client, didFetchDataLoadFailed()); |
| 222 EXPECT_CALL(*client2, didFetchDataLoadFailed()); | |
| 223 EXPECT_CALL(checkpoint, Call(2)); | 232 EXPECT_CALL(checkpoint, Call(2)); |
| 224 | 233 |
| 225 BodyStreamBuffer* buffer = new BodyStreamBuffer(createFetchDataConsumerHandl
eFromWebHandle(createUnexpectedErrorDataConsumerHandle())); | 234 BodyStreamBuffer* buffer = new BodyStreamBuffer(createFetchDataConsumerHandl
eFromWebHandle(createUnexpectedErrorDataConsumerHandle())); |
| 226 | 235 |
| 227 EXPECT_EQ(ReadableStream::Readable, buffer->stream()->stateInternal()); | 236 EXPECT_EQ(ReadableStream::Readable, buffer->stream()->stateInternal()); |
| 228 testing::runPendingTasks(); | 237 testing::runPendingTasks(); |
| 229 EXPECT_EQ(ReadableStream::Errored, buffer->stream()->stateInternal()); | 238 EXPECT_EQ(ReadableStream::Errored, buffer->stream()->stateInternal()); |
| 230 | 239 |
| 231 buffer->startLoading(executionContext(), FetchDataLoader::createLoaderAsStri
ng(), client1); | 240 EXPECT_FALSE(buffer->stream()->isLocked()); |
| 232 EXPECT_FALSE(buffer->isLocked()); | 241 EXPECT_FALSE(buffer->stream()->isDisturbed()); |
| 233 buffer->startLoading(executionContext(), FetchDataLoader::createLoaderAsStri
ng(), client2); | 242 EXPECT_FALSE(buffer->hasPendingActivity()); |
| 234 EXPECT_FALSE(buffer->isLocked()); | 243 buffer->startLoading(executionContext(), FetchDataLoader::createLoaderAsStri
ng(), client); |
| 244 EXPECT_TRUE(buffer->stream()->isLocked()); |
| 245 EXPECT_TRUE(buffer->stream()->isDisturbed()); |
| 235 EXPECT_TRUE(buffer->hasPendingActivity()); | 246 EXPECT_TRUE(buffer->hasPendingActivity()); |
| 236 | 247 |
| 237 checkpoint.Call(1); | 248 checkpoint.Call(1); |
| 238 testing::runPendingTasks(); | 249 testing::runPendingTasks(); |
| 239 checkpoint.Call(2); | 250 checkpoint.Call(2); |
| 240 | 251 |
| 241 EXPECT_FALSE(buffer->isLocked()); | 252 EXPECT_TRUE(buffer->stream()->isLocked()); |
| 253 EXPECT_TRUE(buffer->stream()->isDisturbed()); |
| 242 EXPECT_FALSE(buffer->hasPendingActivity()); | 254 EXPECT_FALSE(buffer->hasPendingActivity()); |
| 243 } | 255 } |
| 244 | 256 |
| 245 TEST_F(BodyStreamBufferTest, LoaderShouldBeKeptAliveByBodyStreamBuffer) | 257 TEST_F(BodyStreamBufferTest, LoaderShouldBeKeptAliveByBodyStreamBuffer) |
| 246 { | 258 { |
| 247 Checkpoint checkpoint; | 259 Checkpoint checkpoint; |
| 248 MockFetchDataLoaderClient* client = MockFetchDataLoaderClient::create(); | 260 MockFetchDataLoaderClient* client = MockFetchDataLoaderClient::create(); |
| 249 | 261 |
| 250 InSequence s; | 262 InSequence s; |
| 251 EXPECT_CALL(checkpoint, Call(1)); | 263 EXPECT_CALL(checkpoint, Call(1)); |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 300 BodyStreamBuffer* buffer = new BodyStreamBuffer(handle.release()); | 312 BodyStreamBuffer* buffer = new BodyStreamBuffer(handle.release()); |
| 301 checkpoint.Call(1); | 313 checkpoint.Call(1); |
| 302 ScriptValue reason(scriptState(), v8String(scriptState()->isolate(), "reason
")); | 314 ScriptValue reason(scriptState(), v8String(scriptState()->isolate(), "reason
")); |
| 303 buffer->cancelSource(scriptState(), reason); | 315 buffer->cancelSource(scriptState(), reason); |
| 304 checkpoint.Call(2); | 316 checkpoint.Call(2); |
| 305 } | 317 } |
| 306 | 318 |
| 307 } // namespace | 319 } // namespace |
| 308 | 320 |
| 309 } // namespace blink | 321 } // namespace blink |
| OLD | NEW |