diff options
Diffstat (limited to 'src/com/android/swe/browser/WebViewController.java')
-rw-r--r-- | src/com/android/swe/browser/WebViewController.java | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/src/com/android/swe/browser/WebViewController.java b/src/com/android/swe/browser/WebViewController.java new file mode 100644 index 00000000..e814ff9e --- /dev/null +++ b/src/com/android/swe/browser/WebViewController.java @@ -0,0 +1,123 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.browser; + +import android.app.Activity; +import android.content.Context; +import android.graphics.Bitmap; +import android.net.Uri; +import android.net.http.SslError; +import android.os.Message; +import android.view.KeyEvent; +import android.view.View; +import android.webkit.HttpAuthHandler; +import android.webkit.SslErrorHandler; +import android.webkit.ValueCallback; +import android.webkit.WebChromeClient; +import android.webkit.WebView; + +import java.util.List; + +/** + * WebView aspect of the controller + */ +public interface WebViewController { + + Context getContext(); + + Activity getActivity(); + + TabControl getTabControl(); + + WebViewFactory getWebViewFactory(); + + void onSetWebView(Tab tab, WebView view); + + void createSubWindow(Tab tab); + + void onPageStarted(Tab tab, WebView view, Bitmap favicon); + + void onPageFinished(Tab tab); + + void onProgressChanged(Tab tab); + + void onReceivedTitle(Tab tab, final String title); + + void onFavicon(Tab tab, WebView view, Bitmap icon); + + boolean shouldOverrideUrlLoading(Tab tab, WebView view, String url); + + boolean shouldOverrideKeyEvent(KeyEvent event); + + boolean onUnhandledKeyEvent(KeyEvent event); + + void doUpdateVisitedHistory(Tab tab, boolean isReload); + + void getVisitedHistory(final ValueCallback<String[]> callback); + + void onReceivedHttpAuthRequest(Tab tab, WebView view, final HttpAuthHandler handler, + final String host, final String realm); + + void onDownloadStart(Tab tab, String url, String useragent, String contentDisposition, + String mimeType, String referer, long contentLength); + + void showCustomView(Tab tab, View view, int requestedOrientation, + WebChromeClient.CustomViewCallback callback); + + void hideCustomView(); + + Bitmap getDefaultVideoPoster(); + + View getVideoLoadingProgressView(); + + void showSslCertificateOnError(WebView view, SslErrorHandler handler, + SslError error); + + void onUserCanceledSsl(Tab tab); + + boolean shouldShowErrorConsole(); + + void onUpdatedSecurityState(Tab tab); + + void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture); + + void endActionMode(); + + void attachSubWindow(Tab tab); + + void dismissSubWindow(Tab tab); + + Tab openTab(String url, boolean incognito, boolean setActive, + boolean useCurrent); + + Tab openTab(String url, Tab parent, boolean setActive, + boolean useCurrent); + + boolean switchToTab(Tab tab); + + void closeTab(Tab tab); + + void setupAutoFill(Message message); + + void bookmarkedStatusHasChanged(Tab tab); + + void showAutoLogin(Tab tab); + + void hideAutoLogin(Tab tab); + + boolean shouldCaptureThumbnails(); +} |