summaryrefslogtreecommitdiffstats
path: root/WebKit/android/nav
diff options
context:
space:
mode:
authorCary Clark <cary@android.com>2009-12-02 20:26:10 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2009-12-02 20:26:10 -0800
commit614dd17e227fef812780981925532950d6170799 (patch)
treedf8f2233140ff39acfdf27cc0620027c7e119768 /WebKit/android/nav
parentdd9d17696b11b2aa8c501387fef01fb5ee4656d5 (diff)
parentac94ea1b6a7f61d693151647c572f1c33b2cdbf6 (diff)
downloadexternal_webkit-614dd17e227fef812780981925532950d6170799.zip
external_webkit-614dd17e227fef812780981925532950d6170799.tar.gz
external_webkit-614dd17e227fef812780981925532950d6170799.tar.bz2
am ac94ea1b: am 5f1379c6: Merge change I3aa3fc5b into eclair-mr2
Merge commit 'ac94ea1b6a7f61d693151647c572f1c33b2cdbf6' * commit 'ac94ea1b6a7f61d693151647c572f1c33b2cdbf6': 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);