Commit Graph

1235 Commits

Author SHA1 Message Date
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
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
Kristian Monsen
d89a30af1f Move getDatabaseDirectory and getCacheDirectory to a new class
The reason for this is that the CookieSyncManager might not be
initialized right after a webview is created since the initialization
is done with a message.

If someone creates a webview and tries to access a cookie right
afterwards that would cause an unintended exception.

This requires a change in external/webkit

Bug 3172863

Change-Id: I4f4f162253e2af09f63ee582bfce9f75ccf4037b
2010-11-17 11:31:48 +00:00
Svetoslav Ganov
9b756acfbd Metakeys incorrectly delivered to JavaScript
Change-Id: I373eee0c4eb44c2dfd1e8534f5cb241e0c04a473
2010-11-16 16:37:37 -08:00
Cary Clark
21a97ef9f2 make tap initiated scrolls more reliable
Programmatic scrolls fail when the scroll has not had a chance
to start. In this case, the current position equals the last
position; the logic erroneously cancels the scrolls, assuming
that in this case the scroll has finished.

Also, new scrolls should cancel the old velocity whether they
are animated or not.

This has a companion change in external/webkit, which is not
required, but makes tap initiated scrolls work more reliably.

bug:1331125
bug:3099569
Change-Id: I80ae8e8cdefce2d8d09532f79d1b2e1ae4738fa6
2010-11-16 10:22:11 -05:00
Shimeng (Simon) Wang
20c14fd7b3 Ignore zoom overwidth updating when contentsize is not set.
This happens in case of layer's webkit draw time.

issue:3194817
Change-Id: I58c393d7553e279ccd4b4ee755e2da205faa069b
2010-11-15 15:54:53 -08:00
Derek Sollenberger
dd97f0cb41 Merge "Only show double-tap tip if the feature is enabled." 2010-11-15 13:19:37 -08:00
Andreas Huber
5dffd0e3af Add http live mime types to MediaFile, add support for playlist mime types to browser.
Change-Id: I1f0b31dd2f4e6cfa33a61ff8505e8396aca3c20f
related-to-bug: 2368598
2010-11-15 08:54:40 -08:00
Patrick Scott
c12544a201 Offer a callback to intercept url requests.
The new callback allows applications to return a response for a particular url.
Deprecate onLoadResource in favor of the new api.  onLoadResource is not
currently being used by the new network stack and applications can post a
message from shouldInterceptRequest to handle onLoadResource.

Bug: 2905943
Change-Id: Icf48ab3110d85d76112b3c3b4a1a8c8a333b82f0
2010-11-15 09:19:38 -05:00
Iain Merrick
83d4a23c28 Provide default error strings in BrowserFrame.onReceivedError().
This method is called from both the Android and Chrome HTTP stacks.
We want the same user-facing behaviour in each case, but the Chrome
code does not have easy access to the same error message strings.

Therefore, I'll have the Chrome HTTP stack provide empty strings
for the descriptions. (See change I9042a2ee in external/webkit).

This CL makes BrowserFrame check for empty or null strings and use
the standard error messages instead.

The strings were package-private, so I did a little cleaning up
to make them public (but still hidden from the API). Using a switch
statement instead of an array because it's more robust and should
be comparably efficient.

Bug: 3172265
Test: Load http://google.com:81 to force a timeout error, check
that the correct message is displayed.

Change-Id: I7dec8dffe8ad9e513fdb90877e0b466e707174a8
2010-11-15 11:18:39 +00:00
Ben Murdoch
2f3496b424 Merge "Stop loading if the user cancels the SSL certificate warning dialog" 2010-11-15 02:33:50 -08:00
Shimeng (Simon) Wang
ce1d004ca1 Merge "Fix mobile sites' viewport in fixed viewport mode." 2010-11-12 13:16:24 -08:00
Derek Sollenberger
515f6d8db3 Only show double-tap tip if the feature is enabled.
bug: 3170472
Change-Id: I41a278ff44a7fba807c3a4a22f0e0ea20d137d0a
2010-11-12 15:12:58 -05:00
Leon Scroggins
56a102c02e nativeFocusCandidateTextSize now returns a float.
Bug:3085564

Requires a change in external/webkit.

Change-Id: Id2960226766e87b4d0ff364c2e5b3bee6b6757ad
2010-11-12 15:03:30 -05:00
Shimeng (Simon) Wang
f902e4b2b5 Fix mobile sites' viewport in fixed viewport mode.
issue:3003933
Change-Id: I4d9665c578443fcc12bab2f929ffa8b5995c28f7
2010-11-12 11:58:46 -08:00
Leon Scroggins
c26dc9f38f Provide variable for debugging the text in WebTextView.
Change-Id: I40630e3ab754c9e9805dc674c8c0c6c8688973c3
2010-11-12 13:08:14 -05:00
Ben Murdoch
685c05eb54 Stop loading if the user cancels the SSL certificate warning dialog
If the user cancels the bad SSL certificate dialog, stop loading
and return them to the page they were on previously.

Bug: 3189482
Change-Id: Ie5796a8fdc5ba38e1ab42de5beecf7fa4ecec3ed
2010-11-12 15:43:40 +00:00
Leon Scroggins
c35f4ac309 Work on lining up the TextView and web page text.
Bug:3085564

Do not round the text size when applying it to the WebTextView,
so that it will better line up with the text shown on the web
page.

Modify the WebTextView paint to better match the paint used by
webkit.

Update the padding when the zoom level changes.

Change-Id: I284a6febcba2be21dc1ab3f74c6ab5751e1b19b6
2010-11-12 10:41:14 -05:00
Leon Scroggins
ef7af28975 Ensure that text passed in is non-null.
Bug:3183112
Change-Id: Icf00e2793cb9b62dd0ebb4f60b8ddcafea3e581f
2010-11-11 14:20:06 -05:00
Brian Carlstrom
5d4c6226ca Merge "Correctly parse cookies with spaces after = in attributes" 2010-11-10 08:52:33 -08:00
Brian Carlstrom
87ad930037 Correctly parse cookies with spaces after = in attributes
Bug: 3167208
Change-Id: I8adebf9f9e92967a3250e61ccfbb45e02bbee3f9
2010-11-09 22:03:17 -08:00
Shimeng (Simon) Wang
dbf5ff294a Update textwrap scale when content width changes in overview mode.
This is mostly for sites which will change content width when first
loaded such as nytimes.com.

Also zoom to reading level if the zoom overview scale has very
little diff from current actual scale.

issue: 3003933
Change-Id: Ie4b32bf6ac109eef145cd59b31f04077226b9052
2010-11-09 17:01:13 -08:00
Ben Murdoch
f7093befbb Calculate memory thresholds that V8 can use to control GC.
V8 can be smarter about the memory it uses and the frequency
of garbage collection but we need to inform it of the values
to use. As this varies device to device look it up and store
it on the WebViewCore to be read by native code over JNI.

See also https://android-git.corp.google.com/g/#change,78691

Bug: 3075565

Change-Id: Ib52f4df775b80b386fc98f1d71b5687f01c12b2e
2010-11-09 10:09:42 +00:00