diff options
| author | Svetoslav Ganov <svetoslavganov@google.com> | 2011-01-14 11:38:17 -0800 |
|---|---|---|
| committer | Svetoslav Ganov <svetoslavganov@google.com> | 2011-01-26 06:26:43 -0800 |
| commit | 9504f5753db3309b67e74ccecb400a18d23ca2d1 (patch) | |
| tree | 7799e1a18a82352b431043b9275d86243034e659 /core/java/android/webkit/WebView.java | |
| parent | c45ec3440bcdc00542e5e08cfa7ba29593cb7609 (diff) | |
| download | frameworks_base-9504f5753db3309b67e74ccecb400a18d23ca2d1.zip frameworks_base-9504f5753db3309b67e74ccecb400a18d23ca2d1.tar.gz frameworks_base-9504f5753db3309b67e74ccecb400a18d23ca2d1.tar.bz2 | |
Final polish of WebView accessibility support for no JavaScript case.
1. Added tests for the new code added by change:I5a796aef
2. WebCore thread now calls the UI thread to set the cursor to
the current position enabling the user to interact with
the content that is being selected on the page.
3. Removed the code that changes the selection on movement of the
cursor ring. We are dropping the "default web view behavior"
as granularity of reading the document since with this change
a user can freely access inputs/buttons/links.
Change-Id: I7a3f6677eff0bc95e8127973d07cec78e3465c7b
Diffstat (limited to 'core/java/android/webkit/WebView.java')
| -rw-r--r-- | core/java/android/webkit/WebView.java | 35 |
1 files changed, 10 insertions, 25 deletions
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index cf1ce6b..9bd57cd 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -16,9 +16,6 @@ package android.webkit; -import android.view.HardwareCanvas; -import com.android.internal.R; - import android.annotation.Widget; import android.app.AlertDialog; import android.content.BroadcastReceiver; @@ -31,7 +28,6 @@ import android.content.IntentFilter; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.res.Configuration; -import android.content.res.Resources; import android.database.DataSetObserver; import android.graphics.Bitmap; import android.graphics.BitmapFactory; @@ -57,7 +53,6 @@ import android.os.AsyncTask; import android.os.Bundle; import android.os.Handler; import android.os.Message; -import android.os.SystemClock; import android.provider.Settings; import android.speech.tts.TextToSpeech; import android.text.Selection; @@ -66,6 +61,7 @@ import android.util.AttributeSet; import android.util.EventLog; import android.util.Log; import android.view.Gravity; +import android.view.HardwareCanvas; import android.view.KeyCharacterMap; import android.view.KeyEvent; import android.view.LayoutInflater; @@ -92,7 +88,6 @@ import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; import android.widget.CheckedTextView; -import android.widget.EdgeGlow; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.OverScroller; @@ -677,6 +672,8 @@ public class WebView extends AbsoluteLayout static final int SET_AUTOFILLABLE = 133; static final int AUTOFILL_COMPLETE = 134; + static final int SELECT_AT = 135; + private static final int FIRST_PACKAGE_MSG_ID = SCROLL_TO_MSG_ID; private static final int LAST_PACKAGE_MSG_ID = SET_TOUCH_HIGHLIGHT_RECTS; @@ -728,7 +725,8 @@ public class WebView extends AbsoluteLayout "SET_TOUCH_HIGHLIGHT_RECTS", // = 131; "SAVE_WEBARCHIVE_FINISHED", // = 132; "SET_AUTOFILLABLE", // = 133; - "AUTOFILL_COMPLETE" // = 134; + "AUTOFILL_COMPLETE", // = 134; + "SELECT_AT" // = 135; }; // If the site doesn't use the viewport meta tag to specify the viewport, @@ -7600,6 +7598,10 @@ public class WebView extends AbsoluteLayout } break; + case SELECT_AT: + nativeSelectAt(msg.arg1, msg.arg2); + break; + default: super.handleMessage(msg); break; @@ -7957,24 +7959,6 @@ public class WebView extends AbsoluteLayout cursorData()); } - /* - * Called from JNI when the cursor has moved. This method - * sends a message to the WebCore requesting the given - * nodePtr in the given framePrt to be selected which will - * result in firing an accessibility event announing its - * content. - * - * Note: Accessibility support. - */ - @SuppressWarnings("unused") - // called from JNI - private void sendMoveSelection(int framePtr, int nodePtr) { - if (AccessibilityManager.getInstance(mContext).isEnabled() - && mAccessibilityInjector != null) { - mWebViewCore.sendMessage(EventHub.MOVE_SELECTION, framePtr, nodePtr); - } - } - /** * Called by JNI to send a message to the webcore thread that the user * touched the webpage. @@ -8283,6 +8267,7 @@ public class WebView extends AbsoluteLayout private native Point nativeSelectableText(); private native void nativeSelectAll(); private native void nativeSelectBestAt(Rect rect); + private native void nativeSelectAt(int x, int y); private native int nativeSelectionX(); private native int nativeSelectionY(); private native int nativeFindIndex(); |
