java.lang.Object | |
↳ | com.tencent.smtt.sdk.WebChromeClient |
Nested Classes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
class | WebChromeClient.FileChooserParams | Parameters used in the onShowFileChooser(WebView, ValueCallback method. |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
WebChromeClient() |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Bitmap |
getDefaultVideoPoster()
When not playing, video elements are represented by a 'poster' image.
| ||||||||||
View |
getVideoLoadingProgressView()
Obtains a View to be displayed while buffering of full screen video is taking
place.
| ||||||||||
void |
getVisitedHistory(ValueCallback<String[]> callback)
Obtains a list of all visited history items, used for link coloring
| ||||||||||
void |
onCloseWindow(WebView window)
Notify the host application to close the given WebView and remove it
from the view system if necessary.
| ||||||||||
boolean |
onConsoleMessage(ConsoleMessage consoleMessage)
Report a JavaScript console message to the host application.
| ||||||||||
boolean |
onCreateWindow(WebView view, boolean dialog, boolean userGesture, Message resultMsg)
Request the host application to create a new window.
| ||||||||||
void |
onExceededDatabaseQuota(String url, String databaseIdentifier, long currentQuota, long estimatedSize, long totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater)
This method is deprecated.
This method is no longer called; WebView now uses the HTML5 / JavaScript Quota
Management API.
| ||||||||||
void |
onGeolocationPermissionsHidePrompt()
Notify the host application that a request for Geolocation permissions,
made with a previous call to
onGeolocationPermissionsShowPrompt()
has been canceled. | ||||||||||
void |
onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissionsCallback callback)
Notify the host application that web content from the specified origin
is attempting to use the Geolocation API, but no permission state is
currently set for that origin.
| ||||||||||
void |
onHideCustomView()
Notify the host application that the current page has exited full
screen mode.
| ||||||||||
boolean |
onJsAlert(WebView view, String url, String message, JsResult result)
Tell the client to display a javascript alert dialog.
| ||||||||||
boolean |
onJsBeforeUnload(WebView view, String url, String message, JsResult result)
Tell the client to display a dialog to confirm navigation away from the
current page.
| ||||||||||
boolean |
onJsConfirm(WebView view, String url, String message, JsResult result)
Tell the client to display a confirm dialog to the user.
| ||||||||||
boolean |
onJsPrompt(WebView view, String url, String message, String defaultValue, JsPromptResult result)
Tell the client to display a prompt dialog to the user.
| ||||||||||
boolean |
onJsTimeout()
This method is deprecated.
This method is no longer supported and will not be invoked.
| ||||||||||
void |
onPermissionRequest(PermissionRequest request)
Notify the host application that web content is requesting permission to
access the specified resources and the permission currently isn't granted
or denied.
| ||||||||||
void |
onPermissionRequestCanceled(PermissionRequest request)
Notify the host application that the given permission request
has been canceled.
| ||||||||||
void |
onProgressChanged(WebView view, int newProgress)
Tell the host application the current progress of loading a page.
| ||||||||||
void |
onReachedMaxAppCacheSize(long spaceNeeded, long totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater)
This method is deprecated.
This method is no longer called; WebView now uses the HTML5 / JavaScript Quota
Management API.
| ||||||||||
void |
onReceivedIcon(WebView view, Bitmap icon)
Notify the host application of a new favicon for the current page.
| ||||||||||
void |
onReceivedTitle(WebView view, String title)
Notify the host application of a change in the document title.
| ||||||||||
void |
onReceivedTouchIconUrl(WebView view, String url, boolean precomposed)
Notify the host application of the url for an apple-touch-icon.
| ||||||||||
void |
onRequestFocus(WebView view)
Request display and focus for this WebView.
| ||||||||||
void |
onShowCustomView(View view, int requestedOrientation, IX5WebChromeClient.CustomViewCallback callback)
This method is deprecated.
This method supports the obsolete plugin mechanism,
and will not be invoked in future
| ||||||||||
void |
onShowCustomView(View view, IX5WebChromeClient.CustomViewCallback callback)
Notify the host application that the current page has entered full
screen mode.
| ||||||||||
boolean |
onShowFileChooser(WebView webView, ValueCallback<Uri[]> filePathCallback, WebChromeClient.FileChooserParams fileChooserParams)
Tell the client to show a file chooser.
| ||||||||||
void |
openFileChooser(ValueCallback<Uri> uploadFile, String acceptType, String captureType)
Tell the client to open a file chooser.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
When not playing, video elements are represented by a 'poster' image. The image to use can be specified by the poster attribute of the video tag in HTML. If the attribute is absent, then a default poster will be used. This method allows the ChromeClient to provide that default image.
null
if no such image is
available.
Obtains a View to be displayed while buffering of full screen video is taking place. The host application can override this method to provide a View containing a spinner or similar.
Obtains a list of all visited history items, used for link coloring
Notify the host application to close the given WebView and remove it from the view system if necessary. At this point, WebCore has stopped any loading in this window and has removed any cross-scripting ability in javascript.
As with onCreateWindow(WebView, boolean, boolean, Message)
, the application should ensure that any
URL or security indicator displayed is updated so that the user can tell
that the page they were interacting with has been closed.
window | The WebView that needs to be closed. |
---|
Report a JavaScript console message to the host application. The ChromeClient should override this to process the log message as they see fit.
consoleMessage | Object containing details of the console message. |
---|
true
if the message is handled by the client.
Request the host application to create a new window. If the host
application chooses to honor this request, it should return true
from
this method, create a new WebView to host the window, insert it into the
View system and send the supplied resultMsg message to its target with
the new WebView as an argument. If the host application chooses not to
honor the request, it should return false
from this method. The default
implementation of this method does nothing and hence returns false
.
Applications should typically not allow windows to be created when the
isUserGesture
flag is false, as this may be an unwanted popup.
Applications should be careful how they display the new window: don't simply overlay it over the existing WebView as this may mislead the user about which site they are viewing. If your application displays the URL of the main page, make sure to also display the URL of the new window in a similar fashion. If your application does not display URLs, consider disallowing the creation of new windows entirely.
Note: There is no trustworthy way to tell which page requested the new window: the request might originate from a third-party iframe inside the WebView.
view | The WebView from which the request for a new window originated. |
---|---|
dialog | true if the new window should be a dialog, rather than
a full-size window. |
userGesture | true if the request was initiated by a user gesture,
such as the user clicking a link. |
resultMsg | The message to send when once a new WebView has been
created. resultMsg.obj is a
WebView.WebViewTransport object. This should be
used to transport the new WebView, by calling
WebView.WebViewTransport.setWebView(WebView) . |
true
if the host application will
create a new window, in which case resultMsg should be sent to
its target. Otherwise, this method should return false
. Returning
false
from this method but also sending resultMsg will result in
undefined behavior.
This method is deprecated.
This method is no longer called; WebView now uses the HTML5 / JavaScript Quota
Management API.
Tell the client that the quota has been exceeded for the Web SQL Database
API for a particular origin and request a new quota. The client must
respond by invoking the
updateQuota(long)
method of the supplied WebStorage.QuotaUpdater
instance. The
minimum value that can be set for the new quota is the current quota. The
default implementation responds with the current quota, so the quota will
not be increased.
url | The URL of the page that triggered the notification |
---|---|
databaseIdentifier | The identifier of the database where the quota was exceeded. |
currentQuota | The quota for the origin, in bytes |
estimatedSize | The estimated size of the offending database, in bytes |
totalUsedQuota | The total quota for all origins, in bytes |
quotaUpdater | An instance of WebStorage.QuotaUpdater which
must be used to inform the WebView of the new quota. |
Notify the host application that a request for Geolocation permissions,
made with a previous call to
onGeolocationPermissionsShowPrompt()
has been canceled. Any related UI should therefore be hidden.
Notify the host application that web content from the specified origin
is attempting to use the Geolocation API, but no permission state is
currently set for that origin. The host application should invoke the
specified callback with the desired permission state. See
GeolocationPermissions
for details.
Note that for applications targeting Android N and later SDKs (API level > android.os.Build.VERSION_CODES#M) this method is only called for requests originating from secure origins such as https. On non-secure origins geolocation requests are automatically denied.
origin | The origin of the web content attempting to use the Geolocation API. |
---|---|
callback | The callback to use to set the permission state for the origin. |
Notify the host application that the current page has exited full
screen mode. The host application must hide the custom View, ie. the
View passed to onShowCustomView(View, IX5WebChromeClient.CustomViewCallback)
when the content entered fullscreen.
Also see "Full screen support" documentation on WebView
.
Tell the client to display a javascript alert dialog. If the client
returns true
, WebView will assume that the client will handle the
dialog. If the client returns false
, it will continue execution.
view | The WebView that initiated the callback. |
---|---|
url | The url of the page requesting the dialog. |
message | Message to be displayed in the window. |
result | A JsResult to confirm that the user hit enter. |
Tell the client to display a dialog to confirm navigation away from the
current page. This is the result of the onbeforeunload javascript event.
If the client returns true
, WebView will assume that the client will
handle the confirm dialog and call the appropriate JsResult method. If
the client returns false
, a default value of true
will be returned to
javascript to accept navigation away from the current page. The default
behavior is to return false
. Setting the JsResult to true
will navigate
away from the current page, false
will cancel the navigation.
view | The WebView that initiated the callback. |
---|---|
url | The url of the page requesting the dialog. |
message | Message to be displayed in the window. |
result | A JsResult used to send the user's response to javascript. |
Tell the client to display a confirm dialog to the user. If the client
returns true
, WebView will assume that the client will handle the
confirm dialog and call the appropriate JsResult method. If the
client returns false, a default value of false
will be returned to
javascript. The default behavior is to return false
.
view | The WebView that initiated the callback. |
---|---|
url | The url of the page requesting the dialog. |
message | Message to be displayed in the window. |
result | A JsResult used to send the user's response to javascript. |
Tell the client to display a prompt dialog to the user. If the client
returns true
, WebView will assume that the client will handle the
prompt dialog and call the appropriate JsPromptResult method. If the
client returns false, a default value of false
will be returned to to
javascript. The default behavior is to return false
.
view | The WebView that initiated the callback. |
---|---|
url | The url of the page requesting the dialog. |
message | Message to be displayed in the window. |
defaultValue | The default value displayed in the prompt dialog. |
result | A JsPromptResult used to send the user's reponse to javascript. |
This method is deprecated.
This method is no longer supported and will not be invoked.
Tell the client that a JavaScript execution timeout has occured. And the
client may decide whether or not to interrupt the execution. If the
client returns true
, the JavaScript will be interrupted. If the client
returns false
, the execution will continue. Note that in the case of
continuing execution, the timeout counter will be reset, and the callback
will continue to occur if the script does not finish at the next check
point.
Notify the host application that web content is requesting permission to
access the specified resources and the permission currently isn't granted
or denied. The host application must invoke grant(String[])
or deny()
.
If this method isn't overridden, the permission is denied.
request | the PermissionRequest from current web content. |
---|
Notify the host application that the given permission request has been canceled. Any related UI should therefore be hidden.
request | the PermissionRequest that needs be canceled. |
---|
Tell the host application the current progress of loading a page.
view | The WebView that initiated the callback. |
---|---|
newProgress | Current page loading progress, represented by an integer between 0 and 100. |
This method is deprecated.
This method is no longer called; WebView now uses the HTML5 / JavaScript Quota
Management API.
Notify the host application that the Application Cache has reached the
maximum size. The client must respond by invoking the
updateQuota(long)
method of the supplied WebStorage.QuotaUpdater
instance. The
minimum value that can be set for the new quota is the current quota. The
default implementation responds with the current quota, so the quota will
not be increased.
spaceNeeded | The amount of storage required by the Application Cache operation that triggered this notification, in bytes. |
---|---|
totalUsedQuota | the current maximum Application Cache size, in bytes |
quotaUpdater | An instance of WebStorage.QuotaUpdater which
must be used to inform the WebView of the new quota. |
Notify the host application of a new favicon for the current page.
view | The WebView that initiated the callback. |
---|---|
icon | A Bitmap containing the favicon for the current page. |
Notify the host application of a change in the document title.
view | The WebView that initiated the callback. |
---|---|
title | A String containing the new title of the document. |
Notify the host application of the url for an apple-touch-icon.
view | The WebView that initiated the callback. |
---|---|
url | The icon url. |
precomposed | true if the url is for a precomposed touch icon.
|
Request display and focus for this WebView. This may happen due to another WebView opening a link in this WebView and requesting that this WebView be displayed.
view | The WebView that needs to be focused. |
---|
This method is deprecated.
This method supports the obsolete plugin mechanism,
and will not be invoked in future
Notify the host application that the current page would like to show a custom View in a particular orientation.
view | is the View object to be shown. |
---|---|
requestedOrientation | An orientation constant as used in ActivityInfo#screenOrientation ActivityInfo.screenOrientation. |
callback | is the callback to be invoked if and when the view is dismissed. |
Notify the host application that the current page has entered full
screen mode. The host application must show the custom View which
contains the web contents — video or other HTML content —
in full screen mode. Also see "Full screen support" documentation on
WebView
.
view | is the View object to be shown. |
---|---|
callback | invoke this callback to request the page to exit full screen mode. |
Tell the client to show a file chooser.
This is called to handle HTML forms with 'file' input type, in response to the
user pressing the "Select File" button.
To cancel the request, call filePathCallback.onReceiveValue(null)
and
return true
.
webView | The WebView instance that is initiating the request. |
---|---|
filePathCallback | Invoke this callback to supply the list of paths to files to upload,
or null to cancel. Must only be called if the
onShowFileChooser(WebView, ValueCallback implementation returns true . |
fileChooserParams | Describes the mode of file chooser to be opened, and options to be used with it. |
true
if filePathCallback will be invoked, false
to use default
handling.Tell the client to open a file chooser.
uploadFile | A ValueCallback to set the URI of the file to upload. onReceiveValue must be called to wake up the thread. |
---|---|
acceptType | The value of the 'accept' attribute of the input tag associated with this file picker. |
captureType | The value of the 'capture' attribute of the input tag associated with this file picker. |