summaryrefslogtreecommitdiffstats
path: root/content/browser/accessibility/browser_accessibility_manager_android.cc
diff options
context:
space:
mode:
authordmazzoni <dmazzoni@chromium.org>2014-11-25 16:26:53 -0800
committerCommit bot <commit-bot@chromium.org>2014-11-26 00:27:19 +0000
commit639826dfcaaf4aa075c9b14981b21bb8f4eb51c1 (patch)
tree77dbd5d3988b6f6db377b0cbf308c5ef1a0d5922 /content/browser/accessibility/browser_accessibility_manager_android.cc
parent284f578ec2765122277d1313400b403d66485142 (diff)
downloadchromium_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.cc9
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);