Bug: 20557074
There is no need to keep the name PostMessageToMainFrame since
we may choose to not implement the special condition to posting
to a named subframe. And if we want, we can do this by overloading
the function.
Change-Id: I9896ad479e1c30cda500352cfdb1b7d336383568
Temporarily make WebResourceError.getDescription() non-abstract
so the current version of WebView doesn't crash on it.
Bug: 20064008, 21063767
Change-Id: I15a1abb5df76263006d14eb589fe0076d5aac582
This reverts commit 97c3813042.
This causes issue with the right IME window getting focus.
Bug: 21144633
Change-Id: I4c75b6e7dd87c10f008444d2059164b52a8f4335
- minor changes in WebResourceError;
- prepare to remove WebResourceResponseBase;
- add immutable mode to WebResourceResponse.
Bug: 21063767
Change-Id: Iaf5f92e3850732c7a888453468e108809b3b782a
It turned out that after the API change from ViewAssistStructure to
ViewStructure, the suggested mechanism did not work, and webview
started throwing abstractmethoderror exceptions. Temporarily
solve the problem by wrapping ViewStructure inside a
ViewAssistStructure. Once Webview APK is updated, drop it.
Change-Id: I09dfe7dac9c2bc7c037d842844c61dd879629470
Despite the fact that IMM#focusOut() are called from many focus
mangement logics, the reality is that IMM#focusOut() has done
nothing more than 6 years. This would not a big problem as long
as IMM#focusIn() is called immediately after IMM#focusOut().
However, situations where only IMM#focusOut() is called,
following fields continue keeping object references.
- IMM#mServedView
- IMM#mNextServedView
- IMM#mServedInputConnection
- IMM#mServedInputConnectionWrapper
Even worse, if the IME is showing software keyboard, it will not
be dismissed.
With this CL, IMM#focusOut() starts cleaning up the active IME
session when the associated view loses focus.
This CL also removes IMM#mCurRootView because it is indeed
necessary for above change. The problem when only introducing
above change can be understood as follows.
1. IMM#mCurRootView is correctly set from ViewRootImpl.
2. IMM#focusIn() is called. InputConnection is established.
3. IMM#focusOut() is called, which triggers
IMM#finishInputLocked() because of above change, which
internally clears IMM#mCurRootView.
4. IMM#focusIn() is called but IMM#mCurRootView is still null.
Because of this the focus-in event is ignored and the
software keyboard does not show up anymore.
In this CL, we simply check view.hasWindowFocus() instead.
As far as I've tested, this change looks to be working well.
Bug: 20820914
Change-Id: Ib4bd70ce0305a6bde6a929bcc6ad20a2b8402a97
A previous CL introduced a new way of encoding view properties for
use by heirarchy viewer. This CL updates all views using the old
@ExportedProperty annotation to use this new method. The older
mechanism will be removed in a subsequent CL.
Change-Id: I6cc23b90cd9da1c6ce89b4caffe54874db203452
Fix the various view assist related APIs.
Also remove the blockAssist view attribute, and instead use
the window's FLAG_SECURE to drive blocking of the entire
hierarchy (which is semantically correct, and will protect
existing apps that have already indicated they need it).
Change-Id: I6beebc86b202809cba0a356cae9607d8d0fb5e78
Add method for loading the shared webview library so that several
packages can make use of it. Also add error codes making it possible
to inspect the reason for failing to load the library.
Change-Id: Ic0833d5d122bae488d380e4e10dd81126bd2358e
In the change in go/ag/672863 we throw an AndroidRuntimeException
instead of a PackageManager.NameNotFoundException when no webview
package exists. This should break devices not using webview since
the NameNotFoundException is used to detect webview not being present
(so that the null webview can be loaded instead). In this patch we
create a new type of exception and look for that one instead when we
want to determine whether the device should or should not have webview
installed.
Change-Id: Ia75dec718d7a5b2c3517671c54be3950badb8bba
Bug: b/19771298
onProvideVirtualAssistStructure API was hardwired to call the super
method prevent any crashes when assist gesture is used. Enable it.
Change-Id: I333f9f024ffb34af6a2cfa7e4b66ae233d73eb41
Use a priority list of WebView packages instead of a single package to
determine which package to load WebView from.
This to allow a future version of Chrome to provide the WebView
implementation.
Change-Id: I42e900f0e63152188ebfcff9e39e0d9a99bc6c90
Use a priority list of WebView packages instead of a single package to
determine which package to load WebView from.
This to allow a future version of Chrome to provide the WebView
implementation.
Change-Id: Id63a31396c8c0afbfd250f43a256ccd5981f7a56
Bug: 19771298
Implement the Webview API to provide assist data. Webview assist
data is provided asynchronously.
Change-Id: I2fbf3e5ce7779ba6664dfbc6a702880fe71d5126
Bug: 19313118
As part of the "better error reporting for Webview" work, a new public
API was defined for MNC release to report blocked loads. However,
we decided to use WebChromeClient.onConsoleMessage for this case.
Removing the API.
Change-Id: I1a599385f1ecdd10ba5a774b0b2a6b9f4bdcbd95
For apps that use WebView but don't override
WebChromeClient.onGeolocationPermissionsShowPrompt the callback should
be invoked with allow set to false by default. This ensures that
the error handler callback in JavaScript is invoked in this case (with
the "User denied Geolocation" error). Currently no callbacks are invoked
at all by default (see http://crbug.com/470500).
Change-Id: I49664906b8cfa6910106c8da1b21b99628adacfc
Registering a visual state callback allows the caller to be notified
after the commit, activation and swap of the current (or future) state
of the DOM tree has occurred. At the point at which the callback is
called, the caller can be sure that any DOM updates made prior to
the registration are ready to be drawn in the next WebView#onDraw.
We also provide a convenience callback related to the visual state:
* WebViewClient.onPageCommitVisible; called at the earliest point at
which the next draw will not render contents from the previously
loaded page.
Bug: 6375170
Change-Id: I17e706b6e6ba4a8c28c835552687c9f7a4623024
Bug: 10237116
This CL implements the postmessage API for webview. It provides
a way for java applications to post messages to JS frames and
establish message channels, and then do full-duplex communication
after that.
Change-Id: Idbc2918552a4c9fd28ae1ddf19bd360e71f8a4a2
Add new callbacks into WebViewClient that will provide notifications
about subresource loading errors and HTTP errors received from servers.
Bug: 19313118
Change-Id: Idb47f53ef7e72cb95f3e9b89d1e238d69e896b8b
We continue to compile external/apache-http into ext.jar. This contains
a few changes apart fom the classes moving around :
- Makefile changes to build docs and api-stubs for now. A future change
will revert these changes and remove these classes from stubs and
docs.
- Hardcode event IDs in legacyerrorstrings to avoid a dependency between
the frameworks and apache. These strings are on their way out and will
never change anyway.
- Remove imports due to {@link} tags and use {@code} instead.
- Remove an accidental(?) dependency on apache commons code that's a
part of apache-http.
bug: 18027885
Change-Id: I51cd038d846ec7d02c283a4541b10a6a9cf62ecf