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 |