summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2011-09-22 19:43:55 +0100
committerBen Murdoch <benm@google.com>2011-09-22 20:18:03 +0100
commit016f60fe178354d0477a5d48144141503ce05ee8 (patch)
treeee44915018347ba88d8d5288d0ff3c1cc7bcd264
parent0adc71cfdfddd2ac9dd6f229f6521ca4753724cb (diff)
downloadexternal_webkit-016f60fe178354d0477a5d48144141503ce05ee8.zip
external_webkit-016f60fe178354d0477a5d48144141503ce05ee8.tar.gz
external_webkit-016f60fe178354d0477a5d48144141503ce05ee8.tar.bz2
Port Webkit r74089 to GraphicsContextAndroid.
Port the change made to PlatformContextSkia in http://trac.webkit.org/changeset/74089 to GraphicsContext Android. This fixes the rendering of inset box shadows. Bug: 5351383 Change-Id: I7b68c965aec87e610d853a8220468fd8113351e6
-rw-r--r--Source/WebCore/platform/graphics/android/GraphicsContextAndroid.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/Source/WebCore/platform/graphics/android/GraphicsContextAndroid.cpp b/Source/WebCore/platform/graphics/android/GraphicsContextAndroid.cpp
index e015f5a..86e1f63 100644
--- a/Source/WebCore/platform/graphics/android/GraphicsContextAndroid.cpp
+++ b/Source/WebCore/platform/graphics/android/GraphicsContextAndroid.cpp
@@ -380,12 +380,13 @@ public:
m_state->antiAliasClipPaths.append(clipPath);
if (!haveLayerOutstanding) {
SkRect bounds = clipPath.getBounds();
- if (m_platformGfxCtx && m_platformGfxCtx->mCanvas)
+ if (m_platformGfxCtx && m_platformGfxCtx->mCanvas) {
m_platformGfxCtx->mCanvas->saveLayerAlpha(&bounds, 255,
static_cast<SkCanvas::SaveFlags>(SkCanvas::kHasAlphaLayer_SaveFlag
| SkCanvas::kFullColorLayer_SaveFlag
| SkCanvas::kClipToLayer_SaveFlag));
- else
+ m_platformGfxCtx->mCanvas->save();
+ } else
ASSERT(0);
}
}
@@ -395,6 +396,10 @@ public:
// Anti-aliased clipping:
//
// Refer to PlatformContextSkia.cpp's applyAntiAliasedClipPaths() for more details
+
+ if (m_platformGfxCtx && m_platformGfxCtx->mCanvas)
+ m_platformGfxCtx->mCanvas->restore();
+
SkPaint paint;
paint.setXfermodeMode(SkXfermode::kClear_Mode);
paint.setAntiAlias(true);