From 27fba9df9970565a9823a69253f7a29394c652f1 Mon Sep 17 00:00:00 2001 From: Cary Clark Date: Tue, 1 Mar 2011 16:09:18 -0500 Subject: 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 --- WebKit/android/nav/CachedRoot.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'WebKit/android') 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; -- cgit v1.1