Commit Graph

1410 Commits

Author SHA1 Message Date
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
Ben Murdoch
ff19d19e01 Maintain the seek position in HTML5 video
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
2011-01-19 11:48:15 +00:00
Romain Guy
745a529249 Merge "Smoother pinch-zoom in Browser." into honeycomb 2011-01-18 15:55:31 -08:00
John Reck
c098c1d348 Merge "Create db path if it doesn't exit" into honeycomb 2011-01-18 15:53:33 -08:00
Romain Guy
4f066784ec Smoother pinch-zoom in Browser.
Change-Id: Ie5a403b76ab25483a980324cd7b31976359fa796
2011-01-18 15:43:46 -08:00
John Reck
798378ee6c Create db path if it doesn't exit
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
2011-01-18 15:42:49 -08:00
John Reck
d00207ff87 Merge "WebStorage public API change" into honeycomb 2011-01-18 11:10:26 -08:00
Derek Sollenberger
788c51852a Merge "Fix smart zoom for plugins that use OpenGL." into honeycomb 2011-01-18 10:38:34 -08:00
Ben Murdoch
e609241a76 Merge "Disable AutoFill in private browsing mode." into honeycomb 2011-01-18 10:07:01 -08:00
Derek Sollenberger
dd1173bc9b Fix smart zoom for plugins that use OpenGL.
bug: 3331323
Change-Id: I4f1d4e0ecdb75283fc781bf5afe579f43610506c
2011-01-18 13:02:07 -05:00
Ben Murdoch
4bd87d6e47 Disable AutoFill in private browsing mode.
Ensure that WebKit knows that AutoFill is disabled when private
browsing is on.

Bug: 3335257
Change-Id: I8c3e45175211e5cb00605c1dbf974e513c582d8e
2011-01-18 17:54:05 +00:00
Cary Clark
b2601359ea add interface to return if (x/y) is a plugin
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
2011-01-18 11:22:38 -05:00
Kristian Monsen
6f6b640950 Motorola request to fix proxy
Change-Id: I2beecc2bef5a21294cc5fab0f11d4026f8ad3c2d
2011-01-18 14:01:45 +00:00
Huahui Wu
cbe397f243 Merge "b/3348192 re-enable snap scrolling mode." into honeycomb 2011-01-14 13:03:23 -08:00
Huahui Wu
c010924da9 b/3348192 re-enable snap scrolling mode.
Change-Id: I19c9a2afdf28367f623bd9bd6b25e822a06a215c
2011-01-14 12:51:12 -08:00
Steve Block
e8492473a9 Hook up CacheManager for the Chromium HTTP stack
Requires a corresponding change in external/webkit
https://android-git.corp.google.com/g/87938

Bug: 3270236
Change-Id: Ibb6ee0531bde48d9b069de28f9f22891ca6d0718
2011-01-14 16:07:40 +00:00
Steve Block
1916e7f3a3 Adds a new WebViewFragment class
Cherry pick from master change 85641.

Bug: 3262357
Change-Id: Ife095f7db820bf0a2add682b47586854a4ea9499
2011-01-14 11:44:35 +00:00
Huahui Wu
bfbb089c7f Merge "b/3133123 Pass touch point ids to WebKit." into honeycomb 2011-01-13 17:02:33 -08:00
Huahui Wu
e838a42778 b/3133123 Pass touch point ids to WebKit.
This is the CL in framework side and it needs the WebKit part CL:
  https://android-git.corp.google.com/g/#change,89627

Change-Id: I11d4ffa29fa106d918332e6983090b06726ebd36
2011-01-13 16:47:17 -08:00
Huahui Wu
5587305109 Merge "b/3344966 pan following the focus point instead the first point." into honeycomb 2011-01-12 15:27:16 -08:00
Huahui Wu
f147d456a5 b/3344966 pan following the focus point instead the first point.
Change-Id: Iaed482c7c4e8a616cbabf8c5af706b8160c880b1
2011-01-12 14:38:30 -08:00
Leon Scroggins
1415bb7a94 Merge "Differentiate between clicks for focus and actual clicks." into honeycomb 2011-01-12 12:01:31 -08:00
Kristian Monsen
7a8f01abf9 Merge "Add a static method to get the InputStream of a content URL" into honeycomb 2011-01-12 11:15:20 -08:00
Kristian Monsen
6c5e4dc231 Merge "Adding a static method to get the size of a content url" into honeycomb 2011-01-12 11:15:09 -08:00
Leon Scroggins
b45a263343 Differentiate between clicks for focus and actual clicks.
Bug:3344162

Requires a change in external/webkit.

Change-Id: I6650a3084926fe4c241ccd7deca146e44460f29c
2011-01-12 14:13:28 -05:00
Huahui Wu
342bfbf94f Merge "b/3340946 Fix NPE caused by null gesture detector." into honeycomb 2011-01-12 10:57:51 -08:00
Huahui Wu
8465cc9d88 b/3340946 Fix NPE caused by null gesture detector.
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
2011-01-12 10:37:11 -08:00