summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorChris Craik <ccraik@google.com>2012-06-21 11:52:25 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-06-21 11:52:25 -0700
commit74b2988a2845cac809d74813fde4e38b2f455431 (patch)
treee7924e0c8ae000e5a3bb5c5c48719f529a52dd7e /Source
parent50034a4c4b41e0e3c99ec5a4ce8c6673190e20ac (diff)
parentc6d9134e49f290332ca788d10104749a37e9a727 (diff)
downloadexternal_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')
-rw-r--r--Source/WebCore/platform/graphics/android/layers/LayerAndroid.h4
-rw-r--r--Source/WebCore/platform/graphics/android/layers/MediaLayer.h1
-rw-r--r--Source/WebCore/platform/graphics/android/layers/VideoLayerAndroid.h3
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();