Index: content/browser/accessibility/browser_accessibility_manager.cc |
diff --git a/content/browser/accessibility/browser_accessibility_manager.cc b/content/browser/accessibility/browser_accessibility_manager.cc |
index 1239d523dc8a3be85364c2c240e32ae66461e793..9761081b2ed61173f55f1c77c597625d09a1f473 100644 |
--- a/content/browser/accessibility/browser_accessibility_manager.cc |
+++ b/content/browser/accessibility/browser_accessibility_manager.cc |
@@ -240,7 +240,7 @@ void BrowserAccessibilityManager::UpdateNode( |
// modify |current| directly and return - no tree changes are needed. |
if (!include_children) { |
DCHECK_EQ(0U, src.children.size()); |
- current->Initialize( |
+ current->PreInitialize( |
this, |
current->parent(), |
current->child_id(), |
@@ -321,7 +321,14 @@ BrowserAccessibility* BrowserAccessibilityManager::CreateAccessibilityTree( |
children_can_send_show_events = false; |
} |
- instance->Initialize(this, parent, child_id, index_in_parent, src); |
+ instance->PreInitialize(this, parent, child_id, index_in_parent, src); |
+ for (int i = 0; i < static_cast<int>(src.children.size()); ++i) { |
+ BrowserAccessibility* child = CreateAccessibilityTree( |
+ instance, src.children[i], i, children_can_send_show_events); |
+ instance->AddChild(child); |
+ } |
+ instance->PostInitialize(this, parent, child_id, index_in_parent, src); |
+ |
child_id_map_[child_id] = instance; |
renderer_id_to_child_id_map_[src.id] = child_id; |
@@ -330,11 +337,6 @@ BrowserAccessibility* BrowserAccessibilityManager::CreateAccessibilityTree( |
if ((src.state >> WebAccessibility::STATE_FOCUSED) & 1) |
SetFocus(instance, false); |
- for (int i = 0; i < static_cast<int>(src.children.size()); ++i) { |
- BrowserAccessibility* child = CreateAccessibilityTree( |
- instance, src.children[i], i, children_can_send_show_events); |
- instance->AddChild(child); |
- } |
// Note: the purpose of send_show_events and children_can_send_show_events |
// is so that we send a single OBJECT_SHOW event for the root of a subtree |