Home | History | Annotate | Download | only in browser
      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.ClientCertRequestHandler;
     24 import android.webkit.HttpAuthHandler;
     25 import android.webkit.SslErrorHandler;
     26 import android.webkit.WebView;
     27 import android.webkit.WebViewClient;
     28 
     29 /**
     30  *
     31  *
     32  * WebViewClient for browser tests.
     33  * Wraps around existing client so that specific methods can be overridden if needed.
     34  *
     35  */
     36 abstract class TestWebViewClient extends WebViewClient {
     37 
     38   private WebViewClient mWrappedClient;
     39 
     40   protected TestWebViewClient(WebViewClient wrappedClient) {
     41     mWrappedClient = wrappedClient;
     42   }
     43 
     44   /** {@inheritDoc} */
     45   @Override
     46   public boolean shouldOverrideUrlLoading(WebView view, String url) {
     47       return mWrappedClient.shouldOverrideUrlLoading(view, url);
     48   }
     49 
     50   /** {@inheritDoc} */
     51   @Override
     52   public void onPageStarted(WebView view, String url, Bitmap favicon) {
     53     mWrappedClient.onPageStarted(view, url, favicon);
     54   }
     55 
     56   /** {@inheritDoc} */
     57   @Override
     58   public void onPageFinished(WebView view, String url) {
     59     mWrappedClient.onPageFinished(view, url);
     60   }
     61 
     62   /** {@inheritDoc} */
     63   @Override
     64   public void onLoadResource(WebView view, String url) {
     65     mWrappedClient.onLoadResource(view, url);
     66   }
     67 
     68   /** {@inheritDoc} */
     69   @Deprecated
     70   @Override
     71   public void onTooManyRedirects(WebView view, Message cancelMsg,
     72           Message continueMsg) {
     73       mWrappedClient.onTooManyRedirects(view, cancelMsg, continueMsg);
     74   }
     75 
     76   /** {@inheritDoc} */
     77   @Override
     78   public void onReceivedError(WebView view, int errorCode,
     79           String description, String failingUrl) {
     80     mWrappedClient.onReceivedError(view, errorCode, description, failingUrl);
     81   }
     82 
     83   /** {@inheritDoc} */
     84   @Override
     85   public void onFormResubmission(WebView view, Message dontResend,
     86           Message resend) {
     87     mWrappedClient.onFormResubmission(view, dontResend, resend);
     88   }
     89 
     90   /** {@inheritDoc} */
     91   @Override
     92   public void doUpdateVisitedHistory(WebView view, String url,
     93           boolean isReload) {
     94     mWrappedClient.doUpdateVisitedHistory(view, url, isReload);
     95   }
     96 
     97   /** {@inheritDoc} */
     98   @Override
     99   public void onReceivedSslError(WebView view, SslErrorHandler handler,
    100           SslError error) {
    101       mWrappedClient.onReceivedSslError(view, handler, error);
    102   }
    103 
    104   /** {@inheritDoc} */
    105   @Override
    106   public void onReceivedClientCertRequest(WebView view, ClientCertRequestHandler handler,
    107           String host_and_port) {
    108       mWrappedClient.onReceivedClientCertRequest(view, handler, host_and_port);
    109   }
    110 
    111   /** {@inheritDoc} */
    112   @Override
    113   public void onReceivedHttpAuthRequest(WebView view,
    114           HttpAuthHandler handler, String host, String realm) {
    115       mWrappedClient.onReceivedHttpAuthRequest(view, handler, host, realm);
    116   }
    117 
    118   /** {@inheritDoc} */
    119   @Override
    120   public boolean shouldOverrideKeyEvent(WebView view, KeyEvent event) {
    121       return mWrappedClient.shouldOverrideKeyEvent(view, event);
    122   }
    123 
    124   /** {@inheritDoc} */
    125   @Override
    126   public void onUnhandledKeyEvent(WebView view, KeyEvent event) {
    127     mWrappedClient.onUnhandledKeyEvent(view, event);
    128   }
    129 
    130   /** {@inheritDoc} */
    131   @Override
    132   public void onScaleChanged(WebView view, float oldScale, float newScale) {
    133     mWrappedClient.onScaleChanged(view, oldScale, newScale);
    134   }
    135 }
    136