Commit Graph

1259 Commits

Author SHA1 Message Date
Mindy Pereira
3331f2be93 Make webview edges behave the same way abslistview overscroll edges do.
The assets are not scaled to start before the left or after the
right edge of the view.
For the top edge, start the canvas for rendering the glow
after the title bar (if it is visible) or most of the glow
gets cut off.
Change-Id: Ia1a513fda4d1106d671919bb289aa83f8800c2c2
2010-12-06 17:22:42 -08:00
Iain Merrick
768ec6f2be Merge "Call flushCookieStore() from CookieSyncManager." 2010-12-06 05:40:48 -08:00
Iain Merrick
99f39771ab Call flushCookieStore() from CookieSyncManager.
I previously tried to make this a new public API, but I realised
it should actually hang off the existing code in CookieSyncManager.

Change-Id: Ic44334008266bad5ba1245cf674350a4c10712ce
2010-12-06 13:29:42 +00:00
Ben Murdoch
961d55fe00 Prevent autofilling directly after autofilling.
Clear the WebTextView's data adapter after autofill fills
out the form. This ensures that the dropdown disappears.

Change-Id: I2fd1e8b5d249f6ff3943d0a0b5d2f2b55beac70a
2010-12-06 10:37:22 +00:00
Shimeng (Simon) Wang
3712754941 Make sure the returned web view width is at least 0.
This will fix issue 3241963; since in WebViewCore.java there's a way
to deal with a 0-width view, but not with negative width.

issue: 3241963
Change-Id: I177bee48e53ba5108889bc2c06aebffbc6cb44c6
2010-12-03 16:34:00 -08:00
Teng-Hui Zhu
c99821d01a Fix the stretching issue when viewport change.
When native webkit code ask java to provide the visibleRect,
the calculation should not take the overscrolling into concern.

The original change was added for this issue, http://b/issue?id=2496502,
and we don't have overscroll any more, so it should be safe to
revert the original change.

bug:3212547

Change-Id: I57e3353b3277f83302ccfd9916a38aa691fa15c7
2010-12-03 10:59:19 -08:00
Dianne Hackborn
189ee18d6c Implement smarter sizing of WRAP_CONTENT windows.
This extends the view hierarchy's measure pass to allow view to
propagate up to their parent additional information besides just
their measured size.  They can now report that their measured width
and/or height should be larger than the size their parent is
limiting them to (even though by definition they need to contrain
their reported measurements to the limits imposed by the parent).

ViewRoot uses this information to determine if it should remeasure
the window with a larger size limit to try to make it fit.

Change-Id: I90af3b7a8ec45d0a5c003fb009857025209d83eb
2010-12-03 10:46:18 -08:00
Cary Clark
32820249ad abandon long press on scroll; clear hit on keydown
If the application scrolls the webview without allowing
WebView.java to receive the motion event, stop any long
press timer in progress. This prevents select text from
appearing in applications that host webviews and do their
own flinging.

If the cursor is moved with the dpad or trackball,
reset the hit test state used by long press. This allows
cts tests to run reliably; they emulate key presses
to move between links.

bug:3250291 (app fling)
bug:3241830 (cts fail)
Change-Id: Ida364051ffa090455ddc6c3c3dd41baea5615293
2010-12-03 10:52:07 -05:00
Patrick Scott
2f492277ea Attempt to scroll layers everytime the user drags.
This allows the user to continue scrolling a layer even after reaching the end
of it.  Only pin the fling velocity in the direction of the fling.  This is
preparation for flinging layers.

Record the inval region when updating layers so that the new layer will draw.

TODO: Keep track of whether the user started on a layer to prevent scrolling a
layer if the user drags across one.

Bug: 3022562

Change-Id: I25f84497a67dfb1e0fc424207f6c97817715501c
2010-12-03 10:32:57 -05:00
Steve Block
544295eebc Update WebView.addJavascriptInterface() to ignore null instances
Bug: 3247571
Change-Id: If6a108fe926e45dc3e298f197f6534c575c560e2
2010-12-02 18:40:06 +00:00
Teng-Hui Zhu
a7f76874f5 Use the globalLayout to notify the GlViewport change
Given the fact that our optimization is enforced to avoid sending
the onLayout message down to webView, utilizing the globalLayoutChange
message seems like the best solution here.

http://b/issue?id=3103077

Change-Id: I9a2d5576454641802019a5eeb64908026b40dd9b
2010-12-01 14:11:10 -08:00
Teng-Hui Zhu
e6fb0f1d7c Properly set the viewport for WebView when using GL
This is the first step, get the calculation right.
We still need to get the right message handling to get
the correct animation in Gmail .

