Commit Graph

755 Commits

Author SHA1 Message Date
Mike Reed
b64f6f8953 only send new visiblerect and size on onscrollchanged if we're not in overscroll mode
Change-Id: Ifa290121db8f0a3612f40c40bab4f92494ce93df
2010-03-23 11:43:02 -04:00
Shimeng (Simon) Wang
4d8ef42003 Check mWebViewCore to prevent potential NPE.
Bug:2532493
Change-Id: I917c57dced8638f36252638bb9814e26cdbc2768
2010-03-22 17:06:17 -07:00
Ben Murdoch
5b494c1ca4 Add an API on the Java side to allow WebKit to pause the current load. This is used when the plugin is streaming data but it's
buffer is full. In that case, WebCore instructs the laoder to pause loading to give the plugin a chance to clear it's buffer and
continue.

Requires an external/webkit change.

Change-Id: Iec96a6325d92e979cbdc53289c2a20cad940ded2
2010-03-22 20:50:16 +00:00
Leon Scroggins
0fc140431d Close Cursors in finally blocks.
Fix for http://b/issue?id=2533750

Change-Id: I3ebcc6147e4035ce1c4bf6b76a359ce14196e357
2010-03-22 16:33:07 -04:00
Cary Clark
ac96fa575f use the stream instead of the cursor data to return its size
Most content providers set up the data size in the cursor that
provides the file name, but sound recorder does not. Use the
stream size instead, which will work with all sources and
probably is no slower.

fixes http://b/2529352 http://b/2524574

Change-Id: I32d101d07ca1d0fa2ff17c3c68393356902096d3
2010-03-22 11:12:46 -04:00
Steve Block
547b83328e Merge "Implements layoutTestController.setAppCacheMaximumSize" 2010-03-22 03:44:09 -07:00
Grace Kloba
cad9ab60ce In some case, like in Email, the WebView can be
detached from Window long after it is destroyed.
As we freed the native side by setting mWebViewCore
to null, we can't access settings any more. In this
case, just hide both styles of zoom control.

Fix http://b/issue?id=2532401
2010-03-21 14:05:14 -07:00
Steve Block
427efcca19 Implements layoutTestController.setAppCacheMaximumSize
Change-Id: Ib64123738bc384213ef80e2e60e4a0d9407c09d8
2010-03-20 11:03:53 +00:00
Grace Kloba
7865fa9724 As http header can't be empty, check length before
setting lastModified and etag to the cacheResult.

Fix http://b/issue?id=2531047
2010-03-19 19:48:28 -07:00
Grace Kloba
ee8500eeb0 Don't overscroll horizontally if the content just
fit in the WebView.

Fix http://b/issue?id=2530843
2010-03-19 19:40:17 -07:00
Grace Kloba
21817f6e29 Explicitly dismiss the zoom control if
1. start double tap
 2. start pinch
 3. start a popup window
 4. about to detach from window
 5. WebView size change which happens when IME is up
    or rotation changed.

Partial fix http://b/issue?id=2530401. Dismiss the
zoom control of the main window when bringing up
the sub window
2010-03-19 19:36:35 -07:00
Patrick Scott
1bb63afca1 Merge "Compare the cookie names to ensure a consistent ordering." 2010-03-19 17:59:39 -07:00
Brian Carlstrom
dba8cb7637 b/2511635 Browser displays incorrect SSL cert information
Two more cases of "View certificate" problems like b/2511635

One problem is that if there are multiple resources downloaded for a
page. In that case the mCertificate shown ends up being from the last
loaded resource instead of the main resource of the page. The solution
is to only set the certificate if the LoadListener is the
mIsMainResourceLoader as well as the mIsMainPageLoader.

A larger problem was the fact that the EventHandler.certificate
interface method (in this case the LoadListener.certificate
implementation) once per https connection instead of once per request
as was documented. That meant if an https connection was reused (which
happens frequently on login pages such as
https://www.google.com/accounts which use the POST -> redirect -> GET
idiom to avoid POST data page refresh warnings) then later pages never
were associated with an SslCertificate.

