| 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 |