1 /* 2 * Copyright (C) 2010 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.browser; 18 19 import android.graphics.Bitmap; 20 import android.net.http.SslError; 21 import android.os.Message; 22 import android.view.KeyEvent; 23 import android.webkit.HttpAuthHandler; 24 import android.webkit.SslErrorHandler; 25 import android.webkit.WebView; 26 import android.webkit.WebViewClient; 27 28 /** 29 * 30 * 31 * WebViewClient for browser tests. 32 * Wraps around existing client so that specific methods can be overridden if needed. 33 * 34 */ 35 abstract class TestWebViewClient extends WebViewClient { 36 37 private WebViewClient mWrappedClient; 38 TestWebViewClient(WebViewClient wrappedClient)39 protected TestWebViewClient(WebViewClient wrappedClient) { 40 mWrappedClient = wrappedClient; 41 } 42 43 /** {@inheritDoc} */ 44 @Override shouldOverrideUrlLoading(WebView view, String url)45 public boolean shouldOverrideUrlLoading(WebView view, String url) { 46 return mWrappedClient.shouldOverrideUrlLoading(view, url); 47 } 48 49 /** {@inheritDoc} */ 50 @Override onPageStarted(WebView view, String url, Bitmap favicon)51 public void onPageStarted(WebView view, String url, Bitmap favicon) { 52 mWrappedClient.onPageStarted(view, url, favicon); 53 } 54 55 /** {@inheritDoc} */ 56 @Override onPageFinished(WebView view, String url)57 public void onPageFinished(WebView view, String url) { 58 mWrappedClient.onPageFinished(view, url); 59 } 60 61 /** {@inheritDoc} */ 62 @Override onLoadResource(WebView view, String url)63 public void onLoadResource(WebView view, String url) { 64 mWrappedClient.onLoadResource(view, url); 65 } 66 67 /** {@inheritDoc} */ 68 @Deprecated 69 @Override onTooManyRedirects(WebView view, Message cancelMsg, Message continueMsg)70 public void onTooManyRedirects(WebView view, Message cancelMsg, 71 Message continueMsg) { 72 mWrappedClient.onTooManyRedirects(view, cancelMsg, continueMsg); 73 } 74 75 /** {@inheritDoc} */ 76 @Override onReceivedError(WebView view, int errorCode, String description, String failingUrl)77 public void onReceivedError(WebView view, int errorCode, 78 String description, String failingUrl) { 79 mWrappedClient.onReceivedError(view, errorCode, description, failingUrl); 80 } 81 82 /** {@inheritDoc} */ 83 @Override onFormResubmission(WebView view, Message dontResend, Message resend)84 public void onFormResubmission(WebView view, Message dontResend, 85 Message resend) { 86 mWrappedClient.onFormResubmission(view, dontResend, resend); 87 } 88 89 /** {@inheritDoc} */ 90 @Override doUpdateVisitedHistory(WebView view, String url, boolean isReload)91 public void doUpdateVisitedHistory(WebView view, String url, 92 boolean isReload) { 93 mWrappedClient.doUpdateVisitedHistory(view, url, isReload); 94 } 95 96 /** {@inheritDoc} */ 97 @Override onReceivedSslError(WebView view, SslErrorHandler handler, SslError error)98 public void onReceivedSslError(WebView view, SslErrorHandler handler, 99 SslError error) { 100 mWrappedClient.onReceivedSslError(view, handler, error); 101 } 102 103 /** {@inheritDoc} */ 104 @Override onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, String host, String realm)105 public void onReceivedHttpAuthRequest(WebView view, 106 HttpAuthHandler handler, String host, String realm) { 107 mWrappedClient.onReceivedHttpAuthRequest(view, handler, host, realm); 108 } 109 110 /** {@inheritDoc} */ 111 @Override shouldOverrideKeyEvent(WebView view, KeyEvent event)112 public boolean shouldOverrideKeyEvent(WebView view, KeyEvent event) { 113 return mWrappedClient.shouldOverrideKeyEvent(view, event); 114 } 115 116 /** {@inheritDoc} */ 117 @Override onUnhandledKeyEvent(WebView view, KeyEvent event)118 public void onUnhandledKeyEvent(WebView view, KeyEvent event) { 119 mWrappedClient.onUnhandledKeyEvent(view, event); 120 } 121 122 /** {@inheritDoc} */ 123 @Override onScaleChanged(WebView view, float oldScale, float newScale)124 public void onScaleChanged(WebView view, float oldScale, float newScale) { 125 mWrappedClient.onScaleChanged(view, oldScale, newScale); 126 } 127 } 128