diff options
author | dtseng@chromium.org <dtseng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-08 01:38:02 +0000 |
---|---|---|
committer | dtseng@chromium.org <dtseng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-08 01:38:02 +0000 |
commit | b05cd547c11d73f3336ab7035ef435aeac6e2266 (patch) | |
tree | ce5328436177233f7d15f24cc900b1c6cdff381b /chrome | |
parent | 70d711030c761e1cd50020c491268e8d4c876add (diff) | |
download | chromium_src-b05cd547c11d73f3336ab7035ef435aeac6e2266.zip chromium_src-b05cd547c11d73f3336ab7035ef435aeac6e2266.tar.gz chromium_src-b05cd547c11d73f3336ab7035ef435aeac6e2266.tar.bz2 |
DetachTree should be virtual as BrowserAccessibilityMac attempts to override it.
This is a the root cause of us not seeing dynamic updates on Mac.
BUG=84816
TEST=manually on sample page using global atribute "hidden" on a div.
Review URL: http://codereview.chromium.org/7108013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@88260 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/accessibility/browser_accessibility.cc | 18 | ||||
-rw-r--r-- | chrome/browser/accessibility/browser_accessibility.h | 8 |
2 files changed, 13 insertions, 13 deletions
diff --git a/chrome/browser/accessibility/browser_accessibility.cc b/chrome/browser/accessibility/browser_accessibility.cc index 7e092b7..48b88f4 100644 --- a/chrome/browser/accessibility/browser_accessibility.cc +++ b/chrome/browser/accessibility/browser_accessibility.cc @@ -32,6 +32,15 @@ BrowserAccessibility::BrowserAccessibility() BrowserAccessibility::~BrowserAccessibility() { } +void BrowserAccessibility::DetachTree( + std::vector<BrowserAccessibility*>* nodes) { + nodes->push_back(this); + for (size_t i = 0; i < children_.size(); i++) + children_[i]->DetachTree(nodes); + children_.clear(); + parent_ = NULL; +} + void BrowserAccessibility::Initialize( BrowserAccessibilityManager* manager, BrowserAccessibility* parent, @@ -64,15 +73,6 @@ void BrowserAccessibility::AddChild(BrowserAccessibility* child) { children_.push_back(child); } -void BrowserAccessibility::DetachTree( - std::vector<BrowserAccessibility*>* nodes) { - nodes->push_back(this); - for (size_t i = 0; i < children_.size(); i++) - children_[i]->DetachTree(nodes); - children_.clear(); - parent_ = NULL; -} - void BrowserAccessibility::UpdateParent(BrowserAccessibility* parent, int index_in_parent) { parent_ = parent; diff --git a/chrome/browser/accessibility/browser_accessibility.h b/chrome/browser/accessibility/browser_accessibility.h index 9788b4e..7cbc094 100644 --- a/chrome/browser/accessibility/browser_accessibility.h +++ b/chrome/browser/accessibility/browser_accessibility.h @@ -43,6 +43,10 @@ class BrowserAccessibility { virtual ~BrowserAccessibility(); + // Detach all descendants of this subtree and push all of the node pointers, + // including this node, onto the end of |nodes|. + virtual void DetachTree(std::vector<BrowserAccessibility*>* nodes); + // Perform platform specific initialization. This can be called multiple times // during the lifetime of this instance after the members of this base object // have been reset with new values from the renderer process. @@ -59,10 +63,6 @@ class BrowserAccessibility { // Add a child of this object. void AddChild(BrowserAccessibility* child); - // Detach all descendants of this subtree and push all of the node pointers, - // including this node, onto the end of |nodes|. - void DetachTree(std::vector<BrowserAccessibility*>* nodes); - // Update the parent and index in parent if this node has been moved. void UpdateParent(BrowserAccessibility* parent, int index_in_parent); |