summaryrefslogtreecommitdiffstats
path: root/content/browser/accessibility/browser_accessibility.h
diff options
context:
space:
mode:
authordmazzoni <dmazzoni@chromium.org>2015-01-15 16:33:37 -0800
committerCommit bot <commit-bot@chromium.org>2015-01-16 00:35:09 +0000
commite8091802505a507bb6c11683fe77cf7b1d455e6d (patch)
treea42a7a52dec35bdf9e49c790dd98ef9aa8170391 /content/browser/accessibility/browser_accessibility.h
parentafd6d92c4bd52b46fa70bab5b962b5d75f8cef55 (diff)
downloadchromium_src-e8091802505a507bb6c11683fe77cf7b1d455e6d.zip
chromium_src-e8091802505a507bb6c11683fe77cf7b1d455e6d.tar.gz
chromium_src-e8091802505a507bb6c11683fe77cf7b1d455e6d.tar.bz2
Fix focus and bounds calculations for guest frames.
Two fixes for accessibility of out-of-process iframes and guest frames (e.g. <webview>): 1. BrowserAccessibilityManager::GetFocus should return the focused node from a child frame. 2. BrowserAccessibilityManager::GetLocalBoundsRect and BrowserAccessibilityCocoa::pointInScreen need to correctly take child frames into account. This is sufficient for correct spoken feedback and UI element bounding rects in VoiceOver when tabbing into and out of an out-of-process iframe or <webview> guest frame. There may be other bugs, but simple examples work in VoiceOver now. BUG=330307,368298 Review URL: https://codereview.chromium.org/849143003 Cr-Commit-Position: refs/heads/master@{#311777}
Diffstat (limited to 'content/browser/accessibility/browser_accessibility.h')
-rw-r--r--content/browser/accessibility/browser_accessibility.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/content/browser/accessibility/browser_accessibility.h b/content/browser/accessibility/browser_accessibility.h
index e399b86..37f2fe0 100644
--- a/content/browser/accessibility/browser_accessibility.h
+++ b/content/browser/accessibility/browser_accessibility.h
@@ -267,6 +267,11 @@ class CONTENT_EXPORT BrowserAccessibility {
// including this object if it's static text.
int GetStaticTextLenRecursive() const;
+ // Similar to GetParent(), but includes nodes that are the host of a
+ // subtree rather than skipping over them - because they contain important
+ // bounds offsets.
+ BrowserAccessibility* GetParentForBoundsCalculation() const;
+
std::string name_;
std::string value_;