summaryrefslogtreecommitdiffstats
path: root/WebKit
diff options
context:
space:
mode:
authorDerek Sollenberger <djsollen@google.com>2011-01-31 18:06:13 -0500
committerDerek Sollenberger <djsollen@google.com>2011-01-31 18:07:44 -0500
commitb9e5acbf6b83aab48187946a1d498f0576ded418 (patch)
tree42fe58b742684d36ec9e7583aba635942bb56a91 /WebKit
parent8bd09088fb4573e601b30ac044f9a318a8e709e7 (diff)
downloadexternal_webkit-b9e5acbf6b83aab48187946a1d498f0576ded418.zip
external_webkit-b9e5acbf6b83aab48187946a1d498f0576ded418.tar.gz
external_webkit-b9e5acbf6b83aab48187946a1d498f0576ded418.tar.bz2
Prevent plugin node from being deleted in the nav cache.
bug: 3331323, 3393264 Change-Id: I1077a9d82d5e9c96a24e738cfede1dfaff70cc1c
Diffstat (limited to 'WebKit')
-rw-r--r--WebKit/android/nav/CacheBuilder.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/WebKit/android/nav/CacheBuilder.cpp b/WebKit/android/nav/CacheBuilder.cpp
index 0259242..56bce1e 100644
--- a/WebKit/android/nav/CacheBuilder.cpp
+++ b/WebKit/android/nav/CacheBuilder.cpp
@@ -1483,7 +1483,8 @@ bool CacheBuilder::CleanUpContainedNodes(CachedRoot* cachedRoot,
if (onlyChildCached->parent() == lastCached)
onlyChildCached->setParentIndex(lastCached->parentIndex());
bool hasFocus = lastCached->isFocus() || onlyChildCached->isFocus();
- if (outerIsMouseMoveOnly || onlyChild->isKeyboardFocusable(NULL)) {
+ if (outerIsMouseMoveOnly || onlyChild->isKeyboardFocusable(NULL)
+ || onlyChildCached->isPlugin()) {
int index = lastCached->index();
*lastCached = *onlyChildCached;
lastCached->setIndex(index);