summaryrefslogtreecommitdiffstats
path: root/WebKit/android
diff options
context:
space:
mode:
authorCary Clark <cary@android.com>2011-03-01 16:09:18 -0500
committerCary Clark <cary@android.com>2011-03-01 16:09:18 -0500
commit27fba9df9970565a9823a69253f7a29394c652f1 (patch)
tree290fb8ae7a8521e81ce737dafd1dd24dfceeb961 /WebKit/android
parentd914e54363c3b0482ac7f4843af11d1beb340afe (diff)
downloadexternal_webkit-27fba9df9970565a9823a69253f7a29394c652f1.zip
external_webkit-27fba9df9970565a9823a69253f7a29394c652f1.tar.gz
external_webkit-27fba9df9970565a9823a69253f7a29394c652f1.tar.bz2
disable nodes that are completely clipped out
If clipping a node's cursor rings results in all of the rings going away, mark the node as disabled, and find a new node. bug:3500759 Change-Id: Ie633b06de948ea0e1805598b0e8321f1f9863dc2
Diffstat (limited to 'WebKit/android')
-rw-r--r--WebKit/android/nav/CachedRoot.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/WebKit/android/nav/CachedRoot.cpp b/WebKit/android/nav/CachedRoot.cpp
index 6083296..f5f8a71 100644
--- a/WebKit/android/nav/CachedRoot.cpp
+++ b/WebKit/android/nav/CachedRoot.cpp
@@ -1507,7 +1507,11 @@ bool CachedRoot::maskIfHidden(BestData* best) const
clipRgn.getBounds().fLeft, clipRgn.getBounds().fTop,
clipRgn.getBounds().fRight, clipRgn.getBounds().fBottom);
best->setMouseBounds(clipRgn.getBounds());
- node->clip(best->mouseBounds());
+ if (!node->clip(best->mouseBounds())) {
+ node->setDisabled(true);
+ node->setClippedOut(true);
+ return true;
+ }
} else
node->fixUpCursorRects(frame);
return false;