| Index: third_party/WebKit/Source/modules/accessibility/AXMenuListPopup.cpp
|
| diff --git a/third_party/WebKit/Source/modules/accessibility/AXMenuListPopup.cpp b/third_party/WebKit/Source/modules/accessibility/AXMenuListPopup.cpp
|
| index 7ef8e0e8ba2061cd30cbb8226e310ee49dffb720..f78cb7700d506e2aec4cd5181418b1aa3ada5343 100644
|
| --- a/third_party/WebKit/Source/modules/accessibility/AXMenuListPopup.cpp
|
| +++ b/third_party/WebKit/Source/modules/accessibility/AXMenuListPopup.cpp
|
| @@ -124,13 +124,20 @@ void AXMenuListPopup::UpdateChildrenIfNecessary() {
|
| AddChildren();
|
| }
|
|
|
| -void AXMenuListPopup::DidUpdateActiveOption(int option_index) {
|
| +void AXMenuListPopup::DidUpdateActiveOption(int option_index,
|
| + bool fire_notifications) {
|
| UpdateChildrenIfNecessary();
|
|
|
| + int old_index = active_index_;
|
| + active_index_ = option_index;
|
| +
|
| + if (!fire_notifications)
|
| + return;
|
| +
|
| AXObjectCacheImpl& cache = AxObjectCache();
|
| - if (active_index_ != option_index && active_index_ >= 0 &&
|
| - active_index_ < static_cast<int>(children_.size())) {
|
| - AXObjectImpl* previous_child = children_[active_index_].Get();
|
| + if (old_index != option_index && old_index >= 0 &&
|
| + old_index < static_cast<int>(children_.size())) {
|
| + AXObjectImpl* previous_child = children_[old_index].Get();
|
| cache.PostNotification(previous_child,
|
| AXObjectCacheImpl::kAXMenuListItemUnselected);
|
| }
|
| @@ -140,8 +147,6 @@ void AXMenuListPopup::DidUpdateActiveOption(int option_index) {
|
| cache.PostNotification(this, AXObjectCacheImpl::kAXActiveDescendantChanged);
|
| cache.PostNotification(child, AXObjectCacheImpl::kAXMenuListItemSelected);
|
| }
|
| -
|
| - active_index_ = option_index;
|
| }
|
|
|
| void AXMenuListPopup::DidHide() {
|
|
|