diff options
author | Chris Craik <ccraik@google.com> | 2012-04-10 13:58:24 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-04-10 13:58:24 -0700 |
commit | 22ad8c581dc11ba2311ca76a17ec046f72f53fcf (patch) | |
tree | 5444b165a2ae1b8c4bad9c365890a78b4fef37ed /Source/WebCore | |
parent | 76341882c2996a94161cf723482a17a49eb6e4a4 (diff) | |
parent | 75fc360d144b97f5e50bedf7ed3222898cc56446 (diff) | |
download | external_webkit-22ad8c581dc11ba2311ca76a17ec046f72f53fcf.zip external_webkit-22ad8c581dc11ba2311ca76a17ec046f72f53fcf.tar.gz external_webkit-22ad8c581dc11ba2311ca76a17ec046f72f53fcf.tar.bz2 |
Merge "Expand base layer bounds to fill viewport"
Diffstat (limited to 'Source/WebCore')
-rw-r--r-- | Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.cpp | 13 | ||||
-rw-r--r-- | Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.h | 2 |
2 files changed, 15 insertions, 0 deletions
diff --git a/Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.cpp b/Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.cpp index 1de5ae7..ce520b4 100644 --- a/Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.cpp +++ b/Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.cpp @@ -53,4 +53,17 @@ void BaseLayerAndroid::getLocalTransform(SkMatrix* matrix) const matrix->preConcat(getMatrix()); } +IFrameLayerAndroid* BaseLayerAndroid::updatePosition(SkRect viewport, + IFrameLayerAndroid* parentIframeLayer) +{ + if (viewport.fRight > getWidth() || viewport.fBottom > getHeight()) { + // To handle the viewport expanding past the layer's size with HW accel, + // expand the size of the layer, so that tiles will cover the viewport. + setSize(std::max(viewport.fRight, getWidth()), + std::max(viewport.fBottom, getHeight())); + } + + return LayerAndroid::updatePosition(viewport, parentIframeLayer); +} + } // namespace WebCore diff --git a/Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.h b/Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.h index 0ef39c8..f4cf9f3 100644 --- a/Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.h +++ b/Source/WebCore/platform/graphics/android/layers/BaseLayerAndroid.h @@ -49,6 +49,8 @@ public: virtual void getLocalTransform(SkMatrix* matrix) const; virtual const TransformationMatrix* drawTransform() const { return 0; } + virtual IFrameLayerAndroid* updatePosition(SkRect viewport, + IFrameLayerAndroid* parentIframeLayer); private: // TODO: move to SurfaceCollection. Color m_color; |