http://b/issue?id=3103077

Change-Id: I3ed186b62ddb285e92a71d3ba5c02d4965068282
2010-12-01 14:11:10 -08:00
Leon Scroggins
2ac445cbb7 Do not remove the embedded title bar when starting Find.
Bug:2927138
Change-Id: I97adb4431aedca172a5951d727ad559de5101924
2010-12-01 16:34:00 -05:00
Patrick Scott
4b90378af0 Allow one finger to scroll layers.
TODO: Add velocity.
Change-Id: I548ef6332b260a2aecc39422012523cb6f8e2523
2010-12-01 12:42:30 -05:00
Cary Clark
61c6ddbb0b Merge "start drag of text selection on initial press" 2010-12-01 08:34:58 -08:00
Iain Merrick
557092f26a Merge "Add FlushCookieStore() method to CookieManager (Java side)" 2010-12-01 06:46:48 -08:00
Iain Merrick
c40fc2c31a Add FlushCookieStore() method to CookieManager (Java side)
The browser app will use this to sync cookies to flash when it is
sent to the background. Corresponding C++ code is in Ia9b56f3c.

Bug: 3231371

Change-Id: I04e96affcce335191ee2075d0e160f0d8313bf76
2010-12-01 14:45:38 +00:00
Cary Clark
4a2fe17fef start drag of text selection on initial press
bug:3182813
Change-Id: Id27b1caa31881ce543d395461f0504d894cf0403
2010-12-01 09:16:29 -05:00
Cary Clark
e41bb535a3 pass the x and y to retrieve anchor data
During a long press, the original pointer to the
node and frame may change. Pass the location instead
to attempt to find the anchor.

companion change is in external/webkit

bug:3240869
Change-Id: Id86107c1f8ce8680786163c1030421dbec062036
2010-12-01 07:40:54 -05:00
Ben Murdoch
45991bc13f resolved conflicts for merge of d2607118 to master
Change-Id: Id6092a762af775e9b5db390feaba3e10bd98ef7c
2010-12-01 10:55:18 +00:00
Michael Kolb
f7f07e5762 Fix page scroll during text selection
Bug: 3190609
    Leave embedded title bar in place during text selection CAB mode

Change-Id: I7140241ac7eeb442cfe7665580525d8cdfce220f
2010-11-30 13:59:02 -08:00
Ben Murdoch
d2607118ed am 27e728f2: Merge "Hide plugin views when we start playing HTML5 video" into gingerbread
* commit '27e728f22d954caa7252be6c19a67a9277e1db3b':
  Hide plugin views when we start playing HTML5 video
2010-11-30 11:46:24 -08:00
Cary Clark
b849134c1e use the original hit if the cache is killed
The nav cache may not have a cursor set if it is
rebuilt while the long press timer is running. Use
the original hit test data in this case.

bug:3198707
Change-Id: I795a3afb31de3667b3a69abbe898381912806802
2010-11-30 12:43:17 -05:00
Shimeng (Simon) Wang
96fcb87ae1 Set initial view scale to be at least overview scale.
Some website will have an initial view scale which is less
than the overview scale and the page will display poorly.

This fix sets the initial scale and text wrap scale to be at least
overview scale to make the page looking good at first load.  When a page
is restored, the scale will not be changed.

Also make the reading level scale always bigger than overview
scale for consistency.

issue: 3226625
Change-Id: I8b77cf4fda454a35c3037fa09aaff1aac0c0f664
2010-11-29 13:32:52 -08:00
Cary Clark
6f5dfc6b3c scroll the selection when dragging near the edge
Also move a debug statement so it can report the
extra selection choice.

This does not scrolls overflow divs for now; once
Pat has that code checked in, this can adapt to
work for that as well.

requires a companion change in external/webkit

bug:3186988
Change-Id: I071ecd31d589e9ef715d2ecb12b1768696075686
2010-11-29 09:20:23 -05:00
Steve Block
5fd5d74f79 No longer need to pass storage paths to WebRequestContext.cleanupPrivateBrowsingFiles()
Requires the following changes to external/webkit and packages/apps/Browser
https://android-git.corp.google.com/g/81781
https://android-git.corp.google.com/g/81780

Bug: 3232569
Change-Id: I0247f3db25edfdc95363a5a94296458b20456a46
2010-11-26 11:55:35 +00:00
Mindy Pereira
4e30d89ced Per designers, update the algorithm for when effect is clipped or stretched.
New algo is:
1) if view width < MIN_WIDTH (currently 300px), clip glow and edge to fit
2) else stretch glow and edge to fill width
3) make alpha and height of edge and glow 30% "more intense"

