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

Issue 7966013: Rewrite renderer accessibility to not use WebAccessibilityCache. (Closed)

Created:
9 years, 3 months ago by dmazzoni
Modified:
9 years, 2 months ago
CC:
chromium-reviews, hashimoto+watch_chromium.org, aboxhall+watch_chromium.org, yoshiki+watch_chromium.org, dpranke+watch-content_chromium.org, jam, yuzo+watch_chromium.org, davidbarr+watch_chromium.org, joi+watch-content_chromium.org, darin-cc_chromium.org, dmazzoni+watch_chromium.org, dtseng+watch_chromium.org, Paweł Hajdan Jr., ctguil+watch_chromium.org, zork+watch_chromium.org
Visibility:
Public.

Description

Rewrites renderer accessibility to not use WebAccessibilityCache. This fixes the primary underlying cause of a number of bugs where the browser's accessibility tree got out of sync with the renderer's accessibility tree, which makes the page seem not functional anymore. Splits renderer accessibility code out of render_view.cc into its own file. All code now uses the axID directly from WebCore::AccessibilityObject rather than WebAccessibilityCache, which can now be deleted. One implication of this is that the top-level node can now change its ID, so we introduce a new role ROLE_ROOT_WEB_AREA to distinguish it from an iframe's ROLE_WEB_AREA node. To solve the problem of getting out of sync, the renderer now maintains a tree of axIDs that reflects the state of the tree as of the most recent message sent to the browser. Whenever a new accessibility notification is posted, it refers to that tree to determine precisely what information needs to be sent to the browser, eliminating problems where the renderer was posting notifications about nodes that the browser didn't know about. BUG=93095, 93232, 92716, 90787, 90768 TEST=updated lots of tests Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=103249

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Patch Set 4 : '' #

Patch Set 5 : '' #

Total comments: 30

Patch Set 6 : '' #

Patch Set 7 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+690 lines, -452 lines) Patch
M chrome/browser/accessibility/browser_accessibility_manager_unittest.cc View 1 2 3 4 5 6 5 chunks +27 lines, -18 lines 0 comments Download
M chrome/browser/accessibility/browser_accessibility_win_unittest.cc View 1 2 3 4 5 6 2 chunks +6 lines, -2 lines 0 comments Download
M chrome/browser/accessibility/renderer_accessibility_browsertest.cc View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M content/browser/accessibility/browser_accessibility_cocoa.mm View 1 2 3 4 5 6 2 chunks +1 line, -1 line 0 comments Download
M content/browser/accessibility/browser_accessibility_manager.h View 1 2 3 4 5 6 1 chunk +2 lines, -18 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_manager.cc View 1 2 3 4 5 6 6 chunks +59 lines, -98 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_win.cc View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/renderer_host/render_view_host.cc View 1 2 3 4 5 6 2 chunks +1 line, -2 lines 0 comments Download
M content/common/view_messages.h View 1 2 3 4 5 6 1 chunk +8 lines, -1 line 0 comments Download
M content/content_renderer.gypi View 1 2 3 4 5 6 1 chunk +2 lines, -0 lines 0 comments Download
M content/renderer/render_view.h View 1 2 3 4 5 6 10 chunks +3 lines, -39 lines 0 comments Download
M content/renderer/render_view.cc View 1 2 3 4 5 6 17 chunks +11 lines, -252 lines 0 comments Download
A content/renderer/renderer_accessibility.h View 1 2 3 4 5 1 chunk +119 lines, -0 lines 0 comments Download
A content/renderer/renderer_accessibility.cc View 1 2 3 4 5 1 chunk +434 lines, -0 lines 0 comments Download
M webkit/glue/webaccessibility.h View 1 2 3 4 5 6 4 chunks +8 lines, -8 lines 0 comments Download
M webkit/glue/webaccessibility.cc View 1 2 3 4 5 6 8 chunks +7 lines, -12 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
dmazzoni
dtseng: primary reviewer jam: content/ tony: webkit/glue/
9 years, 2 months ago (2011-09-26 15:27:41 UTC) #1
tony
webkit/glue LGTM
9 years, 2 months ago (2011-09-26 17:18:55 UTC) #2
jam
rubberstamp lgtm (moving stuff out of RenderView is great)
9 years, 2 months ago (2011-09-26 17:52:32 UTC) #3
David Tseng
http://codereview.chromium.org/7966013/diff/15001/content/browser/accessibility/browser_accessibility_cocoa.mm File content/browser/accessibility/browser_accessibility_cocoa.mm (right): http://codereview.chromium.org/7966013/diff/15001/content/browser/accessibility/browser_accessibility_cocoa.mm#newcode116 content/browser/accessibility/browser_accessibility_cocoa.mm:116: { WebAccessibility::ROLE_ROOT_WEB_AREA, @"AXWebArea" }, I think this was in ...
9 years, 2 months ago (2011-09-27 21:26:13 UTC) #4
dmazzoni
http://codereview.chromium.org/7966013/diff/15001/content/browser/accessibility/browser_accessibility_cocoa.mm File content/browser/accessibility/browser_accessibility_cocoa.mm (right): http://codereview.chromium.org/7966013/diff/15001/content/browser/accessibility/browser_accessibility_cocoa.mm#newcode116 content/browser/accessibility/browser_accessibility_cocoa.mm:116: { WebAccessibility::ROLE_ROOT_WEB_AREA, @"AXWebArea" }, On 2011/09/27 21:26:13, David Tseng ...
9 years, 2 months ago (2011-09-28 05:28:49 UTC) #5
dtseng
LGTM Sent from my phone On Sep 27, 2011, at 10:28 PM, "dmazzoni@chromium.org" <dmazzoni@chromium.org> wrote: ...
9 years, 2 months ago (2011-09-28 17:21:16 UTC) #6
commit-bot: I haz the power
CQ is trying tha patch. Follow status at https://chromium-status.appspot.com/cq/dmazzoni@chromium.org/7966013/30002
9 years, 2 months ago (2011-09-29 06:28:51 UTC) #7
commit-bot: I haz the power
9 years, 2 months ago (2011-09-29 07:54:36 UTC) #8
Change committed as 103249

Powered by Google App Engine
This is Rietveld 408576698