OSDN Git Service

Fix crash in WebViewCore::scrollNodeIntoView
authorBen Murdoch <benm@google.com>
Fri, 16 Sep 2011 11:24:38 +0000 (12:24 +0100)
committerBen Murdoch <benm@google.com>
Fri, 16 Sep 2011 11:28:17 +0000 (12:28 +0100)
Fix crash when traversing the node hierarchy. Need to
stop when parent() returns null.

Bug: 5244036
Change-Id: I4120d4b6ea14c0a20c84f6bb789573d03e1915b3

Source/WebKit/android/jni/WebViewCore.cpp

index 9b5a6fa..6976e00 100644 (file)
@@ -2219,12 +2219,16 @@ void WebViewCore::scrollNodeIntoView(Frame* frame, Node* node)
     if (!node->isElementNode()) {
         HTMLElement* body = frame->document()->body();
         do {
-            if (!node || node == body)
+            if (node == body)
                 return;
             node = node->parentNode();
-        } while (!node->isElementNode() && !isVisible(node));
+        } while (node && !node->isElementNode() && !isVisible(node));
     }
 
+    // Couldn't find a visible predecessor.
+    if (!node)
+        return;
+
     elementNode = static_cast<Element*>(node);
     elementNode->scrollIntoViewIfNeeded(true);
 }