diff options
author | csilv@chromium.org <csilv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-02 18:09:33 +0000 |
---|---|---|
committer | csilv@chromium.org <csilv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-02 18:09:33 +0000 |
commit | ed355815b599eecfeda838ef8e7fa7adcbb5a9a9 (patch) | |
tree | e71e4d6d940f47398f5e996aaf04ca740f83fbcb | |
parent | b0a0663407fac91f53c94734afdb3dc21b22d406 (diff) | |
download | chromium_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.cc | 5 |
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; |