Title: [170704] trunk
Revision
170704
Author
[email protected]
Date
2014-07-02 02:52:38 -0700 (Wed, 02 Jul 2014)

Log Message

REGRESSION(r170008): [GTK] Layout Tests fast/forms/option-constructor-selected.html and fast/forms/select-live-pseudo-selectors.html crash.
https://bugs.webkit.org/show_bug.cgi?id=134399

Reviewed by Chris Fleizach.

Source/WebCore:
Check that the value of optionIndex passed as a parameter is valid
before calling didUpdateActiveOption() over the item of the menu
list, to prevent crashes in platforms where renderers (and therefore
accessibility objects) might not be created for items at the time
of calling AccessibilityMenuList::didUpdateActiveOption().

* accessibility/AccessibilityMenuList.cpp:
(WebCore::AccessibilityMenuList::didUpdateActiveOption): Added check.

LayoutTests:
Removing Crash expectations for two layout tests.

* platform/gtk/TestExpectations: Updated.

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (170703 => 170704)


--- trunk/LayoutTests/ChangeLog	2014-07-02 08:22:01 UTC (rev 170703)
+++ trunk/LayoutTests/ChangeLog	2014-07-02 09:52:38 UTC (rev 170704)
@@ -1,3 +1,14 @@
+2014-07-02  Mario Sanchez Prada  <[email protected]>
+
+        REGRESSION(r170008): [GTK] Layout Tests fast/forms/option-constructor-selected.html and fast/forms/select-live-pseudo-selectors.html crash.
+        https://bugs.webkit.org/show_bug.cgi?id=134399
+
+        Reviewed by Chris Fleizach.
+
+        Removing Crash expectations for two layout tests.
+
+        * platform/gtk/TestExpectations: Updated.
+
 2014-07-01  Frédéric Wang  <[email protected]>
 
         The OpenType MATH table is not read on Mac

Modified: trunk/LayoutTests/platform/gtk/TestExpectations (170703 => 170704)


--- trunk/LayoutTests/platform/gtk/TestExpectations	2014-07-02 08:22:01 UTC (rev 170703)
+++ trunk/LayoutTests/platform/gtk/TestExpectations	2014-07-02 09:52:38 UTC (rev 170704)
@@ -515,9 +515,6 @@
 
 webkit.org/b/133797 fast/dom/NavigatorContentUtils/register-protocol-handler.html [ Crash ]
 
-webkit.org/b/134399 fast/forms/option-constructor-selected.html [ Crash ]
-webkit.org/b/134399 fast/forms/select-live-pseudo-selectors.html [ Crash ]
-
 #////////////////////////////////////////////////////////////////////////////////////////
 # End of Crashing tests
 #////////////////////////////////////////////////////////////////////////////////////////

Modified: trunk/Source/WebCore/ChangeLog (170703 => 170704)


--- trunk/Source/WebCore/ChangeLog	2014-07-02 08:22:01 UTC (rev 170703)
+++ trunk/Source/WebCore/ChangeLog	2014-07-02 09:52:38 UTC (rev 170704)
@@ -1,3 +1,19 @@
+2014-07-02  Mario Sanchez Prada  <[email protected]>
+
+        REGRESSION(r170008): [GTK] Layout Tests fast/forms/option-constructor-selected.html and fast/forms/select-live-pseudo-selectors.html crash.
+        https://bugs.webkit.org/show_bug.cgi?id=134399
+
+        Reviewed by Chris Fleizach.
+
+        Check that the value of optionIndex passed as a parameter is valid
+        before calling didUpdateActiveOption() over the item of the menu
+        list, to prevent crashes in platforms where renderers (and therefore
+        accessibility objects) might not be created for items at the time
+        of calling AccessibilityMenuList::didUpdateActiveOption().
+
+        * accessibility/AccessibilityMenuList.cpp:
+        (WebCore::AccessibilityMenuList::didUpdateActiveOption): Added check.
+
 2014-07-02  Carlos Garcia Campos  <[email protected]>
 
         [GTK] Do not add forward declaration of class struct for interfaces

Modified: trunk/Source/WebCore/accessibility/AccessibilityMenuList.cpp (170703 => 170704)


--- trunk/Source/WebCore/accessibility/AccessibilityMenuList.cpp	2014-07-02 08:22:01 UTC (rev 170703)
+++ trunk/Source/WebCore/accessibility/AccessibilityMenuList.cpp	2014-07-02 09:52:38 UTC (rev 170704)
@@ -120,7 +120,8 @@
         // before asking it to update its active option, or it will read invalid memory.
         // You can reproduce the issue in the GTK+ port by removing this check and running
         // accessibility/insert-selected-option-into-select-causes-crash.html (will crash).
-        if (childObjects[0]->isMenuListPopup() && childObjects[0]->children().size()) {
+        int popupChildrenSize = static_cast<int>(childObjects[0]->children().size());
+        if (childObjects[0]->isMenuListPopup() && optionIndex >= 0 && optionIndex < popupChildrenSize) {
             if (AccessibilityMenuListPopup* popup = toAccessibilityMenuListPopup(childObjects[0].get()))
                 popup->didUpdateActiveOption(optionIndex);
         }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to