I am sorry to ask such an elementary question especially when I am almost certain I already have the answer.... but it seems like I am hitting the following WebKit bug:
https://bugs.webkit.org/show_bug.cgi?id=71053
And yet I am using Chrome 18.0.1025.142, and as near as I can tell it is using WebKit 535.19, and if I'm reading that bug report page correctly, this bug was patched several WebKit versions ago... right?
Does Chrome have like a really weird CORS implementation or something? I am getting "Cross-origin image load denied by Cross-Origin Resource Sharing policy", but ONLY in Chrome (it works in Firefox, Safari, and IE w/ Chrome Frame), and even then only when the website is hosted in a particular way (the details of which are beyond the scope of this question).
I get the same Chrome error when I am serving from localhost, but not when I am serving from my Sonic server.
I recall there being a cross-origin setting in the header. I test webGL stuff in Firefox when serving from localhost to avoid this issue.