Chromium Code Reviews| Index: content/browser/accessibility/browser_accessibility_win.cc |
| diff --git a/content/browser/accessibility/browser_accessibility_win.cc b/content/browser/accessibility/browser_accessibility_win.cc |
| index df3263e845ddfb2cc82fe58cb5ce1b117d08bcda..9dc644c9423bd8d2eab80b8a9654343859b7af6a 100644 |
| --- a/content/browser/accessibility/browser_accessibility_win.cc |
| +++ b/content/browser/accessibility/browser_accessibility_win.cc |
| @@ -358,7 +358,11 @@ STDMETHODIMP BrowserAccessibilityWin::get_accChildCount(LONG* child_count) { |
| if (!child_count) |
| return E_INVALIDARG; |
| - *child_count = children_.size(); |
| + if (IsLeaf()) |
| + *child_count = 0; |
| + else |
| + *child_count = children_.size(); |
| + |
| return S_OK; |
| } |
| @@ -2618,7 +2622,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_childAt( |
| if (!node) |
| return E_INVALIDARG; |
| - if (child_index < children_.size()) { |
| + if (IsLeaf() || child_index < children_.size()) { |
|
David Tseng
2013/10/23 16:42:46
I'm confused by this indexing logic; child_index
dmazzoni
2013/10/30 16:45:26
Ack! Yes, you found a longstanding bug. We never c
|
| *node = NULL; |
| return S_FALSE; |
| } |