Changeset 122074 in webkit
- Timestamp:
- Jul 8, 2012 8:09:07 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 9 edited
- 2 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r122072 r122074 1 2012-07-08 Kinuko Yasuda <kinuko@chromium.org> 2 3 XHR.send should support ArrayBufferView 4 https://bugs.webkit.org/show_bug.cgi?id=90536 5 6 Reviewed by Kenneth Russell. 7 8 * http/tests/xmlhttprequest/send-array-buffer-expected.txt: 9 * http/tests/xmlhttprequest/send-array-buffer.html: 10 * http/tests/xmlhttprequest/send-data-view-expected.txt: Added. 11 * http/tests/xmlhttprequest/send-data-view.html: Added. 12 1 13 2012-07-08 Hayato Ito <hayato@chromium.org> 2 14 -
trunk/LayoutTests/http/tests/xmlhttprequest/send-array-buffer-expected.txt
r106043 r122074 1 Tests sending an array buffer .1 Tests sending an array buffer view. 2 2 0 1 2 48 49 50 128 129 130 253 254 255 3 3 -
trunk/LayoutTests/http/tests/xmlhttprequest/send-array-buffer.html
r120167 r122074 1 1 <html> 2 2 <body> 3 Tests sending an array buffer .3 Tests sending an array buffer view. 4 4 <script> 5 5 if (window.testRunner) … … 19 19 var xhr = new XMLHttpRequest; 20 20 xhr.open("POST", "resources/post-echo-as-ascii.cgi", false); 21 xhr.send(array .buffer);21 xhr.send(array); 22 22 log(xhr.responseText); 23 23 </script> -
trunk/LayoutTests/http/tests/xmlhttprequest/send-data-view-expected.txt
r122073 r122074 1 Tests sending a n array buffer.1 Tests sending a data view. 2 2 0 1 2 48 49 50 128 129 130 253 254 255 3 3 -
trunk/LayoutTests/http/tests/xmlhttprequest/send-data-view.html
r122073 r122074 1 1 <html> 2 2 <body> 3 Tests sending a n array buffer.3 Tests sending a data view. 4 4 <script> 5 5 if (window.testRunner) … … 19 19 var xhr = new XMLHttpRequest; 20 20 xhr.open("POST", "resources/post-echo-as-ascii.cgi", false); 21 xhr.send( array.buffer);21 xhr.send(new DataView(array.buffer)); 22 22 log(xhr.responseText); 23 23 </script> 24 24 </body> 25 25 </html> 26 -
trunk/Source/WebCore/ChangeLog
r122059 r122074 1 2012-07-08 Kinuko Yasuda <kinuko@chromium.org> 2 3 XHR.send should support ArrayBufferView 4 https://bugs.webkit.org/show_bug.cgi?id=90536 5 6 XHR.send should support ArrayBufferView according to the latest draft 7 and also eventually deprecate ArrayBuffer. 8 Spec: http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#dom-xmlhttprequest-send 9 10 Reviewed by Kenneth Russell. 11 12 Test: http/tests/xmlhttprequest/send-array-buffer.html 13 http/tests/xmlhttprequest/send-data-view.html 14 15 * bindings/js/JSXMLHttpRequestCustom.cpp: 16 (WebCore::JSXMLHttpRequest::send): 17 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 18 (WebCore::V8XMLHttpRequest::sendCallback): 19 * xml/XMLHttpRequest.cpp: 20 (WebCore): 21 (WebCore::XMLHttpRequest::send): 22 * xml/XMLHttpRequest.h: 23 (XMLHttpRequest): 24 * xml/XMLHttpRequest.idl: 25 1 26 2012-07-08 Vivek Galatage <vivekgalatage@gmail.com> 2 27 -
trunk/Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp
r120574 r122074 40 40 #include "InspectorInstrumentation.h" 41 41 #include "JSArrayBuffer.h" 42 #include "JSArrayBufferView.h" 42 43 #include "JSBlob.h" 43 44 #include "JSDOMFormData.h" … … 127 128 else if (val.inherits(&JSArrayBuffer::s_info)) 128 129 impl()->send(toArrayBuffer(val), ec); 130 else if (val.inherits(&JSArrayBufferView::s_info)) 131 impl()->send(toArrayBufferView(val), ec); 129 132 else 130 133 impl()->send(ustringToString(val.toString(exec)->value(exec)), ec); -
trunk/Source/WebCore/bindings/v8/custom/V8XMLHttpRequestCustom.cpp
r120574 r122074 37 37 #include "InspectorInstrumentation.h" 38 38 #include "V8ArrayBuffer.h" 39 #include "V8ArrayBufferView.h" 39 40 #include "V8Binding.h" 40 41 #include "V8Blob.h" … … 189 190 ASSERT(arrayBuffer); 190 191 xmlHttpRequest->send(arrayBuffer, ec); 192 } else if (V8ArrayBufferView::HasInstance(arg)) { 193 v8::Handle<v8::Object> object = v8::Handle<v8::Object>::Cast(arg); 194 ArrayBufferView* arrayBufferView = V8ArrayBufferView::toNative(object); 195 ASSERT(arrayBufferView); 196 xmlHttpRequest->send(arrayBufferView, ec); 191 197 #endif 192 198 } else -
trunk/Source/WebCore/xml/XMLHttpRequest.cpp
r121381 r122074 39 39 #include "HTTPParsers.h" 40 40 #include "HTTPValidation.h" 41 #include "HistogramSupport.h" 41 42 #include "InspectorInstrumentation.h" 42 43 #include "MemoryCache.h" … … 55 56 #include "markup.h" 56 57 #include <wtf/ArrayBuffer.h> 58 #include <wtf/ArrayBufferView.h> 57 59 #include <wtf/RefCountedLeakCounter.h> 58 60 #include <wtf/StdLibExtras.h> … … 70 72 71 73 DEFINE_DEBUG_ONLY_GLOBAL(WTF::RefCountedLeakCounter, xmlHttpRequestCounter, ("XMLHttpRequest")); 74 75 // Histogram enum to see when we can deprecate xhr.send(ArrayBuffer). 76 enum XMLHttpRequestSendArrayBufferOrView { 77 XMLHttpRequestSendArrayBuffer, 78 XMLHttpRequestSendArrayBufferView, 79 XMLHttpRequestSendArrayBufferOrViewMax, 80 }; 72 81 73 82 struct XMLHttpRequestStaticData { … … 647 656 void XMLHttpRequest::send(ArrayBuffer* body, ExceptionCode& ec) 648 657 { 658 String consoleMessage("ArrayBuffer is deprecated in XMLHttpRequest.send(). Use ArrayBufferView instead."); 659 scriptExecutionContext()->addConsoleMessage(JSMessageSource, LogMessageType, WarningMessageLevel, consoleMessage); 660 661 HistogramSupport::histogramEnumeration("WebCore.XHR.send.ArrayBufferOrView", XMLHttpRequestSendArrayBuffer, XMLHttpRequestSendArrayBufferOrViewMax); 662 663 sendBytesData(body->data(), body->byteLength(), ec); 664 } 665 666 void XMLHttpRequest::send(ArrayBufferView* body, ExceptionCode& ec) 667 { 668 HistogramSupport::histogramEnumeration("WebCore.XHR.send.ArrayBufferOrView", XMLHttpRequestSendArrayBufferView, XMLHttpRequestSendArrayBufferOrViewMax); 669 670 sendBytesData(body->baseAddress(), body->byteLength(), ec); 671 } 672 673 void XMLHttpRequest::sendBytesData(const void* data, size_t length, ExceptionCode& ec) 674 { 649 675 if (!initSend(ec)) 650 676 return; 651 677 652 678 if (m_method != "GET" && m_method != "HEAD" && m_url.protocolIsInHTTPFamily()) { 653 m_requestEntityBody = FormData::create( body->data(), body->byteLength());679 m_requestEntityBody = FormData::create(data, length); 654 680 if (m_upload) 655 681 m_requestEntityBody->setAlwaysStream(true); -
trunk/Source/WebCore/xml/XMLHttpRequest.h
r120574 r122074 94 94 void send(DOMFormData*, ExceptionCode&); 95 95 void send(ArrayBuffer*, ExceptionCode&); 96 void send(ArrayBufferView*, ExceptionCode&); 96 97 void abort(); 97 98 void setRequestHeader(const AtomicString& name, const String& value, ExceptionCode&); … … 161 162 162 163 bool initSend(ExceptionCode&); 164 void sendBytesData(const void*, size_t, ExceptionCode&); 163 165 164 166 String getRequestHeader(const AtomicString& name) const; -
trunk/Source/WebCore/xml/XMLHttpRequest.idl
r121161 r122074 70 70 [Custom] void send() 71 71 raises(DOMException); 72 [Custom] void send(in ArrayBuffer data) 72 [Custom] void send(in ArrayBuffer data) // FIXME: this should be eventually deprecated. 73 raises(DOMException); 74 [Custom] void send(in ArrayBufferView data) 73 75 raises(DOMException); 74 76 [Conditional=BLOB, Custom] void send(in Blob data)
Note: See TracChangeset
for help on using the changeset viewer.