summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--WebKit/android/nav/CachedRoot.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/WebKit/android/nav/CachedRoot.cpp b/WebKit/android/nav/CachedRoot.cpp
index 6a7a2a7..c028afd 100644
--- a/WebKit/android/nav/CachedRoot.cpp
+++ b/WebKit/android/nav/CachedRoot.cpp
@@ -782,6 +782,16 @@ public:
mLayerTypes.removeLast();
return;
}
+ // remove push/pop from push/bitmap/pop
+ size_t pushIndex = mLayerTypes.size() - 2;
+ if (last == kDrawBitmap_Type
+ && mLayerTypes.at(pushIndex) == kPushLayer_Type) {
+ mLayers.at(pushIndex) = mLayers.last();
+ mLayerTypes.at(pushIndex) = kDrawBitmap_Type;
+ mLayers.removeLast();
+ mLayerTypes.removeLast();
+ return;
+ }
// remove non-layer brackets
int stack = 0;
Type* types = mLayerTypes.end();