1282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski/* 2282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * Copyright (C) 2008 The Android Open Source Project 3282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * 4282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * Licensed under the Apache License, Version 2.0 (the "License"); 5282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * you may not use this file except in compliance with the License. 6282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * You may obtain a copy of the License at 7282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * 8282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * http://www.apache.org/licenses/LICENSE-2.0 9282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * 10282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * Unless required by applicable law or agreed to in writing, software 11282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * distributed under the License is distributed on an "AS IS" BASIS, 12282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * See the License for the specific language governing permissions and 14282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * limitations under the License. 15282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski */ 16282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 17282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskipackage android.webkit; 18282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 19282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiimport com.android.layoutlib.bridge.MockView; 20282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 21282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiimport android.content.Context; 22282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiimport android.graphics.Bitmap; 23282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiimport android.graphics.Picture; 24282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiimport android.os.Bundle; 25282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiimport android.os.Message; 26282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiimport android.util.AttributeSet; 27282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiimport android.view.View; 28282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 29282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski/** 30282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * Mock version of the WebView. 31282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * Only non override public methods from the real WebView have been added in there. 32282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * Methods that take an unknown class as parameter or as return object, have been removed for now. 33282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * 34282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * TODO: generate automatically. 35282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * 36282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski */ 37282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskipublic class WebView extends MockView { 38282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 39282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski /** 40282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * Construct a new WebView with a Context object. 41282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * @param context A Context object used to access application assets. 42282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski */ 43282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public WebView(Context context) { 44282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski this(context, null); 45282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 46282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 47282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski /** 48282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * Construct a new WebView with layout parameters. 49282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * @param context A Context object used to access application assets. 50282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * @param attrs An AttributeSet passed to our parent. 51282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski */ 52282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public WebView(Context context, AttributeSet attrs) { 53282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski this(context, attrs, com.android.internal.R.attr.webViewStyle); 54282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 55282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 56282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski /** 57282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * Construct a new WebView with layout parameters and a default style. 58282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * @param context A Context object used to access application assets. 59282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * @param attrs An AttributeSet passed to our parent. 60282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * @param defStyle The default style resource ID. 61282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski */ 62282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public WebView(Context context, AttributeSet attrs, int defStyle) { 63282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski super(context, attrs, defStyle); 64282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 65282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 66282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski // START FAKE PUBLIC METHODS 67282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 68282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void setHorizontalScrollbarOverlay(boolean overlay) { 69282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 70282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 71282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void setVerticalScrollbarOverlay(boolean overlay) { 72282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 73282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 74282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public boolean overlayHorizontalScrollbar() { 75282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski return false; 76282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 77282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 78282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public boolean overlayVerticalScrollbar() { 79282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski return false; 80282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 81282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 82282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void savePassword(String host, String username, String password) { 83282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 84282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 85282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void setHttpAuthUsernamePassword(String host, String realm, 86282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski String username, String password) { 87282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 88282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 89282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public String[] getHttpAuthUsernamePassword(String host, String realm) { 90282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski return null; 91282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 92282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 93282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void destroy() { 94282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 95282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 96282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public static void enablePlatformNotifications() { 97282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 98282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 99282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public static void disablePlatformNotifications() { 100282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 101282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 102282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void loadUrl(String url) { 103282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 104282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 105282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void loadData(String data, String mimeType, String encoding) { 106282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 107282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 108282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void loadDataWithBaseURL(String baseUrl, String data, 109282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski String mimeType, String encoding, String failUrl) { 110282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 111282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 112282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void stopLoading() { 113282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 114282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 115282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void reload() { 116282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 117282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 118282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public boolean canGoBack() { 119282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski return false; 120282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 121282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 122282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void goBack() { 123282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 124282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 125282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public boolean canGoForward() { 126282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski return false; 127282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 128282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 129282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void goForward() { 130282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 131282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 132282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public boolean canGoBackOrForward(int steps) { 133282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski return false; 134282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 135282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 136282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void goBackOrForward(int steps) { 137282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 138282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 139282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public boolean pageUp(boolean top) { 140282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski return false; 141282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 142282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 143282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public boolean pageDown(boolean bottom) { 144282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski return false; 145282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 146282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 147282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void clearView() { 148282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 149282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 150282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public Picture capturePicture() { 151282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski return null; 152282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 153282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 154282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public float getScale() { 155282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski return 0; 156282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 157282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 158282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void setInitialScale(int scaleInPercent) { 159282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 160282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 161282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void invokeZoomPicker() { 162282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 163282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 164282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void requestFocusNodeHref(Message hrefMsg) { 165282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 166282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 167282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void requestImageRef(Message msg) { 168282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 169282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 170282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public String getUrl() { 171282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski return null; 172282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 173282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 174282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public String getTitle() { 175282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski return null; 176282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 177282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 178282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public Bitmap getFavicon() { 179282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski return null; 180282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 181282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 182282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public int getProgress() { 183282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski return 0; 184282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 185282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 186282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public int getContentHeight() { 187282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski return 0; 188282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 189282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 190282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void pauseTimers() { 191282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 192282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 193282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void resumeTimers() { 194282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 195282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 196282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void clearCache() { 197282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 198282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 199282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void clearFormData() { 200282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 201282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 202282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void clearHistory() { 203282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 204282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 205282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void clearSslPreferences() { 206282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 207282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 208282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public static String findAddress(String addr) { 209282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski return null; 210282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 211282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 212282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void documentHasImages(Message response) { 213282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 214282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 215282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void setWebViewClient(WebViewClient client) { 216282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 217282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 218282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void setDownloadListener(DownloadListener listener) { 219282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 220282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 221282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void setWebChromeClient(WebChromeClient client) { 222282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 223282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 224282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public void addJavascriptInterface(Object obj, String interfaceName) { 225282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 226282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 227282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public View getZoomControls() { 228282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski return null; 229282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 230282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 231282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public boolean zoomIn() { 232282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski return false; 233282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 234282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 235282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski public boolean zoomOut() { 236282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski return false; 237282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski } 238282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski} 239