1/*
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;
25import android.util.Log;
26import 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
34public class PreloadController implements WebViewController {
35
36    private static final boolean LOGD_ENABLED = false;
37    private static final String LOGTAG = "PreloadController";
38
39    private Context mContext;
40
41    public PreloadController(Context ctx) {
42        mContext = ctx.getApplicationContext();
43
44    }
45
46    @Override
47    public Context getContext() {
48        return mContext;
49    }
50
51    @Override
52    public Activity getActivity() {
53        if (LOGD_ENABLED) Log.d(LOGTAG, "getActivity()");
54        return null;
55    }
56
57    @Override
58    public TabControl getTabControl() {
59        if (LOGD_ENABLED) Log.d(LOGTAG, "getTabControl()");
60        return null;
61    }
62
63    @Override
64    public WebViewFactory getWebViewFactory() {
65        if (LOGD_ENABLED) Log.d(LOGTAG, "getWebViewFactory()");
66        return null;
67    }
68
69    @Override
70    public void onSetWebView(Tab tab, WebView view) {
71        if (LOGD_ENABLED) Log.d(LOGTAG, "onSetWebView()");
72    }
73
74    @Override
75    public void createSubWindow(Tab tab) {
76        if (LOGD_ENABLED) Log.d(LOGTAG, "createSubWindow()");
77    }
78
79    @Override
80    public void onPageStarted(Tab tab, WebView view, Bitmap favicon) {
81        if (LOGD_ENABLED) Log.d(LOGTAG, "onPageStarted()");
82        if (view != null) {
83            // Clear history of all previously visited pages. When the
84            // user visits a preloaded tab, the only item in the history
85            // list should the currently viewed page.
86            view.clearHistory();
87        }
88    }
89
90    @Override
91    public void onPageFinished(Tab tab) {
92        if (LOGD_ENABLED) Log.d(LOGTAG, "onPageFinished()");
93        if (tab != null) {
94            final WebView view = tab.getWebView();
95            if (view != null) {
96                // Clear history of all previously visited pages. When the
97                // user visits a preloaded tab.
98                view.clearHistory();
99            }
100        }
101    }
102
103    @Override
104    public void onProgressChanged(Tab tab) {
105        if (LOGD_ENABLED) Log.d(LOGTAG, "onProgressChanged()");
106    }
107
108    @Override
109    public void onReceivedTitle(Tab tab, String title) {
110        if (LOGD_ENABLED) Log.d(LOGTAG, "onReceivedTitle()");
111    }
112
113    @Override
114    public void onFavicon(Tab tab, WebView view, Bitmap icon) {
115        if (LOGD_ENABLED) Log.d(LOGTAG, "onFavicon()");
116    }
117
118    @Override
119    public boolean shouldOverrideUrlLoading(Tab tab, WebView view, String url) {
120        if (LOGD_ENABLED) Log.d(LOGTAG, "shouldOverrideUrlLoading()");
121        return false;
122    }
123
124    @Override
125    public boolean shouldOverrideKeyEvent(KeyEvent event) {
126        if (LOGD_ENABLED) Log.d(LOGTAG, "shouldOverrideKeyEvent()");
127        return false;
128    }
129
130    @Override
131    public boolean onUnhandledKeyEvent(KeyEvent event) {
132        if (LOGD_ENABLED) Log.d(LOGTAG, "onUnhandledKeyEvent()");
133        return false;
134    }
135
136    @Override
137    public void doUpdateVisitedHistory(Tab tab, boolean isReload) {
138        if (LOGD_ENABLED) Log.d(LOGTAG, "doUpdateVisitedHistory()");
139    }
140
141    @Override
142    public void getVisitedHistory(ValueCallback<String[]> callback) {
143        if (LOGD_ENABLED) Log.d(LOGTAG, "getVisitedHistory()");
144    }
145
146    @Override
147    public void onReceivedHttpAuthRequest(Tab tab, WebView view,
148                                    HttpAuthHandler handler, String host,
149                                    String realm) {
150        if (LOGD_ENABLED) Log.d(LOGTAG, "onReceivedHttpAuthRequest()");
151    }
152
153    @Override
154    public void onDownloadStart(Tab tab, String url, String useragent,
155                                    String contentDisposition, String mimeType,
156                                    String referer, long contentLength) {
157        if (LOGD_ENABLED) Log.d(LOGTAG, "onDownloadStart()");
158    }
159
160    @Override
161    public void showCustomView(Tab tab, View view, int requestedOrientation,
162                                    CustomViewCallback callback) {
163        if (LOGD_ENABLED) Log.d(LOGTAG, "showCustomView()");
164    }
165
166    @Override
167    public void hideCustomView() {
168        if (LOGD_ENABLED) Log.d(LOGTAG, "hideCustomView()");
169    }
170
171    @Override
172    public Bitmap getDefaultVideoPoster() {
173        if (LOGD_ENABLED) Log.d(LOGTAG, "getDefaultVideoPoster()");
174        return null;
175    }
176
177    @Override
178    public View getVideoLoadingProgressView() {
179        if (LOGD_ENABLED) Log.d(LOGTAG, "getVideoLoadingProgressView()");
180        return null;
181    }
182
183    @Override
184    public void showSslCertificateOnError(WebView view,
185                                    SslErrorHandler handler, SslError error) {
186        if (LOGD_ENABLED) Log.d(LOGTAG, "showSslCertificateOnError()");
187    }
188
189    @Override
190    public void onUserCanceledSsl(Tab tab) {
191        if (LOGD_ENABLED) Log.d(LOGTAG, "onUserCanceledSsl()");
192    }
193
194    @Override
195    public boolean shouldShowErrorConsole() {
196        if (LOGD_ENABLED) Log.d(LOGTAG, "shouldShowErrorConsole()");
197        return false;
198    }
199
200    @Override
201    public void onUpdatedSecurityState(Tab tab) {
202        if (LOGD_ENABLED) Log.d(LOGTAG, "onUpdatedSecurityState()");
203    }
204
205    @Override
206    public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture) {
207        if (LOGD_ENABLED) Log.d(LOGTAG, "openFileChooser()");
208    }
209
210    @Override
211    public void endActionMode() {
212        if (LOGD_ENABLED) Log.d(LOGTAG, "endActionMode()");
213    }
214
215    @Override
216    public void attachSubWindow(Tab tab) {
217        if (LOGD_ENABLED) Log.d(LOGTAG, "attachSubWindow()");
218    }
219
220    @Override
221    public void dismissSubWindow(Tab tab) {
222        if (LOGD_ENABLED) Log.d(LOGTAG, "dismissSubWindow()");
223    }
224
225    @Override
226    public Tab openTab(String url, boolean incognito, boolean setActive, boolean useCurrent) {
227        if (LOGD_ENABLED) Log.d(LOGTAG, "openTab()");
228        return null;
229    }
230
231    @Override
232    public Tab openTab(String url, Tab parent, boolean setActive, boolean useCurrent) {
233        if (LOGD_ENABLED) Log.d(LOGTAG, "openTab()");
234        return null;
235    }
236
237    @Override
238    public boolean switchToTab(Tab tab) {
239        if (LOGD_ENABLED) Log.d(LOGTAG, "switchToTab()");
240        return false;
241    }
242
243    @Override
244    public void closeTab(Tab tab) {
245        if (LOGD_ENABLED) Log.d(LOGTAG, "closeTab()");
246    }
247
248    @Override
249    public void setupAutoFill(Message message) {
250        if (LOGD_ENABLED) Log.d(LOGTAG, "setupAutoFill()");
251    }
252
253    @Override
254    public void bookmarkedStatusHasChanged(Tab tab) {
255        if (LOGD_ENABLED) Log.d(LOGTAG, "bookmarkedStatusHasChanged()");
256    }
257
258    @Override
259    public void showAutoLogin(Tab tab) {
260        if (LOGD_ENABLED) Log.d(LOGTAG, "showAutoLogin()");
261    }
262
263    @Override
264    public void hideAutoLogin(Tab tab) {
265        if (LOGD_ENABLED) Log.d(LOGTAG, "hideAutoLogin()");
266    }
267
268    @Override
269    public boolean shouldCaptureThumbnails() {
270        return false;
271    }
272
273}
274