OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/accessibility/browser_accessibility_manager_android.h" | 5 #include "content/browser/accessibility/browser_accessibility_manager_android.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <cmath> | 9 #include <cmath> |
10 | 10 |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
136 | 136 |
137 // Always send AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED to notify | 137 // Always send AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED to notify |
138 // the Android system that the accessibility hierarchy rooted at this | 138 // the Android system that the accessibility hierarchy rooted at this |
139 // node has changed. | 139 // node has changed. |
140 Java_BrowserAccessibilityManager_handleContentChanged( | 140 Java_BrowserAccessibilityManager_handleContentChanged( |
141 env, obj.obj(), node->GetId()); | 141 env, obj.obj(), node->GetId()); |
142 | 142 |
143 switch (event_type) { | 143 switch (event_type) { |
144 case ui::AX_EVENT_LOAD_COMPLETE: | 144 case ui::AX_EVENT_LOAD_COMPLETE: |
145 Java_BrowserAccessibilityManager_handlePageLoaded( | 145 Java_BrowserAccessibilityManager_handlePageLoaded( |
146 env, obj.obj(), focus_->id()); | 146 env, obj.obj(), GetFocus()->GetId()); |
147 break; | 147 break; |
148 case ui::AX_EVENT_FOCUS: | 148 case ui::AX_EVENT_FOCUS: |
149 Java_BrowserAccessibilityManager_handleFocusChanged( | 149 Java_BrowserAccessibilityManager_handleFocusChanged( |
150 env, obj.obj(), node->GetId()); | 150 env, obj.obj(), node->GetId()); |
151 break; | 151 break; |
152 case ui::AX_EVENT_CHECKED_STATE_CHANGED: | 152 case ui::AX_EVENT_CHECKED_STATE_CHANGED: |
153 Java_BrowserAccessibilityManager_handleCheckStateChanged( | 153 Java_BrowserAccessibilityManager_handleCheckStateChanged( |
154 env, obj.obj(), node->GetId()); | 154 env, obj.obj(), node->GetId()); |
155 break; | 155 break; |
156 case ui::AX_EVENT_CLICKED: | 156 case ui::AX_EVENT_CLICKED: |
(...skipping 19 matching lines...) Expand all Loading... |
176 base::android::ConvertUTF16ToJavaString( | 176 base::android::ConvertUTF16ToJavaString( |
177 env, android_node->GetText()).obj()); | 177 env, android_node->GetText()).obj()); |
178 break; | 178 break; |
179 } | 179 } |
180 case ui::AX_EVENT_TEXT_SELECTION_CHANGED: | 180 case ui::AX_EVENT_TEXT_SELECTION_CHANGED: |
181 Java_BrowserAccessibilityManager_handleTextSelectionChanged( | 181 Java_BrowserAccessibilityManager_handleTextSelectionChanged( |
182 env, obj.obj(), node->GetId()); | 182 env, obj.obj(), node->GetId()); |
183 break; | 183 break; |
184 case ui::AX_EVENT_TEXT_CHANGED: | 184 case ui::AX_EVENT_TEXT_CHANGED: |
185 case ui::AX_EVENT_VALUE_CHANGED: | 185 case ui::AX_EVENT_VALUE_CHANGED: |
186 if (android_node->IsEditableText() && GetFocus(GetRoot()) == node) { | 186 if (android_node->IsEditableText() && GetFocus() == node) { |
187 Java_BrowserAccessibilityManager_handleEditableTextChanged( | 187 Java_BrowserAccessibilityManager_handleEditableTextChanged( |
188 env, obj.obj(), node->GetId()); | 188 env, obj.obj(), node->GetId()); |
189 } else if (android_node->IsSlider()) { | 189 } else if (android_node->IsSlider()) { |
190 Java_BrowserAccessibilityManager_handleSliderChanged( | 190 Java_BrowserAccessibilityManager_handleSliderChanged( |
191 env, obj.obj(), node->GetId()); | 191 env, obj.obj(), node->GetId()); |
192 } | 192 } |
193 break; | 193 break; |
194 default: | 194 default: |
195 // There are some notifications that aren't meaningful on Android. | 195 // There are some notifications that aren't meaningful on Android. |
196 // It's okay to skip them. | 196 // It's okay to skip them. |
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
489 BrowserAccessibility* node = GetFromID(id); | 489 BrowserAccessibility* node = GetFromID(id); |
490 if (node) | 490 if (node) |
491 DoDefaultAction(*node); | 491 DoDefaultAction(*node); |
492 } | 492 } |
493 | 493 |
494 void BrowserAccessibilityManagerAndroid::Focus(JNIEnv* env, | 494 void BrowserAccessibilityManagerAndroid::Focus(JNIEnv* env, |
495 const JavaParamRef<jobject>& obj, | 495 const JavaParamRef<jobject>& obj, |
496 jint id) { | 496 jint id) { |
497 BrowserAccessibility* node = GetFromID(id); | 497 BrowserAccessibility* node = GetFromID(id); |
498 if (node) | 498 if (node) |
499 SetFocus(node, true); | 499 SetFocus(*node); |
500 } | 500 } |
501 | 501 |
502 void BrowserAccessibilityManagerAndroid::Blur( | 502 void BrowserAccessibilityManagerAndroid::Blur( |
503 JNIEnv* env, | 503 JNIEnv* env, |
504 const JavaParamRef<jobject>& obj) { | 504 const JavaParamRef<jobject>& obj) { |
505 SetFocus(GetRoot(), true); | 505 SetFocus(*GetRoot()); |
506 } | 506 } |
507 | 507 |
508 void BrowserAccessibilityManagerAndroid::ScrollToMakeNodeVisible( | 508 void BrowserAccessibilityManagerAndroid::ScrollToMakeNodeVisible( |
509 JNIEnv* env, | 509 JNIEnv* env, |
510 const JavaParamRef<jobject>& obj, | 510 const JavaParamRef<jobject>& obj, |
511 jint id) { | 511 jint id) { |
512 BrowserAccessibility* node = GetFromID(id); | 512 BrowserAccessibility* node = GetFromID(id); |
513 if (node) | 513 if (node) |
514 ScrollToMakeVisible(*node, gfx::Rect(node->GetLocation().size())); | 514 ScrollToMakeVisible(*node, gfx::Rect(node->GetLocation().size())); |
515 } | 515 } |
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
852 BrowserAccessibilityManagerAndroid::UseRootScrollOffsetsWhenComputingBounds() { | 852 BrowserAccessibilityManagerAndroid::UseRootScrollOffsetsWhenComputingBounds() { |
853 // The Java layer handles the root scroll offset. | 853 // The Java layer handles the root scroll offset. |
854 return false; | 854 return false; |
855 } | 855 } |
856 | 856 |
857 bool RegisterBrowserAccessibilityManager(JNIEnv* env) { | 857 bool RegisterBrowserAccessibilityManager(JNIEnv* env) { |
858 return RegisterNativesImpl(env); | 858 return RegisterNativesImpl(env); |
859 } | 859 } |
860 | 860 |
861 } // namespace content | 861 } // namespace content |
OLD | NEW |