Commit Graph

1436 Commits

Author SHA1 Message Date
Leon Scroggins
22e883dd4a For Textareas, do not use UI side layers.
Bug:3402831
Bug:3401242

Requires a change in external/webkit.

Change-Id: I391d9133b3953d213520cbba5ed49b11ebeaef2d
2011-01-31 11:05:53 -05:00
John Reck
636ce004df Prevent SET_SCROLL_OFFSET spam from clogging tubes
Bug: 3393571
 Limit the event queue to a single pending SET_SCROLL_OFFSET. The
 problem on slashdot.org was that the event thread was being flooded
 with SET_SCROLL_OFFSET messages faster than it could process them,
 causing the handler to get jammed up.

Change-Id: Ia4a90a030959d0b3769067791089cdb261ae403a
2011-01-30 16:23:09 -08:00
Leon Scroggins
e891a115a0 Merge "Only send a direction key if we are not in touch mode." into honeycomb 2011-01-28 10:32:35 -08:00
Chet Haase
fe38b7b793 Merge "Fix artifact with clipped webview content" into honeycomb 2011-01-28 10:16:54 -08:00
Leon Scroggins
572ba78202 Only send a direction key if we are not in touch mode.
Bug:3395047

requestFocus() sends a direction key, in case the user
focused the WebView using that direction key.  However,
in touch mode, the user used touch to give focus, so
do not send a directional key.

Change-Id: I052d30639d1caefd39077b0498a1e0d21c157a9a
2011-01-28 11:26:45 -05:00
Ben Murdoch
c38b7c820a Merge "Implement the double tap to zoom animation with HW accleration." into honeycomb 2011-01-28 02:27:38 -08:00
Chet Haase
91fc3cf3b6 Fix artifact with clipped webview content
We were incorrectly calculating the webview viewport in cases
where the viewport was clipped. We now pass down null for the
viewport, which is an indicator for the native code to noop
drawGL calls with a null viewport.

Change-Id: Iecf191eb447869819e357a15a360f0f08c47c273
2011-01-28 00:20:04 -08:00
Derek Sollenberger
8f9fb94741 Merge "Add Plugin API for controling the device power states" into honeycomb 2011-01-27 15:26:53 -08:00
Derek Sollenberger
f3196cd70a Add Plugin API for controling the device power states
This is an initial API that will allow the plugin to request to
keep the screen on.

companion change is in external/webkit

bug: 3331493
Change-Id: Ic18787e7ecd705a5b2e31a34ea884fd39ad9d11a
2011-01-27 18:00:14 -05:00
Huahui Wu
c7939b1750 b/3347670 Support installing online certs to the system keystore.
Requires another CL in external/webkit.
    https://android-git.corp.google.com/g/#change,93328

Change-Id: I33d642d370ddf330199f2b296d5f8b08923e49cd
2011-01-27 09:51:37 -08:00
Ben Murdoch
811ba6c6a2 Implement the double tap to zoom animation with HW accleration.
Bug: 3164010

Change-Id: I6d3b5973ee0aa95dd810755263e615e226cc965b
2011-01-27 15:41:48 +00:00
Michael Kolb
85fd2c9102 Merge "fix incognito url loading" into honeycomb 2011-01-26 19:21:49 -08:00
Michael Kolb
2c8b1f77a3 fix incognito url loading
http://b/issue?id=3349090
    removed the loading of the "browser:incognito" url

Change-Id: I47f952d372b4d69e91d4b29b3b5e5ec46a4f4fc3
2011-01-26 19:16:11 -08:00
Svetoslav Ganov
df4672643b Merge "Final polish of WebView accessibility support for no JavaScript case." into honeycomb 2011-01-26 14:39:47 -08:00
Shimeng (Simon) Wang
078378624c Merge "Fine tune the high memory threshold and usage delta for v8 GC." into honeycomb 2011-01-26 13:23:58 -08:00
Shimeng (Simon) Wang
7114f3bf6d Fine tune the high memory threshold and usage delta for v8 GC.
This will help reduce a bit more v8 GC for heavy web sites.

issue: 3317574
Change-Id: I5f93f9311fc864fb13933f92ff402e00c0e6fcdf
2011-01-26 11:56:30 -08:00
Leon Scroggins
8b2d4825e1 Merge "Move last touch point when moving the cursor node." into honeycomb 2011-01-26 10:06:42 -08:00
Leon Scroggins
cef1c59efc Move last touch point when moving the cursor node.
Bug:3241968
Bug:3387455

The code was already in place, but needs to happen before we
return if mHeightCanMeasure == false.

Change-Id: Ic07dac4c4471bf4e2189f3fee322adeb23703f41
2011-01-26 11:13:24 -05:00
Svetoslav Ganov
9504f5753d 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
2011-01-26 06:26:43 -08:00
Patrick Scott
c45ec3440b Merge "Turn off picture splitting for now." into honeycomb 2011-01-26 05:48:53 -08:00
Patrick Scott
85b69e0390 Turn off picture splitting for now.
Splitting the content was causing a mismatch between the base content picture
and composited layers.  It was also happening on every single inval.

Bug: 3372320
Change-Id: I09da2d0f3cba028c355ceba2b4c8e34da5a77028
2011-01-25 15:19:45 -05:00
Brian Carlstrom
8d37c4efeb Merge "Tracking jarjar of org.bouncycastle to com.android.org.bouncycastle" into honeycomb 2011-01-25 10:58:02 -08:00
Shimeng (Simon) Wang
c1e7f2d371 Merge "Set high usage delta to 1 to avoid constant V8 GC." into honeycomb 2011-01-25 10:27:24 -08:00
Shimeng (Simon) Wang
7c1bcfddcd Set high usage delta to 1 to avoid constant V8 GC.
This value will be passed to native webkit to V8.

