diff options
author | Chris Craik <ccraik@google.com> | 2012-06-21 12:03:49 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-06-21 12:03:49 -0700 |
commit | 1c69f99d768580aaa997e6541deb0da2925ae2e9 (patch) | |
tree | c1a7791afd986558e940e1873ed14458d4fe97e0 | |
parent | 64aae1063d9f749754f9479f51672fc1dcf9ea67 (diff) | |
parent | 74b2988a2845cac809d74813fde4e38b2f455431 (diff) | |
download | external_webkit-1c69f99d768580aaa997e6541deb0da2925ae2e9.zip external_webkit-1c69f99d768580aaa997e6541deb0da2925ae2e9.tar.gz external_webkit-1c69f99d768580aaa997e6541deb0da2925ae2e9.tar.bz2 |
am 74b2988a: am c6d9134e: Don\'t allow layers that draw via drawGL to merge with other surfaces
* commit '74b2988a2845cac809d74813fde4e38b2f455431':
Don't allow layers that draw via drawGL to merge with other surfaces
3 files changed, 6 insertions, 2 deletions
diff --git a/Source/WebCore/platform/graphics/android/layers/LayerAndroid.h b/Source/WebCore/platform/graphics/android/layers/LayerAndroid.h index 312ad7b..b28daef 100644 --- a/Source/WebCore/platform/graphics/android/layers/LayerAndroid.h +++ b/Source/WebCore/platform/graphics/android/layers/LayerAndroid.h @@ -273,7 +273,9 @@ public: void setIntrinsicallyComposited(bool intCom) { m_intrinsicallyComposited = intCom; } virtual bool needsIsolatedSurface() { - return (needsTexture() && m_intrinsicallyComposited) || m_animations.size(); + return (needsTexture() && m_intrinsicallyComposited) + || m_animations.size() + || m_imageCRC; } int setHwAccelerated(bool hwAccelerated); diff --git a/Source/WebCore/platform/graphics/android/layers/MediaLayer.h b/Source/WebCore/platform/graphics/android/layers/MediaLayer.h index 2f39d74..8e04681 100644 --- a/Source/WebCore/platform/graphics/android/layers/MediaLayer.h +++ b/Source/WebCore/platform/graphics/android/layers/MediaLayer.h @@ -39,6 +39,7 @@ public: virtual bool drawGL(bool layerTilesDisabled); virtual void paintBitmapGL() const { }; virtual bool needsTexture() { return false; } + virtual bool needsIsolatedSurface() { return true; } virtual bool isMedia() const { return true; } virtual LayerAndroid* copy() const { return new MediaLayer(*this); } diff --git a/Source/WebCore/platform/graphics/android/layers/VideoLayerAndroid.h b/Source/WebCore/platform/graphics/android/layers/VideoLayerAndroid.h index dd88a85..5ebf615 100644 --- a/Source/WebCore/platform/graphics/android/layers/VideoLayerAndroid.h +++ b/Source/WebCore/platform/graphics/android/layers/VideoLayerAndroid.h @@ -55,9 +55,10 @@ public: virtual bool isVideo() const { return true; } virtual LayerAndroid* copy() const { return new VideoLayerAndroid(*this); } - // The following 3 functions are called in UI thread only. + // The following functions are called in UI thread only. virtual bool drawGL(bool layerTilesDisabled); void setSurfaceTexture(sp<SurfaceTexture> texture, int textureName, PlayerState playerState); + virtual bool needsIsolatedSurface() { return true; } private: void init(); |