OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2006, 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2004, 2006, 2008 Apple Inc. All rights reserved. |
3 * Copyright (C) 2005-2007 Alexey Proskuryakov <ap@webkit.org> | 3 * Copyright (C) 2005-2007 Alexey Proskuryakov <ap@webkit.org> |
4 * Copyright (C) 2007, 2008 Julien Chaffraix <jchaffraix@webkit.org> | 4 * Copyright (C) 2007, 2008 Julien Chaffraix <jchaffraix@webkit.org> |
5 * Copyright (C) 2008, 2011 Google Inc. All rights reserved. | 5 * Copyright (C) 2008, 2011 Google Inc. All rights reserved. |
6 * Copyright (C) 2012 Intel Corporation | 6 * Copyright (C) 2012 Intel Corporation |
7 * | 7 * |
8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
9 * modify it under the terms of the GNU Lesser General Public | 9 * modify it under the terms of the GNU Lesser General Public |
10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
(...skipping 678 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
689 // FIXME: this should include the charset used for encoding. | 689 // FIXME: this should include the charset used for encoding. |
690 setRequestHeaderInternal("Content-Type", "application/xml"); | 690 setRequestHeaderInternal("Content-Type", "application/xml"); |
691 } | 691 } |
692 | 692 |
693 // FIXME: According to XMLHttpRequest Level 2, this should use the Docum
ent.innerHTML algorithm | 693 // FIXME: According to XMLHttpRequest Level 2, this should use the Docum
ent.innerHTML algorithm |
694 // from the HTML5 specification to serialize the document. | 694 // from the HTML5 specification to serialize the document. |
695 String body = createMarkup(document); | 695 String body = createMarkup(document); |
696 | 696 |
697 // FIXME: This should use value of document.inputEncoding to determine t
he encoding to use. | 697 // FIXME: This should use value of document.inputEncoding to determine t
he encoding to use. |
698 httpBody = FormData::create(UTF8Encoding().encode(body, WTF::EntitiesFor
Unencodables)); | 698 httpBody = FormData::create(UTF8Encoding().encode(body, WTF::EntitiesFor
Unencodables)); |
699 if (m_upload) | |
700 httpBody->setAlwaysStream(true); | |
701 } | 699 } |
702 | 700 |
703 createRequest(httpBody.release(), exceptionState); | 701 createRequest(httpBody.release(), exceptionState); |
704 } | 702 } |
705 | 703 |
706 void XMLHttpRequest::send(const String& body, ExceptionState& exceptionState) | 704 void XMLHttpRequest::send(const String& body, ExceptionState& exceptionState) |
707 { | 705 { |
708 WTF_LOG(Network, "XMLHttpRequest %p send() String '%s'", this, body.utf8().d
ata()); | 706 WTF_LOG(Network, "XMLHttpRequest %p send() String '%s'", this, body.utf8().d
ata()); |
709 | 707 |
710 if (!initSend(exceptionState)) | 708 if (!initSend(exceptionState)) |
711 return; | 709 return; |
712 | 710 |
713 RefPtr<FormData> httpBody; | 711 RefPtr<FormData> httpBody; |
714 | 712 |
715 if (!body.isNull() && areMethodAndURLValidForSend()) { | 713 if (!body.isNull() && areMethodAndURLValidForSend()) { |
716 String contentType = getRequestHeader("Content-Type"); | 714 String contentType = getRequestHeader("Content-Type"); |
717 if (contentType.isEmpty()) { | 715 if (contentType.isEmpty()) { |
718 setRequestHeaderInternal("Content-Type", "text/plain;charset=UTF-8")
; | 716 setRequestHeaderInternal("Content-Type", "text/plain;charset=UTF-8")
; |
719 } else { | 717 } else { |
720 replaceCharsetInMediaType(contentType, "UTF-8"); | 718 replaceCharsetInMediaType(contentType, "UTF-8"); |
721 m_requestHeaders.set("Content-Type", AtomicString(contentType)); | 719 m_requestHeaders.set("Content-Type", AtomicString(contentType)); |
722 } | 720 } |
723 | 721 |
724 httpBody = FormData::create(UTF8Encoding().encode(body, WTF::EntitiesFor
Unencodables)); | 722 httpBody = FormData::create(UTF8Encoding().encode(body, WTF::EntitiesFor
Unencodables)); |
725 if (m_upload) | |
726 httpBody->setAlwaysStream(true); | |
727 } | 723 } |
728 | 724 |
729 createRequest(httpBody.release(), exceptionState); | 725 createRequest(httpBody.release(), exceptionState); |
730 } | 726 } |
731 | 727 |
732 void XMLHttpRequest::send(Blob* body, ExceptionState& exceptionState) | 728 void XMLHttpRequest::send(Blob* body, ExceptionState& exceptionState) |
733 { | 729 { |
734 WTF_LOG(Network, "XMLHttpRequest %p send() Blob '%s'", this, body->uuid().ut
f8().data()); | 730 WTF_LOG(Network, "XMLHttpRequest %p send() Blob '%s'", this, body->uuid().ut
f8().data()); |
735 | 731 |
736 if (!initSend(exceptionState)) | 732 if (!initSend(exceptionState)) |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
805 | 801 |
806 void XMLHttpRequest::sendBytesData(const void* data, size_t length, ExceptionSta
te& exceptionState) | 802 void XMLHttpRequest::sendBytesData(const void* data, size_t length, ExceptionSta
te& exceptionState) |
807 { | 803 { |
808 if (!initSend(exceptionState)) | 804 if (!initSend(exceptionState)) |
809 return; | 805 return; |
810 | 806 |
811 RefPtr<FormData> httpBody; | 807 RefPtr<FormData> httpBody; |
812 | 808 |
813 if (areMethodAndURLValidForSend()) { | 809 if (areMethodAndURLValidForSend()) { |
814 httpBody = FormData::create(data, length); | 810 httpBody = FormData::create(data, length); |
815 if (m_upload) | |
816 httpBody->setAlwaysStream(true); | |
817 } | 811 } |
818 | 812 |
819 createRequest(httpBody.release(), exceptionState); | 813 createRequest(httpBody.release(), exceptionState); |
820 } | 814 } |
821 | 815 |
822 void XMLHttpRequest::sendForInspectorXHRReplay(PassRefPtr<FormData> formData, Ex
ceptionState& exceptionState) | 816 void XMLHttpRequest::sendForInspectorXHRReplay(PassRefPtr<FormData> formData, Ex
ceptionState& exceptionState) |
823 { | 817 { |
824 createRequest(formData ? formData->deepCopy() : nullptr, exceptionState); | 818 createRequest(formData ? formData->deepCopy() : nullptr, exceptionState); |
825 m_exceptionCode = exceptionState.code(); | 819 m_exceptionCode = exceptionState.code(); |
826 } | 820 } |
(...skipping 835 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1662 visitor->trace(m_responseDocument); | 1656 visitor->trace(m_responseDocument); |
1663 visitor->trace(m_responseDocumentParser); | 1657 visitor->trace(m_responseDocumentParser); |
1664 visitor->trace(m_progressEventThrottle); | 1658 visitor->trace(m_progressEventThrottle); |
1665 visitor->trace(m_upload); | 1659 visitor->trace(m_upload); |
1666 visitor->trace(m_blobLoader); | 1660 visitor->trace(m_blobLoader); |
1667 XMLHttpRequestEventTarget::trace(visitor); | 1661 XMLHttpRequestEventTarget::trace(visitor); |
1668 DocumentParserClient::trace(visitor); | 1662 DocumentParserClient::trace(visitor); |
1669 } | 1663 } |
1670 | 1664 |
1671 } // namespace blink | 1665 } // namespace blink |
OLD | NEW |