diff options
author | Derek Sollenberger <djsollen@google.com> | 2011-01-31 18:06:13 -0500 |
---|---|---|
committer | Derek Sollenberger <djsollen@google.com> | 2011-01-31 18:07:44 -0500 |
commit | b9e5acbf6b83aab48187946a1d498f0576ded418 (patch) | |
tree | 42fe58b742684d36ec9e7583aba635942bb56a91 /WebKit | |
parent | 8bd09088fb4573e601b30ac044f9a318a8e709e7 (diff) | |
download | external_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.cpp | 3 |
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); |