Commit Graph

477 Commits

Author SHA1 Message Date
Leon Scroggins
a57632fee7 Fix bugs around removing and attaching WebViews.
When removing a WebView from its Window, remove the WebTextView.
Remove the old attempt to do the same, which was not being called.

When attaching a WebView to a Window, call onWindowFocusChanged so
its state of drawing the selection ring returns.

Fixes http://b/issue?id=2257787 and http://b/issue?id=2260867
2009-11-16 11:47:12 -05:00
Grace Kloba
4888c7da45 am dc30d28b: Merge change I3656f7a3 into eclair
Merge commit 'dc30d28bc8321171fbf4ed92a9486eb8dd382259' into eclair-mr2

* commit 'dc30d28bc8321171fbf4ed92a9486eb8dd382259':
  Honor the mInitialScale set on WebView. This was
2009-11-11 20:15:02 -08:00
Grace Kloba
16efce7242 Honor the mInitialScale set on WebView. This was
lost when we fixed restoring the scale for a new
page.

Fix http://b/issue?id=2251716
2009-11-11 20:13:32 -08:00
Grace Kloba
6d559f9d56 am bf5b632a: Use getViewHeightWithTitle() to honor the scrollbar setting when computing the maxScrollY for fling. This is honored in the regular scroll in computeVerticalScrollExtent().
Merge commit 'bf5b632abbc2f4b96323ff428be585fd2a3d381c' into eclair-mr2

* commit 'bf5b632abbc2f4b96323ff428be585fd2a3d381c':
  Use getViewHeightWithTitle() to honor the scrollbar
2009-11-11 17:14:32 -08:00
Grace Kloba
9f4baf308d am d7439f4b: Use computeVerticalScrollRange() to find the bottom of the page as mContentHeight is not in the view system.
Merge commit 'd7439f4bdb31d005011b69112e82a9fed9be4470' into eclair-mr2

* commit 'd7439f4bdb31d005011b69112e82a9fed9be4470':
  Use computeVerticalScrollRange() to find the bottom
2009-11-11 17:14:10 -08:00
Grace Kloba
09550fde48 am c9966891: Merge change Ibb245ea7 into eclair
Merge commit 'c996689109b1ac0849aa675e1987e3851ee77a95' into eclair-mr2

* commit 'c996689109b1ac0849aa675e1987e3851ee77a95':
  Return an empty PluginList instead of null for the
2009-11-11 17:13:57 -08:00
Grace Kloba
bf5b632abb Use getViewHeightWithTitle() to honor the scrollbar
setting when computing the maxScrollY for fling.
This is honored in the regular scroll in 
computeVerticalScrollExtent().

Fix http://b/issue?id=2251694
2009-11-11 14:43:16 -08:00
Grace Kloba
d7439f4bdb Use computeVerticalScrollRange() to find the bottom
of the page as mContentHeight is not in the view system.

Fix http://b/issue?id=2251909
2009-11-11 14:38:55 -08:00
Grace Kloba
bb245ea7f5 Return an empty PluginList instead of null for the
deprecated getPluginList() api.

Fix http://b/issue?id=2249732
2009-11-10 13:13:24 -08:00
Android (Google) Code Review
521123e0ed Merge change I9e28c4ce into eclair-mr2
* changes:
  Allow plugins to load java classes from their apk.
2009-11-09 12:42:35 -08:00
Derek Sollenberger
9e28c4ce66 Allow plugins to load java classes from their apk.
Provide the functions to be called from native code that take
the plugin's location and desired class name and then load that
class from the plugin's apk if it is available.

see http://b/2215696
2009-11-09 14:45:58 -05:00
Grace Kloba
8c92c39b85 Add postdata identifier so that if we cache the post
result, we will use (url+postIdentifier) as the key
for the CacheResult.

Fix http://b/issue?id=1980031
2009-11-08 19:01:55 -08:00
Grace Kloba
d9e22ed8fe am 0691ad50: Remove "@hide pending API council" in webkit to expose the apis to SDK.
Merge commit '0691ad50ca6b7a2968a0b95e1e9bb7228dd47d65' into eclair-mr2

* commit '0691ad50ca6b7a2968a0b95e1e9bb7228dd47d65':
  Remove "@hide pending API council" in webkit to expose
2009-11-07 10:57:18 -08:00
Grace Kloba
0691ad50ca Remove "@hide pending API council" in webkit to expose
the apis to SDK.

