summaryrefslogtreecommitdiffstats
path: root/WebKit/android/nav
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-12-02 09:41:07 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2009-12-02 09:41:07 -0800
commit5f1379c6c79e49753999830866c2809a920cc3e4 (patch)
tree1545d40799658c010c88a741a3e1f7b4a5a45344 /WebKit/android/nav
parent960701032df6956d9fb640a26d315122f7b2c4be (diff)
parent3aa3fc5b4d5035705efc875f74d8378ec75e54db (diff)
downloadexternal_webkit-5f1379c6c79e49753999830866c2809a920cc3e4.zip
external_webkit-5f1379c6c79e49753999830866c2809a920cc3e4.tar.gz
external_webkit-5f1379c6c79e49753999830866c2809a920cc3e4.tar.bz2
Merge change I3aa3fc5b into eclair-mr2
* changes: 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);