diff options
author | dmazzoni <dmazzoni@chromium.org> | 2014-11-25 16:26:53 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-11-26 00:27:19 +0000 |
commit | 639826dfcaaf4aa075c9b14981b21bb8f4eb51c1 (patch) | |
tree | 77dbd5d3988b6f6db377b0cbf308c5ef1a0d5922 /content/browser/accessibility/browser_accessibility_manager_android.cc | |
parent | 284f578ec2765122277d1313400b403d66485142 (diff) | |
download | chromium_src-639826dfcaaf4aa075c9b14981b21bb8f4eb51c1.zip chromium_src-639826dfcaaf4aa075c9b14981b21bb8f4eb51c1.tar.gz chromium_src-639826dfcaaf4aa075c9b14981b21bb8f4eb51c1.tar.bz2 |
Only load inline text boxes for the node that has accessibility focus.
This is a significant optimization for Android accessibility; avoiding
loading inline text boxes on the whole tree makes page loads 20% faster,
but we can still get all of the benefit by tracking which node has
accessibility focus and loading inline text boxes for only that subtree,
asynchronously.
Depends on: https://codereview.chromium.org/700373007
BUG=378810
Review URL: https://codereview.chromium.org/743413002
Cr-Commit-Position: refs/heads/master@{#305737}
Diffstat (limited to 'content/browser/accessibility/browser_accessibility_manager_android.cc')
-rw-r--r-- | content/browser/accessibility/browser_accessibility_manager_android.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/content/browser/accessibility/browser_accessibility_manager_android.cc b/content/browser/accessibility/browser_accessibility_manager_android.cc index 8bc13c8..fd4e0ff 100644 --- a/content/browser/accessibility/browser_accessibility_manager_android.cc +++ b/content/browser/accessibility/browser_accessibility_manager_android.cc @@ -122,6 +122,9 @@ void BrowserAccessibilityManagerAndroid::NotifyAccessibilityEvent( if (event_type == ui::AX_EVENT_HIDE) return; + if (event_type == ui::AX_EVENT_TREE_CHANGED) + return; + if (event_type == ui::AX_EVENT_HOVER) { HandleHoverEvent(node); return; @@ -715,6 +718,12 @@ bool BrowserAccessibilityManagerAndroid::PreviousAtGranularity( return true; } +void BrowserAccessibilityManagerAndroid::SetAccessibilityFocus( + JNIEnv* env, jobject obj, jint id) { + if (delegate_) + delegate_->AccessibilitySetAccessibilityFocus(id); +} + void BrowserAccessibilityManagerAndroid::OnRootChanged(ui::AXNode* new_root) { JNIEnv* env = AttachCurrentThread(); ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); |