| 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 #ifndef CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_ANDROID_H_ | 5 #ifndef CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_ANDROID_H_ |
| 6 #define CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_ANDROID_H_ | 6 #define CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_ANDROID_H_ |
| 7 | 7 |
| 8 #include "base/android/scoped_java_ref.h" | 8 #include "base/android/scoped_java_ref.h" |
| 9 #include "content/browser/accessibility/browser_accessibility_manager.h" | 9 #include "content/browser/accessibility/browser_accessibility_manager.h" |
| 10 #include "content/browser/android/content_view_core_impl.h" | 10 #include "content/browser/android/content_view_core_impl.h" |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 virtual void NotifyAccessibilityEvent( | 36 virtual void NotifyAccessibilityEvent( |
| 37 ui::AXEvent event_type, BrowserAccessibility* node) OVERRIDE; | 37 ui::AXEvent event_type, BrowserAccessibility* node) OVERRIDE; |
| 38 | 38 |
| 39 // -------------------------------------------------------------------------- | 39 // -------------------------------------------------------------------------- |
| 40 // Methods called from Java via JNI | 40 // Methods called from Java via JNI |
| 41 // -------------------------------------------------------------------------- | 41 // -------------------------------------------------------------------------- |
| 42 | 42 |
| 43 // Tree methods. | 43 // Tree methods. |
| 44 jint GetRootId(JNIEnv* env, jobject obj); | 44 jint GetRootId(JNIEnv* env, jobject obj); |
| 45 jboolean IsNodeValid(JNIEnv* env, jobject obj, jint id); | 45 jboolean IsNodeValid(JNIEnv* env, jobject obj, jint id); |
| 46 jint HitTest(JNIEnv* env, jobject obj, jint x, jint y); | 46 void HitTest(JNIEnv* env, jobject obj, jint x, jint y); |
| 47 | 47 |
| 48 // Populate Java accessibility data structures with info about a node. | 48 // Populate Java accessibility data structures with info about a node. |
| 49 jboolean PopulateAccessibilityNodeInfo( | 49 jboolean PopulateAccessibilityNodeInfo( |
| 50 JNIEnv* env, jobject obj, jobject info, jint id); | 50 JNIEnv* env, jobject obj, jobject info, jint id); |
| 51 jboolean PopulateAccessibilityEvent( | 51 jboolean PopulateAccessibilityEvent( |
| 52 JNIEnv* env, jobject obj, jobject event, jint id, jint event_type); | 52 JNIEnv* env, jobject obj, jobject event, jint id, jint event_type); |
| 53 | 53 |
| 54 // Perform actions. | 54 // Perform actions. |
| 55 void Click(JNIEnv* env, jobject obj, jint id); | 55 void Click(JNIEnv* env, jobject obj, jint id); |
| 56 void Focus(JNIEnv* env, jobject obj, jint id); | 56 void Focus(JNIEnv* env, jobject obj, jint id); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 76 // constructor. | 76 // constructor. |
| 77 friend class BrowserAccessibilityManager; | 77 friend class BrowserAccessibilityManager; |
| 78 | 78 |
| 79 // A weak reference to the Java BrowserAccessibilityManager object. | 79 // A weak reference to the Java BrowserAccessibilityManager object. |
| 80 // This avoids adding another reference to BrowserAccessibilityManager and | 80 // This avoids adding another reference to BrowserAccessibilityManager and |
| 81 // preventing garbage collection. | 81 // preventing garbage collection. |
| 82 // Premature garbage collection is prevented by the long-lived reference in | 82 // Premature garbage collection is prevented by the long-lived reference in |
| 83 // ContentViewCore. | 83 // ContentViewCore. |
| 84 JavaObjectWeakGlobalRef java_ref_; | 84 JavaObjectWeakGlobalRef java_ref_; |
| 85 | 85 |
| 86 // Searches through the children of start_node to find the nearest | 86 // Handle a hover event from the renderer process. |
| 87 // accessibility focus candidate for a touch which has not landed directly on | 87 void HandleHoverEvent(BrowserAccessibility* node); |
| 88 // an accessibility focus candidate. | |
| 89 BrowserAccessibility* FuzzyHitTest( | |
| 90 int x, int y, BrowserAccessibility* start_node); | |
| 91 | |
| 92 static void FuzzyHitTestImpl(int x, int y, BrowserAccessibility* start_node, | |
| 93 BrowserAccessibility** nearest_candidate, int* min_distance); | |
| 94 | |
| 95 // Calculates the distance from the point (x, y) to the nearest point on the | |
| 96 // edge of |node|. | |
| 97 static int CalculateDistanceSquared(int x, int y, BrowserAccessibility* node); | |
| 98 | 88 |
| 99 DISALLOW_COPY_AND_ASSIGN(BrowserAccessibilityManagerAndroid); | 89 DISALLOW_COPY_AND_ASSIGN(BrowserAccessibilityManagerAndroid); |
| 100 }; | 90 }; |
| 101 | 91 |
| 102 bool RegisterBrowserAccessibilityManager(JNIEnv* env); | 92 bool RegisterBrowserAccessibilityManager(JNIEnv* env); |
| 103 | 93 |
| 104 } | 94 } |
| 105 | 95 |
| 106 #endif // CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_ANDROID_H
_ | 96 #endif // CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_ANDROID_H
_ |
| OLD | NEW |