1. Remove mDeferMultiTouch in WebView, it was for testing only but
we don't need it now since we always pass MultiTouch to WebKit.
2. Remove the use of mDeferMultiTouch in DRT tests.
3. Correct the index of getX(Y) for the second touch point in the
debug string of MotionEvent.
Change-Id: Ib63cfc5935af1a169ed26b2b138f74908492bc18
Previously, display lists were used only if hardware acceleration
was enabled for an application (hardwareAccelerated=true) *and* if
setDrawingCacheEnabled(true) was called. This change makes the framework
use display lists for all views in an application if hardware acceleration
is enabled.
In addition, display list renderering has been optimized so that
any view's recreation of its own display list (which is necessary whenever
the visuals of that view change) will not cause any other display list
in its parent hierarchy to change. Instead, when there are any visual
changes in the hierarchy, only those views which need to have new
display list content will recreate their display lists.
This optimization works by caching display list references in each
parent display list (so the container of some child will refer to its
child's display list by a reference to the child's display list). Then when
a view needs to recreate its display list, it will do so inside the same
display list object. This will cause the content to get refreshed, but not
the reference to that content. Then when the view hierarchy is redrawn,
it will automatically pick up the new content from the old reference.
This optimization will not necessarily improve performance when applications
need to update the entire view hierarchy or redraw the entire screen, but it does
show significant improvements when redrawing only a portion of the screen,
especially when the regions that are not refreshed are complex and time-
consuming to redraw.
Change-Id: I68d21cac6a224a05703070ec85253220cb001eb4
Once WebKit claimed it doesn't want to consume the multi-touch events,
we remember that and handle the events in WebView directly.
Change-Id: Idfc99c16b3f4d7f4719791c64fb2355ff66aba5e
http://b/issue?id=3378224
This is a simple unhide.
Allow the use of WebView pinch-to-zoom gestures
without the on screen zoom controls.
Currently, enabling pinch to zoom with the public API also shows the
on screen zoom buttons.
If the zoom buttons are not wanted, a custom implementation of pinch to
zoom is required, which can't be done correctly at this point.
Change-Id: I3f94080471c3a4b498b11c91603fff9994dc3c2c
Bug:3085564
Bug:3196224
Bug:3321608
Remove Touch.getMaxScrollX(), which is incorrect for my
purpose, and is not used anywhere else. Instead use the
layout to determine the maximum horizontal scroll of a
textfield.
Now that textareas use layers, scroll the layer's picture
in the UI thread for vertical movement. When passing a
click to webcore, also pass a message to scroll the actual
textarea so the click will be in the correct place.
Lastly, do not override bringPointIntoView, which allows
moving the insertion handler beyond the edge of a field to
scroll it. Instead, override requestRectangleOnScreen to
do nothing, since my actual goal is to prevent the TextView
from changing the scroll of the WebView, which is done by
webkit.
Requires a change to external/webkit.
Change-Id: Ib91907599b792287c373d3678cb04e0cb5e34471
b/3350774 was fixed by https://android-git.corp.google.com/g/#change,91337
But there is small chance that the flag mIsHandlingMultiTouch is not cleared
correctly. This CL enforces to clear the flag.
Change-Id: I79ba6b401a7d7b3c772d3f123912343491551507
This is needed for the Chrome HTTP stack to report SSL
certificates to WebView, in order to pass the CTS.
Change-Id: I0752a836ebaea21eae2084f037b18de4168f271f
After the change that sends multi-touch to WebKit first, there is
a chance that the single-touch move event is handled before multi-
touch events are finished and this makes the page jumps.
This change skips those single-touch move events to avoid that.
Change-Id: I03992ef18c1de8e07933bd7cc6c12ffc02c014a8
This prevents loss of delta calculation accurracy when dragging, which
was done in float and converted to integer.
issue: 3366067
Change-Id: Ia121a6ef4619c9abfb1f76a01db3272d41d02b81
Bug:3367446
bringPointIntoView was called by TextView in onPreDraw. This was
passing a message to the webcore thread to change the scroll
position. This is unnecessary, because typically the scroll
position will be changed by webkit when keys are pressed. The
one situation where this helped was when the user taps on a
textfield, which brings up the IME, which may cover it. A better
solution is to tell webkit to scroll it on screen once the
screen size changes. I have a CL in external/webkit to do that:
https://android-git.corp.google.com/g/#change,91095
Change-Id: I6e06ad59e1a1c99365bb5be635a43d1b88658c0d
Receive the current seek position from native when we start
playing a video. That way is we are returning from pause we correctly
continue where we left off.
Requires and external/webkit change.
(I6001f45a362f491e9040c8b52260d0a08fb8504f)
Bug:3303721
Change-Id: I6b92289d4ef36bba1e0429327917533a4101655d
Bug: 3241808
Make sure the directory the caller is trying to open the icon db
in actually exists and create it if it doesn't.
Change-Id: Ie5e4a09210e9430edc318846a551542119969053
Use the nav cache to determine if a given
coordinate corresponds to a plugin.
Requires a companion change in external/webkit
bug:3331323
Change-Id: I07d7fdfd643768d600cd6ba81165fac8b553a77f
Gmail use WebView without instantiating the gesture detector. The Gmail team replied that they don't need the pinch to zoom feature so we can safely skip multi-touch events for them.
Change-Id: Id60a4d4583979ef5b420fff04c4ca097c0594024