In setActive(), the WebViewCore instance may
have already been destroyed before the settings
object can be read.
Change-Id: I46b2a57b2d92fc7216b1c984f7044fea1fc2409e
http://b/2570700
onScrollChanged() is called so that the View system
can do what it needs to adjust.
As WebView's onScrollChanged will call sendOurVisibleRect(),
we don't need to call it explicitly any more.
Fix http://b/issue?id=2438457
will have a reference of the current window's main
WebView. It is only non-null if the WebView's window
has the focus.
Extract setActive() from onWindowFocusChanged() so
that onAttachedToWindow() can call it directly. The
old way has a mis-matching call to onWindowFocusChanged.
Fix http://b/issue?id=2559152
This does not actually pass the test since the test has wrong expectations, but it is at least doing the right thing.
Change-Id: I7da29a3f101647bb628805514cf2bdef24864e50
This change forwards to the WebView HTTP authentication credentials that
are supplied to an XHR from JavaScript. This allows the WebView to store these
credentials for use with later requests.
This is a re-working of https://android-git.corp.google.com/g/46430
Bug: 2544330
Change-Id: I3f04433b00233d7b7bf4f7e3471d8d15d8817f93
If the icon is precomposed or the icon IS null, set the touch icon url. This
ensures there will be a touch icon set if either precomposed or regular is
specified. Precomposed icons take precedence.
Bug: 2546984
Change-Id: Id9291006ecda8659b823ab9629eb98a6f8d45f5e
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