Skip to content
  • zmo@google.com's avatar
    2010-08-24 Zhenyao Mo <zmo@google.com> · cf7ab461
    zmo@google.com authored
            Reviewed by Kenneth Russell.
    
            Passing premultiplyAlpha=false to tex{Sub}Image2D loses information (skia)
            https://bugs.webkit.org/show_bug.cgi?id=38282
    
            * src/WebImageDecoder.cpp:
            (WebKit::WebImageDecoder::init): Add premultiplyAlpha flag.
    2010-08-24  Zhenyao Mo  <zmo@google.com>
    
            Reviewed by Kenneth Russell.
    
            Passing premultiplyAlpha=false to tex{Sub}Image2D loses information (skia)
            https://bugs.webkit.org/show_bug.cgi?id=38282
    
            Test: fast/canvas/webgl/gl-teximage.html
    
            * platform/graphics/GraphicsContext3D.cpp: Fix a bug where alpha channel is ignored.
            * platform/graphics/ImageSource.cpp: Add premultiplyAlpha flag.
            (WebCore::ImageSource::ImageSource):
            (WebCore::ImageSource::setData):
            * platform/graphics/ImageSource.h: Ditto.
            * platform/graphics/cg/ImageSourceCG.cpp: Ditto.
            (WebCore::ImageSource::ImageSource):
            * platform/graphics/qt/ImageDecoderQt.cpp: Ditto.
            (WebCore::ImageDecoder::create):
            (WebCore::ImageDecoderQt::ImageDecoderQt):
            (WebCore::ImageDecoderQt::frameCount):
            (WebCore::ImageDecoderQt::forceLoadEverything):
            * platform/graphics/qt/ImageDecoderQt.h: Ditto.
            * platform/graphics/skia/GraphicsContext3DSkia.cpp: Fix the premultiplyAlpha data loss issue in skia.
            (WebCore::GraphicsContext3D::getImageData):
            * platform/image-decoders/ImageDecoder.cpp: Add premultiplyAlpha flag.
            (WebCore::ImageDecoder::create):
            (WebCore::RGBA32Buffer::RGBA32Buffer):
            (WebCore::RGBA32Buffer::operator=):
            * platform/image-decoders/ImageDecoder.h: Ditto.
            (WebCore::RGBA32Buffer::premultiplyAlpha):
            (WebCore::RGBA32Buffer::setPremultiplyAlpha):
            (WebCore::RGBA32Buffer::setRGBA):
            (WebCore::ImageDecoder::ImageDecoder):
            * platform/image-decoders/bmp/BMPImageDecoder.cpp: Ditto.
            (WebCore::BMPImageDecoder::BMPImageDecoder):
            (WebCore::BMPImageDecoder::frameBufferAtIndex):
            * platform/image-decoders/bmp/BMPImageDecoder.h: Ditto.
            * platform/image-decoders/gif/GIFImageDecoder.cpp: Ditto.
            (WebCore::GIFImageDecoder::GIFImageDecoder):
            (WebCore::GIFImageDecoder::frameCount):
            * platform/image-decoders/gif/GIFImageDecoder.h: Ditto.
            * platform/image-decoders/ico/ICOImageDecoder.cpp: Ditto.
            (WebCore::ICOImageDecoder::ICOImageDecoder):
            (WebCore::ICOImageDecoder::frameCount):
            (WebCore::ICOImageDecoder::decodeAtIndex):
            * platform/image-decoders/ico/ICOImageDecoder.h: Ditto.
            * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Ditto.
            (WebCore::JPEGImageDecoder::JPEGImageDecoder):
            (WebCore::JPEGImageDecoder::frameBufferAtIndex):
            * platform/image-decoders/jpeg/JPEGImageDecoder.h: Ditto.
            * platform/image-decoders/png/PNGImageDecoder.cpp: Ditto.
            (WebCore::PNGImageDecoder::PNGImageDecoder):
            (WebCore::PNGImageDecoder::frameBufferAtIndex):
            * platform/image-decoders/png/PNGImageDecoder.h: Ditto.
            * platform/image-decoders/skia/ImageDecoderSkia.cpp: Ditto.
            (WebCore::RGBA32Buffer::RGBA32Buffer):
            (WebCore::RGBA32Buffer::operator=):
    2010-08-24  Zhenyao Mo  <zmo@google.com>
    
            Reviewed by Kenneth Russell.
    
            Passing premultiplyAlpha=false to tex{Sub}Image2D loses information (skia)
            https://bugs.webkit.org/show_bug.cgi?id=38282
    
            * fast/canvas/webgl/gl-teximage-expected.txt: Added.
            * fast/canvas/webgl/gl-teximage.html: Added.
            * fast/canvas/webgl/resources/3x3.png: Added.
            * fast/canvas/webgl/resources/gray-ramp-256-with-128-alpha.png: Added.
            * fast/canvas/webgl/resources/gray-ramp-256.png: Added.
            * fast/canvas/webgl/resources/gray-ramp-default-gamma.png: Added.
            * fast/canvas/webgl/resources/gray-ramp-gamma0.1.png: Added.
            * fast/canvas/webgl/resources/gray-ramp-gamma1.0.png: Added.
            * fast/canvas/webgl/resources/gray-ramp-gamma2.0.png: Added.
            * fast/canvas/webgl/resources/gray-ramp-gamma4.0.png: Added.
            * fast/canvas/webgl/resources/gray-ramp-gamma9.0.png: Added.
            * fast/canvas/webgl/resources/gray-ramp.png: Added.
            * fast/canvas/webgl/resources/webgl-test-utils.js: Sync with khronos.
            (WebGLTestUtils):
            * fast/canvas/webgl/resources/zero-alpha.png: Added.
            * platform/chromium/test_expectations.txt: Don't run gl-teximage.html for mac.
            * platform/mac/Skipped: Don't run gl-teximage.html for mac.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@66039 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    cf7ab461