Unreviewed, rolling out r95482.
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 19 Sep 2011 23:48:27 +0000 (23:48 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 19 Sep 2011 23:48:27 +0000 (23:48 +0000)
http://trac.webkit.org/changeset/95482
https://bugs.webkit.org/show_bug.cgi?id=68410

Broke chromium webkit-tests (Requested by dslomov on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-09-19

Source/WebCore:

* platform/image-encoders/skia/JPEGImageEncoder.cpp:
(WebCore::RGBAtoRGB):

LayoutTests:

* fast/canvas/webgl/premultiplyalpha-test-expected.txt:
* fast/canvas/webgl/premultiplyalpha-test.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95494 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/fast/canvas/webgl/premultiplyalpha-test-expected.txt
LayoutTests/fast/canvas/webgl/premultiplyalpha-test.html
Source/WebCore/ChangeLog
Source/WebCore/platform/image-encoders/skia/JPEGImageEncoder.cpp

index 2258026..63df99f 100644 (file)
@@ -1,3 +1,14 @@
+2011-09-19  Sheriff Bot  <webkit.review.bot@gmail.com>
+
+        Unreviewed, rolling out r95482.
+        http://trac.webkit.org/changeset/95482
+        https://bugs.webkit.org/show_bug.cgi?id=68410
+
+        Broke chromium webkit-tests (Requested by dslomov on #webkit).
+
+        * fast/canvas/webgl/premultiplyalpha-test-expected.txt:
+        * fast/canvas/webgl/premultiplyalpha-test.html:
+
 2011-09-19  Adam Barth  <abarth@webkit.org>
 
         [V8] document.all gets confused about its prototype chain
index 111654d..d44a54c 100644 (file)
@@ -3,57 +3,35 @@ Test the WebGL premultipledAlpha context creation flag.
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-testing: premultipliedAlpha: true imageFormat: image/png
+testing: premultipliedAlpha: true toDataURL: true
 PASS gl.getContextAttributes().premultipledAlpha is premultipledAlpha
-PASS gl.getContextAttributes().preserveDrawingBuffer is true
 PASS getError was expected value: NO_ERROR : Should be no errors from setup.
 PASS getError was expected value: NO_ERROR : Should be no errors from drawing.
 PASS getError was expected value: NO_ERROR : Should be no errors from creating copy.
 PASS getError was expected value: NO_ERROR : Should be no errors from 2nd drawing.
 PASS should draw with 64,128,255,128
 
-testing: premultipliedAlpha: true imageFormat: undefined
+testing: premultipliedAlpha: true toDataURL: false
 PASS gl.getContextAttributes().premultipledAlpha is premultipledAlpha
-PASS gl.getContextAttributes().preserveDrawingBuffer is true
 PASS getError was expected value: NO_ERROR : Should be no errors from setup.
 PASS getError was expected value: NO_ERROR : Should be no errors from drawing.
 PASS getError was expected value: NO_ERROR : Should be no errors from creating copy.
 PASS getError was expected value: NO_ERROR : Should be no errors from 2nd drawing.
 PASS should draw with 64,128,255,128
 
-testing: premultipliedAlpha: false imageFormat: image/png
+testing: premultipliedAlpha: false toDataURL: true
 PASS gl.getContextAttributes().premultipledAlpha is premultipledAlpha
-PASS gl.getContextAttributes().preserveDrawingBuffer is true
 PASS getError was expected value: NO_ERROR : Should be no errors from setup.
 PASS getError was expected value: NO_ERROR : Should be no errors from drawing.
 PASS getError was expected value: NO_ERROR : Should be no errors from creating copy.
 PASS getError was expected value: NO_ERROR : Should be no errors from 2nd drawing.
 PASS should draw with 255,192,128,1
 
-testing: premultipliedAlpha: false imageFormat: undefined
+testing: premultipliedAlpha: false toDataURL: false
 PASS gl.getContextAttributes().premultipledAlpha is premultipledAlpha
-PASS gl.getContextAttributes().preserveDrawingBuffer is true
 PASS getError was expected value: NO_ERROR : Should be no errors from setup.
 PASS getError was expected value: NO_ERROR : Should be no errors from drawing.
 PASS getError was expected value: NO_ERROR : Should be no errors from creating copy.
 PASS getError was expected value: NO_ERROR : Should be no errors from 2nd drawing.
 PASS should draw with 255,192,128,1
 
-testing: premultipliedAlpha: false imageFormat: image/jpeg
-PASS gl.getContextAttributes().premultipledAlpha is premultipledAlpha
-PASS gl.getContextAttributes().preserveDrawingBuffer is true
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS getError was expected value: NO_ERROR : Should be no errors from drawing.
-PASS getError was expected value: NO_ERROR : Should be no errors from creating copy.
-PASS getError was expected value: NO_ERROR : Should be no errors from 2nd drawing.
-PASS should draw with 128,128,128,255
-
-testing: premultipliedAlpha: true imageFormat: image/jpeg
-PASS gl.getContextAttributes().premultipledAlpha is premultipledAlpha
-PASS gl.getContextAttributes().preserveDrawingBuffer is true
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS getError was expected value: NO_ERROR : Should be no errors from drawing.
-PASS getError was expected value: NO_ERROR : Should be no errors from creating copy.
-PASS getError was expected value: NO_ERROR : Should be no errors from 2nd drawing.
-PASS should draw with 128,128,128,255
-
index 3bf449a..677a370 100644 (file)
@@ -1,7 +1,7 @@
-<!DOCTYPE html>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+  "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <head>
-<meta charset="utf-8">
 <title>Test the WebGL premultipledAlpha context creation flag.</title>
 <link rel="stylesheet" href="../../js/resources/js-test-style.css"/>
 <script src="../../js/resources/js-test-pre.js"></script>
@@ -21,7 +21,7 @@ var tests = [
     sentColor: [32, 64, 128, 128],
     expectedColor: [64, 128, 255, 128],
     errorRange: 2,
-    imageFormat: "image/png"
+    useToDataURL: true,
   },
   // If premultipledAlpha is true then
   // [texture]           [canvas]             [texture]
@@ -30,6 +30,7 @@ var tests = [
     sentColor: [32, 64, 128, 128],
     expectedColor: [64, 128, 255, 128],
     errorRange: 2,
+    useToDataURL: false,
   },
   // If premultipledAlpha is false then
   // [texture]           [canvas]            [dataURL]
@@ -38,7 +39,7 @@ var tests = [
     sentColor: [255, 192, 128, 1],
     expectedColor: [255, 192, 128, 1],
     errorRange: 0,
-    imageFormat: "image/png"
+    useToDataURL: true,
   },
   // If premultipledAlpha is false then
   // [texture]           [canvas]            [texture]
@@ -47,24 +48,7 @@ var tests = [
     sentColor: [255, 192, 128, 1],
     expectedColor: [255, 192, 128, 1],
     errorRange: 0,
-  },
-  // If premultipledAlpha is false then
-  // [texture]             [canvas]            [dataURL]
-  // 255, 255, 255, 128 -> 255, 255, 255, 128 -> 128, 128, 128, 255
-  { creationAttributes: {premultipliedAlpha: false},
-    sentColor: [255, 255, 255, 128],
-    expectedColor: [128, 128, 128, 255],
-    errorRange: 2,
-    imageFormat: "image/jpeg"
-  },
-  // If premultipledAlpha is true then
-  // [texture]             [canvas]            [dataURL]
-  // 128, 128, 128, 128 -> 255, 255, 255, 128 -> 128, 128, 128, 255
-  { creationAttributes: {},
-    sentColor: [128, 128, 128, 128],
-    expectedColor: [128, 128, 128, 255],
-    errorRange: 2,
-    imageFormat: "image/jpeg"
+    useToDataURL: false,
   }
 ];
 
@@ -84,15 +68,12 @@ function doNextTest() {
   if (g_count < tests.length) {
      var test = tests[g_count++];
      canvas = document.createElement("canvas");
-     // Need to preserve drawing buffer to load it in a callback
-     test.creationAttributes.preserveDrawingBuffer = true;
      gl = wtu.create3DContext(canvas, test.creationAttributes);
      var premultipliedAlpha = test.creationAttributes.premultipliedAlpha != false;
      debug("")
-     debug("testing: premultipliedAlpha: " + premultipliedAlpha + " imageFormat: " + test.imageFormat);
+     debug("testing: premultipliedAlpha: " + premultipliedAlpha + " toDataURL: " + test.useToDataURL);
 
      shouldBe('gl.getContextAttributes().premultipledAlpha', 'premultipledAlpha');
-     shouldBeTrue('gl.getContextAttributes().preserveDrawingBuffer');
 
      var program = wtu.setupTexturedQuad(gl);
 
@@ -115,7 +96,7 @@ function doNextTest() {
        // gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, false);
        gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, false);
        gl.bindTexture(gl.TEXTURE_2D, pngTex);
-       if (test.imageFormat) {
+       if (test.useToDataURL) {
           // create texture from image
           gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, this);
        } else {
@@ -136,20 +117,13 @@ function doNextTest() {
        doNextTest();
      }
 
-     if (test.imageFormat) {
+     if (test.useToDataURL) {
         // Load canvas into string using toDataURL
-        var imageUrl = canvas.toDataURL(test.imageFormat);
-        if (test.imageFormat != "image/png" &&
-            (imageUrl.indexOf("data:image/png,") == 0 ||
-             imageUrl.indexOf("data:image/png;") == 0)) {
-          debug("Image format " + test.imageFormat + " not supported; skipping");
-          setTimeout(doNextTest, 0);
-        } else {
-          // Load string into the texture
-          var input = document.createElement("img");
-          input.onload = loadTexture;
-          input.src = imageUrl;
-        }
+        var png = canvas.toDataURL();
+        // Load string into the texture
+        var input = document.createElement("img");
+        input.onload = loadTexture;
+        input.src = png;
      } else {
         // Load canvas into the texture asynchronously (to prevent unbounded stack consumption)
         setTimeout(loadTexture, 0);
@@ -164,6 +138,9 @@ function doNextTest() {
 
 </script>
 
+<script>
+</script>
+
 </body>
 </html>
 
index 9f0246b..8901054 100644 (file)
@@ -1,3 +1,14 @@
+2011-09-19  Sheriff Bot  <webkit.review.bot@gmail.com>
+
+        Unreviewed, rolling out r95482.
+        http://trac.webkit.org/changeset/95482
+        https://bugs.webkit.org/show_bug.cgi?id=68410
+
+        Broke chromium webkit-tests (Requested by dslomov on #webkit).
+
+        * platform/image-encoders/skia/JPEGImageEncoder.cpp:
+        (WebCore::RGBAtoRGB):
+
 2011-09-19  Oliver Hunt  <oliver@apple.com>
 
         Refactor Heap allocation logic into separate AllocationSpace class
index 3bdb519..9fd6972 100644 (file)
@@ -92,10 +92,9 @@ static void preMultipliedBGRAtoRGB(const unsigned char* pixels, unsigned int pix
 static void RGBAtoRGB(const unsigned char* pixels, unsigned int pixelCount, unsigned char* output)
 {
     for (; pixelCount-- > 0; pixels += 4) {
-        // Do source-over composition on black.
-        *output++ = pixels[0] * pixels[3] / 255;
-        *output++ = pixels[1] * pixels[3] / 255;
-        *output++ = pixels[2] * pixels[3] / 255;
+        *output++ = pixels[0];
+        *output++ = pixels[1];
+        *output++ = pixels[2];
     }
 }