Remove @hide in GeolocationPermissions and WebStorage
to expose them to the SDK users.

Remove @hide for freeMemory() in WebView.

Remove @hide comment in CallbackProxy and
GoogleLocationSettingManager as they are not public class.
2009-11-07 10:39:07 -08:00
Cary Clark
4e9fe62b37 do not merge -- original checkin to mr2 here:
https://android-git.corp.google.com/g/#change,30204

check for native initialization before calling public function

Added more checks where it is possible to call a native function
after creating a WebView but before the native side is initialized.

These cases can be triggered by the monkey.

Fixes http://b/issue?id=2187719
2009-11-06 10:29:30 -05:00
Leon Scroggins
3613385fbc Do not update the progress if it is the same as the last given progress. 2009-11-04 14:50:14 -08:00
Leon Scroggins
405d785f86 Do not scroll the title bar off screen until the page finishes loading.
Fix http://b/issue?id=2139418
2009-11-03 16:01:44 -08:00
Cary Clark
35155c1d8b divide mRestoredScale before use
Also add debugging to help find incorrect width bug (see bug)

fixes http://b/issue?id=2218767
2009-10-29 15:34:00 -04:00
Leon Scroggins
5de6389f22 DO NOT MERGE. Send a message when the picture changes and find is up to search again.
Fixes http://b/issue?id=2222706

Requires a change in external/webkit.  Not merging because the
change in webkit should be altered slightly.
2009-10-29 12:52:11 -04:00
Leon Scroggins
bb107bd6f7 Many fixes to text input in the browser, particularly when moving to a new field.
Remove many instances where we are setting selection unnecessarily.  Instead, only
set the selection due to a click, touch, or inserting a character.  A touch will
now set the selection properly, rather than at the beginning/end, fixing
http://b/issue?id=1650395  Also fixes http://b/issue?id=2208188

Requires a change to external/webkit.
2009-10-27 13:34:45 -04:00
Derek Sollenberger
718d69f931 changing how plugins gain/lose focus.
Previously we were keeping our own state in the UI thread to
determine when to send events to the plugin. This change removes
that logic and uses the document focus to determine when events
are to be sent. This also fixes problems with the plugins
occasionally not receiving lose focus events.

see bug http://b/2033843
2009-10-27 11:09:17 -04:00
Cary Clark
09e383c9ff tweak select text
Explicitly draw the region and pointer from java.

Set up the starting selection criteria from both hard keyboard
and menu 'Select Text'.

Add invalidate() to show transition from arrow to ibeam
immediately, and to dismiss copy region immediately.

partially fixes http://b/issue?id=1667690
2009-10-27 10:50:16 -04:00
Mike Reed
dafc19a140 do not merge
remove the filter when we're scrolling, so we don't degrade the quality

http://b/issue?id=2174463&cookieId=2009300052135424

same change (in spirit) in MR2

https://android-git.corp.google.com/g/#change,30860
2009-10-27 08:30:13 -04:00
Android (Google) Code Review
57e824f7c3 Merge change I8db532c1 into eclair-mr2
* changes:
  don't turn off filtering/dithering when we scroll.
2009-10-26 09:16:20 -04:00
Leon Scroggins
1d96ca06d8 Show the soft keyboard when pressing center key/trackball on input field
Fixes http://b/issue?id=2210234

Consolidate center key/trackball presses on input fields, and show
soft keyboard if the field is not readonly.  Also rename the method
for a center press, and pass a click rather than a touch.  Requires
a change in external/webkit.
2009-10-23 11:49:03 -04:00
Leon Scroggins
1d60c5c16b Do not hide the cursor ring when clicking on an input field.
When pressing the trackball on a text input field, do not call
setFollowedLink, which results in the cursor ring disappearing and
the WebTextView being torn down.  Fixes http://b/issue?id=2210127
2009-10-23 11:22:36 -04:00
Andrei Popescu
46a83b4ead Make the VideoView go away automatically at the end of playback.
Fixes http://b/issue?id=2210018
2009-10-23 13:53:14 +01:00
Mike Reed
8db532c136 don't turn off filtering/dithering when we scroll.
Newer devices have proven plenty fast to leave the quality improvements on even during drag/scroll.
2009-10-22 17:18:28 -04:00
Cary Clark
d9ec29f648 fix text area insertion order, partially
While Leon mulls over how to rewrite WebTextView to
handle webkit driven focus changes, these fixes make
the current code slightly more stable.

