diff options
author | Mangesh Ghiware <mghiware@google.com> | 2012-03-29 14:14:34 -0700 |
---|---|---|
committer | Mangesh Ghiware <mghiware@google.com> | 2012-03-29 14:14:34 -0700 |
commit | 9951c35e2c4732577794299a1a49eb8ff613e875 (patch) | |
tree | c114ae1cfd2e3205556aa6ac266b059ed5e3d743 /Source | |
parent | 304991de60a64b43bffd0c910655ee4ef1e9683c (diff) | |
download | external_webkit-9951c35e2c4732577794299a1a49eb8ff613e875.zip external_webkit-9951c35e2c4732577794299a1a49eb8ff613e875.tar.gz external_webkit-9951c35e2c4732577794299a1a49eb8ff613e875.tar.bz2 |
Clip canvas to layer content on a draw.
Bug: 6150903
Also, fix the visual indicator box coordinates to display right and
bottom edges.
Change-Id: I269f4dd3ae55eed77d9cbe67950c28ce1c789a51
Diffstat (limited to 'Source')
3 files changed, 9 insertions, 4 deletions
diff --git a/Source/WebCore/platform/graphics/android/LayerAndroid.cpp b/Source/WebCore/platform/graphics/android/LayerAndroid.cpp index 167f7e7..b40e00a 100644 --- a/Source/WebCore/platform/graphics/android/LayerAndroid.cpp +++ b/Source/WebCore/platform/graphics/android/LayerAndroid.cpp @@ -909,10 +909,10 @@ void LayerAndroid::contentDraw(SkCanvas* canvas, PaintStyle style) canvas->drawLine(0, 0, w, h, paint); canvas->drawLine(0, h, w, 0, paint); - canvas->drawLine(0, 0, 0, h, paint); - canvas->drawLine(0, h, w, h, paint); - canvas->drawLine(w, h, w, 0, paint); - canvas->drawLine(w, 0, 0, 0, paint); + canvas->drawLine(0, 0, 0, h-1, paint); + canvas->drawLine(0, h-1, w-1, h-1, paint); + canvas->drawLine(w-1, h-1, w-1, 0, paint); + canvas->drawLine(w-1, 0, 0, 0, paint); } if (m_fixedPosition) diff --git a/Source/WebCore/platform/graphics/android/PictureLayerContent.cpp b/Source/WebCore/platform/graphics/android/PictureLayerContent.cpp index 6beed16..4398146 100644 --- a/Source/WebCore/platform/graphics/android/PictureLayerContent.cpp +++ b/Source/WebCore/platform/graphics/android/PictureLayerContent.cpp @@ -91,6 +91,8 @@ void PictureLayerContent::draw(SkCanvas* canvas) return; android::Mutex::Autolock lock(m_drawLock); + SkRect r = SkRect::MakeWH(width(), height()); + canvas->clipRect(r); canvas->drawPicture(*m_picture); } diff --git a/Source/WebCore/platform/graphics/android/PictureSetLayerContent.cpp b/Source/WebCore/platform/graphics/android/PictureSetLayerContent.cpp index c2c008b..8b72b0a 100644 --- a/Source/WebCore/platform/graphics/android/PictureSetLayerContent.cpp +++ b/Source/WebCore/platform/graphics/android/PictureSetLayerContent.cpp @@ -1,6 +1,7 @@ #include "config.h" #include "PictureSetLayerContent.h" +#include "SkCanvas.h" #include "SkPicture.h" namespace WebCore { @@ -21,6 +22,8 @@ void PictureSetLayerContent::draw(SkCanvas* canvas) return; android::Mutex::Autolock lock(m_drawLock); + SkRect r = SkRect::MakeWH(width(), height()); + canvas->clipRect(r); m_pictureSet.draw(canvas); } |