Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a203c27a authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "webkit: Update documentation for onJsBeforeUnload callback" into rvc-dev

parents 7e24d133 a56c69ea
Loading
Loading
Loading
Loading
+32 −18
Original line number Diff line number Diff line
@@ -202,9 +202,9 @@ public class WebChromeClient {
     * <p>To suppress the dialog and allow JavaScript execution to
     * continue, call {@code JsResult.confirm()} immediately and then return
     * {@code true}.
     * <p>Note that if the {@link WebChromeClient} is {@code null}, the default
     * dialog will be suppressed and Javascript execution will continue
     * immediately.
     * <p>Note that if the {@link WebChromeClient} is set to be {@code null},
     * or if {@link WebChromeClient} is not set at all, the default dialog will
     * be suppressed and Javascript execution will continue immediately.
     *
     * @param view The WebView that initiated the callback.
     * @param url The url of the page requesting the dialog.
@@ -236,9 +236,10 @@ public class WebChromeClient {
     * <p>To suppress the dialog and allow JavaScript execution to continue,
     * call {@code JsResult.confirm()} or {@code JsResult.cancel()} immediately
     * and then return {@code true}.
     * <p>Note that if the {@link WebChromeClient} is {@code null}, the default
     * dialog will be suppressed and the default value of {@code false} will be
     * returned to the JavaScript code immediately.
     * <p>Note that if the {@link WebChromeClient} is set to be {@code null},
     * or if {@link WebChromeClient} is not set at all, the default dialog will
     * be suppressed and the default value of {@code false} will be returned to
     * the JavaScript code immediately.
     *
     * @param view The WebView that initiated the callback.
     * @param url The url of the page requesting the dialog.
@@ -269,9 +270,10 @@ public class WebChromeClient {
     * <p>To suppress the dialog and allow JavaScript execution to continue,
     * call {@code JsPromptResult.confirm(result)} immediately and then
     * return {@code true}.
     * <p>Note that if the {@link WebChromeClient} is {@code null}, the default
     * dialog will be suppressed and {@code null} will be returned to the
     * JavaScript code immediately.
     * <p>Note that if the {@link WebChromeClient} is set to be {@code null},
     * or if {@link WebChromeClient} is not set at all, the default dialog will
     * be suppressed and {@code null} will be returned to the JavaScript code
     * immediately.
     *
     * @param view The WebView that initiated the callback.
     * @param url The url of the page requesting the dialog.
@@ -288,20 +290,32 @@ public class WebChromeClient {
    }

    /**
     * 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 {@code true}, WebView will assume that the client will
     * handle the confirm dialog and call the appropriate JsResult method. If
     * the client returns {@code false}, a default value of {@code true} will be returned to
     * javascript to accept navigation away from the current page. The default
     * behavior is to return {@code false}. Setting the JsResult to {@code true} will navigate
     * away from the current page, {@code false} will cancel the navigation.
     * Notify the host application that the web page wants to confirm navigation
     * from JavaScript {@code onbeforeunload}.
     * <p>The default behavior if this method returns {@code false} or is not
     * overridden is to show a dialog containing the message and suspend
     * JavaScript execution until the dialog is dismissed. The default dialog
     * will continue the navigation if the user confirms the navigation, and
     * will stop the navigation if the user wants to stay on the current page.
     * <p>To show a custom dialog, the app should return {@code true} from this
     * method, in which case the default dialog will not be shown and JavaScript
     * execution will be suspended. When the custom dialog is dismissed, the
     * app should call {@code JsResult.confirm()} to continue the navigation or,
     * {@code JsResult.cancel()} to stay on the current page.
     * <p>To suppress the dialog and allow JavaScript execution to continue,
     * call {@code JsResult.confirm()} or {@code JsResult.cancel()} immediately
     * and then return {@code true}.
     * <p>Note that if the {@link WebChromeClient} is set to be {@code null},
     * or if {@link WebChromeClient} is not set at all, the default dialog will
     * be suppressed and the navigation will be resumed immediately.
     *
     * @param view The WebView that initiated the callback.
     * @param url The url of the page requesting the dialog.
     * @param message Message to be displayed in the window.
     * @param result A JsResult used to send the user's response to
     *               javascript.
     * @return boolean Whether the client will handle the confirm dialog.
     * @return boolean {@code true} if the request is handled or ignored.
     * {@code false} if WebView needs to show the default dialog.
     */
    public boolean onJsBeforeUnload(WebView view, String url, String message,
            JsResult result) {