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/FetchManager.h" | 6 #include "modules/fetch/FetchManager.h" |
7 | 7 |
8 #include "bindings/core/v8/ExceptionState.h" | 8 #include "bindings/core/v8/ExceptionState.h" |
9 #include "bindings/core/v8/ScriptPromiseResolver.h" | 9 #include "bindings/core/v8/ScriptPromiseResolver.h" |
10 #include "bindings/core/v8/ScriptState.h" | 10 #include "bindings/core/v8/ScriptState.h" |
(...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
351 void FetchManager::Loader::performHTTPFetch(bool corsFlag, bool corsPreflightFla g) | 351 void FetchManager::Loader::performHTTPFetch(bool corsFlag, bool corsPreflightFla g) |
352 { | 352 { |
353 ASSERT(m_request->url().protocolIsInHTTPFamily()); | 353 ASSERT(m_request->url().protocolIsInHTTPFamily()); |
354 // CORS preflight fetch procedure is implemented inside DocumentThreadableLo ader. | 354 // CORS preflight fetch procedure is implemented inside DocumentThreadableLo ader. |
355 | 355 |
356 // "1. Let |HTTPRequest| be a copy of |request|, except that |HTTPRequest|'s | 356 // "1. Let |HTTPRequest| be a copy of |request|, except that |HTTPRequest|'s |
357 // body is a tee of |request|'s body." | 357 // body is a tee of |request|'s body." |
358 // We use ResourceRequest class for HTTPRequest. | 358 // We use ResourceRequest class for HTTPRequest. |
359 // FIXME: Support body. | 359 // FIXME: Support body. |
360 ResourceRequest request(m_request->url()); | 360 ResourceRequest request(m_request->url()); |
361 request.setRequestContext(WebURLRequest::RequestContextFetch); | 361 request.setRequestContext(m_request->context()); |
362 request.setHTTPMethod(m_request->method()); | 362 request.setHTTPMethod(m_request->method()); |
363 const Vector<OwnPtr<FetchHeaderList::Header>>& list = m_request->headerList( )->list(); | 363 const Vector<OwnPtr<FetchHeaderList::Header>>& list = m_request->headerList( )->list(); |
364 for (size_t i = 0; i < list.size(); ++i) { | 364 for (size_t i = 0; i < list.size(); ++i) { |
365 request.addHTTPHeaderField(AtomicString(list[i]->first), AtomicString(li st[i]->second)); | 365 request.addHTTPHeaderField(AtomicString(list[i]->first), AtomicString(li st[i]->second)); |
366 } | 366 } |
367 | 367 |
368 if (m_request->method() != "GET" && m_request->method() != "HEAD") { | 368 if (m_request->method() != "GET" && m_request->method() != "HEAD") { |
369 RefPtr<BlobDataHandle> blobDataHandle = m_request->blobDataHandle(); | 369 RefPtr<BlobDataHandle> blobDataHandle = m_request->blobDataHandle(); |
370 if (blobDataHandle.get()) { | 370 if (blobDataHandle.get()) { |
371 RefPtr<FormData> httpBody(FormData::create()); | 371 RefPtr<FormData> httpBody(FormData::create()); |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
459 #if !ENABLE(OILPAN) | 459 #if !ENABLE(OILPAN) |
460 if (!m_isStopped) | 460 if (!m_isStopped) |
461 stop(); | 461 stop(); |
462 #endif | 462 #endif |
463 } | 463 } |
464 | 464 |
465 ScriptPromise FetchManager::fetch(ScriptState* scriptState, FetchRequestData* re quest) | 465 ScriptPromise FetchManager::fetch(ScriptState* scriptState, FetchRequestData* re quest) |
466 { | 466 { |
467 RefPtrWillBeRawPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver:: create(scriptState); | 467 RefPtrWillBeRawPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver:: create(scriptState); |
468 ScriptPromise promise = resolver->promise(); | 468 ScriptPromise promise = resolver->promise(); |
469 | 469 |
horo
2015/04/07 00:21:25
Please set the context to "fetch".
https://fetch.
shiva.jm
2015/04/09 09:16:22
Done.
| |
470 OwnPtrWillBeRawPtr<Loader> ownLoader = Loader::create(m_executionContext, th is, resolver.release(), request); | 470 OwnPtrWillBeRawPtr<Loader> ownLoader = Loader::create(m_executionContext, th is, resolver.release(), request); |
471 Loader* loader = m_loaders.add(ownLoader.release()).storedValue->get(); | 471 Loader* loader = m_loaders.add(ownLoader.release()).storedValue->get(); |
472 loader->start(); | 472 loader->start(); |
473 return promise; | 473 return promise; |
474 } | 474 } |
475 | 475 |
476 void FetchManager::stop() | 476 void FetchManager::stop() |
477 { | 477 { |
478 ASSERT(!m_isStopped); | 478 ASSERT(!m_isStopped); |
479 m_isStopped = true; | 479 m_isStopped = true; |
(...skipping 11 matching lines...) Expand all Loading... | |
491 | 491 |
492 DEFINE_TRACE(FetchManager) | 492 DEFINE_TRACE(FetchManager) |
493 { | 493 { |
494 #if ENABLE(OILPAN) | 494 #if ENABLE(OILPAN) |
495 visitor->trace(m_executionContext); | 495 visitor->trace(m_executionContext); |
496 visitor->trace(m_loaders); | 496 visitor->trace(m_loaders); |
497 #endif | 497 #endif |
498 } | 498 } |
499 | 499 |
500 } // namespace blink | 500 } // namespace blink |
OLD | NEW |