The solution was to change EventHandler.certificate to be called once
per request, specifcally before the request. This means we no longer
call the certificate method in the handleSslErrorRequest case, which
is okay because it includes the SslCertificate within the SslError and
that is what the BrowserActivity expects.

Change-Id: Icbd9bd98c89db82762d1d06de85e1cde2470300d
2010-03-19 17:09:01 -07:00
Grace Kloba
f4418b0113 Change api for webview overscroll background. 2010-03-19 16:18:25 -07:00
Mike Reed
e5e63f4921 remove special-case logic to allow the titlebar to always scroll off the screen. This means that we
now won't force pages to resize due to scrolling.

fixes http://b/issue?id=2512549

Change-Id: Icd91d032ccfc78db6011f293b33543ff2f27f3cf
2010-03-19 15:54:20 -04:00
Patrick Scott
06312cae6b Compare the cookie names to ensure a consistent ordering.
Comparing the hash code provided a consistent order but it was not a logical,
testable order as the hash code was not related to lexicographic ordering.

Remove a spurious '=' from a comment.

Bug: 2527671
Change-Id: Ia2248cb8acbc4d5759a624eec13da3837f7406b8
2010-03-19 15:40:05 -04:00
Grace Kloba
bb1934a5ba Merge "Change overscroll background to be same as status bar pulldown." 2010-03-19 10:41:01 -07:00
Steve Block
d12b232575 Merge "Fix HttpAuthHandler for synchronous requests" 2010-03-19 08:47:56 -07:00
Cary Clark
cfe688d8d9 create absolute layout if view layout can't be reused
The existing view layout may not be an absolute layout,
and will throw a ClassCastException. Check to see if it
is compatible before the cast.

Change-Id: I7309600a1e7405a29e49a3bab469a164d51126ae
http://b/2526854
2010-03-19 10:52:41 -04:00
Steve Block
c877c6b87a Fix HttpAuthHandler for synchronous requests
When HttpAuthHandler queries the WebViewClient to obtain a username and
password, we need to make sure that this is done synchronously when the request
is synchronous.

Bug: 2511043
Change-Id: I9ff2156cfb3c81edaf4a50ec7094a00a8f8ff91f
2010-03-19 13:48:49 +00:00
Grace Kloba
f8338d4a98 Change overscroll background to be same as status
bar pulldown.

Fix http://b/issue?id=2520825
2010-03-18 23:00:51 -07:00
Leon Scroggins
b415779e3b Pass selection data with the message to open the keyboard.
Fix for http://b/issue?id=2431351

Requires a change to external/webkit.

Change-Id: I501c3b1a9ae602458b830d34f779ccedf51dba9b
2010-03-18 12:51:08 -04:00
Cary Clark
e84a0db030 simplify utility to hit-test focused plugin
After about 4 taps, this starts to return that the tap was
in the plugin. Before that, the plugin doesn't have focus.
Derek may want to verify that everything is working as it
should -- maybe it just takes that long for webkit to take
focus.

companion fix in external/webkit

Change-Id: I80ffba6c55876b0af9c305c539a10e8e8ed7cb3c
http://b/2521087
2010-03-18 08:46:41 -04:00
Adam Powell
8a836a8b98 Eliminate haptic feedback when hitting an overscroll barrier due to a fling.
Change-Id: I434ec3edd95a19677ad9dbd1ac5ca3f3f5d091cb
2010-03-17 20:33:07 -07:00
Leon Scroggins
69a63b0c52 Allow the shift key to be passed to plugin.
Fix for http://b/issue?id=2519667

Do not return so that we can fall through and pass the shift up
to the page.

Change-Id: Ib3c07f2d39e772f88dd6eee6390034e5a3e3e026
2010-03-17 09:57:19 -04:00
Steve Block
247c065aec Merge "Fix loading from the cache for synchronous requests" 2010-03-16 15:42:14 -07:00
Steve Block
0b43747206 Fix loading from the cache for synchronous requests
This fixes crashes in several XHR layout tests.