3 consecutive dromaeo DOM core are run, there's no crash.
Because of assets change, Passion browser can't be run; this will
need to be checked in I release, I think

issue: 3317722
Change-Id: Ifa6e4116f76f395d98db9f8336f91dc9de6bf125
2011-01-25 09:55:11 -08:00
Brian Carlstrom
4140faeebb Tracking jarjar of org.bouncycastle to com.android.org.bouncycastle
Bug: 3086427
Change-Id: I7af99fe4c36d9a519777f0499ccab65646313879
2011-01-24 18:17:21 -08:00
John Reck
9b2a59bdd2 Docs for Origin
Bug: 3370302

Change-Id: I44c8856d3f5e4b5e21c2745c1ef07a30526a1dd0
2011-01-24 17:54:09 -08:00
Leon Scroggins
8801ad3526 Merge "Disable focus controller when WebView loses focus." into honeycomb 2011-01-24 15:02:10 -08:00
Leon Scroggins
b4ffd11284 Disable focus controller when WebView loses focus.
Bug:3370821
Change-Id: Ia26a54e1c5ec050d76e60762f9a5eb4502d8c6e3
2011-01-24 17:43:47 -05:00
Huahui Wu
f93246923f A few small cleanning-ups.
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
2011-01-24 12:07:37 -08:00
Chet Haase
daf98e941e Use optimized display lists for all hwaccelerated rendering
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
2011-01-24 08:43:20 -08:00
Bart Sears
e2ff529b3f Merge "b/3377597 Improve zooming performance." into honeycomb 2011-01-21 18:47:13 -08:00
Huahui Wu
5d4064c863 b/3377597 Improve zooming performance.
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
2011-01-21 16:30:57 -08:00
Michael Kolb
debb5bbe81 Merge "Add public API for on screen zoom controls" into honeycomb 2011-01-21 14:47:30 -08:00
Michael Kolb
5840cd294a Add public API for on screen zoom controls
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
2011-01-21 14:15:16 -08:00
Leon Scroggins
a51063c059 Restart input when the webpage changes the text.
Bug:3375518
Change-Id: I0a18d0ca764ce428d86bd5f6d13f8764668acea6
2011-01-21 17:14:36 -05:00
Leon Scroggins
d5188657dc Do a better job of lining up text with page text.
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
2011-01-21 15:42:03 -05:00
Shimeng (Simon) Wang
66064914fc Keep min/max zoom scale in proportion when zoom density changes.
issue: 3341610
Change-Id: Ibf87ab499e28fddab81d4e354ec7d88f5eb86261
2011-01-20 17:45:34 -08:00
Huahui Wu
292f39c120 Merge "b/3350774 Enforce clearing the flag mIsHandlingMultiTouch." into honeycomb 2011-01-20 11:08:33 -08:00
Huahui Wu
bc7c148285 b/3350774 Enforce clearing the flag mIsHandlingMultiTouch.
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
2011-01-20 09:23:09 -08:00
Iain Merrick
b890e758ef Add BrowserFrame.setCertificate() method.
This is needed for the Chrome HTTP stack to report SSL
certificates to WebView, in order to pass the CTS.

Change-Id: I0752a836ebaea21eae2084f037b18de4168f271f
2011-01-20 15:33:41 +00:00
Kristian Monsen
7450a32bab Merge "Clear the files we copy over to the temp cache" into honeycomb 2011-01-20 06:33:55 -08:00
Kristian Monsen
cedb3a7e58 Clear the files we copy over to the temp cache
Fixes CTS tests

Change-Id: I3464ac90e58a9df21379a8da9d637f4f5ee69b85
2011-01-20 14:31:20 +00:00
Huahui Wu
1f30125c1c b/3350774 avoid screen jumping when pinching to zoom.
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
2011-01-19 18:14:09 -08:00
Shimeng (Simon) Wang
b501f77f1f Merge "Use rounded interger to represent the last touch point." into honeycomb 2011-01-19 13:58:57 -08:00
Shimeng (Simon) Wang
1e07da3651 Use rounded interger to represent the last touch point.
This prevents loss of delta calculation accurracy when dragging, which
was done in float and converted to integer.

issue: 3366067
Change-Id: Ia121a6ef4619c9abfb1f76a01db3272d41d02b81
2011-01-19 13:19:56 -08:00
Derek Sollenberger
aa2275e31d Fix complex character support for plugins.
bug: 3369527
Change-Id: I48c3442d7de54589f9f9578f6375b7ad291677db
2011-01-19 16:18:04 -05:00
Leon Scroggins
3be1ffab08 Only scroll on screen when necessary.
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
2011-01-19 13:18:59 -05:00
Kristian Monsen
c40fc87147 Need to sync the cache settings to native side
Fix for cts tests

Change-Id: I554f1240c16b2c2e68810e54d0ff99d13288a6a8
2011-01-19 15:44:04 +00:00
Ben Murdoch
6e710b4feb Merge "Maintain the seek position in HTML5 video" into honeycomb 2011-01-19 07:34:49 -08:00
Leon Scroggins
407772390f Make WebView inactive when title bar takes focus.
Bug:3296938
Change-Id: I656e8582044acf3b0e9b417f41337833fe72c181
2011-01-19 09:41:06 -05:00