1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 package org.chromium.android_webview.test;
7 import android.graphics.Bitmap;
8 import android.graphics.Picture;
9 import android.net.http.SslError;
10 import android.os.Looper;
11 import android.os.Message;
12 import android.util.Log;
13 import android.view.KeyEvent;
14 import android.view.View;
15 import android.webkit.ConsoleMessage;
16 import android.webkit.GeolocationPermissions;
17 import android.webkit.ValueCallback;
18 import android.webkit.WebChromeClient;
20 import org.chromium.android_webview.AwContentsClient;
21 import org.chromium.android_webview.AwContentsClientBridge;
22 import org.chromium.android_webview.AwHttpAuthHandler;
23 import org.chromium.android_webview.AwWebResourceResponse;
24 import org.chromium.android_webview.JsPromptResultReceiver;
25 import org.chromium.android_webview.JsResultReceiver;
26 import org.chromium.android_webview.permission.AwPermissionRequest;
27 import org.chromium.base.ThreadUtils;
29 import java.security.Principal;
32 * As a convience for tests that only care about specefic callbacks, this class provides
33 * empty implementations of all abstract methods.
35 public class NullContentsClient extends AwContentsClient {
37 private static final String TAG = "NullContentsClient";
39 public NullContentsClient() {
40 this(ThreadUtils.getUiThreadLooper());
43 public NullContentsClient(Looper looper) {
44 super(looper); // "...beams are gonna blind me".
48 public boolean shouldOverrideUrlLoading(String url) {
53 public void onUnhandledKeyEvent(KeyEvent event) {
57 public void getVisitedHistory(ValueCallback<String[]> callback) {
61 public void doUpdateVisitedHistory(String url, boolean isReload) {
65 public void onProgressChanged(int progress) {
69 public AwWebResourceResponse shouldInterceptRequest(
70 AwContentsClient.ShouldInterceptRequestParams params) {
75 public boolean shouldOverrideKeyEvent(KeyEvent event) {
80 public void onLoadResource(String url) {
84 public boolean onConsoleMessage(ConsoleMessage consoleMessage) {
89 public void onReceivedHttpAuthRequest(AwHttpAuthHandler handler, String host, String realm) {
94 public void onReceivedSslError(ValueCallback<Boolean> callback, SslError error) {
95 callback.onReceiveValue(false);
99 public void onReceivedClientCertRequest(
100 final AwContentsClientBridge.ClientCertificateRequestCallback callback,
101 final String[] keyTypes, final Principal[] principals, final String host,
103 callback.proceed(null, null);
107 public void onReceivedLoginRequest(String realm, String account, String args) {
111 public void onGeolocationPermissionsShowPrompt(String origin,
112 GeolocationPermissions.Callback callback) {
116 public void onGeolocationPermissionsHidePrompt() {
120 public void handleJsAlert(String url, String message, JsResultReceiver receiver) {
121 Log.i(TAG, "handleJsAlert(" + url + ", " + message + ")");
126 public void handleJsBeforeUnload(String url, String message, JsResultReceiver receiver) {
127 Log.i(TAG, "handleJsBeforeUnload(" + url + ", " + message + ")");
132 public void handleJsConfirm(String url, String message, JsResultReceiver receiver) {
133 Log.i(TAG, "handleJsConfirm(" + url + ", " + message + ")");
138 public void handleJsPrompt(
139 String url, String message, String defaultValue, JsPromptResultReceiver receiver) {
140 Log.i(TAG, "handleJsPrompt(" + url + ", " + message + ")");
145 public void onFindResultReceived(int activeMatchOrdinal, int numberOfMatches,
146 boolean isDoneCounting) {
150 public void onNewPicture(Picture picture) {
154 public void onPageStarted(String url) {
158 public void onPageFinished(String url) {
162 public void onReceivedError(int errorCode, String description, String failingUrl) {
166 public void onFormResubmission(Message dontResend, Message resend) {
167 dontResend.sendToTarget();
171 public void onDownloadStart(String url,
173 String contentDisposition,
175 long contentLength) {
179 public boolean onCreateWindow(boolean isDialog, boolean isUserGesture) {
184 public void onCloseWindow() {
188 public void onRequestFocus() {
192 public void onReceivedTouchIconUrl(String url, boolean precomposed) {
196 public void onReceivedIcon(Bitmap bitmap) {
200 public void onReceivedTitle(String title) {
204 public void onShowCustomView(View view, WebChromeClient.CustomViewCallback callback) {
208 public void onHideCustomView() {
212 public void onScaleChangedScaled(float oldScale, float newScale) {
216 protected View getVideoLoadingProgressView() {
221 public Bitmap getDefaultVideoPoster() {
226 public void onPermissionRequest(AwPermissionRequest awPermissionRequest) {
227 awPermissionRequest.deny();
231 public void onPermissionRequestCanceled(AwPermissionRequest awPermissionRequest) {