[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-10851-g50815da

jamesr at google.com jamesr at google.com
Wed Dec 22 17:45:55 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit f4c7974b7409215116b0c6bce54bea616ed36c67
Author: jamesr at google.com <jamesr at google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Nov 30 03:11:40 2010 +0000

    2010-11-29  James Robinson  <jamesr at chromium.org>
    
            [chromium] REGRESSION(72470): Crash in skia on some images
            https://bugs.webkit.org/show_bug.cgi?id=50201
    
            Reverts r72470
    
            * platform/chromium-linux/svg/custom/image-rescale-expected.checksum: Removed.
            * platform/chromium-linux/svg/custom/image-rescale-expected.png: Removed.
            * platform/chromium-linux/svg/custom/image-rescale-expected.txt: Removed.
            * platform/chromium-linux/svg/custom/image-rescale-scroll-expected.checksum: Removed.
            * platform/chromium-linux/svg/custom/image-rescale-scroll-expected.png: Removed.
            * platform/chromium-linux/svg/custom/image-rescale-scroll-expected.txt: Removed.
            * platform/chromium/test_expectations.txt:
            * platform/mac/svg/custom/image-rescale-expected.checksum: Removed.
            * platform/mac/svg/custom/image-rescale-expected.png: Removed.
            * platform/mac/svg/custom/image-rescale-expected.txt: Removed.
            * platform/mac/svg/custom/image-rescale-scroll-expected.checksum: Removed.
            * platform/mac/svg/custom/image-rescale-scroll-expected.png: Removed.
            * platform/mac/svg/custom/image-rescale-scroll-expected.txt: Removed.
            * platform/mac/test_expectations.txt:
            * svg/custom/image-rescale-scroll.html: Removed.
            * svg/custom/image-rescale.svg: Removed.
            * svg/custom/resources/image-rescale.jpg: Removed.
    2010-11-29  James Robinson  <jamesr at chromium.org>
    
            [chromium] REGRESSION(72470): Crash in skia on some images
            https://bugs.webkit.org/show_bug.cgi?id=50201
    
            Reverts r72470
    
            * platform/graphics/skia/ImageSkia.cpp:
            (WebCore::computeResamplingMode):
            (WebCore::drawResampledBitmap):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72864 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index b565df1..5ea8677 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,28 @@
+2010-11-29  James Robinson  <jamesr at chromium.org>
+
+        [chromium] REGRESSION(72470): Crash in skia on some images
+        https://bugs.webkit.org/show_bug.cgi?id=50201
+
+        Reverts r72470
+
+        * platform/chromium-linux/svg/custom/image-rescale-expected.checksum: Removed.
+        * platform/chromium-linux/svg/custom/image-rescale-expected.png: Removed.
+        * platform/chromium-linux/svg/custom/image-rescale-expected.txt: Removed.
+        * platform/chromium-linux/svg/custom/image-rescale-scroll-expected.checksum: Removed.
+        * platform/chromium-linux/svg/custom/image-rescale-scroll-expected.png: Removed.
+        * platform/chromium-linux/svg/custom/image-rescale-scroll-expected.txt: Removed.
+        * platform/chromium/test_expectations.txt:
+        * platform/mac/svg/custom/image-rescale-expected.checksum: Removed.
+        * platform/mac/svg/custom/image-rescale-expected.png: Removed.
+        * platform/mac/svg/custom/image-rescale-expected.txt: Removed.
+        * platform/mac/svg/custom/image-rescale-scroll-expected.checksum: Removed.
+        * platform/mac/svg/custom/image-rescale-scroll-expected.png: Removed.
+        * platform/mac/svg/custom/image-rescale-scroll-expected.txt: Removed.
+        * platform/mac/test_expectations.txt:
+        * svg/custom/image-rescale-scroll.html: Removed.
+        * svg/custom/image-rescale.svg: Removed.
+        * svg/custom/resources/image-rescale.jpg: Removed.
+
 2010-11-29  Ryosuke Niwa  <rniwa at webkit.org>
 
         Unreviewed reabseline for r72852.
diff --git a/LayoutTests/platform/chromium-linux/svg/custom/image-rescale-expected.checksum b/LayoutTests/platform/chromium-linux/svg/custom/image-rescale-expected.checksum
deleted file mode 100644
index 1e7a57b..0000000
--- a/LayoutTests/platform/chromium-linux/svg/custom/image-rescale-expected.checksum
+++ /dev/null
@@ -1 +0,0 @@
-952fd3dc4b2493b5cf0790d7da6b6e57
\ No newline at end of file
diff --git a/LayoutTests/platform/chromium-linux/svg/custom/image-rescale-expected.png b/LayoutTests/platform/chromium-linux/svg/custom/image-rescale-expected.png
deleted file mode 100644
index 8d8b04a..0000000
Binary files a/LayoutTests/platform/chromium-linux/svg/custom/image-rescale-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/chromium-linux/svg/custom/image-rescale-expected.txt b/LayoutTests/platform/chromium-linux/svg/custom/image-rescale-expected.txt
deleted file mode 100644
index be3d3e5..0000000
--- a/LayoutTests/platform/chromium-linux/svg/custom/image-rescale-expected.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 700x400
-  RenderSVGRoot {svg} at (0,0) size 670x210
-    RenderSVGImage {image} at (0,0) size 320x210
-    RenderSVGImage {image} at (350,0) size 320x210 [transform={m=((10.00,0.00)(0.00,10.00)) t=(-3150.00,0.00)}]
diff --git a/LayoutTests/platform/chromium-linux/svg/custom/image-rescale-scroll-expected.checksum b/LayoutTests/platform/chromium-linux/svg/custom/image-rescale-scroll-expected.checksum
deleted file mode 100644
index fb0d05d..0000000
--- a/LayoutTests/platform/chromium-linux/svg/custom/image-rescale-scroll-expected.checksum
+++ /dev/null
@@ -1 +0,0 @@
-2e7c0b5776e8cb5e7d5cc68dbf9b483c
\ No newline at end of file
diff --git a/LayoutTests/platform/chromium-linux/svg/custom/image-rescale-scroll-expected.png b/LayoutTests/platform/chromium-linux/svg/custom/image-rescale-scroll-expected.png
deleted file mode 100644
index f344e73..0000000
Binary files a/LayoutTests/platform/chromium-linux/svg/custom/image-rescale-scroll-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/chromium-linux/svg/custom/image-rescale-scroll-expected.txt b/LayoutTests/platform/chromium-linux/svg/custom/image-rescale-scroll-expected.txt
deleted file mode 100644
index de0d8ce..0000000
--- a/LayoutTests/platform/chromium-linux/svg/custom/image-rescale-scroll-expected.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-layer at (0,0) size 800x685
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  RenderBlock {HTML} at (0,0) size 800x600
-    RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x20
-        RenderText {#text} at (0,0) size 520x19
-          text run at (0,0) width 520: "This test verifies correct repaint of scrolled/re-painted-after-uncovering, scaled images."
-      RenderBlock {P} at (0,36) size 784x40
-        RenderText {#text} at (0,0) size 772x39
-          text run at (0,0) width 533: "If successful, the image below extends past the bottom of the window, with no white bar "
-          text run at (533,0) width 239: "occluding the part of the image adjacent"
-          text run at (0,20) width 175: "to the bottom of the window."
-layer at (50,580) size 160x105
-  RenderImage {IMG} at (50,580) size 160x105
-layer at (0,600) size 300x10
-  RenderBlock (positioned) {DIV} at (0,600) size 300x10 [bgcolor=#FFFFFF]
diff --git a/LayoutTests/platform/chromium/test_expectations.txt b/LayoutTests/platform/chromium/test_expectations.txt
index abc59f3..70689a8 100644
--- a/LayoutTests/platform/chromium/test_expectations.txt
+++ b/LayoutTests/platform/chromium/test_expectations.txt
@@ -931,16 +931,6 @@ BUGWK44514 LINUX WIN : svg/custom/missing-xlink.svg = TEXT
 // Also fail since WK roll 65859:65885
 BUGWK44514 MAC : fast/backgrounds/svg-as-background-6.html = IMAGE
 
-// May require re-baseline.
-BUGWK42370 WIN MAC : svg/custom/image-rescale-scroll.html = FAIL
-
-// Some re-baselining will be needed.
-BUGWK49456 MAC WIN : svg/custom/svg-parse-overflow-1.html = FAIL
-BUGWK49456 MAC WIN : svg/custom/svg-parse-overflow-2.html = FAIL
-BUGWK49456 MAC WIN : svg/custom/svg-parse-overflow-3.html = FAIL
-BUGWK49456 MAC WIN : svg/custom/svg-parse-overflow-4.html = FAIL
-BUGWK49456 MAC WIN : svg/custom/svg-parse-overflow-5.html = FAIL
-
 // -----------------------------------------------------------------
 // End SVG Regressions
 // -----------------------------------------------------------------
diff --git a/LayoutTests/platform/mac/svg/custom/image-rescale-expected.checksum b/LayoutTests/platform/mac/svg/custom/image-rescale-expected.checksum
deleted file mode 100644
index ef327c4..0000000
--- a/LayoutTests/platform/mac/svg/custom/image-rescale-expected.checksum
+++ /dev/null
@@ -1 +0,0 @@
-917ccc88f3cfe6f2d9117e035758a8ce
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/custom/image-rescale-expected.png b/LayoutTests/platform/mac/svg/custom/image-rescale-expected.png
deleted file mode 100644
index 0f4f811..0000000
Binary files a/LayoutTests/platform/mac/svg/custom/image-rescale-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/svg/custom/image-rescale-expected.txt b/LayoutTests/platform/mac/svg/custom/image-rescale-expected.txt
deleted file mode 100644
index be3d3e5..0000000
--- a/LayoutTests/platform/mac/svg/custom/image-rescale-expected.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 700x400
-  RenderSVGRoot {svg} at (0,0) size 670x210
-    RenderSVGImage {image} at (0,0) size 320x210
-    RenderSVGImage {image} at (350,0) size 320x210 [transform={m=((10.00,0.00)(0.00,10.00)) t=(-3150.00,0.00)}]
diff --git a/LayoutTests/platform/mac/svg/custom/image-rescale-scroll-expected.checksum b/LayoutTests/platform/mac/svg/custom/image-rescale-scroll-expected.checksum
deleted file mode 100644
index d0184e5..0000000
--- a/LayoutTests/platform/mac/svg/custom/image-rescale-scroll-expected.checksum
+++ /dev/null
@@ -1 +0,0 @@
-7757b91bc39a46e961722697f104353a
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/custom/image-rescale-scroll-expected.png b/LayoutTests/platform/mac/svg/custom/image-rescale-scroll-expected.png
deleted file mode 100644
index 7475725..0000000
Binary files a/LayoutTests/platform/mac/svg/custom/image-rescale-scroll-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/svg/custom/image-rescale-scroll-expected.txt b/LayoutTests/platform/mac/svg/custom/image-rescale-scroll-expected.txt
deleted file mode 100644
index d22d1c7..0000000
--- a/LayoutTests/platform/mac/svg/custom/image-rescale-scroll-expected.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-layer at (0,0) size 800x685
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  RenderBlock {HTML} at (0,0) size 800x600
-    RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 542x18
-          text run at (0,0) width 542: "This test verifies correct repaint of scrolled/re-painted-after-uncovering, scaled images."
-      RenderBlock {P} at (0,34) size 784x36
-        RenderText {#text} at (0,0) size 756x36
-          text run at (0,0) width 561: "If successful, the image below extends past the bottom of the window, with no white bar "
-          text run at (561,0) width 195: "occluding the part of the image"
-          text run at (0,18) width 239: "adjacent to the bottom of the window."
-layer at (50,580) size 160x105
-  RenderImage {IMG} at (50,580) size 160x105
-layer at (0,600) size 300x10
-  RenderBlock (positioned) {DIV} at (0,600) size 300x10 [bgcolor=#FFFFFF]
diff --git a/LayoutTests/platform/mac/test_expectations.txt b/LayoutTests/platform/mac/test_expectations.txt
index 53ccb72..34e12da 100644
--- a/LayoutTests/platform/mac/test_expectations.txt
+++ b/LayoutTests/platform/mac/test_expectations.txt
@@ -97,8 +97,6 @@ BUG36620 : fast/text/stroking.html = IMAGE
 BUG36620 : media/audio-controls-rendering.html = IMAGE
 BUG36620 : transforms/2d/hindi-rotated.html = IMAGE
 
-// Needs re-baselining.
-BUG42370 : svg/custom/image-rescale-scroll.html = FAIL
 
 // These fail depending on order due to interactions with previous tests:
 BUG35006 : fast/dom/global-constructors.html = PASS TEXT
diff --git a/LayoutTests/svg/custom/image-rescale-scroll.html b/LayoutTests/svg/custom/image-rescale-scroll.html
deleted file mode 100644
index b4ccd0a..0000000
--- a/LayoutTests/svg/custom/image-rescale-scroll.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<html>
-<!--
-This test checks for the regression bug that causes white, horizontal blank bars
-to occur when scrolling scaled images in Chromium. Since test_shell implements scrolling
-differently than Chrome, we simulate scrolling by occluding part of the image, and
-verifying it repaints correctly when the occlusion is removed. The image must straddle
-the bottom edge of the window with no more than about 20% visible in order to force
-ImageSkia to do a partial load, as this is a precondition of the regression.
--->
-<script type='text/javascript'>
-
-  function doScroll()
-  {
-    // Remove occlusion after initial page draw.
-    var occluder = document.getElementById('occluder');
-    occluder.style.top = 600;
-
-    if (window.layoutTestController)
-      layoutTestController.notifyDone();
-  }
-
-  if (window.layoutTestController)
-    layoutTestController.waitUntilDone();
-
-</script>
-<body onLoad="doScroll();" style="overflow:hidden;">
-<p>This test verifies correct repaint of scrolled/re-painted-after-uncovering, scaled images.</p>
-<p>If successful, the image below extends past the bottom of the window, with no white bar
-   occluding the part of the image adjacent to the bottom of the window.</p>
-<!-- It is important for the image to be loaded with only a small amount showing,
-     as ImageSkia will only do a partial load in this case, which is required to
-     trigger the regression. -->
-<img id = "pic" src="resources/image-rescale.jpg" width="160" height="105"
-    style="position: absolute; left: 50px; top:580px"
-    > <!-- Rescaled to 1/2 normal size, required to trigger the regression. -->
-
-<!-- The div below occludes part of the image. It is removed shortly after the
-     document has loaded, but if the regression is present the image will not
-     repaint correctly. -->
-<div id="occluder" style="position:absolute; left:0px; top:590px; width:300px; height:10px; background:white;"></div>
-</body>
-</html>
-
diff --git a/LayoutTests/svg/custom/image-rescale.svg b/LayoutTests/svg/custom/image-rescale.svg
deleted file mode 100644
index e274b70..0000000
--- a/LayoutTests/svg/custom/image-rescale.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-<svg version="1.1"
-     xmlns="http://www.w3.org/2000/svg"
-     xmlns:xlink="http://www.w3.org/1999/xlink"
-     id="drawingArea-layers" width="700" height="400" >
-     <image  x="0" y="0" width="320" height="210" xlink:href="resources/image-rescale.jpg" />
-     <image  x="350" y="0" width="32.0" height="21.0" transform="translate(350 0) scale(10) translate(-350 0)"
-             xlink:href="resources/image-rescale.jpg" />
-</svg>
diff --git a/LayoutTests/svg/custom/resources/image-rescale.jpg b/LayoutTests/svg/custom/resources/image-rescale.jpg
deleted file mode 100644
index a827f37..0000000
Binary files a/LayoutTests/svg/custom/resources/image-rescale.jpg and /dev/null differ
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 46116ec..121dde3 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,14 @@
+2010-11-29  James Robinson  <jamesr at chromium.org>
+
+        [chromium] REGRESSION(72470): Crash in skia on some images
+        https://bugs.webkit.org/show_bug.cgi?id=50201
+
+        Reverts r72470
+
+        * platform/graphics/skia/ImageSkia.cpp:
+        (WebCore::computeResamplingMode):
+        (WebCore::drawResampledBitmap):
+
 2010-11-29  Dmitry Titov  <dimich at chromium.org>
 
         Reviewed by David Levin.
diff --git a/WebCore/platform/graphics/skia/ImageSkia.cpp b/WebCore/platform/graphics/skia/ImageSkia.cpp
index fee64ca..ae2653a 100644
--- a/WebCore/platform/graphics/skia/ImageSkia.cpp
+++ b/WebCore/platform/graphics/skia/ImageSkia.cpp
@@ -143,9 +143,7 @@ static ResamplingMode computeResamplingMode(PlatformContextSkia* platformContext
 
     // Everything else gets resampled.
     // If the platform context permits high quality interpolation, use it.
-    // High quality interpolation only enabled for scaling and translation.
-    if (platformContext->interpolationQuality() == InterpolationHigh
-        && !(platformContext->canvas()->getTotalMatrix().getType() & (SkMatrix::kAffine_Mask | SkMatrix::kPerspective_Mask)))
+    if (platformContext->interpolationQuality() == InterpolationHigh)
         return RESAMPLE_AWESOME;
     
     return RESAMPLE_LINEAR;
@@ -180,17 +178,9 @@ static void drawResampledBitmap(SkCanvas& canvas, SkPaint& paint, const NativeIm
     SkIRect resizedImageRect =  // Represents the size of the resized image.
         { 0, 0, destRectRounded.width(), destRectRounded.height() };
 
-    // Apply forward transform to destRect to estimate required size of
-    // re-sampled bitmap, and use only in calls required to resize, or that
-    // check for the required size.
-    SkRect destRectTransformed;
-    canvas.getTotalMatrix().mapRect(&destRectTransformed, destRect);
-    SkIRect destRectTransformedRounded;
-    destRectTransformed.round(&destRectTransformedRounded);
-
-    if (srcIsFull && bitmap.hasResizedBitmap(destRectTransformedRounded.width(), destRectTransformedRounded.height())) {
+    if (srcIsFull && bitmap.hasResizedBitmap(destRectRounded.width(), destRectRounded.height())) {
         // Yay, this bitmap frame already has a resized version.
-        SkBitmap resampled = bitmap.resizedBitmap(destRectTransformedRounded.width(), destRectTransformedRounded.height());
+        SkBitmap resampled = bitmap.resizedBitmap(destRectRounded.width(), destRectRounded.height());
         canvas.drawBitmapRect(resampled, 0, destRect, &paint);
         return;
     }
@@ -217,8 +207,8 @@ static void drawResampledBitmap(SkCanvas& canvas, SkPaint& paint, const NativeIm
             destBitmapSubsetSkI.height())) {
         // We're supposed to resize the entire image and cache it, even though
         // we don't need all of it.
-        SkBitmap resampled = bitmap.resizedBitmap(destRectTransformedRounded.width(),
-                                                  destRectTransformedRounded.height());
+        SkBitmap resampled = bitmap.resizedBitmap(destRectRounded.width(),
+                                                  destRectRounded.height());
         canvas.drawBitmapRect(resampled, 0, destRect, &paint);
     } else {
         // We should only resize the exposed part of the bitmap to do the
@@ -227,7 +217,7 @@ static void drawResampledBitmap(SkCanvas& canvas, SkPaint& paint, const NativeIm
         // Resample the needed part of the image.
         SkBitmap resampled = skia::ImageOperations::Resize(subset,
             skia::ImageOperations::RESIZE_LANCZOS3,
-            destRectTransformedRounded.width(), destRectTransformedRounded.height(),
+            destRectRounded.width(), destRectRounded.height(),
             destBitmapSubsetSkI);
 
         // Compute where the new bitmap should be drawn. Since our new bitmap

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list