Bug: 2218794
Change-Id: Iebe3a2d19f1fa43b8d9c9d7763e818f7195b8ceb
2010-03-16 22:31:52 +00:00
Brian Carlstrom
4ab72cb7e7 b/2511635 Browser displays incorrect SSL cert information
WebView's mCertificate member was not cleared when going to new
pages. Rather than clearing mCertificate as was done in previously in
WebView.goBackOrForward, we now clear when CallbackProxy receives a
PAGE_STARTED message.

This problem was highlighted whenever we went to a https page that was
in the cache, since the cache does not store certificate information,
so "More > Page Info > View Certifcate" was showing the certificate of
the last non-cached page because it had not been cleared. See also
b/2516638 "SslCertificate information not cached by CacheManager"

Change-Id: I40284f22ceb7150a6b20ecc2741f6153ed9a3276
2010-03-16 15:14:22 -07:00
Grace Kloba
1e65d9e561 Use float instead of cast to int when calculating
the new zoom center. This should avoid the rounding
difference which caused the video in nytimes.com
not fully fit in the current view.

Fix http://b/issue?id=2512510
2010-03-16 14:21:21 -07:00
Derek Sollenberger
d222a16286 Plugin surfaces will be limited to 270% of the devices screen size.
Change-Id: I7e5ff1f5b8919b9e2e70a703009f9544f457a0e1
2010-03-16 16:52:20 -04:00
Derek Sollenberger
41df3f7e15 Restrict plugins to a fixed size surface after exceeding a pixel threshold.
fixes bug: http://b/issue?id=2428737

Change-Id: I8d8f2c591ac8539a345e0167b05bec8539f34535
2010-03-16 13:47:04 -04:00
Leon Clarke
c0b778e10f http://b/issue?id=2501101
Create a concept of blocking messages on destruction similar to that in
WebViewCore.java. This is to prevent what I think is a race condition
caused by an orientation event occuring just before the frame is destroyed,
resulting in the orientation listener being called back just before it
is disabled, but posting its message after the messages have been removed.
This results in the orientation event being delivered to a NULL native frame.
2010-03-16 15:28:39 +00:00
Cary Clark
fc2ece4ab6 update comment on WebView loadData
Change-Id: I20fbfabde7eafb8017036a7360ed83fa457cc42c
http://2400117
2010-03-15 16:32:41 -04:00
Derek Sollenberger
c28ff44b1e Allow plugin's surface to handle touch when in full-screen.
There is a matching commit in external/webkit

Change-Id: I88d8c533eb821c564c453dfd7293616669b3bf37
2010-03-15 08:36:19 -04:00
Grace Kloba
e8300a1dc5 Expose smart-zoom, or centerFitRect to native.
Clean up the old centerPluginOnScreen so it can be
used to center fit any rectangle on the screen.

Fix http://b/issue?id=2510670
2010-03-12 13:32:55 -08:00
Grace Kloba
2563ffb84f If we can't over scroll horizontally, set vx to 0 in
doFling. Otherwise if vx is greater than vy, as we
pin x later in onOverscrolled(), the fling doesn't
work as expected.

Fix http://b/issue?id=2507550
2010-03-12 09:37:46 -08:00
Cary Clark
a91e972752 missing checks for native class before calling native code
Change-Id: I1dc77c10e7aff68f8327708291fcff5551722703
http://b/2509668
2010-03-12 12:14:07 -05:00
Grace Kloba
e47ac47d6c If the Picture is not ready, just draw the background
and return. This should help to avoid the flash in gm.

Fix http://b/issue?id=2494990
2010-03-12 08:55:26 -08:00
Patrick Scott
08e1f21dd4 Merge "Do not send the not-modified response when validating the cache." 2010-03-11 11:47:22 -08:00
Grace Kloba
c6f95fe523 Implement smart-zoom per Adobe request.
When double tap on plugin object, we toggle between
centering plugin object and overview mode.

