Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(119)

Issue 7461104: Fix a few lingering bugs in BrowserAccessibilityManager and BrowserAccessibilityCocoa. (Closed)

Created:
9 years, 5 months ago by David Tseng
Modified:
9 years, 4 months ago
CC:
chromium-reviews, joi+watch-content_chromium.org, jam, darin-cc_chromium.org, brettw-cc_chromium.org
Visibility:
Public.

Description

Fix a few lingering bugs in BrowserAccessibilityManager and BrowserAccessibilityCocoa. - Actually reuse BrowserAccessibility's when we receive an AXLoadComplete notification (switch from using CreateAccessibilityTree to UpdateNode). - add a check in BrowserAccessibilityManager::SetFocus to ensure we never try and ref count the same element. This means we released an element (and thereby destroy it) before we add ref it again. As it stands, the code does not encounter this case, since there's an implicit assumption that the focus_ element has ref count >= 2. - add logic to BrowserAccessibilityCocoa so that it can inherit directly from NSObject; this brings us in line with the way Webkit's AccessibilityObjectWrapper on Mac works. This will hopefully set us up to solve the problem of VoiceOver not acknowledging page transitions. The remaining issue is that RWHV's get destroyed on page transitions, thereby destroying our BrowserAccessibilityManager. This is likely why VoiceOver won't honor our AXLoadComplete notification. BUG=none TEST=manual. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=95572

Patch Set 1 : Initial patch. #

Patch Set 2 : Fix some Win related issues. #

Patch Set 3 : Fix corner case with removal of renderer to child id mappings. #

Total comments: 7

Patch Set 4 : add a unittest #

Total comments: 3

Patch Set 5 : Revise SPI comment with openradar link. #

Total comments: 2

Patch Set 6 : Expand comment. #

Patch Set 7 : Fix indent. #

Patch Set 8 : Fix Windows cast error. #

Total comments: 5
Unified diffs Side-by-side diffs Delta from patch set Stats (+132 lines, -28 lines) Patch
M chrome/browser/accessibility/browser_accessibility_manager_unittest.cc View 1 2 3 4 5 6 1 chunk +75 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host_view_mac.mm View 1 2 3 4 1 chunk +2 lines, -5 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host_view_win.cc View 1 2 3 4 5 6 7 2 chunks +6 lines, -10 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_cocoa.h View 1 chunk +1 line, -3 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_cocoa.mm View 1 2 3 4 5 3 chunks +10 lines, -0 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_manager.h View 1 2 3 1 chunk +8 lines, -0 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_manager.cc View 1 2 3 5 chunks +30 lines, -10 lines 5 comments Download

Messages