Change-Id: I8f121bb165a8fb835bc33950dbedd1bc80c5df65
2010-11-24 16:09:03 -08:00
Cary Clark
0df0269832 defer resume while selecting text
Allow scrolling, dragging, zooming to process normally
while selecting text, but prevent them from resuming
the webkit update until the selection is done.

Also, resume the webkit priority when resuming the
updates.

bug:3226364
Change-Id: Idfad6b63b6eb02208f977d89a8409377e9d731e7
2010-11-24 11:01:37 -05:00
Adam Powell
4c3ce84864 Fix bug 3226108 - WebView would not update content properly after a fling.
Change-Id: Ie5d163740ab1b919fef497c06caeb6807db0df52
2010-11-23 18:06:56 -08:00
Huahui Wu
3ebb51daa4 b/3186860: fix failing layout tests:
fast/events/touch/basic-multi-touch-events-limited.html
 fast/events/touch/touch-target-limited.html

Change-Id: I55ecc9944c888a005885704e296de7b7513a8172
2010-11-23 10:24:02 -08:00
Cary Clark
c5cd5e9079 cancel text selection on rotate
Rotating the screen may cause it to layout differently. The
selected text may be hard to match or may not be visible at
all. Cancel the text selection mode when a rotate is detected.

bug:3205291
Change-Id: If7e8f98a1cc396bf21f8261f2a7b4a342907ef2f
2010-11-23 13:12:32 -05:00
Adam Powell
637d337b58 Merge overscrolling from gingerbread.
Change-Id: I3eb4413261b38ddd8c609d6153bdfd4ae46c6a0f
2010-11-23 09:30:10 -08:00
Ben Murdoch
57914381a8 Offer the user the option to configure an AutoFill profile.
When the user selects a form field that is part of a form that can
be autofilled, inform the embedder that this is the case to give
them the opportunity to configure a profile if they the user has
not done so already. A Message is also provided
to the embedder that when sent will trigger the form to be filled
with the profile that the embedder set up.

Change-Id: Ica995e5b1ed92a3ec3e356401b261740d9f90e57
2010-11-23 12:18:02 +00:00
Cary Clark
fc8bf749da add select text to context menu
Make select text available as an external interface
so that the browser can initiate it from a context
menu.

Interface is marked hidden pending API council approval.

companion change in packages/apps/Browser

bug:3214410
Change-Id: I7d513a38cc3a5ac9c0d1b3be39c02e0835bea90a
2010-11-22 12:41:58 -05:00
Iain Merrick
dac85cb8a9 Merge "Make maybeSavePassword() a top-level method in BrowserFrame." 2010-11-22 09:34:31 -08:00
Ben Murdoch
b62f8a5450 Fix potential NPE in L10nUtils.
It is possible that a call to the L10nUtils class will
come before it has been properly initialised (if the
user highlights a form very quickly onload for example) so move
the initialisation earlier in the WebView ctor so that it is
set up before the WebCore thread is started.

Change-Id: Iff5a1c16d04c47d001146184f753d2cc0cbbb404
2010-11-22 17:15:38 +00:00
Iain Merrick
9eb2a89f88 Make maybeSavePassword() a top-level method in BrowserFrame.
We need to be able to reuse this logic from the Chrome HTTP
stack. This is just a refactoring that doesn't change any
behaviour; we'll need a separate change in external/webkit
to call this from the code that handles POST requests.

Change-Id: I3f3f84a15a8501f63de974bffa6f7c911a3d3820
2010-11-22 17:03:26 +00:00
Leon Scroggins
1ca5626351 Alter the Layout of WebTextView to match webkit.
Bug:3085564

In order to treat the selection handles properly, the text in
WebTextView needs to line up with the text in webkit.  Use the
line spacing style, or the paint if none provided, to determine
the spacing for WebTextView's Layout.  When no line spacing is
provided, use the floating point values of ascent and descent,
rather than the rounded result, to determine spacing.

Requires a change in external/webkit:
https://android-git.corp.google.com/g/#change,80641

Change-Id: I51081835e128a0e938028c7c7aeb5111aa5f072c
2010-11-22 09:37:57 -05:00
Shimeng (Simon) Wang
d204449415 Merge "Make sure we have a ";" after locale in User Agent" 2010-11-19 17:13:07 -08:00
Bart Sears
096fbe0583 Make sure we have a ";" after locale in User Agent
When in pre-release mode, we did not have a semi-colon between
the locale (i.e. "en-us") and the the Build (i.e. "Build/HRH50")

In release mode we correctly added the semi-colon (and put in
the "model") so this was only an issue when in pre-release mode.

