Use the content width to calculate the zoom overview
width. We used to use the minimum preferred width
to calculate the overview width as it is what we
use to define the viewport width. But some sites,
like cbsnews, engadget, the content width will be
slightly wider than the viewport width decided by
the min preferred width. The result is we can still
scroll a little bit in the overview mode. This issue
is magnified when we introduce the overscroll feature.
By using content width as zoom overview width, we
will have content fit in the overview mode. But
some sites, like
"http://www.sfjazz.org/concerts/2010/spring/artists/towner.php"
will be layout wider in the overview mode than it
is in the zoom in state. This is a tradeoff.
Fix http://b/issue?id=2551119
When receiving a message to delete the root layer, delay it until the next
new picture message, so that the layers only disappear when we start displaying
the new page, and not the moment the DOM on the old page is destroyed.
According to GMail profile, almost half of WebView
init time is spent in creating the zoomControl which
is not used by them. So change to lazy initialize
the ZoomButtonControl which will be used by Browser.
Fix http://b/issue?id=2546481
As it appears earlier in the list, .3gpp will be used as the extension for
video/3gpp mime types.
Bug: 2542939
Change-Id: I7d9188b460774af7bc29f4e8f1ebada43bf2ed10
This change forwards to the WebViewClient HTTP authentication credentials that
are supplied to an XHR from JavaScript. This allows the client to store these
credentials for use with later requests.
Currently, the browser only stores credentials that have been entered manually
by the user through the authentication dialog.
Bug: 2544330
Change-Id: I913e35d80b7ad41ff75586092408b86ea9f543d8
Store a list of Handlers in a global ComponentCallbacks instance. Use
WeakReference to avoid leaking BrowserFrame objects.
Bug: 2542935
Change-Id: I67b102288f47f9fa6e855ba6558f2b1d611e8427
Register to receive configuration changes and query the Display rotation as that
will reflect both device orientation and an open keyboard.
Bug: 2219138
Change-Id: Ibd6119ae0c7d473e1a9ede3af24bb4b584c9db71
Currently, the browser does not use the credentials supplied from JavaScript.
If a request returns a 401 Unauthorized, the browser always prompts the user.
This violates http://www.w3.org/TR/XMLHttpRequest/#the-send-method
Bug: 2533522
Change-Id: I8e72c1a0be187d193c4ad6b2ca8a624c7ae06fa1
This prevents a crash that is caused by calling
WebView.loadDataWithBaseUrl with a null failUrl (which I have renamed
to historyUrl). Also update the docs to be more accurate.
Fixes the general case of bug 2522457
Change-Id: I832351ce1e0016b00e924a2f9b0097ae15fba34a
Deprecate the old apis for enabling plugins in favor of the multi-state plugin
flag. Add the assets for WebView to display the plugin placeholder for on-demand
plugins.
Bug: 2411524
Change-Id: I5a35cc6d0afced1489f54d4dcb8bb92d36de52d8
the size of the surface when it exceeds a threshold and resizing the
surface when it falls beneath the threshold.
This change also causes the surface to fix its size while it is
being zoomed in order to prevent the surface from getting multiple
surfaceChangedEvents as the result of a zoom. This also allows us
to have a smooth zoom animation for the surface.
Change-Id: I30e208f98d3a32660032bf1df9de77d0a813d756
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
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/2529352http://b/2524574
Change-Id: I32d101d07ca1d0fa2ff17c3c68393356902096d3
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
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
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
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
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
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
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
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
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
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