Total messages: 15 (0 generated)
David Tseng
Ready for an initial look and criticism. This is in effort to fix crbug.com/55658, but ...
9 years, 5 months ago (2011-07-27 01:11:06 UTC) #1
David Tseng
9 years, 5 months ago (2011-07-27 01:12:07 UTC) #2
dmazzoni
http://codereview.chromium.org/7461104/diff/7001/chrome/browser/renderer_host/render_widget_host_view_mac.mm File chrome/browser/renderer_host/render_widget_host_view_mac.mm (right): http://codereview.chromium.org/7461104/diff/7001/chrome/browser/renderer_host/render_widget_host_view_mac.mm#newcode1068 chrome/browser/renderer_host/render_widget_host_view_mac.mm:1068: empty_document.id = 1000; Could you move this to a ...
9 years, 4 months ago (2011-08-02 06:19:34 UTC) #3
David Tseng
Addressing dmazzoni's comments. Nico, would you mind taking a look at browser_accessibility_cocoa.mm in this patch? ...
9 years, 4 months ago (2011-08-02 21:30:57 UTC) #4
Nico
http://codereview.chromium.org/7461104/diff/12001/content/browser/accessibility/browser_accessibility_cocoa.mm File content/browser/accessibility/browser_accessibility_cocoa.mm (right): http://codereview.chromium.org/7461104/diff/12001/content/browser/accessibility/browser_accessibility_cocoa.mm#newcode20 content/browser/accessibility/browser_accessibility_cocoa.mm:20: extern "C" void NSAccessibilityUnregisterUniqueIdForUIElement(id element); Is this SPI / ...
9 years, 4 months ago (2011-08-02 22:07:14 UTC) #5
David Tseng
http://codereview.chromium.org/7461104/diff/12001/content/browser/accessibility/browser_accessibility_cocoa.mm File content/browser/accessibility/browser_accessibility_cocoa.mm (right): http://codereview.chromium.org/7461104/diff/12001/content/browser/accessibility/browser_accessibility_cocoa.mm#newcode20 content/browser/accessibility/browser_accessibility_cocoa.mm:20: extern "C" void NSAccessibilityUnregisterUniqueIdForUIElement(id element); This is SPI from ...
9 years, 4 months ago (2011-08-03 00:13:22 UTC) #6
Nico
Sorry, I forgot to publish my comment! http://codereview.chromium.org/7461104/diff/12001/content/browser/accessibility/browser_accessibility_cocoa.mm File content/browser/accessibility/browser_accessibility_cocoa.mm (right): http://codereview.chromium.org/7461104/diff/12001/content/browser/accessibility/browser_accessibility_cocoa.mm#newcode20 content/browser/accessibility/browser_accessibility_cocoa.mm:20: extern "C" ...
9 years, 4 months ago (2011-08-04 14:29:01 UTC) #7
David Tseng
Done. On 2011/08/04 14:29:01, Nico wrote: > Sorry, I forgot to publish my comment! > ...
9 years, 4 months ago (2011-08-04 16:22:01 UTC) #8
Nico
Thanks! mac files lgtm
9 years, 4 months ago (2011-08-04 16:26:08 UTC) #9
dmazzoni
LGTM. http://codereview.chromium.org/7461104/diff/22001/chrome/browser/accessibility/browser_accessibility_manager_unittest.cc File chrome/browser/accessibility/browser_accessibility_manager_unittest.cc (right): http://codereview.chromium.org/7461104/diff/22001/chrome/browser/accessibility/browser_accessibility_manager_unittest.cc#newcode564 chrome/browser/accessibility/browser_accessibility_manager_unittest.cc:564: // Verify the root is as we expect ...
9 years, 4 months ago (2011-08-04 16:29:07 UTC) #10
David Tseng
http://codereview.chromium.org/7461104/diff/22001/chrome/browser/accessibility/browser_accessibility_manager_unittest.cc File chrome/browser/accessibility/browser_accessibility_manager_unittest.cc (right): http://codereview.chromium.org/7461104/diff/22001/chrome/browser/accessibility/browser_accessibility_manager_unittest.cc#newcode564 chrome/browser/accessibility/browser_accessibility_manager_unittest.cc:564: // Verify the root is as we expect by ...
9 years, 4 months ago (2011-08-04 16:41:58 UTC) #11
commit-bot: I haz the power
The commit queue went berserk retrying too often for a seemingly flaky test. Builder is ...
9 years, 4 months ago (2011-08-04 22:17:14 UTC) #12
commit-bot: I haz the power
Change committed as 95572
9 years, 4 months ago (2011-08-05 04:07:52 UTC) #13
Chris Guillory
Post review comments. Can you please CC me on logic changes to BrowserAccessibilityManager as there ...
9 years, 4 months ago (2011-08-16 02:10:31 UTC) #14
Chris Guillory
9 years, 4 months ago (2011-08-16 17:25:12 UTC) #15
http://codereview.chromium.org/7461104/diff/23/content/browser/accessibility/...
File content/browser/accessibility/browser_accessibility_manager.cc (right):

http://codereview.chromium.org/7461104/diff/23/content/browser/accessibility/...
content/browser/accessibility/browser_accessibility_manager.cc:269: if (focus_
!= node) {
On 2011/08/16 02:10:31, Chris Guillory wrote:
> Why are we removing this check? If focus_ equals node we shouldn't have to
> perform this logic correct?

Please ignore my previous comment. For some reason I parsed this as if you were
removing this check.

Powered by Google App Engine
This is Rietveld 408576698