Index: Source/modules/accessibility/AXMenuList.cpp |
diff --git a/Source/modules/accessibility/AXMenuList.cpp b/Source/modules/accessibility/AXMenuList.cpp |
index 6e7b9029e772a95f4086403772897897586fbb47..801aca2760e7579644e06fd8bbb1d6373a25d375 100644 |
--- a/Source/modules/accessibility/AXMenuList.cpp |
+++ b/Source/modules/accessibility/AXMenuList.cpp |
@@ -60,6 +60,20 @@ bool AXMenuList::press() const |
return true; |
} |
+void AXMenuList::updateChildrenIfNecessary() |
+{ |
+ if (m_children.isEmpty()) { |
+ addChildren(); |
+ return; |
+ } |
+ |
+ // There's no reason to update our AXMenuListPopup child. If we get a |
+ // call to updateChildrenIfNecessary, it's because the options might have |
+ // changed, so call it on our popup. |
+ ASSERT(m_children.size() == 1); |
+ m_children[0]->updateChildrenIfNecessary(); |
+} |
+ |
void AXMenuList::clearChildren() |
{ |
if (m_children.isEmpty()) |