At the WebKit meeting this past week Darin Adler pointed out that there are code sharing opportunities between the various WebGL<T>Array types. Some of these have been addressed with a recent refactoring to the range checking code, but more refactorings would be possible with a template base class between WebGLArray and the concrete types.
Created attachment 55562 [details] Patch From the ChangeLog: 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.
Comment on attachment 55562 [details] Patch WebCore/ChangeLog:80 + It would be great to either annotate each change or just remove this huge laundry list of files from the ChangeLog -- you already have refactoring described. WebCore/html/canvas/WebGLTypedArrayBase.h:85 + return adoptRef(new Subclass(buf, byteOffset, length)); Awesome.
(In reply to comment #2) > (From update of attachment 55562 [details]) > WebCore/ChangeLog:80 > + > It would be great to either annotate each change or just remove this huge laundry list of files from the ChangeLog -- you already have refactoring described. Thanks for the feedback. I'm reluctant to remove the list of modified files / methods because other recent ChangeLog entries do the same thing, so I'm going to leave this as is. > WebCore/html/canvas/WebGLTypedArrayBase.h:85 > + return adoptRef(new Subclass(buf, byteOffset, length)); > Awesome. Thanks.
Committed r59085: <http://trac.webkit.org/changeset/59085>