blob: dec22ff6595a5cb69e703b74d9fd0f2485f9816d [file] [log] [blame]
Michael Kolb14612442011-06-24 13:06:29 -07001/*
2 * Copyright (C) 2011 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
17package com.android.browser;
18
19import android.app.Activity;
20import android.content.Context;
21import android.graphics.Bitmap;
22import android.net.Uri;
23import android.net.http.SslError;
24import android.os.Message;
Mathew Inwoode1dbb952011-07-08 17:27:38 +010025import android.util.Log;
Michael Kolb14612442011-06-24 13:06:29 -070026import android.view.KeyEvent;
27import android.view.View;
28import android.webkit.HttpAuthHandler;
29import android.webkit.SslErrorHandler;
30import android.webkit.ValueCallback;
31import android.webkit.WebChromeClient.CustomViewCallback;
32import android.webkit.WebView;
33
34import java.util.List;
35
36public class PreloadController implements WebViewController {
37
Mathew Inwoode1dbb952011-07-08 17:27:38 +010038 private static final boolean LOGD_ENABLED = false;
39 private static final String LOGTAG = "PreloadController";
40
Michael Kolb14612442011-06-24 13:06:29 -070041 private Context mContext;
42
43 public PreloadController(Context ctx) {
Ben Murdoch914c5592011-08-01 13:58:47 +010044 mContext = ctx.getApplicationContext();
Michael Kolb14612442011-06-24 13:06:29 -070045
46 }
47
48 @Override
49 public Context getContext() {
50 return mContext;
51 }
52
53 @Override
54 public Activity getActivity() {
Mathew Inwoode1dbb952011-07-08 17:27:38 +010055 if (LOGD_ENABLED) Log.d(LOGTAG, "getActivity()");
Michael Kolb14612442011-06-24 13:06:29 -070056 return null;
57 }
58
59 @Override
60 public TabControl getTabControl() {
Mathew Inwoode1dbb952011-07-08 17:27:38 +010061 if (LOGD_ENABLED) Log.d(LOGTAG, "getTabControl()");
Michael Kolb14612442011-06-24 13:06:29 -070062 return null;
63 }
64
65 @Override
66 public WebViewFactory getWebViewFactory() {
Mathew Inwoode1dbb952011-07-08 17:27:38 +010067 if (LOGD_ENABLED) Log.d(LOGTAG, "getWebViewFactory()");
Michael Kolb14612442011-06-24 13:06:29 -070068 return null;
69 }
70
71 @Override
72 public void onSetWebView(Tab tab, WebView view) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +010073 if (LOGD_ENABLED) Log.d(LOGTAG, "onSetWebView()");
Michael Kolb14612442011-06-24 13:06:29 -070074 }
75
76 @Override
77 public void createSubWindow(Tab tab) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +010078 if (LOGD_ENABLED) Log.d(LOGTAG, "createSubWindow()");
Michael Kolb14612442011-06-24 13:06:29 -070079 }
80
81 @Override
82 public void onPageStarted(Tab tab, WebView view, Bitmap favicon) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +010083 if (LOGD_ENABLED) Log.d(LOGTAG, "onPageStarted()");
Narayan Kamathc8892c72011-07-20 14:36:22 +010084 if (view != null) {
85 // Clear history of all previously visited pages. When the
86 // user visits a preloaded tab, the only item in the history
87 // list should the currently viewed page.
88 view.clearHistory();
89 }
Michael Kolb14612442011-06-24 13:06:29 -070090 }
91
92 @Override
93 public void onPageFinished(Tab tab) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +010094 if (LOGD_ENABLED) Log.d(LOGTAG, "onPageFinished()");
Narayan Kamathc8892c72011-07-20 14:36:22 +010095 if (tab != null) {
96 final WebView view = tab.getWebView();
97 if (view != null) {
98 // Clear history of all previously visited pages. When the
99 // user visits a preloaded tab.
100 view.clearHistory();
101 }
102 }
Michael Kolb14612442011-06-24 13:06:29 -0700103 }
104
105 @Override
106 public void onProgressChanged(Tab tab) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100107 if (LOGD_ENABLED) Log.d(LOGTAG, "onProgressChanged()");
Michael Kolb14612442011-06-24 13:06:29 -0700108 }
109
110 @Override
111 public void onReceivedTitle(Tab tab, String title) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100112 if (LOGD_ENABLED) Log.d(LOGTAG, "onReceivedTitle()");
Michael Kolb14612442011-06-24 13:06:29 -0700113 }
114
115 @Override
116 public void onFavicon(Tab tab, WebView view, Bitmap icon) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100117 if (LOGD_ENABLED) Log.d(LOGTAG, "onFavicon()");
Michael Kolb14612442011-06-24 13:06:29 -0700118 }
119
120 @Override
121 public boolean shouldOverrideUrlLoading(Tab tab, WebView view, String url) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100122 if (LOGD_ENABLED) Log.d(LOGTAG, "shouldOverrideUrlLoading()");
Michael Kolb14612442011-06-24 13:06:29 -0700123 return false;
124 }
125
126 @Override
127 public boolean shouldOverrideKeyEvent(KeyEvent event) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100128 if (LOGD_ENABLED) Log.d(LOGTAG, "shouldOverrideKeyEvent()");
Michael Kolb14612442011-06-24 13:06:29 -0700129 return false;
130 }
131
132 @Override
133 public void onUnhandledKeyEvent(KeyEvent event) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100134 if (LOGD_ENABLED) Log.d(LOGTAG, "onUnhandledKeyEvent()");
Michael Kolb14612442011-06-24 13:06:29 -0700135 }
136
137 @Override
138 public void doUpdateVisitedHistory(Tab tab, boolean isReload) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100139 if (LOGD_ENABLED) Log.d(LOGTAG, "doUpdateVisitedHistory()");
Michael Kolb14612442011-06-24 13:06:29 -0700140 }
141
142 @Override
143 public void getVisitedHistory(ValueCallback<String[]> callback) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100144 if (LOGD_ENABLED) Log.d(LOGTAG, "getVisitedHistory()");
Michael Kolb14612442011-06-24 13:06:29 -0700145 }
146
147 @Override
148 public void onReceivedHttpAuthRequest(Tab tab, WebView view,
149 HttpAuthHandler handler, String host,
150 String realm) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100151 if (LOGD_ENABLED) Log.d(LOGTAG, "onReceivedHttpAuthRequest()");
Michael Kolb14612442011-06-24 13:06:29 -0700152 }
153
154 @Override
155 public void onDownloadStart(Tab tab, String url, String useragent,
156 String contentDisposition, String mimeType,
157 long contentLength) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100158 if (LOGD_ENABLED) Log.d(LOGTAG, "onDownloadStart()");
Michael Kolb14612442011-06-24 13:06:29 -0700159 }
160
161 @Override
162 public void showCustomView(Tab tab, View view, int requestedOrientation,
163 CustomViewCallback callback) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100164 if (LOGD_ENABLED) Log.d(LOGTAG, "showCustomView()");
Michael Kolb14612442011-06-24 13:06:29 -0700165 }
166
167 @Override
168 public void hideCustomView() {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100169 if (LOGD_ENABLED) Log.d(LOGTAG, "hideCustomView()");
Michael Kolb14612442011-06-24 13:06:29 -0700170 }
171
172 @Override
173 public Bitmap getDefaultVideoPoster() {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100174 if (LOGD_ENABLED) Log.d(LOGTAG, "getDefaultVideoPoster()");
Michael Kolb14612442011-06-24 13:06:29 -0700175 return null;
176 }
177
178 @Override
179 public View getVideoLoadingProgressView() {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100180 if (LOGD_ENABLED) Log.d(LOGTAG, "getVideoLoadingProgressView()");
Michael Kolb14612442011-06-24 13:06:29 -0700181 return null;
182 }
183
184 @Override
185 public void showSslCertificateOnError(WebView view,
186 SslErrorHandler handler, SslError error) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100187 if (LOGD_ENABLED) Log.d(LOGTAG, "showSslCertificateOnError()");
Michael Kolb14612442011-06-24 13:06:29 -0700188 }
189
190 @Override
191 public void onUserCanceledSsl(Tab tab) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100192 if (LOGD_ENABLED) Log.d(LOGTAG, "onUserCanceledSsl()");
Michael Kolb14612442011-06-24 13:06:29 -0700193 }
194
195 @Override
196 public void activateVoiceSearchMode(String title, List<String> results) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100197 if (LOGD_ENABLED) Log.d(LOGTAG, "activateVoiceSearchMode()");
Michael Kolb14612442011-06-24 13:06:29 -0700198 }
199
200 @Override
201 public void revertVoiceSearchMode(Tab tab) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100202 if (LOGD_ENABLED) Log.d(LOGTAG, "revertVoiceSearchMode()");
Michael Kolb14612442011-06-24 13:06:29 -0700203 }
204
205 @Override
206 public boolean shouldShowErrorConsole() {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100207 if (LOGD_ENABLED) Log.d(LOGTAG, "shouldShowErrorConsole()");
Michael Kolb14612442011-06-24 13:06:29 -0700208 return false;
209 }
210
211 @Override
212 public void onUpdatedLockIcon(Tab tab) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100213 if (LOGD_ENABLED) Log.d(LOGTAG, "onUpdatedLockIcon()");
Michael Kolb14612442011-06-24 13:06:29 -0700214 }
215
216 @Override
217 public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100218 if (LOGD_ENABLED) Log.d(LOGTAG, "openFileChooser()");
Michael Kolb14612442011-06-24 13:06:29 -0700219 }
220
221 @Override
222 public void endActionMode() {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100223 if (LOGD_ENABLED) Log.d(LOGTAG, "endActionMode()");
Michael Kolb14612442011-06-24 13:06:29 -0700224 }
225
226 @Override
227 public void attachSubWindow(Tab tab) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100228 if (LOGD_ENABLED) Log.d(LOGTAG, "attachSubWindow()");
Michael Kolb14612442011-06-24 13:06:29 -0700229 }
230
231 @Override
232 public void dismissSubWindow(Tab tab) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100233 if (LOGD_ENABLED) Log.d(LOGTAG, "dismissSubWindow()");
Michael Kolb14612442011-06-24 13:06:29 -0700234 }
235
236 @Override
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100237 public Tab openTab(String url, boolean incognito, boolean setActive, boolean useCurrent) {
238 if (LOGD_ENABLED) Log.d(LOGTAG, "openTab()");
Michael Kolb14612442011-06-24 13:06:29 -0700239 return null;
240 }
241
242 @Override
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100243 public Tab openTab(String url, Tab parent, boolean setActive, boolean useCurrent) {
244 if (LOGD_ENABLED) Log.d(LOGTAG, "openTab()");
Michael Kolb14612442011-06-24 13:06:29 -0700245 return null;
246 }
247
248 @Override
249 public boolean switchToTab(Tab tab) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100250 if (LOGD_ENABLED) Log.d(LOGTAG, "switchToTab()");
Michael Kolb14612442011-06-24 13:06:29 -0700251 return false;
252 }
253
254 @Override
255 public void closeTab(Tab tab) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100256 if (LOGD_ENABLED) Log.d(LOGTAG, "closeTab()");
Michael Kolb14612442011-06-24 13:06:29 -0700257 }
258
259 @Override
260 public void setupAutoFill(Message message) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100261 if (LOGD_ENABLED) Log.d(LOGTAG, "setupAutoFill()");
Michael Kolb14612442011-06-24 13:06:29 -0700262 }
263
264 @Override
265 public void bookmarkedStatusHasChanged(Tab tab) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100266 if (LOGD_ENABLED) Log.d(LOGTAG, "bookmarkedStatusHasChanged()");
Michael Kolb14612442011-06-24 13:06:29 -0700267 }
268
269 @Override
270 public void showAutoLogin(Tab tab) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100271 if (LOGD_ENABLED) Log.d(LOGTAG, "showAutoLogin()");
Michael Kolb14612442011-06-24 13:06:29 -0700272 }
273
274 @Override
275 public void hideAutoLogin(Tab tab) {
Mathew Inwoode1dbb952011-07-08 17:27:38 +0100276 if (LOGD_ENABLED) Log.d(LOGTAG, "hideAutoLogin()");
Michael Kolb14612442011-06-24 13:06:29 -0700277 }
278
John Reck1cf4b792011-07-26 10:22:22 -0700279 @Override
280 public boolean shouldCaptureThumbnails() {
281 return false;
282 }
283
Michael Kolb14612442011-06-24 13:06:29 -0700284}