diff options
author | Chris Craik <ccraik@google.com> | 2012-06-21 11:52:25 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-06-21 11:52:25 -0700 |
commit | 74b2988a2845cac809d74813fde4e38b2f455431 (patch) | |
tree | e7924e0c8ae000e5a3bb5c5c48719f529a52dd7e /Source | |
parent | 50034a4c4b41e0e3c99ec5a4ce8c6673190e20ac (diff) | |
parent | c6d9134e49f290332ca788d10104749a37e9a727 (diff) | |
download | external_webkit-74b2988a2845cac809d74813fde4e38b2f455431.zip external_webkit-74b2988a2845cac809d74813fde4e38b2f455431.tar.gz external_webkit-74b2988a2845cac809d74813fde4e38b2f455431.tar.bz2 |
am c6d9134e: Don\'t allow layers that draw via drawGL to merge with other surfaces
* commit 'c6d9134e49f290332ca788d10104749a37e9a727':
Don't allow layers that draw via drawGL to merge with other surfaces
Diffstat (limited to 'Source')
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 79c84b4..41f6420 100644 --- a/Source/WebCore/platform/graphics/android/layers/LayerAndroid.h +++ b/Source/WebCore/platform/graphics/android/layers/LayerAndroid.h @@ -274,7 +274,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(); |