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
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
Clear the WebTextView's data adapter after autofill fills
out the form. This ensures that the dropdown disappears.
Change-Id: I2fd1e8b5d249f6ff3943d0a0b5d2f2b55beac70a
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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