diff options
author | Chris Craik <ccraik@google.com> | 2012-05-30 13:29:34 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-05-30 13:29:34 -0700 |
commit | 062210e813b45497ff314e667c870699804762e8 (patch) | |
tree | 22740260e3d00299a5c94a4064ece211eba2bc9a | |
parent | 788bf66bac3805eb0d2efb09442968c3f12d97c7 (diff) | |
parent | 08241ef71160ccc36c2e104ad8c1092dc293a9d3 (diff) | |
download | external_webkit-062210e813b45497ff314e667c870699804762e8.zip external_webkit-062210e813b45497ff314e667c870699804762e8.tar.gz external_webkit-062210e813b45497ff314e667c870699804762e8.tar.bz2 |
am 08241ef7: am e4d0c197: Merge "Draw entire layer tree in capturePicture()" into jb-dev
* commit '08241ef71160ccc36c2e104ad8c1092dc293a9d3':
Draw entire layer tree in capturePicture()
-rw-r--r-- | Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.cpp | 1 | ||||
-rw-r--r-- | Source/WebKit/android/nav/WebView.cpp | 12 |
2 files changed, 11 insertions, 2 deletions
diff --git a/Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.cpp b/Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.cpp index f03a140..5021c57 100644 --- a/Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.cpp +++ b/Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.cpp @@ -60,6 +60,7 @@ BaseLayerAndroid::BaseLayerAndroid(LayerContent* content) void BaseLayerAndroid::getLocalTransform(SkMatrix* matrix) const { + matrix->reset(); // base layer doesn't use size in transform calculation matrix->preConcat(getMatrix()); } diff --git a/Source/WebKit/android/nav/WebView.cpp b/Source/WebKit/android/nav/WebView.cpp index 914d605..a277fc3 100644 --- a/Source/WebKit/android/nav/WebView.cpp +++ b/Source/WebKit/android/nav/WebView.cpp @@ -528,8 +528,16 @@ void copyBaseContentToPicture(SkPicture* picture) if (!m_baseLayer || !m_baseLayer->content()) return; LayerContent* content = m_baseLayer->content(); - content->draw(picture->beginRecording(content->width(), content->height(), - SkPicture::kUsePathBoundsForClip_RecordingFlag)); + SkCanvas* canvas = picture->beginRecording(content->width(), content->height(), + SkPicture::kUsePathBoundsForClip_RecordingFlag); + + // clear the BaseLayerAndroid's previous matrix (set at each draw) + SkMatrix baseMatrix; + baseMatrix.reset(); + m_baseLayer->setMatrix(baseMatrix); + + m_baseLayer->draw(canvas, 0); + picture->endRecording(); } |