[BlackBerry] Fix assertion failure introduced by bug 87551
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 8 Jun 2012 16:54:24 +0000 (16:54 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 8 Jun 2012 16:54:24 +0000 (16:54 +0000)
https://bugs.webkit.org/show_bug.cgi?id=88659

Patch by Max Feil <mfeil@rim.com> on 2012-06-08
Reviewed by Antonio Gomes.

The determineRenderSlider() convenience function added in bug
87551 made an assumption that wasn't always true. This didn't
cause a functional error but it caused an assertion failure,
which indicates a problem with the code. PR164142.

No new tests because this case is already covered by ASSERT's.

* platform/blackberry/RenderThemeBlackBerry.cpp:
(WebCore::determineRenderSlider):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@119838 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/platform/blackberry/RenderThemeBlackBerry.cpp

index a2162923511cdb4c2825412456b37ab33e9bc450..103aeb6f1a24f9bb6a1734dcf8b7788f6125f3df 100644 (file)
@@ -1,3 +1,20 @@
+2012-06-08  Max Feil  <mfeil@rim.com>
+
+        [BlackBerry] Fix assertion failure introduced by bug 87551
+        https://bugs.webkit.org/show_bug.cgi?id=88659
+
+        Reviewed by Antonio Gomes.
+
+        The determineRenderSlider() convenience function added in bug
+        87551 made an assumption that wasn't always true. This didn't
+        cause a functional error but it caused an assertion failure,
+        which indicates a problem with the code. PR164142.
+
+        No new tests because this case is already covered by ASSERT's.
+
+        * platform/blackberry/RenderThemeBlackBerry.cpp:
+        (WebCore::determineRenderSlider):
+
 2012-06-08  Ion Rosca  <rosca@adobe.com>
 
         Some overlay scrollbar API calls in ScrollAnimatorMac can lead to an assertion in RenderBox::mapAbsoluteToLocalPoint
index b179e780e4f652a14e58ef8345dddfc8613f3f8d..abfa5f09da5ef2035209fa1544edf58acdc4b27e 100644 (file)
@@ -152,8 +152,8 @@ static Path roundedRectForBorder(RenderObject* object, const IntRect& rect)
 static RenderSlider* determineRenderSlider(RenderObject* object)
 {
     ASSERT(object->isSliderThumb());
-    // The RenderSlider is 3 parent levels above the slider thumb.
-    for (int i = 1; object && i <= 3; i++)
+    // The RenderSlider is an ancestor of the slider thumb.
+    while (object && !object->isSlider())
         object = object->parent();
     return toRenderSlider(object);
 }