19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2007 The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License. 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage android.webkit; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.Context; 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2199c12e8d5f12f239c28644a837937810299e5e3fBen Murdoch/** 2299c12e8d5f12f239c28644a837937810299e5e3fBen Murdoch * This class allows developers to determine whether any WebView used in the 2399c12e8d5f12f239c28644a837937810299e5e3fBen Murdoch * application has stored any of the following types of browsing data and 2499c12e8d5f12f239c28644a837937810299e5e3fBen Murdoch * to clear any such stored data for all WebViews in the application. 2599c12e8d5f12f239c28644a837937810299e5e3fBen Murdoch * <ul> 2632fe410a5d750096dfb902fda384e58e513f53e4Steve Block * <li>Username/password pairs for web forms</li> 2799c12e8d5f12f239c28644a837937810299e5e3fBen Murdoch * <li>HTTP authentication username/password pairs</li> 2899c12e8d5f12f239c28644a837937810299e5e3fBen Murdoch * <li>Data entered into text fields (e.g. for autocomplete suggestions)</li> 2999c12e8d5f12f239c28644a837937810299e5e3fBen Murdoch * </ul> 3099c12e8d5f12f239c28644a837937810299e5e3fBen Murdoch */ 31451e338c51e8c45efc0d21536dfae6f78f6d5e06Ignacio Sollapublic abstract class WebViewDatabase { 32f4912580e6adc90ab37b07b8108c7334f359e317Kristian Monsen /** 33f4912580e6adc90ab37b07b8108c7334f359e317Kristian Monsen * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} 34f4912580e6adc90ab37b07b8108c7334f359e317Kristian Monsen */ 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project protected static final String LOGTAG = "webviewdatabase"; 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 379f9d34552f53c534141584a5ad4a8a49ad7939dcJohn Reck public static WebViewDatabase getInstance(Context context) { 3899c12e8d5f12f239c28644a837937810299e5e3fBen Murdoch return WebViewFactory.getProvider().getWebViewDatabase(context); 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4232fe410a5d750096dfb902fda384e58e513f53e4Steve Block * Gets whether there are any saved username/password pairs for web forms. 4332fe410a5d750096dfb902fda384e58e513f53e4Steve Block * Note that these are unrelated to HTTP authentication credentials. 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4532fe410a5d750096dfb902fda384e58e513f53e4Steve Block * @return true if there are any saved username/password pairs 4632fe410a5d750096dfb902fda384e58e513f53e4Steve Block * @see WebView#savePassword 47924ac51ea6e67ee2ad5e9bbf901919ec1c6bcd50Ben Murdoch * @see #clearUsernamePassworda 48924ac51ea6e67ee2ad5e9bbf901919ec1c6bcd50Ben Murdoch * @deprecated Saving passwords in WebView will not be supported in future versions. 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 50924ac51ea6e67ee2ad5e9bbf901919ec1c6bcd50Ben Murdoch @Deprecated 51451e338c51e8c45efc0d21536dfae6f78f6d5e06Ignacio Solla public abstract boolean hasUsernamePassword(); 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 5432fe410a5d750096dfb902fda384e58e513f53e4Steve Block * Clears any saved username/password pairs for web forms. 5532fe410a5d750096dfb902fda384e58e513f53e4Steve Block * Note that these are unrelated to HTTP authentication credentials. 5632fe410a5d750096dfb902fda384e58e513f53e4Steve Block * 5732fe410a5d750096dfb902fda384e58e513f53e4Steve Block * @see WebView#savePassword 587c28219cc959c29792b85372dac587b2b7b49214Jonathan Dixon * @see #hasUsernamePassword 59924ac51ea6e67ee2ad5e9bbf901919ec1c6bcd50Ben Murdoch * @deprecated Saving passwords in WebView will not be supported in future versions. 609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 61924ac51ea6e67ee2ad5e9bbf901919ec1c6bcd50Ben Murdoch @Deprecated 62451e338c51e8c45efc0d21536dfae6f78f6d5e06Ignacio Solla public abstract void clearUsernamePassword(); 639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 6546ce1db6ff3290b82b12f11715fbe82734a44322Steve Block * Gets whether there are any saved credentials for HTTP authentication. 669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6746ce1db6ff3290b82b12f11715fbe82734a44322Steve Block * @return whether there are any saved credentials 687c28219cc959c29792b85372dac587b2b7b49214Jonathan Dixon * @see WebView#getHttpAuthUsernamePassword 697c28219cc959c29792b85372dac587b2b7b49214Jonathan Dixon * @see WebView#setHttpAuthUsernamePassword 707c28219cc959c29792b85372dac587b2b7b49214Jonathan Dixon * @see #clearHttpAuthUsernamePassword 719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 72451e338c51e8c45efc0d21536dfae6f78f6d5e06Ignacio Solla public abstract boolean hasHttpAuthUsernamePassword(); 739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 7546ce1db6ff3290b82b12f11715fbe82734a44322Steve Block * Clears any saved credentials for HTTP authentication. 7646ce1db6ff3290b82b12f11715fbe82734a44322Steve Block * 777c28219cc959c29792b85372dac587b2b7b49214Jonathan Dixon * @see WebView#getHttpAuthUsernamePassword 787c28219cc959c29792b85372dac587b2b7b49214Jonathan Dixon * @see WebView#setHttpAuthUsernamePassword 797c28219cc959c29792b85372dac587b2b7b49214Jonathan Dixon * @see #hasHttpAuthUsernamePassword 809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 81451e338c51e8c45efc0d21536dfae6f78f6d5e06Ignacio Solla public abstract void clearHttpAuthUsernamePassword(); 829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 84219dfa4d392851c1ffd7147cb78d4236658a79d8Steve Block * Gets whether there is any saved data for web forms. 859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 86219dfa4d392851c1ffd7147cb78d4236658a79d8Steve Block * @return whether there is any saved data for web forms 877c28219cc959c29792b85372dac587b2b7b49214Jonathan Dixon * @see #clearFormData 889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 89451e338c51e8c45efc0d21536dfae6f78f6d5e06Ignacio Solla public abstract boolean hasFormData(); 909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 92219dfa4d392851c1ffd7147cb78d4236658a79d8Steve Block * Clears any saved data for web forms. 93219dfa4d392851c1ffd7147cb78d4236658a79d8Steve Block * 947c28219cc959c29792b85372dac587b2b7b49214Jonathan Dixon * @see #hasFormData 959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 96451e338c51e8c45efc0d21536dfae6f78f6d5e06Ignacio Solla public abstract void clearFormData(); 979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 98