summaryrefslogtreecommitdiffstats
path: root/WebKit/android/nav
diff options
context:
space:
mode:
authorCary Clark <cary@android.com>2009-12-02 09:50:59 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2009-12-02 09:50:59 -0800
commitac94ea1b6a7f61d693151647c572f1c33b2cdbf6 (patch)
tree1545d40799658c010c88a741a3e1f7b4a5a45344 /WebKit/android/nav
parentb50d4472b389f7d51a80b6082ba1f5cfceead194 (diff)
parent5f1379c6c79e49753999830866c2809a920cc3e4 (diff)
downloadexternal_webkit-ac94ea1b6a7f61d693151647c572f1c33b2cdbf6.zip
external_webkit-ac94ea1b6a7f61d693151647c572f1c33b2cdbf6.tar.gz
external_webkit-ac94ea1b6a7f61d693151647c572f1c33b2cdbf6.tar.bz2
am 5f1379c6: Merge change I3aa3fc5b into eclair-mr2
Merge commit '5f1379c6c79e49753999830866c2809a920cc3e4' into eclair-mr2-plus-aosp * commit '5f1379c6c79e49753999830866c2809a920cc3e4': skip nodes when building nav cache if parents are clipped out
Diffstat (limited to 'WebKit/android/nav')
-rw-r--r--WebKit/android/nav/CacheBuilder.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/WebKit/android/nav/CacheBuilder.cpp b/WebKit/android/nav/CacheBuilder.cpp
index 58be0e8..c77f7fc 100644
--- a/WebKit/android/nav/CacheBuilder.cpp
+++ b/WebKit/android/nav/CacheBuilder.cpp
@@ -1194,10 +1194,14 @@ void CacheBuilder::BuildFrame(Frame* root, Frame* frame,
clip.intersect(parentClip);
hasClip = true;
}
- if (hasClip && !clip.isEmpty() && cachedNode.clip(clip) == false) {
- cachedNode.setBounds(clip);
- cachedNode.cursorRings().append(clip);
- isUnclipped = true;
+ if (hasClip) {
+ if (clip.isEmpty())
+ continue; // skip this node if completely clipped out
+ else if (cachedNode.clip(clip) == false) {
+ cachedNode.setBounds(clip);
+ cachedNode.cursorRings().append(clip);
+ isUnclipped = true;
+ }
}
cachedNode.setNavableRects();
cachedNode.setChildFrameIndex(-1);