summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authordtseng@chromium.org <dtseng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-08 01:38:02 +0000
committerdtseng@chromium.org <dtseng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-08 01:38:02 +0000
commitb05cd547c11d73f3336ab7035ef435aeac6e2266 (patch)
treece5328436177233f7d15f24cc900b1c6cdff381b /chrome
parent70d711030c761e1cd50020c491268e8d4c876add (diff)
downloadchromium_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.cc18
-rw-r--r--chrome/browser/accessibility/browser_accessibility.h8
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);