diff options
author | Ben Murdoch <benm@google.com> | 2011-09-22 19:43:55 +0100 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2011-09-22 20:18:03 +0100 |
commit | 016f60fe178354d0477a5d48144141503ce05ee8 (patch) | |
tree | ee44915018347ba88d8d5288d0ff3c1cc7bcd264 | |
parent | 0adc71cfdfddd2ac9dd6f229f6521ca4753724cb (diff) | |
download | external_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.cpp | 9 |
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); |