Fix http://b/issue?id=2501726
2010-03-11 11:40:46 -08:00
Patrick Scott
5ac85ccabb Do not send the not-modified response when validating the cache.
Bug: 2450517
Change-Id: Ibdff4c4b573bb63ac5de94ec7277241bb0242203
2010-03-11 12:41:20 -05:00
Cary Clark
2809631e59 use the correct LayoutParams to fix going to fullscreen view
Change-Id: Id4d1841d720011c6fda6c43fe7ffb55762cef259
http://2467842
2010-03-11 08:25:33 -05:00
Mike Reed
180403ac10 pin our visible content bounds to the bounds of the doc itself, to account for overscroll
Change-Id: I3c8165338e31da45a70b3f65ba8389a7a50d6e07
http://b/issue?id=2496502
2010-03-10 13:11:48 -05:00
Leon Scroggins
62459c0fa5 If the new text and old text are "", return from onTextChanged.
Fixes http://b/issue?id=2496329

Change-Id: I239f143c0e539710342e46783157344a4d7ccc08
2010-03-10 09:08:47 -05:00
Kristian Monsen
a401d559ec Don't cut the url on a redirect
This is a fix for issue 2485033. It is not a final fix, but just starting with this so it can be discussed on code review. The line in question
was added to fix issue 1690652.

Updated fix. Stores the url before it is cut during a redirect. Forwards this to the reponse instead of the cut url.

Update 2: Using the old originalUrl

Change-Id: I286084451aa45e51d5d07811f9d119cf83849592
2010-03-10 12:40:04 +00:00
Grace Kloba
2d17e1d212 Add an api to set WebView over scroll background.
If the WebView doesn't support zoom, or WebView does
not use wide viewport and horizontal is just fit,
don't do over scroll.

Fix http://b/issue?id=2498403
Fix http://b/issue?id=2497901
2010-03-09 13:14:04 -08:00
Leon Scroggins
7a37587664 Set mShiftIsPressed properly when the focus is a plugin.
Fix for http://b/issue?id=2484986

Change-Id: I3140c3c3a0bd44af85939aceb0bbd07c0861cde4
2010-03-09 14:52:40 -05:00
Grace Kloba
c2242f2b5f Rewrite the WebView touch to support Flash.
When a page is loaded, Flash won't be the touch target.
This is ensured by another CL in external/webkit. When
user taps or uses nav key to make the Flash to be the
document focused node, it will take all the touch
events without time out. If Flash didn't call prevent
default, these touch events will be reprocessed by
the Browser. For double tap and long press, Browser
needs to detect and generate them for Flash.

While Flash is in full screen mode, it will take all
the touch events. If Flash doesn't consume them, they
won't be reprocessed by the Browser. Browser does need
to detect and generate the special events like double
tap and long press for full screen Flash.

Here are changes made for JavaScript touch events.

1. preventDefault on touchMove works now. If the author
calls preventDefault on touchStart, UI will not handle
this touch sequence. If the author didn't call preventDefault
on touchStart, it can call preventDefault on the first
touchMove to prevent UI from panning the page. We
currently do not support alternating preventDefault
during touchMove.

2. The first touchMove is only sent when the movement
is more than the system slop. There was a bug introduced by
https://android-git.corp.google.com/g/#change,42848
where the touch events are not sent to WebCore if 
preventDefault is called. This is fixed now.

3. Move sending TOUCH_EVENT to WebCore into each state.
So if user stops a fling and continue drag, it won't
send the touch_down as we are in drag mode.

4. Remove event time as Adobe doesn't need it any more

Fix http://b/issue?id=2438503
Fix http://b/issue?id=2478701
Fix http://b/issue?id=2390587
2010-03-09 11:33:51 -08:00
Andrei Popescu
0409857f8f Make sure access to WebView::mWebViewCore is synchronized.
Fix bug: 2498784
2010-03-09 18:04:35 +00:00
Leon Scroggins
3dc02fecbe For flash trackball, send several downs followed by a single up.
Change-Id: I2ca892bc409372ab1389f2da8254f13b2d84351c
2010-03-09 11:27:34 -05:00