Bug: 3215465
Change-Id: Ied1acc69463ffddabbc886e7e7e5e8cc8ab14956
2010-11-19 16:34:38 -08:00
Dianne Hackborn
0a3ab5d632 Goodbye title_bar_shadow.
May you rest in HELL.

Change-Id: I1e9e5f509a7860e4aeb4f6598b8c6551a59a8714
2010-11-19 15:59:21 -08:00
Kristian Monsen
9803d7f870 Merge "Find mime from file extension if the mime is empty" 2010-11-19 06:58:01 -08:00
Kristian Monsen
9d005a1039 Find mime from file extension if the mime is empty
Fix for bug 3170039

Change-Id: I6d32ae157ec276575aad8fbcd73f02c48fe219d0
2010-11-19 14:53:44 +00:00
Jeff Brown
dd4e4603ef Merge "Added support for full PC-style keyboards." 2010-11-18 14:20:30 -08:00
Shimeng (Simon) Wang
b394d9a5f8 Add supported video/m4v mimeType to the support list.
This is to support video/m4v mimeType in the Browser.
Even though it's not listed in MediaFile.java, it's
supported and plays well.

issue:3207898
Change-Id: I35c7905527ce2c46f8861662b3a2ee94a690b38e
2010-11-18 10:53:07 -08:00
Jeff Brown
6b53e8daa6 Added support for full PC-style keyboards.
BREAKING CHANGE: Redesigned the key character map format to
accomodate full keyboards with more comprehensive suite of modifiers.
Old key character maps will not work anymore and must be updated.
The new format is plain text only and it not compiled to a binary
file (so the "kcm" tool will be removed in a subsequent check-in).

Added FULL keyboard type to support full PC-style keyboards.

Added SPECIAL_FUNCTION keyboard type to support special function
keypads that do not have any printable keys suitable for typing
and only have keys like HOME and POWER

Added a special VIRTUAL_KEYBOARD device id convention that maps
to a virtual keyboard with a fixed known layout.  This is designed
to work around issues injecting input events on devices whose
built-in keyboard does not have a useful key character map (ie.
when the built-in keyboard is a special function keyboard only.)

Modified several places where events were being synthesized
to use the virtual keyboard.

Removed support for the "qwerty" default layout.
The new default layout is "Generic".  For the most part "qwerty"
was being used as a backstop in case the built-in keyboard did
not have a key character map (probably because it was a special
function keypad) and the framework needed to be able to inject
key events anyways.  The latter issue is resolved by using the
special VIRTUAL_KEYBOARD device instead of BUILT_IN_KEYBOARD.

Added the concept of a key modifier behavior so that
MetaKeyKeyListener can distinguish between keyboards that use
chorded vs. toggled modifiers.

Wrote more robust key layout and key character map parsers
to enable support for new keyboard features and user installable
key maps.

Fixed a bug in InputReader generating key ups when keys
are released out of sequence.

Updated tons of documentation.

Currently QwertyKeyListener is being used for full keyboards
with autotext and capitalization disabled.  This mostly works
but causes some problems with character pickers, etc.
These issues will be resolved in subsequent changes.

Change-Id: Ica48f6097a551141c215bc0d2c6f7b3fb634d354
2010-11-18 09:49:03 -08:00
Kenny Root
7200ab4a8f Merge "Don't waste memory creating new Boolean objects" 2010-11-18 09:05:25 -08:00
Kenny Root
69e2eff270 Don't waste memory creating new Boolean objects
Creating a new Boolean is wasteful since there's already a static
Boolean.TRUE and Boolean.FALSE. Using Boolean.valueOf will return one of
those static objects and reduce memory usage a bit.

Change-Id: Id497f951c8a894ec03ac6c3181e6055b56db9db4
2010-11-17 11:25:36 -08:00
Cary Clark
1e8e10db3f don't put up a context menu while selecting text
Move the check for selecting text before calling
the parent, so that the context menu isn't an
available option.

bug:3205306
Change-Id: I5d2c3f6b71c74cda56153fbc773eb5be98e44be7
2010-11-17 13:49:25 -05:00
Leon Scroggins
1bf397ffbd Do not retry failed attempts to retry scrolls.
Bug:3174399

If the page requests to scroll beyond the edge of the
screen, we send a message to try again on a draw, in case
our picture is out of date and the page should be larger.
However, sometimes we get stuck in a loop of retrying the
same scroll position over and over again.  End this loop.

Change-Id: I53fcd4c2fa70c7ef63d4537d8b24eabb6b924b0b
2010-11-17 09:22:57 -05:00