2010-05-09 Kenneth Russell <kbr@google.com>
authorkbr@google.com <kbr@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 10 May 2010 17:53:21 +0000 (17:53 +0000)
committerkbr@google.com <kbr@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 10 May 2010 17:53:21 +0000 (17:53 +0000)
commite6b35a26afab7d300489d5f56d6609ce0f681d70
treeccceaa76099edb7203b54db55a23aca0be91c080
parent746e518f70372053f5f196f0acfdb95097b3421b
2010-05-09  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Refactor WebGLArray types to share more code
        https://bugs.webkit.org/show_bug.cgi?id=37712

        Refactored WebGLArray types for maximal code sharing. Added
        WebGLTypedArrayBase and WebGLIntegralTypedArrayBase template
        superclasses. Changed overridden virtuals to have minimal
        visibility (private instead of public). Fixed const correctness of
        a few methods. There are no changes to the public APIs of the
        WebGLArray classes; the JavaScript bindings are unchanged.

        No new tests; existing tests cover this functionality. Ran all
        WebGL layout tests in Safari and Chromium on Mac OS X.

        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * html/canvas/WebGLArray.h:
        (WebCore::WebGLArray::buffer):
        (WebCore::WebGLArray::baseAddress):
        (WebCore::WebGLArray::byteOffset):
        * html/canvas/WebGLByteArray.cpp:
        (WebCore::WebGLByteArray::create):
        (WebCore::WebGLByteArray::WebGLByteArray):
        (WebCore::WebGLByteArray::slice):
        * html/canvas/WebGLByteArray.h:
        (WebCore::WebGLByteArray::isByteArray):
        * html/canvas/WebGLFloatArray.cpp:
        (WebCore::WebGLFloatArray::create):
        (WebCore::WebGLFloatArray::WebGLFloatArray):
        (WebCore::WebGLFloatArray::slice):
        * html/canvas/WebGLFloatArray.h:
        (WebCore::WebGLFloatArray::set):
        (WebCore::WebGLFloatArray::item):
        (WebCore::WebGLFloatArray::isFloatArray):
        * html/canvas/WebGLIntArray.cpp:
        (WebCore::WebGLIntArray::create):
        (WebCore::WebGLIntArray::WebGLIntArray):
        (WebCore::WebGLIntArray::slice):
        * html/canvas/WebGLIntArray.h:
        (WebCore::WebGLIntArray::isIntArray):
        * html/canvas/WebGLIntegralTypedArrayBase.h: Added.
        (WebCore::WebGLIntegralTypedArrayBase::set):
        (WebCore::WebGLIntegralTypedArrayBase::item):
        (WebCore::WebGLIntegralTypedArrayBase::WebGLIntegralTypedArrayBase):
        * html/canvas/WebGLShortArray.cpp:
        (WebCore::WebGLShortArray::create):
        (WebCore::WebGLShortArray::WebGLShortArray):
        (WebCore::WebGLShortArray::slice):
        * html/canvas/WebGLShortArray.h:
        (WebCore::WebGLShortArray::isShortArray):
        * html/canvas/WebGLTypedArrayBase.h: Added.
        (WebCore::WebGLTypedArrayBase::data):
        (WebCore::WebGLTypedArrayBase::set):
        (WebCore::WebGLTypedArrayBase::length):
        (WebCore::WebGLTypedArrayBase::WebGLTypedArrayBase):
        (WebCore::WebGLTypedArrayBase::create):
        (WebCore::WebGLTypedArrayBase::sliceImpl):
        (WebCore::WebGLTypedArrayBase::byteLength):
        * html/canvas/WebGLUnsignedByteArray.cpp:
        (WebCore::WebGLUnsignedByteArray::create):
        (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray):
        (WebCore::WebGLUnsignedByteArray::slice):
        * html/canvas/WebGLUnsignedByteArray.h:
        (WebCore::WebGLUnsignedByteArray::isUnsignedByteArray):
        * html/canvas/WebGLUnsignedIntArray.cpp:
        (WebCore::WebGLUnsignedIntArray::create):
        (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray):
        (WebCore::WebGLUnsignedIntArray::slice):
        * html/canvas/WebGLUnsignedIntArray.h:
        (WebCore::WebGLUnsignedIntArray::isUnsignedIntArray):
        * html/canvas/WebGLUnsignedShortArray.cpp:
        (WebCore::WebGLUnsignedShortArray::create):
        (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray):
        (WebCore::WebGLUnsignedShortArray::slice):
        * html/canvas/WebGLUnsignedShortArray.h:
        (WebCore::WebGLUnsignedShortArray::isUnsignedShortArray):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@59085 268f45cc-cd09-0410-ab3c-d52691b4dbfc
20 files changed:
WebCore/ChangeLog
WebCore/WebCore.gypi
WebCore/WebCore.xcodeproj/project.pbxproj
WebCore/html/canvas/WebGLArray.h
WebCore/html/canvas/WebGLByteArray.cpp
WebCore/html/canvas/WebGLByteArray.h
WebCore/html/canvas/WebGLFloatArray.cpp
WebCore/html/canvas/WebGLFloatArray.h
WebCore/html/canvas/WebGLIntArray.cpp
WebCore/html/canvas/WebGLIntArray.h
WebCore/html/canvas/WebGLIntegralTypedArrayBase.h [new file with mode: 0644]
WebCore/html/canvas/WebGLShortArray.cpp
WebCore/html/canvas/WebGLShortArray.h
WebCore/html/canvas/WebGLTypedArrayBase.h [new file with mode: 0644]
WebCore/html/canvas/WebGLUnsignedByteArray.cpp
WebCore/html/canvas/WebGLUnsignedByteArray.h
WebCore/html/canvas/WebGLUnsignedIntArray.cpp
WebCore/html/canvas/WebGLUnsignedIntArray.h
WebCore/html/canvas/WebGLUnsignedShortArray.cpp
WebCore/html/canvas/WebGLUnsignedShortArray.h