Keep track of when keyDown is sent again so that the
WebTextView won't be rebuilt in that case.

Don't clear the cursor from WebTextView if the there's
no native focus pointer.

Only set the selection to its initial state once when
passing events down to webkit.

partially fixes http://b/issue?id=2201049
2009-10-22 15:18:02 -04:00
Leon Scroggins
70de03d413 am f8e3ac85: Merge change Ifa8ab30e into eclair
Merge commit 'f8e3ac851959efbd21da930a802f8efb65ccec5b' into eclair-mr2

* commit 'f8e3ac851959efbd21da930a802f8efb65ccec5b':
  In onKeyUp for DPAD_CENTER, show the IME for text input.
2009-10-22 06:47:47 -07:00
Leon Scroggins
9d1abc43f5 In onKeyUp for DPAD_CENTER, show the IME for text input.
Fixes http://b/issue?id=2201966

Change-Id: Ifa8ab30e205e21e9e69e9a7405a0a6fc86c6c488
2009-10-21 15:35:33 -04:00
Grace Kloba
3f9faf4737 When WebView has wrap_content, we are sending WebKit
0 height to get the exact height. But if the View system
doesn't think the WebView dimension changed, even we
call requestLayout, we won't get onSizeChanged. So
we never notify the WebKit about the final view size.

If updateLayout is true, which is probable because that
we set the height to be 0 to WebKit, just call requestLayout()
even the meansured height / width is matching the 
content height / width.

Fix http://b/issue?id=2162991
2009-10-21 11:34:35 -07:00
Android (Google) Code Review
2f3dc5b9ce Merge change If1e1fb39 into eclair-mr2
* changes:
  Draw dividers between <optgroup> and <option> elements.
2009-10-21 14:15:54 -04:00
Android (Google) Code Review
7a7197853d Merge change Ifcafa460 into eclair-mr2
* changes:
  fix multiple text areas, and text areas without focus rings
2009-10-21 14:14:46 -04:00
Cary Clark
fcafa46069 fix multiple text areas, and text areas without focus rings
If the typed key doesn't go with the current text area, clear
the focus so the key won't return to that text area. However,
don't clear the focus if it is already off the old text area.

fixes http://b/issue?id=2201049
2009-10-21 13:55:48 -04:00
Leon Scroggins
f1e1fb3976 Draw dividers between <optgroup> and <option> elements.
Fix http://b/issue?id=2198355
2009-10-21 13:39:33 -04:00
Leon Scroggins
a8da17356f Do not show radio/checkboxes for <optgroup> labels.
Fix for http://b/issue?id=2186188.  Keep track of <optgroup> labels
separately from disabled <option> labels.  Requires a change to
external/webkit.

In CheckedTextView, if the CheckMarkDrawable is set to null,
remove it.
2009-10-21 10:01:49 -04:00
Cary Clark
ac492e181a tweak snap scroll
WebView.mHeldMotionless should only be set to MOTIONLESS_FALSE
if some scrolling occurs, even in the case where motion is discarded
by snap-scroll mode.

Refactoring the code allows the code to be smaller, and provides
a single point where scrollBy() is called while dragging.

This doesn't change the snap-scroll logic in any way.

related to http://b/issue?id=2092446
2009-10-20 15:17:55 -04:00
Cary Clark
c05af372b8 add dpad control of text selection for sholes
Make movement of text selection arrow and I-beam respond to
both trackball and d-pad. Make the 'click' action work for
both trackball-up and d-pad center.

fixes http://b/issue?id=2186069
2009-10-20 14:27:36 -04:00
Android (Google) Code Review
12a19551dd Merge change I58def690 into eclair-mr2
* changes:
  If openOrCreateDatabase() throws an exception, delete the old db and re-do it. If it still fails, something bad happens, like the directory may have the different permission. Let it throw as WebView needs the db.
2009-10-20 13:03:02 -04:00
Patrick Scott
169ef4cca3 Check for null before returing a chunk from the pool.
Since references can be queued in another thread, the first entry in the pool
could have been queued after processPoolLocked. Check for null and create a new
chunk if the check fails.
2009-10-19 13:04:08 -04:00
Ben Murdoch
208360b22d Fix for b/2164520: Download manager should handle video/m4v MIME type.
The fix relaxes our processing of the content-disposition header by allowing unquoted filenames, and adds the m4v type to the MIME type map incase the content-disposition header was not specified.

