summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcsilv@chromium.org <csilv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-02 18:09:33 +0000
committercsilv@chromium.org <csilv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-02 18:09:33 +0000
commited355815b599eecfeda838ef8e7fa7adcbb5a9a9 (patch)
treee71e4d6d940f47398f5e996aaf04ca740f83fbcb
parentb0a0663407fac91f53c94734afdb3dc21b22d406 (diff)
downloadchromium_src-ed355815b599eecfeda838ef8e7fa7adcbb5a9a9.zip
chromium_src-ed355815b599eecfeda838ef8e7fa7adcbb5a9a9.tar.gz
chromium_src-ed355815b599eecfeda838ef8e7fa7adcbb5a9a9.tar.bz2
[mac accessibility] Fix a crash that may occur while using VoiceOver.
BUG=66917 TEST=Open several complex web-pages as describe in bug, close them all without crashing. Review URL: http://codereview.chromium.org/6410014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73471 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/accessibility/browser_accessibility_manager.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/chrome/browser/accessibility/browser_accessibility_manager.cc b/chrome/browser/accessibility/browser_accessibility_manager.cc
index 0bb8524..c1091e6 100644
--- a/chrome/browser/accessibility/browser_accessibility_manager.cc
+++ b/chrome/browser/accessibility/browser_accessibility_manager.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -307,6 +307,9 @@ BrowserAccessibility* BrowserAccessibilityManager::UpdateNode(
DCHECK_EQ(old_browser_acc, root_);
root_ = new_browser_acc;
}
+ if (focus_ && focus_->IsDescendantOf(old_browser_acc))
+ focus_ = root_;
+
old_browser_acc->ReleaseTree();
old_browser_acc->ReleaseReference();
child_id_map_[child_id] = new_browser_acc;