Move typed array implementations into wtf
https://bugs.webkit.org/show_bug.cgi?id=73248

Reviewed by Sam Weinig.

Source/JavaScriptCore:

Move typed array implementation files from WebCore to wtf.  Inline the
.cpp files for each of the array views to cut down on unnecessary exports
and function call overhead for trivial operations.

Added files to all the project files.

* GNUmakefile.list.am:
* JavaScriptCore.exp:
* JavaScriptCore.vcproj/WTF/WTF.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* wtf/ArrayBuffer.cpp: Renamed from Source/WebCore/html/canvas/Float32Array.cpp.
(WTF::ArrayBuffer::transfer):
(WTF::ArrayBuffer::addView):
(WTF::ArrayBuffer::removeView):
* wtf/ArrayBuffer.h: Renamed from Source/WebCore/html/canvas/ArrayBuffer.cpp.
(WTF::ArrayBufferContents::ArrayBufferContents):
(WTF::ArrayBufferContents::data):
(WTF::ArrayBufferContents::sizeInBytes):
(WTF::ArrayBufferContents::transfer):
(WTF::ArrayBuffer::~ArrayBuffer):
(WTF::ArrayBuffer::clampValue):
(WTF::ArrayBuffer::create):
(WTF::ArrayBuffer::ArrayBuffer):
(WTF::ArrayBuffer::data):
(WTF::ArrayBuffer::byteLength):
(WTF::ArrayBuffer::slice):
(WTF::ArrayBuffer::sliceImpl):
(WTF::ArrayBuffer::clampIndex):
(WTF::ArrayBufferContents::tryAllocate):
(WTF::ArrayBufferContents::~ArrayBufferContents):
* wtf/ArrayBufferView.cpp: Copied from Source/WebCore/bindings/js/JSArrayBufferCustom.cpp.
(WTF::ArrayBufferView::ArrayBufferView):
(WTF::ArrayBufferView::~ArrayBufferView):
(WTF::ArrayBufferView::neuter):
* wtf/ArrayBufferView.h: Renamed from Source/WebCore/html/canvas/ArrayBufferView.h.
(WTF::ArrayBufferView::isByteArray):
(WTF::ArrayBufferView::isUnsignedByteArray):
(WTF::ArrayBufferView::isShortArray):
(WTF::ArrayBufferView::isUnsignedShortArray):
(WTF::ArrayBufferView::isIntArray):
(WTF::ArrayBufferView::isUnsignedIntArray):
(WTF::ArrayBufferView::isFloatArray):
(WTF::ArrayBufferView::isDoubleArray):
(WTF::ArrayBufferView::isDataView):
(WTF::ArrayBufferView::buffer):
(WTF::ArrayBufferView::baseAddress):
(WTF::ArrayBufferView::byteOffset):
(WTF::ArrayBufferView::verifySubRange):
(WTF::ArrayBufferView::clampOffsetAndNumElements):
(WTF::ArrayBufferView::setImpl):
(WTF::ArrayBufferView::setRangeImpl):
(WTF::ArrayBufferView::zeroRangeImpl):
(WTF::ArrayBufferView::calculateOffsetAndLength):
* wtf/CMakeLists.txt:
* wtf/Float32Array.h: Renamed from Source/WebCore/html/canvas/Float32Array.h.
(WTF::Float32Array::set):
(WTF::Float32Array::item):
(WTF::Float32Array::isFloatArray):
(WTF::Float32Array::create):
(WTF::Float32Array::Float32Array):
(WTF::Float32Array::subarray):
* wtf/Float64Array.h: Renamed from Source/WebCore/html/canvas/Float64Array.h.
(WTF::Float64Array::set):
(WTF::Float64Array::item):
(WTF::Float64Array::isDoubleArray):
(WTF::Float64Array::create):
(WTF::Float64Array::Float64Array):
(WTF::Float64Array::subarray):
* wtf/Int16Array.h: Renamed from Source/WebCore/html/canvas/Int16Array.cpp.
(WTF::Int16Array::set):
(WTF::Int16Array::isShortArray):
(WTF::Int16Array::create):
(WTF::Int16Array::Int16Array):
(WTF::Int16Array::subarray):
* wtf/Int32Array.h: Renamed from Source/WebCore/html/canvas/Int32Array.cpp.
(WTF::Int32Array::set):
(WTF::Int32Array::isIntArray):
(WTF::Int32Array::create):
(WTF::Int32Array::Int32Array):
(WTF::Int32Array::subarray):
* wtf/Int8Array.h: Renamed from Source/WebCore/html/canvas/Int8Array.cpp.
(WTF::Int8Array::set):
(WTF::Int8Array::isByteArray):
(WTF::Int8Array::create):
(WTF::Int8Array::Int8Array):
(WTF::Int8Array::subarray):
* wtf/IntegralTypedArrayBase.h: Renamed from Source/WebCore/html/canvas/IntegralTypedArrayBase.h.
(WTF::IntegralTypedArrayBase::set):
(WTF::IntegralTypedArrayBase::item):
(WTF::IntegralTypedArrayBase::IntegralTypedArrayBase):
* wtf/TypedArrayBase.h: Renamed from Source/WebCore/html/canvas/TypedArrayBase.h.
(WTF::TypedArrayBase::data):
(WTF::TypedArrayBase::set):
(WTF::TypedArrayBase::setRange):
(WTF::TypedArrayBase::zeroRange):
(WTF::TypedArrayBase::length):
(WTF::TypedArrayBase::byteLength):
(WTF::TypedArrayBase::TypedArrayBase):
(WTF::TypedArrayBase::create):
(WTF::TypedArrayBase::subarrayImpl):
* wtf/Uint16Array.h: Renamed from Source/WebCore/html/canvas/Uint16Array.cpp.
(WTF::Uint16Array::set):
(WTF::Uint16Array::isUnsignedShortArray):
(WTF::Uint16Array::create):
(WTF::Uint16Array::Uint16Array):
(WTF::Uint16Array::subarray):
* wtf/Uint32Array.h: Renamed from Source/WebCore/html/canvas/Uint32Array.cpp.
(WTF::Uint32Array::set):
(WTF::Uint32Array::isUnsignedIntArray):
(WTF::Uint32Array::create):
(WTF::Uint32Array::Uint32Array):
(WTF::Uint32Array::subarray):
* wtf/Uint8Array.h: Renamed from Source/WebCore/html/canvas/Uint8Array.h.
(WTF::Uint8Array::set):
(WTF::Uint8Array::isUnsignedByteArray):
(WTF::Uint8Array::create):
(WTF::Uint8Array::Uint8Array):
(WTF::Uint8Array::subarray):
* wtf/wtf.pro:

Source/WebCore:

Removed the typed array implementation files from WebCore and
added forwarding headers.

* CMakeLists.txt:
* ForwardingHeaders/wtf/ArrayBuffer.h: Added.
* ForwardingHeaders/wtf/ArrayBufferView.h: Added.
* ForwardingHeaders/wtf/Float32Array.h: Added.
* ForwardingHeaders/wtf/Float64Array.h: Added.
* ForwardingHeaders/wtf/Int16Array.h: Added.
* ForwardingHeaders/wtf/Int32Array.h: Added.
* ForwardingHeaders/wtf/Int8Array.h: Added.
* ForwardingHeaders/wtf/Uint16Array.h: Added.
* ForwardingHeaders/wtf/Uint32Array.h: Added.
* ForwardingHeaders/wtf/Uint8Array.h: Added.
* GNUmakefile.list.am:
* Target.pri:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSArrayBufferCustom.cpp:
* bindings/js/JSArrayBufferViewHelper.h:
* bindings/js/JSAudioContextCustom.cpp:
* bindings/js/JSFileReaderCustom.cpp:
* bindings/js/JSFloat32ArrayCustom.cpp:
* bindings/js/JSFloat64ArrayCustom.cpp:
* bindings/js/JSInt16ArrayCustom.cpp:
* bindings/js/JSInt32ArrayCustom.cpp:
* bindings/js/JSInt8ArrayCustom.cpp:
* bindings/js/JSUint16ArrayCustom.cpp:
* bindings/js/JSUint32ArrayCustom.cpp:
* bindings/js/JSUint8ArrayCustom.cpp:
* bindings/js/JSWaveShaperNodeCustom.cpp:
* bindings/js/JSWebGLRenderingContextCustom.cpp:
* bindings/js/JSXMLHttpRequestCustom.cpp:
* bindings/scripts/CodeGeneratorJS.pm:
(AddIncludesForType):
(GenerateHeader):
(NativeToJSValue):
* bindings/scripts/test/JS/JSFloat64Array.cpp:
* bindings/scripts/test/JS/JSFloat64Array.h:
* dom/MessageEvent.h:
* fileapi/FileReader.cpp:
* fileapi/FileReaderLoader.cpp:
* fileapi/FileReaderSync.cpp:
* fileapi/WebKitBlobBuilder.cpp:
* html/HTMLMediaElement.cpp:
* html/canvas/ArrayBuffer.h: Removed.
* html/canvas/ArrayBufferView.cpp: Removed.
* html/canvas/DataView.h:
* html/canvas/Float64Array.cpp: Removed.
* html/canvas/Int16Array.h: Removed.
* html/canvas/Int32Array.h: Removed.
* html/canvas/Int8Array.h: Removed.
* html/canvas/Uint16Array.h: Removed.
* html/canvas/Uint32Array.h: Removed.
* html/canvas/Uint8Array.cpp: Removed.
* html/canvas/WebGLBuffer.cpp:
* html/canvas/WebGLBuffer.h:
* html/canvas/WebGLGetInfo.cpp:
* html/canvas/WebGLGetInfo.h:
* html/canvas/WebGLRenderingContext.cpp:
* html/canvas/WebGLRenderingContext.h:
* page/Crypto.cpp:
* platform/graphics/GraphicsContext3D.cpp:
* platform/graphics/mac/GraphicsContext3DMac.mm:
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
* webaudio/AsyncAudioDecoder.cpp:
* webaudio/AudioBuffer.h:
* webaudio/AudioContext.cpp:
* webaudio/AudioParam.h:
* webaudio/AudioParamTimeline.h:
* webaudio/JavaScriptAudioNode.cpp:
* webaudio/RealtimeAnalyser.cpp:
* webaudio/WaveShaperProcessor.h:
* websockets/WebSocketChannel.cpp:
* websockets/WorkerThreadableWebSocketChannel.cpp:
* xml/XMLHttpRequest.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@101295 268f45cc-cd09-0410-ab3c-d52691b4dbfc
105 files changed