Change-Id: Iaab0c5b17991a2c05eff5db01babe084444fd3b7
2009-10-19 17:22:59 +01:00
Android (Google) Code Review
eab82c3c8c Merge change I44bbc36d into eclair-mr2
* changes:
  Add htm and html extensions to the map as "text/html"
2009-10-17 12:20:42 -04:00
Marc Blank
3905e87e90 Add htm and html extensions to the map as "text/html"
* Fixes #2192935
* Exchange attachment handling depends on MimeTypeMap to determine the
  mime type of attachments based on their file extension

Change-Id: I44bbc36d7a5aa0800f072553274346d4547f8d4c
2009-10-16 10:22:08 -07:00
Cary Clark
39e6773431 do not merge: fix copy/paste using trackball on passion
This fix is alrady in mr2. It does not affect sholes --
this is a trackball only bug.

The selection caret and arrow now take the scale factor and
the height of the title bar into account when preparing the
canvas for drawing.

Clicking the trackball at the end of selecting text no longer
sends a click event.

Requires a companion fix in external/webkit
Fixes http://b/issue?id=2187591
2009-10-16 09:27:47 -04:00
Patrick Scott
e1f43dadb9 Share chunks between all ByteArrayBuilders.
If a single ByteArrayBuilder accumulates many chunks, it is possible that many
of those chunks will not be reused and will just take up memory in the pool. If
the pool is shared across all instances, fewer chunks need to be allocated. This
allows a site like http://www.606studios.com/bendisboard/showthread.php?t=170286
to load without crashing due to OOM.

The shared pool contains SoftReferences to each chunk. If the vm feels memory
pressure, it is allowed to mark these references for collection. Before
accessing the pool of chunks, I remove any queued references from the pool.

Cleanup ByteArrayBuilder a little by removing unused methods and fields.
Document some synchronization spots in LoadListener and add a lock when
downloading a certificate.

Bug: 1637965
2009-10-16 08:07:29 -04:00
Leon Scroggins
be3feda46e Do not show soft keyboard for readonly textfields.
Part of a fix for http://b/issue?id=2159869.  The request to show
the soft input has been moved to nativeTextInputMotionUp, where it
can check if the input field is readOnly.  This way it is also
handled by shortPressOnTextField, for when a user shortpresses
on the field.
2009-10-15 15:44:37 -04:00
Cary Clark
7f97011b55 check for native initialization before calling public function
Added more checks where it is possible to call a native function
after creating a WebView but before the native side is initialized.

These cases can be triggered by the monkey.

Fixes http://b/issue?id=2187719
2009-10-15 15:29:08 -04:00
Cary Clark
badd8399ca fix copy/paste using trackball on passion
This fix should be considered for passion mr1, but
does not affect sholes -- this is a trackball only bug.

The selection caret and arrow now take the scale factor and
the height of the title bar into account when preparing the
canvas for drawing.

Clicking the trackball at the end of selecting text no longer
sends a click event.

Requires a companion fix in external/webkit
Fixes http://b/issue?id=2187591
2009-10-15 13:55:06 -04:00
Cary Clark
25415e2b9c draw filtered if dragging but not moving after a 100ms delay
Some artifacts show up when dragging, but since the screen is in
motion, they're usually go unnoticed. If one quits moving, the
artifacts are more visible.

Some devices generate fractional movement data while the
screen is touched and held steady; others do not. Also, mouse-based
implementations will not generate random fractional movements. If
the device generates movements, invalidate the screen to transition
once from unfiltered to filtered drawing.

For the case that the device does not generate movements, fire a
timer when the screen is drawn and a drag is in progress to detect
that there is no drag motion.

The timer fires if the dragged screen is unmoved for 100 ms, then
invalidates so the next redraw uses filtering to remove the artifacts,
and starts a continuous timer to keep the scrollbar awake until
the drag ends or there is more drag motion.

When detecting that there is no effective movement on a noisy device,
use the original fractional deltas instead of the integer ones to
detect sub 1 pixel differences.

This was tested on the emulator (no noise) and a sapphire (noise)
to make sure that events load the queue only when required.

fixes http://b/issue?id=2092446
2009-10-14 13:53:19 -04:00