|
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
Total comments: 30
|
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
|
Total messages: 8 (0 generated)
|