| 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 "modules/fetch/Response.h" | 5 #include "modules/fetch/Response.h" |
| 6 | 6 |
| 7 #include "bindings/core/v8/ExceptionState.h" | 7 #include "bindings/core/v8/ExceptionState.h" |
| 8 #include "bindings/core/v8/ScriptState.h" | 8 #include "bindings/core/v8/ScriptState.h" |
| 9 #include "core/dom/Document.h" | 9 #include "core/dom/Document.h" |
| 10 #include "core/dom/ExceptionCode.h" | 10 #include "core/dom/ExceptionCode.h" |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 fetchResponseData->setURL(url); | 63 fetchResponseData->setURL(url); |
| 64 | 64 |
| 65 Response* response = Response::create(getExecutionContext(), fetchResponseDa
ta); | 65 Response* response = Response::create(getExecutionContext(), fetchResponseDa
ta); |
| 66 ASSERT(response); | 66 ASSERT(response); |
| 67 EXPECT_EQ(url, response->url()); | 67 EXPECT_EQ(url, response->url()); |
| 68 } | 68 } |
| 69 | 69 |
| 70 TEST_F(ServiceWorkerResponseTest, FromWebServiceWorkerResponse) | 70 TEST_F(ServiceWorkerResponseTest, FromWebServiceWorkerResponse) |
| 71 { | 71 { |
| 72 OwnPtr<WebServiceWorkerResponse> webResponse = createTestWebServiceWorkerRes
ponse(); | 72 OwnPtr<WebServiceWorkerResponse> webResponse = createTestWebServiceWorkerRes
ponse(); |
| 73 Response* response = Response::create(getExecutionContext(), *webResponse); | 73 Response* response = Response::create(getScriptState(), *webResponse); |
| 74 ASSERT(response); | 74 ASSERT(response); |
| 75 EXPECT_EQ(webResponse->url(), response->url()); | 75 EXPECT_EQ(webResponse->url(), response->url()); |
| 76 EXPECT_EQ(webResponse->status(), response->status()); | 76 EXPECT_EQ(webResponse->status(), response->status()); |
| 77 EXPECT_STREQ(webResponse->statusText().utf8().c_str(), response->statusText(
).utf8().data()); | 77 EXPECT_STREQ(webResponse->statusText().utf8().c_str(), response->statusText(
).utf8().data()); |
| 78 | 78 |
| 79 Headers* responseHeaders = response->headers(); | 79 Headers* responseHeaders = response->headers(); |
| 80 | 80 |
| 81 WebVector<WebString> keys = webResponse->getHeaderKeys(); | 81 WebVector<WebString> keys = webResponse->getHeaderKeys(); |
| 82 EXPECT_EQ(keys.size(), responseHeaders->headerList()->size()); | 82 EXPECT_EQ(keys.size(), responseHeaders->headerList()->size()); |
| 83 for (size_t i = 0, max = keys.size(); i < max; ++i) { | 83 for (size_t i = 0, max = keys.size(); i < max; ++i) { |
| 84 WebString key = keys[i]; | 84 WebString key = keys[i]; |
| 85 TrackExceptionState exceptionState; | 85 TrackExceptionState exceptionState; |
| 86 EXPECT_STREQ(webResponse->getHeader(key).utf8().c_str(), responseHeaders
->get(key, exceptionState).utf8().data()); | 86 EXPECT_STREQ(webResponse->getHeader(key).utf8().c_str(), responseHeaders
->get(key, exceptionState).utf8().data()); |
| 87 EXPECT_FALSE(exceptionState.hadException()); | 87 EXPECT_FALSE(exceptionState.hadException()); |
| 88 } | 88 } |
| 89 } | 89 } |
| 90 | 90 |
| 91 TEST_F(ServiceWorkerResponseTest, FromWebServiceWorkerResponseDefault) | 91 TEST_F(ServiceWorkerResponseTest, FromWebServiceWorkerResponseDefault) |
| 92 { | 92 { |
| 93 OwnPtr<WebServiceWorkerResponse> webResponse = createTestWebServiceWorkerRes
ponse(); | 93 OwnPtr<WebServiceWorkerResponse> webResponse = createTestWebServiceWorkerRes
ponse(); |
| 94 webResponse->setResponseType(WebServiceWorkerResponseTypeDefault); | 94 webResponse->setResponseType(WebServiceWorkerResponseTypeDefault); |
| 95 Response* response = Response::create(getExecutionContext(), *webResponse); | 95 Response* response = Response::create(getScriptState(), *webResponse); |
| 96 | 96 |
| 97 Headers* responseHeaders = response->headers(); | 97 Headers* responseHeaders = response->headers(); |
| 98 TrackExceptionState exceptionState; | 98 TrackExceptionState exceptionState; |
| 99 EXPECT_STREQ("foop", responseHeaders->get("set-cookie", exceptionState).utf8
().data()); | 99 EXPECT_STREQ("foop", responseHeaders->get("set-cookie", exceptionState).utf8
().data()); |
| 100 EXPECT_STREQ("bar", responseHeaders->get("foo", exceptionState).utf8().data(
)); | 100 EXPECT_STREQ("bar", responseHeaders->get("foo", exceptionState).utf8().data(
)); |
| 101 EXPECT_STREQ("no-cache", responseHeaders->get("cache-control", exceptionStat
e).utf8().data()); | 101 EXPECT_STREQ("no-cache", responseHeaders->get("cache-control", exceptionStat
e).utf8().data()); |
| 102 EXPECT_FALSE(exceptionState.hadException()); | 102 EXPECT_FALSE(exceptionState.hadException()); |
| 103 } | 103 } |
| 104 | 104 |
| 105 TEST_F(ServiceWorkerResponseTest, FromWebServiceWorkerResponseBasic) | 105 TEST_F(ServiceWorkerResponseTest, FromWebServiceWorkerResponseBasic) |
| 106 { | 106 { |
| 107 OwnPtr<WebServiceWorkerResponse> webResponse = createTestWebServiceWorkerRes
ponse(); | 107 OwnPtr<WebServiceWorkerResponse> webResponse = createTestWebServiceWorkerRes
ponse(); |
| 108 webResponse->setResponseType(WebServiceWorkerResponseTypeBasic); | 108 webResponse->setResponseType(WebServiceWorkerResponseTypeBasic); |
| 109 Response* response = Response::create(getExecutionContext(), *webResponse); | 109 Response* response = Response::create(getScriptState(), *webResponse); |
| 110 | 110 |
| 111 Headers* responseHeaders = response->headers(); | 111 Headers* responseHeaders = response->headers(); |
| 112 TrackExceptionState exceptionState; | 112 TrackExceptionState exceptionState; |
| 113 EXPECT_STREQ("", responseHeaders->get("set-cookie", exceptionState).utf8().d
ata()); | 113 EXPECT_STREQ("", responseHeaders->get("set-cookie", exceptionState).utf8().d
ata()); |
| 114 EXPECT_STREQ("bar", responseHeaders->get("foo", exceptionState).utf8().data(
)); | 114 EXPECT_STREQ("bar", responseHeaders->get("foo", exceptionState).utf8().data(
)); |
| 115 EXPECT_STREQ("no-cache", responseHeaders->get("cache-control", exceptionStat
e).utf8().data()); | 115 EXPECT_STREQ("no-cache", responseHeaders->get("cache-control", exceptionStat
e).utf8().data()); |
| 116 EXPECT_FALSE(exceptionState.hadException()); | 116 EXPECT_FALSE(exceptionState.hadException()); |
| 117 } | 117 } |
| 118 | 118 |
| 119 TEST_F(ServiceWorkerResponseTest, FromWebServiceWorkerResponseCORS) | 119 TEST_F(ServiceWorkerResponseTest, FromWebServiceWorkerResponseCORS) |
| 120 { | 120 { |
| 121 OwnPtr<WebServiceWorkerResponse> webResponse = createTestWebServiceWorkerRes
ponse(); | 121 OwnPtr<WebServiceWorkerResponse> webResponse = createTestWebServiceWorkerRes
ponse(); |
| 122 webResponse->setResponseType(WebServiceWorkerResponseTypeCORS); | 122 webResponse->setResponseType(WebServiceWorkerResponseTypeCORS); |
| 123 Response* response = Response::create(getExecutionContext(), *webResponse); | 123 Response* response = Response::create(getScriptState(), *webResponse); |
| 124 | 124 |
| 125 Headers* responseHeaders = response->headers(); | 125 Headers* responseHeaders = response->headers(); |
| 126 TrackExceptionState exceptionState; | 126 TrackExceptionState exceptionState; |
| 127 EXPECT_STREQ("", responseHeaders->get("set-cookie", exceptionState).utf8().d
ata()); | 127 EXPECT_STREQ("", responseHeaders->get("set-cookie", exceptionState).utf8().d
ata()); |
| 128 EXPECT_STREQ("", responseHeaders->get("foo", exceptionState).utf8().data()); | 128 EXPECT_STREQ("", responseHeaders->get("foo", exceptionState).utf8().data()); |
| 129 EXPECT_STREQ("no-cache", responseHeaders->get("cache-control", exceptionStat
e).utf8().data()); | 129 EXPECT_STREQ("no-cache", responseHeaders->get("cache-control", exceptionStat
e).utf8().data()); |
| 130 EXPECT_FALSE(exceptionState.hadException()); | 130 EXPECT_FALSE(exceptionState.hadException()); |
| 131 } | 131 } |
| 132 | 132 |
| 133 TEST_F(ServiceWorkerResponseTest, FromWebServiceWorkerResponseOpaque) | 133 TEST_F(ServiceWorkerResponseTest, FromWebServiceWorkerResponseOpaque) |
| 134 { | 134 { |
| 135 OwnPtr<WebServiceWorkerResponse> webResponse = createTestWebServiceWorkerRes
ponse(); | 135 OwnPtr<WebServiceWorkerResponse> webResponse = createTestWebServiceWorkerRes
ponse(); |
| 136 webResponse->setResponseType(WebServiceWorkerResponseTypeOpaque); | 136 webResponse->setResponseType(WebServiceWorkerResponseTypeOpaque); |
| 137 Response* response = Response::create(getExecutionContext(), *webResponse); | 137 Response* response = Response::create(getScriptState(), *webResponse); |
| 138 | 138 |
| 139 Headers* responseHeaders = response->headers(); | 139 Headers* responseHeaders = response->headers(); |
| 140 TrackExceptionState exceptionState; | 140 TrackExceptionState exceptionState; |
| 141 EXPECT_STREQ("", responseHeaders->get("set-cookie", exceptionState).utf8().d
ata()); | 141 EXPECT_STREQ("", responseHeaders->get("set-cookie", exceptionState).utf8().d
ata()); |
| 142 EXPECT_STREQ("", responseHeaders->get("foo", exceptionState).utf8().data()); | 142 EXPECT_STREQ("", responseHeaders->get("foo", exceptionState).utf8().data()); |
| 143 EXPECT_STREQ("", responseHeaders->get("cache-control", exceptionState).utf8(
).data()); | 143 EXPECT_STREQ("", responseHeaders->get("cache-control", exceptionState).utf8(
).data()); |
| 144 EXPECT_FALSE(exceptionState.hadException()); | 144 EXPECT_FALSE(exceptionState.hadException()); |
| 145 } | 145 } |
| 146 | 146 |
| 147 void checkResponseStream(Response* response, bool checkResponseBodyStreamBuffer) | 147 void checkResponseStream(ScriptState* scriptState, Response* response, bool chec
kResponseBodyStreamBuffer) |
| 148 { | 148 { |
| 149 BodyStreamBuffer* originalInternal = response->internalBodyBuffer(); | 149 BodyStreamBuffer* originalInternal = response->internalBodyBuffer(); |
| 150 if (checkResponseBodyStreamBuffer) { | 150 if (checkResponseBodyStreamBuffer) { |
| 151 EXPECT_EQ(response->bodyBuffer(), originalInternal); | 151 EXPECT_EQ(response->bodyBuffer(), originalInternal); |
| 152 } else { | 152 } else { |
| 153 EXPECT_FALSE(response->bodyBuffer()); | 153 EXPECT_FALSE(response->bodyBuffer()); |
| 154 } | 154 } |
| 155 | 155 |
| 156 TrackExceptionState exceptionState; | 156 TrackExceptionState exceptionState; |
| 157 Response* clonedResponse = response->clone(exceptionState); | 157 Response* clonedResponse = response->clone(scriptState, exceptionState); |
| 158 EXPECT_FALSE(exceptionState.hadException()); | 158 EXPECT_FALSE(exceptionState.hadException()); |
| 159 | 159 |
| 160 if (!response->internalBodyBuffer()) | 160 if (!response->internalBodyBuffer()) |
| 161 FAIL() << "internalBodyBuffer() must not be null."; | 161 FAIL() << "internalBodyBuffer() must not be null."; |
| 162 if (!clonedResponse->internalBodyBuffer()) | 162 if (!clonedResponse->internalBodyBuffer()) |
| 163 FAIL() << "internalBodyBuffer() must not be null."; | 163 FAIL() << "internalBodyBuffer() must not be null."; |
| 164 EXPECT_TRUE(response->internalBodyBuffer()); | 164 EXPECT_TRUE(response->internalBodyBuffer()); |
| 165 EXPECT_TRUE(clonedResponse->internalBodyBuffer()); | 165 EXPECT_TRUE(clonedResponse->internalBodyBuffer()); |
| 166 EXPECT_TRUE(response->internalBodyBuffer()); | 166 EXPECT_TRUE(response->internalBodyBuffer()); |
| 167 EXPECT_TRUE(clonedResponse->internalBodyBuffer()); | 167 EXPECT_TRUE(clonedResponse->internalBodyBuffer()); |
| 168 EXPECT_NE(response->internalBodyBuffer(), originalInternal); | 168 EXPECT_NE(response->internalBodyBuffer(), originalInternal); |
| 169 EXPECT_NE(clonedResponse->internalBodyBuffer(), originalInternal); | 169 EXPECT_NE(clonedResponse->internalBodyBuffer(), originalInternal); |
| 170 EXPECT_NE(response->internalBodyBuffer(), clonedResponse->internalBodyBuffer
()); | 170 EXPECT_NE(response->internalBodyBuffer(), clonedResponse->internalBodyBuffer
()); |
| 171 if (checkResponseBodyStreamBuffer) { | 171 if (checkResponseBodyStreamBuffer) { |
| 172 EXPECT_EQ(response->bodyBuffer(), response->internalBodyBuffer()); | 172 EXPECT_EQ(response->bodyBuffer(), response->internalBodyBuffer()); |
| 173 EXPECT_EQ(clonedResponse->bodyBuffer(), clonedResponse->internalBodyBuff
er()); | 173 EXPECT_EQ(clonedResponse->bodyBuffer(), clonedResponse->internalBodyBuff
er()); |
| 174 } else { | 174 } else { |
| 175 EXPECT_FALSE(response->bodyBuffer()); | 175 EXPECT_FALSE(response->bodyBuffer()); |
| 176 EXPECT_FALSE(clonedResponse->bodyBuffer()); | 176 EXPECT_FALSE(clonedResponse->bodyBuffer()); |
| 177 } | 177 } |
| 178 DataConsumerHandleTestUtil::MockFetchDataLoaderClient* client1 = new DataCon
sumerHandleTestUtil::MockFetchDataLoaderClient(); | 178 DataConsumerHandleTestUtil::MockFetchDataLoaderClient* client1 = new DataCon
sumerHandleTestUtil::MockFetchDataLoaderClient(); |
| 179 DataConsumerHandleTestUtil::MockFetchDataLoaderClient* client2 = new DataCon
sumerHandleTestUtil::MockFetchDataLoaderClient(); | 179 DataConsumerHandleTestUtil::MockFetchDataLoaderClient* client2 = new DataCon
sumerHandleTestUtil::MockFetchDataLoaderClient(); |
| 180 EXPECT_CALL(*client1, didFetchDataLoadedString(String("Hello, world"))); | 180 EXPECT_CALL(*client1, didFetchDataLoadedString(String("Hello, world"))); |
| 181 EXPECT_CALL(*client2, didFetchDataLoadedString(String("Hello, world"))); | 181 EXPECT_CALL(*client2, didFetchDataLoadedString(String("Hello, world"))); |
| 182 | 182 |
| 183 response->internalBodyBuffer()->startLoading(response->getExecutionContext()
, FetchDataLoader::createLoaderAsString(), client1); | 183 response->internalBodyBuffer()->startLoading(FetchDataLoader::createLoaderAs
String(), client1); |
| 184 clonedResponse->internalBodyBuffer()->startLoading(response->getExecutionCon
text(), FetchDataLoader::createLoaderAsString(), client2); | 184 clonedResponse->internalBodyBuffer()->startLoading(FetchDataLoader::createLo
aderAsString(), client2); |
| 185 blink::testing::runPendingTasks(); | 185 blink::testing::runPendingTasks(); |
| 186 } | 186 } |
| 187 | 187 |
| 188 BodyStreamBuffer* createHelloWorldBuffer() | 188 BodyStreamBuffer* createHelloWorldBuffer(ScriptState* scriptState) |
| 189 { | 189 { |
| 190 using Command = DataConsumerHandleTestUtil::Command; | 190 using Command = DataConsumerHandleTestUtil::Command; |
| 191 OwnPtr<DataConsumerHandleTestUtil::ReplayingHandle> src(DataConsumerHandleTe
stUtil::ReplayingHandle::create()); | 191 OwnPtr<DataConsumerHandleTestUtil::ReplayingHandle> src(DataConsumerHandleTe
stUtil::ReplayingHandle::create()); |
| 192 src->add(Command(Command::Data, "Hello, ")); | 192 src->add(Command(Command::Data, "Hello, ")); |
| 193 src->add(Command(Command::Data, "world")); | 193 src->add(Command(Command::Data, "world")); |
| 194 src->add(Command(Command::Done)); | 194 src->add(Command(Command::Done)); |
| 195 return new BodyStreamBuffer(createFetchDataConsumerHandleFromWebHandle(src.r
elease())); | 195 return new BodyStreamBuffer(scriptState, createFetchDataConsumerHandleFromWe
bHandle(src.release())); |
| 196 } | 196 } |
| 197 | 197 |
| 198 TEST_F(ServiceWorkerResponseTest, BodyStreamBufferCloneDefault) | 198 TEST_F(ServiceWorkerResponseTest, BodyStreamBufferCloneDefault) |
| 199 { | 199 { |
| 200 BodyStreamBuffer* buffer = createHelloWorldBuffer(); | 200 BodyStreamBuffer* buffer = createHelloWorldBuffer(getScriptState()); |
| 201 FetchResponseData* fetchResponseData = FetchResponseData::createWithBuffer(b
uffer); | 201 FetchResponseData* fetchResponseData = FetchResponseData::createWithBuffer(b
uffer); |
| 202 fetchResponseData->setURL(KURL(ParsedURLString, "http://www.response.com")); | 202 fetchResponseData->setURL(KURL(ParsedURLString, "http://www.response.com")); |
| 203 Response* response = Response::create(getExecutionContext(), fetchResponseDa
ta); | 203 Response* response = Response::create(getExecutionContext(), fetchResponseDa
ta); |
| 204 EXPECT_EQ(response->internalBodyBuffer(), buffer); | 204 EXPECT_EQ(response->internalBodyBuffer(), buffer); |
| 205 checkResponseStream(response, true); | 205 checkResponseStream(getScriptState(), response, true); |
| 206 } | 206 } |
| 207 | 207 |
| 208 TEST_F(ServiceWorkerResponseTest, BodyStreamBufferCloneBasic) | 208 TEST_F(ServiceWorkerResponseTest, BodyStreamBufferCloneBasic) |
| 209 { | 209 { |
| 210 BodyStreamBuffer* buffer = createHelloWorldBuffer(); | 210 BodyStreamBuffer* buffer = createHelloWorldBuffer(getScriptState()); |
| 211 FetchResponseData* fetchResponseData = FetchResponseData::createWithBuffer(b
uffer); | 211 FetchResponseData* fetchResponseData = FetchResponseData::createWithBuffer(b
uffer); |
| 212 fetchResponseData->setURL(KURL(ParsedURLString, "http://www.response.com")); | 212 fetchResponseData->setURL(KURL(ParsedURLString, "http://www.response.com")); |
| 213 fetchResponseData = fetchResponseData->createBasicFilteredResponse(); | 213 fetchResponseData = fetchResponseData->createBasicFilteredResponse(); |
| 214 Response* response = Response::create(getExecutionContext(), fetchResponseDa
ta); | 214 Response* response = Response::create(getExecutionContext(), fetchResponseDa
ta); |
| 215 EXPECT_EQ(response->internalBodyBuffer(), buffer); | 215 EXPECT_EQ(response->internalBodyBuffer(), buffer); |
| 216 checkResponseStream(response, true); | 216 checkResponseStream(getScriptState(), response, true); |
| 217 } | 217 } |
| 218 | 218 |
| 219 TEST_F(ServiceWorkerResponseTest, BodyStreamBufferCloneCORS) | 219 TEST_F(ServiceWorkerResponseTest, BodyStreamBufferCloneCORS) |
| 220 { | 220 { |
| 221 BodyStreamBuffer* buffer = createHelloWorldBuffer(); | 221 BodyStreamBuffer* buffer = createHelloWorldBuffer(getScriptState()); |
| 222 FetchResponseData* fetchResponseData = FetchResponseData::createWithBuffer(b
uffer); | 222 FetchResponseData* fetchResponseData = FetchResponseData::createWithBuffer(b
uffer); |
| 223 fetchResponseData->setURL(KURL(ParsedURLString, "http://www.response.com")); | 223 fetchResponseData->setURL(KURL(ParsedURLString, "http://www.response.com")); |
| 224 fetchResponseData = fetchResponseData->createCORSFilteredResponse(); | 224 fetchResponseData = fetchResponseData->createCORSFilteredResponse(); |
| 225 Response* response = Response::create(getExecutionContext(), fetchResponseDa
ta); | 225 Response* response = Response::create(getExecutionContext(), fetchResponseDa
ta); |
| 226 EXPECT_EQ(response->internalBodyBuffer(), buffer); | 226 EXPECT_EQ(response->internalBodyBuffer(), buffer); |
| 227 checkResponseStream(response, true); | 227 checkResponseStream(getScriptState(), response, true); |
| 228 } | 228 } |
| 229 | 229 |
| 230 TEST_F(ServiceWorkerResponseTest, BodyStreamBufferCloneOpaque) | 230 TEST_F(ServiceWorkerResponseTest, BodyStreamBufferCloneOpaque) |
| 231 { | 231 { |
| 232 BodyStreamBuffer* buffer = createHelloWorldBuffer(); | 232 BodyStreamBuffer* buffer = createHelloWorldBuffer(getScriptState()); |
| 233 FetchResponseData* fetchResponseData = FetchResponseData::createWithBuffer(b
uffer); | 233 FetchResponseData* fetchResponseData = FetchResponseData::createWithBuffer(b
uffer); |
| 234 fetchResponseData->setURL(KURL(ParsedURLString, "http://www.response.com")); | 234 fetchResponseData->setURL(KURL(ParsedURLString, "http://www.response.com")); |
| 235 fetchResponseData = fetchResponseData->createOpaqueFilteredResponse(); | 235 fetchResponseData = fetchResponseData->createOpaqueFilteredResponse(); |
| 236 Response* response = Response::create(getExecutionContext(), fetchResponseDa
ta); | 236 Response* response = Response::create(getExecutionContext(), fetchResponseDa
ta); |
| 237 EXPECT_EQ(response->internalBodyBuffer(), buffer); | 237 EXPECT_EQ(response->internalBodyBuffer(), buffer); |
| 238 checkResponseStream(response, false); | 238 checkResponseStream(getScriptState(), response, false); |
| 239 } | 239 } |
| 240 | 240 |
| 241 TEST_F(ServiceWorkerResponseTest, BodyStreamBufferCloneError) | 241 TEST_F(ServiceWorkerResponseTest, BodyStreamBufferCloneError) |
| 242 { | 242 { |
| 243 BodyStreamBuffer* buffer = new BodyStreamBuffer(createFetchDataConsumerHandl
eFromWebHandle(createUnexpectedErrorDataConsumerHandle())); | 243 BodyStreamBuffer* buffer = new BodyStreamBuffer(getScriptState(), createFetc
hDataConsumerHandleFromWebHandle(createUnexpectedErrorDataConsumerHandle())); |
| 244 FetchResponseData* fetchResponseData = FetchResponseData::createWithBuffer(b
uffer); | 244 FetchResponseData* fetchResponseData = FetchResponseData::createWithBuffer(b
uffer); |
| 245 fetchResponseData->setURL(KURL(ParsedURLString, "http://www.response.com")); | 245 fetchResponseData->setURL(KURL(ParsedURLString, "http://www.response.com")); |
| 246 Response* response = Response::create(getExecutionContext(), fetchResponseDa
ta); | 246 Response* response = Response::create(getExecutionContext(), fetchResponseDa
ta); |
| 247 TrackExceptionState exceptionState; | 247 TrackExceptionState exceptionState; |
| 248 Response* clonedResponse = response->clone(exceptionState); | 248 Response* clonedResponse = response->clone(getScriptState(), exceptionState)
; |
| 249 EXPECT_FALSE(exceptionState.hadException()); | 249 EXPECT_FALSE(exceptionState.hadException()); |
| 250 | 250 |
| 251 DataConsumerHandleTestUtil::MockFetchDataLoaderClient* client1 = new DataCon
sumerHandleTestUtil::MockFetchDataLoaderClient(); | 251 DataConsumerHandleTestUtil::MockFetchDataLoaderClient* client1 = new DataCon
sumerHandleTestUtil::MockFetchDataLoaderClient(); |
| 252 DataConsumerHandleTestUtil::MockFetchDataLoaderClient* client2 = new DataCon
sumerHandleTestUtil::MockFetchDataLoaderClient(); | 252 DataConsumerHandleTestUtil::MockFetchDataLoaderClient* client2 = new DataCon
sumerHandleTestUtil::MockFetchDataLoaderClient(); |
| 253 EXPECT_CALL(*client1, didFetchDataLoadFailed()); | 253 EXPECT_CALL(*client1, didFetchDataLoadFailed()); |
| 254 EXPECT_CALL(*client2, didFetchDataLoadFailed()); | 254 EXPECT_CALL(*client2, didFetchDataLoadFailed()); |
| 255 | 255 |
| 256 response->internalBodyBuffer()->startLoading(response->getExecutionContext()
, FetchDataLoader::createLoaderAsString(), client1); | 256 response->internalBodyBuffer()->startLoading(FetchDataLoader::createLoaderAs
String(), client1); |
| 257 clonedResponse->internalBodyBuffer()->startLoading(response->getExecutionCon
text(), FetchDataLoader::createLoaderAsString(), client2); | 257 clonedResponse->internalBodyBuffer()->startLoading(FetchDataLoader::createLo
aderAsString(), client2); |
| 258 blink::testing::runPendingTasks(); | 258 blink::testing::runPendingTasks(); |
| 259 } | 259 } |
| 260 | 260 |
| 261 } // namespace | 261 } // namespace |
| 262 } // namespace blink | 262 } // namespace blink |
| OLD | NEW |