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

morrita at google.com morrita at google.com
Wed Dec 22 18:38:48 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 5b0456719575644a453a573ed941b93c11506f41
Author: morrita at google.com <morrita at google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Dec 15 02:09:13 2010 +0000

    2010-12-02  MORITA Hajime  <morrita at google.com>
    
            Reviewed by Dimitri Glazkov.
    
            [chromium] Fix drawing of inset box shadows
            https://bugs.webkit.org/show_bug.cgi?id=41576
    
            * platform/chromium-win/fast/box-shadow/inset-expected.checksum:
            * platform/chromium-win/fast/box-shadow/inset-expected.png:
    2010-12-02  MORITA Hajime  <morrita at google.com>
    
            Reviewed by Dimitri Glazkov.
    
            [chromium] Fix drawing of inset box shadows
            https://bugs.webkit.org/show_bug.cgi?id=41576
    
            When clearing outside clipped path, the context contains unexpected transform.
            Fixed to restore original state before the clear.
    
            * platform/graphics/skia/PlatformContextSkia.cpp:
            (WebCore::PlatformContextSkia::clipPathAntiAliased):
            (WebCore::PlatformContextSkia::applyAntiAliasedClipPaths):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74089 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 9c2dd6a..d3b859d 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,13 @@
+2010-12-02  MORITA Hajime  <morrita at google.com>
+
+        Reviewed by Dimitri Glazkov.
+
+        [chromium] Fix drawing of inset box shadows
+        https://bugs.webkit.org/show_bug.cgi?id=41576
+
+        * platform/chromium-win/fast/box-shadow/inset-expected.checksum:
+        * platform/chromium-win/fast/box-shadow/inset-expected.png:
+
 2010-12-14  Yael Aharon  <yael.aharon at nokia.com>
 
         Unreviewed.
diff --git a/LayoutTests/platform/chromium-win/fast/box-shadow/inset-expected.checksum b/LayoutTests/platform/chromium-win/fast/box-shadow/inset-expected.checksum
index d9c92d8..291016e 100644
--- a/LayoutTests/platform/chromium-win/fast/box-shadow/inset-expected.checksum
+++ b/LayoutTests/platform/chromium-win/fast/box-shadow/inset-expected.checksum
@@ -1 +1 @@
-099b9b1b37f7dc784445a53b9215d653
\ No newline at end of file
+f6660780769f8736789850eaeccaddce
\ No newline at end of file
diff --git a/LayoutTests/platform/chromium-win/fast/box-shadow/inset-expected.png b/LayoutTests/platform/chromium-win/fast/box-shadow/inset-expected.png
index 7fe0a72..3e581e8 100644
Binary files a/LayoutTests/platform/chromium-win/fast/box-shadow/inset-expected.png and b/LayoutTests/platform/chromium-win/fast/box-shadow/inset-expected.png differ
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 52d62e2..7ea9da0 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,17 @@
+2010-12-02  MORITA Hajime  <morrita at google.com>
+
+        Reviewed by Dimitri Glazkov.
+
+        [chromium] Fix drawing of inset box shadows
+        https://bugs.webkit.org/show_bug.cgi?id=41576
+
+        When clearing outside clipped path, the context contains unexpected transform.
+        Fixed to restore original state before the clear.
+
+        * platform/graphics/skia/PlatformContextSkia.cpp:
+        (WebCore::PlatformContextSkia::clipPathAntiAliased):
+        (WebCore::PlatformContextSkia::applyAntiAliasedClipPaths):
+
 2010-12-14  Anders Carlsson  <andersca at apple.com>
 
         Reviewed by Sam Weinig.
diff --git a/WebCore/platform/graphics/skia/PlatformContextSkia.cpp b/WebCore/platform/graphics/skia/PlatformContextSkia.cpp
index c8f9b86..8c677df 100644
--- a/WebCore/platform/graphics/skia/PlatformContextSkia.cpp
+++ b/WebCore/platform/graphics/skia/PlatformContextSkia.cpp
@@ -299,6 +299,9 @@ void PlatformContextSkia::clipPathAntiAliased(const SkPath& clipPath)
     if (!haveLayerOutstanding) {
         SkRect bounds = clipPath.getBounds();
         canvas()->saveLayerAlpha(&bounds, 255, static_cast<SkCanvas::SaveFlags>(SkCanvas::kHasAlphaLayer_SaveFlag | SkCanvas::kFullColorLayer_SaveFlag | SkCanvas::kClipToLayer_SaveFlag));
+        // Guards state modification during clipped operations.
+        // The state is popped in applyAntiAliasedClipPaths().
+        canvas()->save();
     }
 }
 
@@ -675,6 +678,8 @@ void PlatformContextSkia::applyAntiAliasedClipPaths(WTF::Vector<SkPath>& paths)
     // When we call restore on the SkCanvas, the layer's bitmap is composed
     // into the layer below and we end up with correct, anti-aliased clipping.
 
+    m_canvas->restore();
+
     SkPaint paint;
     paint.setXfermodeMode(SkXfermode::kClear_Mode);
     paint.setAntiAlias(true);

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list