Chromium Code Reviews| 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/Request.h" | 6 #include "modules/fetch/Request.h" |
| 7 | 7 |
| 8 #include "bindings/core/v8/Dictionary.h" | 8 #include "bindings/core/v8/Dictionary.h" |
| 9 #include "core/dom/Document.h" | 9 #include "core/dom/Document.h" |
| 10 #include "core/dom/ExecutionContext.h" | 10 #include "core/dom/ExecutionContext.h" |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 27 request->setURL(original->url()); | 27 request->setURL(original->url()); |
| 28 request->setMethod(original->method()); | 28 request->setMethod(original->method()); |
| 29 request->setHeaderList(original->headerList()->clone()); | 29 request->setHeaderList(original->headerList()->clone()); |
| 30 request->setUnsafeRequestFlag(true); | 30 request->setUnsafeRequestFlag(true); |
| 31 request->setBlobDataHandle(original->blobDataHandle()); | 31 request->setBlobDataHandle(original->blobDataHandle()); |
| 32 // FIXME: Set client. | 32 // FIXME: Set client. |
| 33 request->setOrigin(SecurityOrigin::create(context->url())); | 33 request->setOrigin(SecurityOrigin::create(context->url())); |
| 34 // FIXME: Set ForceOriginHeaderFlag. | 34 // FIXME: Set ForceOriginHeaderFlag. |
| 35 request->setSameOriginDataURLFlag(true); | 35 request->setSameOriginDataURLFlag(true); |
| 36 request->mutableReferrer()->setClient(); | 36 request->mutableReferrer()->setClient(); |
| 37 request->setContext(WebURLRequest::RequestContextFetch); | 37 request->setContext(original->context()); |
|
hiroshige
2015/04/07 03:56:11
Should this be WebURLRequest::RequestContextUnspec
shiva.jm
2015/04/09 09:16:22
I think we no need to set the context here, it wil
hiroshige
2015/04/09 17:43:21
Then we have to remove the line of
shiva.jm
2015/04/10 09:27:10
The call to setContext() should be present here, n
hiroshige
2015/04/10 11:24:23
I still think we must NOT set context to |original
| |
| 38 request->setMode(original->mode()); | 38 request->setMode(original->mode()); |
| 39 request->setCredentials(original->credentials()); | 39 request->setCredentials(original->credentials()); |
| 40 // FIXME: Set cache mode. | 40 // FIXME: Set cache mode. |
| 41 return request; | 41 return request; |
| 42 } | 42 } |
| 43 | 43 |
| 44 Request* Request::createRequestWithRequestOrString(ExecutionContext* context, Re quest* inputRequest, const String& inputString, const RequestInit& init, Excepti onState& exceptionState) | 44 Request* Request::createRequestWithRequestOrString(ExecutionContext* context, Re quest* inputRequest, const String& inputString, const RequestInit& init, Excepti onState& exceptionState) |
| 45 { | 45 { |
| 46 // "1. If input is a Request object, run these substeps:" | 46 // "1. If input is a Request object, run these substeps:" |
| 47 if (inputRequest) { | 47 if (inputRequest) { |
| (...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 305 case WebURLRequest::FetchRequestModeNoCORS: | 305 case WebURLRequest::FetchRequestModeNoCORS: |
| 306 return "no-cors"; | 306 return "no-cors"; |
| 307 case WebURLRequest::FetchRequestModeCORS: | 307 case WebURLRequest::FetchRequestModeCORS: |
| 308 case WebURLRequest::FetchRequestModeCORSWithForcedPreflight: | 308 case WebURLRequest::FetchRequestModeCORSWithForcedPreflight: |
| 309 return "cors"; | 309 return "cors"; |
| 310 } | 310 } |
| 311 ASSERT_NOT_REACHED(); | 311 ASSERT_NOT_REACHED(); |
| 312 return ""; | 312 return ""; |
| 313 } | 313 } |
| 314 | 314 |
| 315 String Request::context() const | |
|
hiroshige
2015/04/07 03:56:11
Move context() above referrer() to match the order
shiva.jm
2015/04/09 09:16:22
Done.
| |
| 316 { | |
| 317 // "The context attribute's getter must return request's context" | |
| 318 switch (m_request->context()) { | |
| 319 case WebURLRequest::RequestContextUnspecified: | |
| 320 return ""; | |
| 321 case WebURLRequest::RequestContextAudio: | |
| 322 return "audio"; | |
| 323 case WebURLRequest::RequestContextBeacon: | |
| 324 return "beacon"; | |
| 325 case WebURLRequest::RequestContextCSPReport: | |
| 326 return "cspreport"; | |
| 327 case WebURLRequest::RequestContextDownload: | |
| 328 return "download"; | |
| 329 case WebURLRequest::RequestContextEmbed: | |
| 330 return "embed"; | |
| 331 case WebURLRequest::RequestContextEventSource: | |
| 332 return "eventsource"; | |
| 333 case WebURLRequest::RequestContextFavicon: | |
| 334 return "favicon"; | |
| 335 case WebURLRequest::RequestContextFetch: | |
| 336 return "fetch"; | |
| 337 case WebURLRequest::RequestContextFont: | |
| 338 return "font"; | |
| 339 case WebURLRequest::RequestContextForm: | |
| 340 return "form"; | |
| 341 case WebURLRequest::RequestContextFrame: | |
| 342 return "frame"; | |
| 343 case WebURLRequest::RequestContextHyperlink: | |
| 344 return "hyperlink"; | |
| 345 case WebURLRequest::RequestContextIframe: | |
| 346 return "iframe"; | |
| 347 case WebURLRequest::RequestContextImage: | |
| 348 return "image"; | |
| 349 case WebURLRequest::RequestContextImageSet: | |
| 350 return "imageset"; | |
| 351 case WebURLRequest::RequestContextImport: | |
| 352 return "import"; | |
| 353 case WebURLRequest::RequestContextInternal: | |
| 354 return "internal"; | |
| 355 case WebURLRequest::RequestContextLocation: | |
| 356 return "location"; | |
| 357 case WebURLRequest::RequestContextManifest: | |
| 358 return "manifest"; | |
| 359 case WebURLRequest::RequestContextObject: | |
| 360 return "object"; | |
| 361 case WebURLRequest::RequestContextPing: | |
| 362 return "ping"; | |
| 363 case WebURLRequest::RequestContextPlugin: | |
| 364 return "plugin"; | |
| 365 case WebURLRequest::RequestContextPrefetch: | |
| 366 return "prefetch"; | |
| 367 case WebURLRequest::RequestContextScript: | |
| 368 return "script"; | |
| 369 case WebURLRequest::RequestContextServiceWorker: | |
| 370 return "serviceworker"; | |
| 371 case WebURLRequest::RequestContextSharedWorker: | |
| 372 return "sharedworker"; | |
| 373 case WebURLRequest::RequestContextSubresource: | |
| 374 return "subresource"; | |
| 375 case WebURLRequest::RequestContextStyle: | |
| 376 return "style"; | |
| 377 case WebURLRequest::RequestContextTrack: | |
| 378 return "track"; | |
| 379 case WebURLRequest::RequestContextVideo: | |
| 380 return "video"; | |
| 381 case WebURLRequest::RequestContextWorker: | |
| 382 return "worker"; | |
| 383 case WebURLRequest::RequestContextXMLHttpRequest: | |
| 384 return "xmlhttprequest"; | |
| 385 case WebURLRequest::RequestContextXSLT: | |
| 386 return "xslt"; | |
| 387 } | |
| 388 ASSERT_NOT_REACHED(); | |
| 389 return ""; | |
| 390 } | |
| 391 | |
| 315 String Request::credentials() const | 392 String Request::credentials() const |
| 316 { | 393 { |
| 317 // "The credentials attribute's getter must return the value corresponding | 394 // "The credentials attribute's getter must return the value corresponding |
| 318 // to the first matching statement, switching on request's credentials | 395 // to the first matching statement, switching on request's credentials |
| 319 // mode:" | 396 // mode:" |
| 320 switch (m_request->credentials()) { | 397 switch (m_request->credentials()) { |
| 321 case WebURLRequest::FetchCredentialsModeOmit: | 398 case WebURLRequest::FetchCredentialsModeOmit: |
| 322 return "omit"; | 399 return "omit"; |
| 323 case WebURLRequest::FetchCredentialsModeSameOrigin: | 400 case WebURLRequest::FetchCredentialsModeSameOrigin: |
| 324 return "same-origin"; | 401 return "same-origin"; |
| (...skipping 22 matching lines...) Expand all Loading... | |
| 347 FetchRequestData* Request::passRequestData() | 424 FetchRequestData* Request::passRequestData() |
| 348 { | 425 { |
| 349 ASSERT(!bodyUsed()); | 426 ASSERT(!bodyUsed()); |
| 350 setBodyUsed(); | 427 setBodyUsed(); |
| 351 return m_request->pass(); | 428 return m_request->pass(); |
| 352 } | 429 } |
| 353 | 430 |
| 354 void Request::populateWebServiceWorkerRequest(WebServiceWorkerRequest& webReques t) const | 431 void Request::populateWebServiceWorkerRequest(WebServiceWorkerRequest& webReques t) const |
| 355 { | 432 { |
| 356 webRequest.setMethod(method()); | 433 webRequest.setMethod(method()); |
| 434 webRequest.setRequestContext(m_request->context()); | |
| 357 // This strips off the fragment part. | 435 // This strips off the fragment part. |
| 358 webRequest.setURL(url()); | 436 webRequest.setURL(url()); |
| 359 | 437 |
| 360 const FetchHeaderList* headerList = m_headers->headerList(); | 438 const FetchHeaderList* headerList = m_headers->headerList(); |
| 361 for (size_t i = 0, size = headerList->size(); i < size; ++i) { | 439 for (size_t i = 0, size = headerList->size(); i < size; ++i) { |
| 362 const FetchHeaderList::Header& header = headerList->entry(i); | 440 const FetchHeaderList::Header& header = headerList->entry(i); |
| 363 webRequest.appendHeader(header.first, header.second); | 441 webRequest.appendHeader(header.first, header.second); |
| 364 } | 442 } |
| 365 | 443 |
| 366 webRequest.setReferrer(m_request->referrer().referrer().referrer, static_cas t<WebReferrerPolicy>(m_request->referrer().referrer().referrerPolicy)); | 444 webRequest.setReferrer(m_request->referrer().referrer().referrer, static_cas t<WebReferrerPolicy>(m_request->referrer().referrer().referrerPolicy)); |
| (...skipping 28 matching lines...) Expand all Loading... | |
| 395 } | 473 } |
| 396 | 474 |
| 397 DEFINE_TRACE(Request) | 475 DEFINE_TRACE(Request) |
| 398 { | 476 { |
| 399 Body::trace(visitor); | 477 Body::trace(visitor); |
| 400 visitor->trace(m_request); | 478 visitor->trace(m_request); |
| 401 visitor->trace(m_headers); | 479 visitor->trace(m_headers); |
| 402 } | 480 } |
| 403 | 481 |
| 404 } // namespace blink | 482 } // namespace blink |
| OLD | NEW |