Index: chrome/browser/browser_accessibility_win.cc |
=================================================================== |
--- chrome/browser/browser_accessibility_win.cc (revision 57122) |
+++ chrome/browser/browser_accessibility_win.cc (working copy) |
@@ -55,6 +55,9 @@ |
} |
void BrowserAccessibility::InactivateTree() { |
+ if (!instance_active_) |
+ return; |
+ |
// Mark this object as inactive, so calls to all COM methods will return |
// failure. |
instance_active_ = false; |
@@ -70,6 +73,7 @@ |
(*iter)->Release(); |
} |
children_.clear(); |
+ manager_->Remove(child_id_); |
} |
bool BrowserAccessibility::IsDescendantOf(BrowserAccessibility* ancestor) { |
@@ -82,6 +86,10 @@ |
return false; |
} |
+BrowserAccessibility* BrowserAccessibility::GetParent() { |
+ return parent_; |
+} |
+ |
BrowserAccessibility* BrowserAccessibility::GetPreviousSibling() { |
if (parent_ && index_in_parent_ > 0) |
return parent_->children_[index_in_parent_ - 1]; |
@@ -98,6 +106,14 @@ |
return NULL; |
} |
+void BrowserAccessibility::ReplaceChild( |
+ const BrowserAccessibility* old_acc, BrowserAccessibility* new_acc) { |
+ DCHECK_EQ(children_[old_acc->index_in_parent_], old_acc); |
+ |
+ old_acc = children_[old_acc->index_in_parent_]; |
+ children_[old_acc->index_in_parent_] = new_acc; |
+} |
+ |
BrowserAccessibility* BrowserAccessibility::NewReference() { |
AddRef(); |
return this; |