[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
yael.aharon at nokia.com
yael.aharon at nokia.com
Wed Dec 22 14:34:01 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit d7e79707cf00120337e99e2f780c6fd93e93ab3e
Author: yael.aharon at nokia.com <yael.aharon at nokia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Oct 13 12:27:51 2010 +0000
2010-10-13 Yael Aharon <yael.aharon at nokia.com>
Reviewed by Andreas Kling.
Wrong ASSERT when select element has size 0
https://bugs.webkit.org/show_bug.cgi?id=47567
* fast/dom/HTMLSelectElement/click-size-zero-no-crash-expected.txt: Added.
* fast/dom/HTMLSelectElement/click-size-zero-no-crash.html: Added.
2010-10-13 Yael Aharon <yael.aharon at nokia.com>
Reviewed by Andreas Kling.
Wrong ASSERT when select element has size 0
https://bugs.webkit.org/show_bug.cgi?id=47567
Keep the ASSERT only if the size of the element list is more than 0
Test: fast/dom/HTMLSelectElement/click-size-zero-no-crash.html
* dom/SelectElement.cpp:
(WebCore::SelectElement::updateListBoxSelection):
(WebCore::SelectElement::listBoxDefaultEventHandler):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@69651 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 234d0e5..7448d1c 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,13 @@
+2010-10-13 Yael Aharon <yael.aharon at nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ Wrong ASSERT when select element has size 0
+ https://bugs.webkit.org/show_bug.cgi?id=47567
+
+ * fast/dom/HTMLSelectElement/click-size-zero-no-crash-expected.txt: Added.
+ * fast/dom/HTMLSelectElement/click-size-zero-no-crash.html: Added.
+
2010-10-13 Nikolas Zimmermann <nzimmermann at rim.com>
Not reviewed.
diff --git a/LayoutTests/fast/dom/HTMLSelectElement/click-size-zero-no-crash-expected.txt b/LayoutTests/fast/dom/HTMLSelectElement/click-size-zero-no-crash-expected.txt
new file mode 100644
index 0000000..8011c14
--- /dev/null
+++ b/LayoutTests/fast/dom/HTMLSelectElement/click-size-zero-no-crash-expected.txt
@@ -0,0 +1 @@
+ This should not crash
diff --git a/LayoutTests/fast/dom/HTMLSelectElement/click-size-zero-no-crash.html b/LayoutTests/fast/dom/HTMLSelectElement/click-size-zero-no-crash.html
new file mode 100644
index 0000000..df44e72
--- /dev/null
+++ b/LayoutTests/fast/dom/HTMLSelectElement/click-size-zero-no-crash.html
@@ -0,0 +1,33 @@
+<html>
+<script src="../js/resources/js-test-pre.js"></script>
+<script>
+function getCenterFor(element)
+{
+ var rect = element.getBoundingClientRect();
+ return { x : parseInt((rect.left + rect.right) / 2) , y : parseInt((rect.top + rect.bottom) / 2)};
+}
+
+function runTest()
+{
+ if (!window.layoutTestController)
+ return;
+ if (!window.eventSender)
+ return;
+
+ layoutTestController.dumpAsText();
+ center = getCenterFor(document.getElementById("emptyselect"));
+ eventSender.mouseMoveTo(center.x, center.y);
+ eventSender.mouseDown();
+ eventSender.mouseUp();
+ eventSender.keyDown("downArrow");
+}
+
+</script>
+<style>
+</style>
+<body onload="runTest();">
+<select multiple id="emptyselect"></select>
+This should not crash
+</body>
+</html>
+
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 7cfa45b..4e53d14 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,17 @@
+2010-10-13 Yael Aharon <yael.aharon at nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ Wrong ASSERT when select element has size 0
+ https://bugs.webkit.org/show_bug.cgi?id=47567
+
+ Keep the ASSERT only if the size of the element list is more than 0
+ Test: fast/dom/HTMLSelectElement/click-size-zero-no-crash.html
+
+ * dom/SelectElement.cpp:
+ (WebCore::SelectElement::updateListBoxSelection):
+ (WebCore::SelectElement::listBoxDefaultEventHandler):
+
2010-10-13 Steve Block <steveblock at google.com>
Reviewed by Alexey Proskuryakov.
diff --git a/WebCore/dom/SelectElement.cpp b/WebCore/dom/SelectElement.cpp
index 1af012e..c8af399 100644
--- a/WebCore/dom/SelectElement.cpp
+++ b/WebCore/dom/SelectElement.cpp
@@ -152,7 +152,7 @@ void SelectElement::setActiveSelectionEndIndex(SelectElementData& data, int inde
void SelectElement::updateListBoxSelection(SelectElementData& data, Element* element, bool deselectOtherOptions)
{
ASSERT(element->renderer() && (element->renderer()->isListBox() || data.multiple()));
- ASSERT(data.activeSelectionAnchorIndex() >= 0);
+ ASSERT(!data.listItems(element).size() || data.activeSelectionAnchorIndex() >= 0);
unsigned start = min(data.activeSelectionAnchorIndex(), data.activeSelectionEndIndex());
unsigned end = max(data.activeSelectionAnchorIndex(), data.activeSelectionEndIndex());
@@ -752,7 +752,7 @@ void SelectElement::listBoxDefaultEventHandler(SelectElementData& data, Element*
// Save the selection so it can be compared to the new selection when dispatching change events immediately after making the new selection.
saveLastSelection(data, element);
- ASSERT_UNUSED(listItems, endIndex >= 0 && (unsigned) endIndex < listItems.size());
+ ASSERT_UNUSED(listItems, !listItems.size() || (endIndex >= 0 && (unsigned) endIndex < listItems.size()));
setActiveSelectionEndIndex(data, endIndex);
// If the anchor is unitialized, or if we're going to deselect all other options, then set the anchor index equal to the end index.
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list