[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.15.1-1414-gc69ee75
senorblanco at chromium.org
senorblanco at chromium.org
Thu Oct 29 20:33:47 UTC 2009
The following commit has been merged in the webkit-1.1 branch:
commit e6b1658d41befeb147d56c736b70cf10ec8baf73
Author: senorblanco at chromium.org <senorblanco at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Sep 24 18:51:53 2009 +0000
Fix for https://bugs.webkit.org/show_bug.cgi?id=29696 ([CHROMIUM] Paths fail to render in SVG with large viewbox)
Revert the relevant parts of r47925, and implement an alternate
fix (localize the coordinate check to GraphicsContext::clipPath()).
See http://crbug.com/21174.
Reviewed by Eric Seidel.
Covered by LayoutTests/svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html.
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::clipPath):
* platform/graphics/skia/PlatformContextSkia.cpp:
(PlatformContextSkia::currentPathInLocalCoordinates):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48726 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index cfb29a2..31689fa 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2009-09-23 Stephen White <senorblanco at chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Revert the relevant parts of r47925, and implement an alternate
+ fix (localize the coordinate check to GraphicsContext::clipPath()).
+ This fixes http://crbug.com/21174.
+
+ Covered by LayoutTests/svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html.
+
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::clipPath):
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (PlatformContextSkia::currentPathInLocalCoordinates):
+
2009-09-24 Brady Eidson <beidson at apple.com>
Reviewed by Sam Weinig.
diff --git a/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp b/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp
index 59174a7..c9f1349 100644
--- a/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp
+++ b/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp
@@ -403,6 +403,9 @@ void GraphicsContext::clipPath(WindRule clipRule)
return;
SkPath path = platformContext()->currentPathInLocalCoordinates();
+ if (!isPathSkiaSafe(getCTM(), path))
+ return;
+
path.setFillType(clipRule == RULE_EVENODD ? SkPath::kEvenOdd_FillType : SkPath::kWinding_FillType);
platformContext()->canvas()->clipPath(path);
}
diff --git a/WebCore/platform/graphics/skia/PlatformContextSkia.cpp b/WebCore/platform/graphics/skia/PlatformContextSkia.cpp
index b949dad..1fb62fc 100644
--- a/WebCore/platform/graphics/skia/PlatformContextSkia.cpp
+++ b/WebCore/platform/graphics/skia/PlatformContextSkia.cpp
@@ -492,13 +492,11 @@ void PlatformContextSkia::addPath(const SkPath& path)
SkPath PlatformContextSkia::currentPathInLocalCoordinates() const
{
+ SkPath localPath = m_path;
const SkMatrix& matrix = m_canvas->getTotalMatrix();
SkMatrix inverseMatrix;
if (!matrix.invert(&inverseMatrix))
return SkPath();
- if (!WebCore::isPathSkiaSafe(inverseMatrix, m_path))
- return SkPath();
- SkPath localPath = m_path;
localPath.transform(inverseMatrix);
return localPath;
}
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list