diff options
author | Cary Clark <cary@android.com> | 2011-03-01 16:09:18 -0500 |
---|---|---|
committer | Cary Clark <cary@android.com> | 2011-03-01 16:09:18 -0500 |
commit | 27fba9df9970565a9823a69253f7a29394c652f1 (patch) | |
tree | 290fb8ae7a8521e81ce737dafd1dd24dfceeb961 /WebKit/android | |
parent | d914e54363c3b0482ac7f4843af11d1beb340afe (diff) | |
download | external_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.cpp | 6 |
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; |