summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Craik <ccraik@google.com>2012-06-21 12:03:49 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-06-21 12:03:49 -0700
commit1c69f99d768580aaa997e6541deb0da2925ae2e9 (patch)
treec1a7791afd986558e940e1873ed14458d4fe97e0
parent64aae1063d9f749754f9479f51672fc1dcf9ea67 (diff)
parent74b2988a2845cac809d74813fde4e38b2f455431 (diff)
downloadexternal_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
-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 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();