154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project/* 254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Copyright (C) 2007 The Android Open Source Project 354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * 454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * you may not use this file except in compliance with the License. 654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * You may obtain a copy of the License at 754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * 854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * 1054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 1154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 1254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * See the License for the specific language governing permissions and 1454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * limitations under the License. 1554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 1654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 1754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectpackage android.webkit; 1854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 199f410c540ad593dd83e34266ccffd70867a600abGeorge Mountimport android.content.Context; 2054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 2154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project/** 2254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Manages settings state for a WebView. When a WebView is first created, it 2354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * obtains a set of default settings. These default settings will be returned 2454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * from any getter call. A WebSettings object obtained from 2554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * WebView.getSettings() is tied to the life of the WebView. If a WebView has 2654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * been destroyed, any method call on WebSettings will throw an 2754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * IllegalStateException. 2854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 29d3101b1d300f5942fdb7dfa323dc8830c4edc007Jonathan Dixon// This is an abstract base class: concrete WebViewProviders must 303c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon// create a class derived from this, and return an instance of it in the 313c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon// WebViewProvider.getWebSettingsProvider() method implementation. 320ea6dad65eb77f9347a59704b1f8a019cfc9e01fSelim Gurunpublic abstract class WebSettings { 3354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 3454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Enum for controlling the layout of html. 354e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * <ul> 364e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * <li>NORMAL means no rendering changes.</li> 374e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * <li>SINGLE_COLUMN moves all content into one column that is the width of the 384e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * view.</li> 394e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * <li>NARROW_COLUMNS makes all columns no wider than the screen if possible.</li> 404e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * </ul> 4154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 4254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project // XXX: These must match LayoutAlgorithm in Settings.h in WebCore. 4354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public enum LayoutAlgorithm { 4454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project NORMAL, 455a1ef4132f93f57940a5cc49d32991674d014841John Reck /** 465a1ef4132f93f57940a5cc49d32991674d014841John Reck * @deprecated This algorithm is now obsolete. 475a1ef4132f93f57940a5cc49d32991674d014841John Reck */ 485a1ef4132f93f57940a5cc49d32991674d014841John Reck @Deprecated 4954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project SINGLE_COLUMN, 5054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project NARROW_COLUMNS 5154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 5254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 5354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 5454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Enum for specifying the text size. 554e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * <ul> 564e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * <li>SMALLEST is 50%</li> 574e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * <li>SMALLER is 75%</li> 584e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * <li>NORMAL is 100%</li> 594e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * <li>LARGER is 150%</li> 604e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * <li>LARGEST is 200%</li> 614e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * </ul> 624e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 63caeb120170477f52516cd9d12469c582e7dec8feJohn Reck * @deprecated Use {@link WebSettings#setTextZoom(int)} and {@link WebSettings#getTextZoom()} instead. 6454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 6554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public enum TextSize { 6654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project SMALLEST(50), 6754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project SMALLER(75), 6854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project NORMAL(100), 6954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project LARGER(150), 7054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project LARGEST(200); 7154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project TextSize(int size) { 7254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project value = size; 7354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 7454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project int value; 7554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 760d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba 770d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba /** 780d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba * Enum for specifying the WebView's desired density. 794e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * <ul> 804e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * <li>FAR makes 100% looking like in 240dpi</li> 814e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * <li>MEDIUM makes 100% looking like in 160dpi</li> 824e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * <li>CLOSE makes 100% looking like in 120dpi</li> 834e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * </ul> 840d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba */ 850d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba public enum ZoomDensity { 860d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba FAR(150), // 240dpi 870d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba MEDIUM(100), // 160dpi 880d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba CLOSE(75); // 120dpi 890d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba ZoomDensity(int size) { 900d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba value = size; 910d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba } 920d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba int value; 930d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba } 940d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba 9554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 96500b003ff14b8a5aee2927bb577ab68d71ccfc12Mikhail Naganov * Default cache usage mode. If the navigation type doesn't impose any 97500b003ff14b8a5aee2927bb577ab68d71ccfc12Mikhail Naganov * specific behavior, use cached resources when they are available 98500b003ff14b8a5aee2927bb577ab68d71ccfc12Mikhail Naganov * and not expired, otherwise load resources from the network. 99500b003ff14b8a5aee2927bb577ab68d71ccfc12Mikhail Naganov * Use with {@link #setCacheMode}. 10054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 10154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public static final int LOAD_DEFAULT = -1; 10254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 10354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 104500b003ff14b8a5aee2927bb577ab68d71ccfc12Mikhail Naganov * Normal cache usage mode. Use with {@link #setCacheMode}. 1055cc2351ded6a13fadcc3bb14fdaf31ac66c05b2dKristian Monsen * 1065cc2351ded6a13fadcc3bb14fdaf31ac66c05b2dKristian Monsen * @deprecated This value is obsolete, as from API level 1075cc2351ded6a13fadcc3bb14fdaf31ac66c05b2dKristian Monsen * {@link android.os.Build.VERSION_CODES#HONEYCOMB} and onwards it has the 1085cc2351ded6a13fadcc3bb14fdaf31ac66c05b2dKristian Monsen * same effect as {@link #LOAD_DEFAULT}. 10954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 1105cc2351ded6a13fadcc3bb14fdaf31ac66c05b2dKristian Monsen @Deprecated 11154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public static final int LOAD_NORMAL = 0; 11254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 11354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 114500b003ff14b8a5aee2927bb577ab68d71ccfc12Mikhail Naganov * Use cached resources when they are available, even if they have expired. 115500b003ff14b8a5aee2927bb577ab68d71ccfc12Mikhail Naganov * Otherwise load resources from the network. 11654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Use with {@link #setCacheMode}. 11754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 11854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public static final int LOAD_CACHE_ELSE_NETWORK = 1; 11954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 12054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 121500b003ff14b8a5aee2927bb577ab68d71ccfc12Mikhail Naganov * Don't use the cache, load from the network. 12254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Use with {@link #setCacheMode}. 12354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 12454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public static final int LOAD_NO_CACHE = 2; 125a172e7d0d96e4a4db5e2b408e8ee3e96948df9a4Michael Kolb 12654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 127500b003ff14b8a5aee2927bb577ab68d71ccfc12Mikhail Naganov * Don't use the network, load from the cache. 12854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Use with {@link #setCacheMode}. 12954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 13054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public static final int LOAD_CACHE_ONLY = 3; 13154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 13254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public enum RenderPriority { 13354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project NORMAL, 13454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project HIGH, 13554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project LOW 13654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 13754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 138300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott /** 139300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * The plugin state effects how plugins are treated on a page. ON means 140300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * that any object will be loaded even if a plugin does not exist to handle 141300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * the content. ON_DEMAND means that if there is a plugin installed that 142300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * can handle the content, a placeholder is shown until the user clicks on 143300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * the placeholder. Once clicked, the plugin will be enabled on the page. 144300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * OFF means that all plugins will be turned off and any fallback content 145300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * will be used. 146300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott */ 147300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott public enum PluginState { 148300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott ON, 149300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott ON_DEMAND, 150300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott OFF 151300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott } 152300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott 1530e4cb9d89fe58b378d94c87f182aaaef9d6a6d60Shimeng (Simon) Wang /** 1543c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon * Hidden constructor to prevent clients from creating a new settings 1553c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon * instance or deriving the class. 1564e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 1573c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon * @hide 1580e4cb9d89fe58b378d94c87f182aaaef9d6a6d60Shimeng (Simon) Wang */ 1593c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon protected WebSettings() { 16054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 161a172e7d0d96e4a4db5e2b408e8ee3e96948df9a4Michael Kolb 16254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 163b0e0f334422e25542e48901c8451e51c8efab590Steve Block * Enables dumping the pages navigation cache to a text file. The default 164b0e0f334422e25542e48901c8451e51c8efab590Steve Block * is false. 1654e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 166fc77165d446520716f18cdc14e30b39a6d8b9bacKristian Monsen * @deprecated This method is now obsolete. 167f4912580e6adc90ab37b07b8108c7334f359e317Kristian Monsen * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} 16854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 169fc77165d446520716f18cdc14e30b39a6d8b9bacKristian Monsen @Deprecated 17054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public void setNavDump(boolean enabled) { 1713c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 17254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 17354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 17454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 1754e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets whether dumping the navigation cache is enabled. 1764e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 177b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @return whether dumping the navigation cache is enabled 178b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @see #setNavDump 179fc77165d446520716f18cdc14e30b39a6d8b9bacKristian Monsen * @deprecated This method is now obsolete. 180f4912580e6adc90ab37b07b8108c7334f359e317Kristian Monsen * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} 18154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 182fc77165d446520716f18cdc14e30b39a6d8b9bacKristian Monsen @Deprecated 18354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public boolean getNavDump() { 1843c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 18554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 18654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 18754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 188b533fb4eef92b62cc26c4d9a901689e8f079fb73Mikhail Naganov * Sets whether the WebView should support zooming using its on-screen zoom 189b533fb4eef92b62cc26c4d9a901689e8f079fb73Mikhail Naganov * controls and gestures. The particular zoom mechanisms that should be used 190b533fb4eef92b62cc26c4d9a901689e8f079fb73Mikhail Naganov * can be set with {@link #setBuiltInZoomControls}. This setting does not 191b533fb4eef92b62cc26c4d9a901689e8f079fb73Mikhail Naganov * affect zooming performed using the {@link WebView#zoomIn()} and 1924e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * {@link WebView#zoomOut()} methods. The default is true. 1934e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 1944e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param support whether the WebView should support zoom 19554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 19654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public void setSupportZoom(boolean support) { 1973c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 19854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 19954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 20054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 2014e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets whether the WebView supports zoom. 2024e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 2034e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @return true if the WebView supports zoom 2044e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @see #setSupportZoom 20554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 20654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public boolean supportZoom() { 2073c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 20854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 20954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 21054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 2110e5b160418dad25b9e7125d2533cc8770b1cd9c6Teng-Hui Zhu * Sets whether the WebView requires a user gesture to play media. 2120e5b160418dad25b9e7125d2533cc8770b1cd9c6Teng-Hui Zhu * The default is true. 2130e5b160418dad25b9e7125d2533cc8770b1cd9c6Teng-Hui Zhu * 2140e5b160418dad25b9e7125d2533cc8770b1cd9c6Teng-Hui Zhu * @param require whether the WebView requires a user gesture to play media 2150e5b160418dad25b9e7125d2533cc8770b1cd9c6Teng-Hui Zhu */ 2160e5b160418dad25b9e7125d2533cc8770b1cd9c6Teng-Hui Zhu public void setMediaPlaybackRequiresUserGesture(boolean require) { 2170e5b160418dad25b9e7125d2533cc8770b1cd9c6Teng-Hui Zhu throw new MustOverrideException(); 2180e5b160418dad25b9e7125d2533cc8770b1cd9c6Teng-Hui Zhu } 2190e5b160418dad25b9e7125d2533cc8770b1cd9c6Teng-Hui Zhu 2200e5b160418dad25b9e7125d2533cc8770b1cd9c6Teng-Hui Zhu /** 2210e5b160418dad25b9e7125d2533cc8770b1cd9c6Teng-Hui Zhu * Gets whether the WebView requires a user gesture to play media. 2220e5b160418dad25b9e7125d2533cc8770b1cd9c6Teng-Hui Zhu * 2230e5b160418dad25b9e7125d2533cc8770b1cd9c6Teng-Hui Zhu * @return true if the WebView requires a user gesture to play media 2240e5b160418dad25b9e7125d2533cc8770b1cd9c6Teng-Hui Zhu * @see #setMediaPlaybackRequiresUserGesture 2250e5b160418dad25b9e7125d2533cc8770b1cd9c6Teng-Hui Zhu */ 2260e5b160418dad25b9e7125d2533cc8770b1cd9c6Teng-Hui Zhu public boolean getMediaPlaybackRequiresUserGesture() { 2270e5b160418dad25b9e7125d2533cc8770b1cd9c6Teng-Hui Zhu throw new MustOverrideException(); 2280e5b160418dad25b9e7125d2533cc8770b1cd9c6Teng-Hui Zhu } 2290e5b160418dad25b9e7125d2533cc8770b1cd9c6Teng-Hui Zhu 2300e5b160418dad25b9e7125d2533cc8770b1cd9c6Teng-Hui Zhu /** 23106d268e3ad1129814829af5d3b84752d84c1acf2Steve Block * Sets whether the WebView should use its built-in zoom mechanisms. The 23206d268e3ad1129814829af5d3b84752d84c1acf2Steve Block * built-in zoom mechanisms comprise on-screen zoom controls, which are 23306d268e3ad1129814829af5d3b84752d84c1acf2Steve Block * displayed over the WebView's content, and the use of a pinch gesture to 23406d268e3ad1129814829af5d3b84752d84c1acf2Steve Block * control zooming. Whether or not these on-screen controls are displayed 2354e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * can be set with {@link #setDisplayZoomControls}. The default is false. 23606d268e3ad1129814829af5d3b84752d84c1acf2Steve Block * <p> 23706d268e3ad1129814829af5d3b84752d84c1acf2Steve Block * The built-in mechanisms are the only currently supported zoom 23806d268e3ad1129814829af5d3b84752d84c1acf2Steve Block * mechanisms, so it is recommended that this setting is always enabled. 2394e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 2404e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param enabled whether the WebView should use its built-in zoom mechanisms 24106d268e3ad1129814829af5d3b84752d84c1acf2Steve Block */ 24206d268e3ad1129814829af5d3b84752d84c1acf2Steve Block // This method was intended to select between the built-in zoom mechanisms 24306d268e3ad1129814829af5d3b84752d84c1acf2Steve Block // and the separate zoom controls. The latter were obtained using 24406d268e3ad1129814829af5d3b84752d84c1acf2Steve Block // {@link WebView#getZoomControls}, which is now hidden. 245105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project public void setBuiltInZoomControls(boolean enabled) { 2463c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 247105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project } 248a172e7d0d96e4a4db5e2b408e8ee3e96948df9a4Michael Kolb 249105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project /** 2504e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets whether the zoom mechanisms built into WebView are being used. 2514e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 2524e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @return true if the zoom mechanisms built into WebView are being used 2534e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @see #setBuiltInZoomControls 254105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project */ 255105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project public boolean getBuiltInZoomControls() { 2563c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 257105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project } 258a172e7d0d96e4a4db5e2b408e8ee3e96948df9a4Michael Kolb 259105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project /** 260b533fb4eef92b62cc26c4d9a901689e8f079fb73Mikhail Naganov * Sets whether the WebView should display on-screen zoom controls when 261b533fb4eef92b62cc26c4d9a901689e8f079fb73Mikhail Naganov * using the built-in zoom mechanisms. See {@link #setBuiltInZoomControls}. 2624e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * The default is true. 2634e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 2644e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param enabled whether the WebView should display on-screen zoom controls 2656fe3b421fdc5b109cbf9006f44c9f089224a817dMichael Kolb */ 2666fe3b421fdc5b109cbf9006f44c9f089224a817dMichael Kolb public void setDisplayZoomControls(boolean enabled) { 2673c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 2686fe3b421fdc5b109cbf9006f44c9f089224a817dMichael Kolb } 2696fe3b421fdc5b109cbf9006f44c9f089224a817dMichael Kolb 2706fe3b421fdc5b109cbf9006f44c9f089224a817dMichael Kolb /** 2714e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets whether the WebView displays on-screen zoom controls when using 272b533fb4eef92b62cc26c4d9a901689e8f079fb73Mikhail Naganov * the built-in zoom mechanisms. 2734e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 2744e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @return true if the WebView displays on-screen zoom controls when using 2754e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * the built-in zoom mechanisms 2764e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @see #setDisplayZoomControls 2776fe3b421fdc5b109cbf9006f44c9f089224a817dMichael Kolb */ 2786fe3b421fdc5b109cbf9006f44c9f089224a817dMichael Kolb public boolean getDisplayZoomControls() { 2793c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 2806fe3b421fdc5b109cbf9006f44c9f089224a817dMichael Kolb } 2816fe3b421fdc5b109cbf9006f44c9f089224a817dMichael Kolb 2826fe3b421fdc5b109cbf9006f44c9f089224a817dMichael Kolb /** 2834e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Enables or disables file access within WebView. File access is enabled by 284d1737edc13864b2304763167720b27b68791e25aPatrick Scott * default. Note that this enables or disables file system access only. 285d1737edc13864b2304763167720b27b68791e25aPatrick Scott * Assets and resources are still accessible using file:///android_asset and 286d1737edc13864b2304763167720b27b68791e25aPatrick Scott * file:///android_res. 287f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project */ 288f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project public void setAllowFileAccess(boolean allow) { 2893c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 290f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project } 291f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project 292f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project /** 2934e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets whether this WebView supports file access. 2944e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 2954e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @see #setAllowFileAccess 296f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project */ 297f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project public boolean getAllowFileAccess() { 2983c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 299f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project } 300f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project 301f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project /** 3024e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Enables or disables content URL access within WebView. Content URL 3034e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * access allows WebView to load content from a content provider installed 3044e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * in the system. The default is enabled. 305d1737edc13864b2304763167720b27b68791e25aPatrick Scott */ 306d1737edc13864b2304763167720b27b68791e25aPatrick Scott public void setAllowContentAccess(boolean allow) { 3073c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 308d1737edc13864b2304763167720b27b68791e25aPatrick Scott } 309d1737edc13864b2304763167720b27b68791e25aPatrick Scott 310d1737edc13864b2304763167720b27b68791e25aPatrick Scott /** 3114e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets whether this WebView supports content URL access. 3124e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 3134e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @see #setAllowContentAccess 314d1737edc13864b2304763167720b27b68791e25aPatrick Scott */ 315d1737edc13864b2304763167720b27b68791e25aPatrick Scott public boolean getAllowContentAccess() { 3163c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 317d1737edc13864b2304763167720b27b68791e25aPatrick Scott } 318d1737edc13864b2304763167720b27b68791e25aPatrick Scott 319d1737edc13864b2304763167720b27b68791e25aPatrick Scott /** 320b0e0f334422e25542e48901c8451e51c8efab590Steve Block * Sets whether the WebView loads pages in overview mode. The default is 321b0e0f334422e25542e48901c8451e51c8efab590Steve Block * false. 322e397a88e4fd65ee7d346f63a43e6608dba943ee9Grace Kloba */ 323e397a88e4fd65ee7d346f63a43e6608dba943ee9Grace Kloba public void setLoadWithOverviewMode(boolean overview) { 3243c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 325e397a88e4fd65ee7d346f63a43e6608dba943ee9Grace Kloba } 326e397a88e4fd65ee7d346f63a43e6608dba943ee9Grace Kloba 327e397a88e4fd65ee7d346f63a43e6608dba943ee9Grace Kloba /** 328b0e0f334422e25542e48901c8451e51c8efab590Steve Block * Gets whether this WebView loads pages in overview mode. 329b0e0f334422e25542e48901c8451e51c8efab590Steve Block * 330b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @return whether this WebView loads pages in overview mode 331b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @see #setLoadWithOverviewMode 332e397a88e4fd65ee7d346f63a43e6608dba943ee9Grace Kloba */ 333e397a88e4fd65ee7d346f63a43e6608dba943ee9Grace Kloba public boolean getLoadWithOverviewMode() { 3343c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 335e397a88e4fd65ee7d346f63a43e6608dba943ee9Grace Kloba } 336e397a88e4fd65ee7d346f63a43e6608dba943ee9Grace Kloba 337e397a88e4fd65ee7d346f63a43e6608dba943ee9Grace Kloba /** 3384e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Sets whether the WebView will enable smooth transition while panning or 339e00e8a78374cdcf01a25bd6327d2b94944b2bc3fAdam Powell * zooming or while the window hosting the WebView does not have focus. 340e00e8a78374cdcf01a25bd6327d2b94944b2bc3fAdam Powell * If it is true, WebView will choose a solution to maximize the performance. 341e00e8a78374cdcf01a25bd6327d2b94944b2bc3fAdam Powell * e.g. the WebView's content may not be updated during the transition. 342e00e8a78374cdcf01a25bd6327d2b94944b2bc3fAdam Powell * If it is false, WebView will keep its fidelity. The default value is false. 3435cc2351ded6a13fadcc3bb14fdaf31ac66c05b2dKristian Monsen * 3445cc2351ded6a13fadcc3bb14fdaf31ac66c05b2dKristian Monsen * @deprecated This method is now obsolete, and will become a no-op in future. 345f9b731d383790e0dfd407525efcd72bba4ee4895Grace Kloba */ 3465cc2351ded6a13fadcc3bb14fdaf31ac66c05b2dKristian Monsen @Deprecated 347f9b731d383790e0dfd407525efcd72bba4ee4895Grace Kloba public void setEnableSmoothTransition(boolean enable) { 3483c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 349f9b731d383790e0dfd407525efcd72bba4ee4895Grace Kloba } 3504e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block 351f9b731d383790e0dfd407525efcd72bba4ee4895Grace Kloba /** 3524e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets whether the WebView enables smooth transition while panning or 353f9b731d383790e0dfd407525efcd72bba4ee4895Grace Kloba * zooming. 3544e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 3554e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @see #setEnableSmoothTransition 3565cc2351ded6a13fadcc3bb14fdaf31ac66c05b2dKristian Monsen * 3575cc2351ded6a13fadcc3bb14fdaf31ac66c05b2dKristian Monsen * @deprecated This method is now obsolete, and will become a no-op in future. 358f9b731d383790e0dfd407525efcd72bba4ee4895Grace Kloba */ 3595cc2351ded6a13fadcc3bb14fdaf31ac66c05b2dKristian Monsen @Deprecated 360f9b731d383790e0dfd407525efcd72bba4ee4895Grace Kloba public boolean enableSmoothTransition() { 3613c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 362f9b731d383790e0dfd407525efcd72bba4ee4895Grace Kloba } 363f9b731d383790e0dfd407525efcd72bba4ee4895Grace Kloba 364f9b731d383790e0dfd407525efcd72bba4ee4895Grace Kloba /** 3654e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Sets whether the WebView uses its background for over scroll background. 366637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell * If true, it will use the WebView's background. If false, it will use an 367637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell * internal pattern. Default is true. 3684e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 369fc77165d446520716f18cdc14e30b39a6d8b9bacKristian Monsen * @deprecated This method is now obsolete. 370d0b90d30d86679fe52cb1af383900a70fc44cb2aKristian Monsen * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} 371637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell */ 372fc77165d446520716f18cdc14e30b39a6d8b9bacKristian Monsen @Deprecated 373637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell public void setUseWebViewBackgroundForOverscrollBackground(boolean view) { 3743c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 375637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell } 376637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell 377637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell /** 3784e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets whether this WebView uses WebView's background instead of 379637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell * internal pattern for over scroll background. 3804e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 3814e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @see #setUseWebViewBackgroundForOverscrollBackground 382fc77165d446520716f18cdc14e30b39a6d8b9bacKristian Monsen * @deprecated This method is now obsolete. 383f4912580e6adc90ab37b07b8108c7334f359e317Kristian Monsen * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} 384637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell */ 385fc77165d446520716f18cdc14e30b39a6d8b9bacKristian Monsen @Deprecated 386637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell public boolean getUseWebViewBackgroundForOverscrollBackground() { 3873c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 388637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell } 389637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell 390637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell /** 391b0e0f334422e25542e48901c8451e51c8efab590Steve Block * Sets whether the WebView should save form data. The default is true, 392b0e0f334422e25542e48901c8451e51c8efab590Steve Block * unless in private browsing mode, when the value is always false. 39354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 39454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public void setSaveFormData(boolean save) { 3953c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 39654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 39754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 39854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 399b0e0f334422e25542e48901c8451e51c8efab590Steve Block * Gets whether the WebView saves form data. Always false in private 400b0e0f334422e25542e48901c8451e51c8efab590Steve Block * browsing mode. 401b0e0f334422e25542e48901c8451e51c8efab590Steve Block * 402b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @return whether the WebView saves form data 403b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @see #setSaveFormData 40454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 40554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public boolean getSaveFormData() { 4063c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 40754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 40854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 40954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 410b0e0f334422e25542e48901c8451e51c8efab590Steve Block * Sets whether the WebView should save passwords. The default is true. 41154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 41254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public void setSavePassword(boolean save) { 4133c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 41454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 41554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 41654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 417b0e0f334422e25542e48901c8451e51c8efab590Steve Block * Gets whether the WebView saves passwords. 418b0e0f334422e25542e48901c8451e51c8efab590Steve Block * 419b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @return whether the WebView saves passwords 420b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @see #setSavePassword 42154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 42254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public boolean getSavePassword() { 4233c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 42454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 42554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 42654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 427b0e0f334422e25542e48901c8451e51c8efab590Steve Block * Sets the text zoom of the page in percent. The default is 100. 4284e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 429b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @param textZoom the text zoom in percent 430ff56bcde857c1ea15a9d4bc7fc10653c409b89bdJohn Reck */ 431ff56bcde857c1ea15a9d4bc7fc10653c409b89bdJohn Reck public synchronized void setTextZoom(int textZoom) { 4323c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 433ff56bcde857c1ea15a9d4bc7fc10653c409b89bdJohn Reck } 434ff56bcde857c1ea15a9d4bc7fc10653c409b89bdJohn Reck 435ff56bcde857c1ea15a9d4bc7fc10653c409b89bdJohn Reck /** 4364e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets the text zoom of the page in percent. 4374e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 438b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @return the text zoom of the page in percent 4399d5e7aa38d5945b98aa9e193a37242cc1db35422Mikhail Naganov * @see #setTextZoom 440ff56bcde857c1ea15a9d4bc7fc10653c409b89bdJohn Reck */ 441ff56bcde857c1ea15a9d4bc7fc10653c409b89bdJohn Reck public synchronized int getTextZoom() { 4423c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 443ff56bcde857c1ea15a9d4bc7fc10653c409b89bdJohn Reck } 444ff56bcde857c1ea15a9d4bc7fc10653c409b89bdJohn Reck 445ff56bcde857c1ea15a9d4bc7fc10653c409b89bdJohn Reck /** 446b0e0f334422e25542e48901c8451e51c8efab590Steve Block * Sets the text size of the page. The default is {@link TextSize#NORMAL}. 4474e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 448b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @param t the text size as a {@link TextSize} value 449b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @deprecated Use {@link #setTextZoom} instead. 45054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 45154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setTextSize(TextSize t) { 4529d5e7aa38d5945b98aa9e193a37242cc1db35422Mikhail Naganov setTextZoom(t.value); 45354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 45454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 45554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 4564e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets the text size of the page. If the text size was previously specified 457b0e0f334422e25542e48901c8451e51c8efab590Steve Block * in percent using {@link #setTextZoom}, this will return the closest 458b0e0f334422e25542e48901c8451e51c8efab590Steve Block * matching {@link TextSize}. 4594e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 460b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @return the text size as a {@link TextSize} value 461b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @see #setTextSize 462b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @deprecated Use {@link #getTextZoom} instead. 46354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 46454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized TextSize getTextSize() { 4659d5e7aa38d5945b98aa9e193a37242cc1db35422Mikhail Naganov TextSize closestSize = null; 4669d5e7aa38d5945b98aa9e193a37242cc1db35422Mikhail Naganov int smallestDelta = Integer.MAX_VALUE; 4679d5e7aa38d5945b98aa9e193a37242cc1db35422Mikhail Naganov int textSize = getTextZoom(); 4689d5e7aa38d5945b98aa9e193a37242cc1db35422Mikhail Naganov for (TextSize size : TextSize.values()) { 4699d5e7aa38d5945b98aa9e193a37242cc1db35422Mikhail Naganov int delta = Math.abs(textSize - size.value); 4709d5e7aa38d5945b98aa9e193a37242cc1db35422Mikhail Naganov if (delta == 0) { 4719d5e7aa38d5945b98aa9e193a37242cc1db35422Mikhail Naganov return size; 4729d5e7aa38d5945b98aa9e193a37242cc1db35422Mikhail Naganov } 4739d5e7aa38d5945b98aa9e193a37242cc1db35422Mikhail Naganov if (delta < smallestDelta) { 4749d5e7aa38d5945b98aa9e193a37242cc1db35422Mikhail Naganov smallestDelta = delta; 4759d5e7aa38d5945b98aa9e193a37242cc1db35422Mikhail Naganov closestSize = size; 4769d5e7aa38d5945b98aa9e193a37242cc1db35422Mikhail Naganov } 4779d5e7aa38d5945b98aa9e193a37242cc1db35422Mikhail Naganov } 4789d5e7aa38d5945b98aa9e193a37242cc1db35422Mikhail Naganov return closestSize != null ? closestSize : TextSize.NORMAL; 479edb528ef52fd9b0148d559c5e596cf9bb9a6d2f9Mangesh Ghiware } 480edb528ef52fd9b0148d559c5e596cf9bb9a6d2f9Mangesh Ghiware 481edb528ef52fd9b0148d559c5e596cf9bb9a6d2f9Mangesh Ghiware /** 482b0e0f334422e25542e48901c8451e51c8efab590Steve Block * Sets the default zoom density of the page. This must be called from the UI 483b0e0f334422e25542e48901c8451e51c8efab590Steve Block * thread. The default is {@link ZoomDensity#MEDIUM}. 4844e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 485b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @param zoom the zoom density 4860d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba */ 4870d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba public void setDefaultZoom(ZoomDensity zoom) { 4883c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 4890d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba } 4900d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba 4910d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba /** 492b0e0f334422e25542e48901c8451e51c8efab590Steve Block * Gets the default zoom density of the page. This should be called from 493b0e0f334422e25542e48901c8451e51c8efab590Steve Block * the UI thread. 494b0e0f334422e25542e48901c8451e51c8efab590Steve Block * 495b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @return the zoom density 496b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @see #setDefaultZoom 4970d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba */ 4980d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba public ZoomDensity getDefaultZoom() { 4993c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 5000d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba } 5010d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba 5020d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba /** 50354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Enables using light touches to make a selection and activate mouseovers. 504b0e0f334422e25542e48901c8451e51c8efab590Steve Block * The default is false. 50554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 50654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public void setLightTouchEnabled(boolean enabled) { 5073c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 50854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 50954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 51054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 5114e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets whether light touches are enabled. 512b0e0f334422e25542e48901c8451e51c8efab590Steve Block * 513b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @return whether light touches are enabled 514b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @see #setLightTouchEnabled 51554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 51654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public boolean getLightTouchEnabled() { 5173c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 51854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 51954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 52054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 5214e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Controlled a rendering optimization that is no longer present. Setting 5224e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * it now has no effect. 5234e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 5244e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @deprecated This setting now has no effect. 525f4912580e6adc90ab37b07b8108c7334f359e317Kristian Monsen * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} 52654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 527adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn @Deprecated 52854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setUseDoubleTree(boolean use) { 5293c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon // Specified to do nothing, so no need for derived classes to override. 53054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 53154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 53254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 5334e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Controlled a rendering optimization that is no longer present. Setting 5344e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * it now has no effect. 5354e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 5364e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @deprecated This setting now has no effect. 537f4912580e6adc90ab37b07b8108c7334f359e317Kristian Monsen * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} 53854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 539adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn @Deprecated 54054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized boolean getUseDoubleTree() { 5413c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon // Returns false unconditionally, so no need for derived classes to override. 542adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn return false; 54354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 54454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 54554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 546b0e0f334422e25542e48901c8451e51c8efab590Steve Block * Sets the user-agent string using an integer code. 547b0e0f334422e25542e48901c8451e51c8efab590Steve Block * <ul> 548b0e0f334422e25542e48901c8451e51c8efab590Steve Block * <li>0 means the WebView should use an Android user-agent string</li> 549b0e0f334422e25542e48901c8451e51c8efab590Steve Block * <li>1 means the WebView should use a desktop user-agent string</li> 550b0e0f334422e25542e48901c8451e51c8efab590Steve Block * </ul> 551b0e0f334422e25542e48901c8451e51c8efab590Steve Block * Other values are ignored. The default is an Android user-agent string, 552b0e0f334422e25542e48901c8451e51c8efab590Steve Block * i.e. code value 0. 553f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project * 554b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @param ua the integer code for the user-agent string 555b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @deprecated Please use {@link #setUserAgentString} instead. 556f4912580e6adc90ab37b07b8108c7334f359e317Kristian Monsen * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} 55754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 558f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project @Deprecated 55954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setUserAgent(int ua) { 5603c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 56154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 56254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 56354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 564b0e0f334422e25542e48901c8451e51c8efab590Steve Block * Gets the user-agent as an integer code. 565b0e0f334422e25542e48901c8451e51c8efab590Steve Block * <ul> 566b0e0f334422e25542e48901c8451e51c8efab590Steve Block * <li>-1 means the WebView is using a custom user-agent string set with 567b0e0f334422e25542e48901c8451e51c8efab590Steve Block * {@link #setUserAgentString}</li> 568b0e0f334422e25542e48901c8451e51c8efab590Steve Block * <li>0 means the WebView should use an Android user-agent string</li> 569b0e0f334422e25542e48901c8451e51c8efab590Steve Block * <li>1 means the WebView should use a desktop user-agent string</li> 570b0e0f334422e25542e48901c8451e51c8efab590Steve Block * </ul> 571f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project * 572b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @return the integer code for the user-agent string 573b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @see #setUserAgent 574b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @deprecated Please use {@link #getUserAgentString} instead. 575f4912580e6adc90ab37b07b8108c7334f359e317Kristian Monsen * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} 57654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 577f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project @Deprecated 57854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized int getUserAgent() { 5793c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 58054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 58154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 58254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 583b0e0f334422e25542e48901c8451e51c8efab590Steve Block * Tells the WebView to use a wide viewport. The default is false. 584b0e0f334422e25542e48901c8451e51c8efab590Steve Block * 585b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @param use whether to use a wide viewport 58654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 58754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setUseWideViewPort(boolean use) { 5883c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 58954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 59054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 59154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 5924e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets whether the WebView is using a wide viewport. 5934e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 5944e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @return true if the WebView is using a wide viewport 595b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @see #setUseWideViewPort 59654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 59754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized boolean getUseWideViewPort() { 5983c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 59954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 60054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 60154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 602b0e0f334422e25542e48901c8451e51c8efab590Steve Block * Sets whether the WebView whether supports multiple windows. If set to 603b0e0f334422e25542e48901c8451e51c8efab590Steve Block * true, {@link WebChromeClient#onCreateWindow} must be implemented by the 604b0e0f334422e25542e48901c8451e51c8efab590Steve Block * host application. The default is false. 605b0e0f334422e25542e48901c8451e51c8efab590Steve Block * 606b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @param support whether to suport multiple windows 60754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 60854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setSupportMultipleWindows(boolean support) { 6093c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 61054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 61154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 61254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 613b0e0f334422e25542e48901c8451e51c8efab590Steve Block * Gets whether the WebView supports multiple windows. 6144e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 615b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @return true if the WebView supports multiple windows 616b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @see #setSupportMultipleWindows 61754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 61854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized boolean supportMultipleWindows() { 6193c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 62054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 62154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 62254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 6234e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Sets the underlying layout algorithm. This will cause a relayout of the 624b0e0f334422e25542e48901c8451e51c8efab590Steve Block * WebView. The default is {@link LayoutAlgorithm#NARROW_COLUMNS}. 6254e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 626b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @param l the layout algorithm to use, as a {@link LayoutAlgorithm} value 62754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 62854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setLayoutAlgorithm(LayoutAlgorithm l) { 6293c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 63054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 63154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 63254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 6334e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets the current layout algorithm. 6344e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 635b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @return the layout algorithm in use, as a {@link LayoutAlgorithm} value 6364e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @see #setLayoutAlgorithm 63754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 63854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized LayoutAlgorithm getLayoutAlgorithm() { 6393c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 64054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 64154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 64254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 6434e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Sets the standard font family name. The default is "sans-serif". 6444e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 6454e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param font a font family name 64654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 64754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setStandardFontFamily(String font) { 6483c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 64954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 65054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 65154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 6524e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets the standard font family name. 6534e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 6544e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @return the standard font family name as a string 6554e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @see #setStandardFontFamily 65654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 65754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized String getStandardFontFamily() { 6583c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 65954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 66054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 66154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 6624e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Sets the fixed font family name. The default is "monospace". 6634e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 6644e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param font a font family name 66554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 66654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setFixedFontFamily(String font) { 6673c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 66854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 66954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 67054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 6714e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets the fixed font family name. 6724e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 6734e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @return the fixed font family name as a string 6744e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @see #setFixedFontFamily 67554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 67654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized String getFixedFontFamily() { 6773c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 67854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 67954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 68054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 681b0e0f334422e25542e48901c8451e51c8efab590Steve Block * Sets the sans-serif font family name. The default is "sans-serif". 6824e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 6834e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param font a font family name 68454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 68554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setSansSerifFontFamily(String font) { 6863c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 68754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 68854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 68954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 6904e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets the sans-serif font family name. 6914e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 6924e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @return the sans-serif font family name as a string 693b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @see #setSansSerifFontFamily 69454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 69554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized String getSansSerifFontFamily() { 6963c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 69754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 69854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 69954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 7004e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Sets the serif font family name. The default is "sans-serif". 7014e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 7024e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param font a font family name 70354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 70454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setSerifFontFamily(String font) { 7053c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 70654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 70754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 70854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 7094e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets the serif font family name. The default is "serif". 7104e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 7114e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @return the serif font family name as a string 7124e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @see #setSerifFontFamily 71354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 71454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized String getSerifFontFamily() { 7153c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 71654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 71754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 71854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 7194e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Sets the cursive font family name. The default is "cursive". 7204e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 7214e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param font a font family name 72254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 72354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setCursiveFontFamily(String font) { 7243c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 72554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 72654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 72754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 7284e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets the cursive font family name. 7294e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 7304e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @return the cursive font family name as a string 7314e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @see #setCursiveFontFamily 73254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 73354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized String getCursiveFontFamily() { 7343c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 73554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 73654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 73754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 7384e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Sets the fantasy font family name. The default is "fantasy". 7394e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 7404e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param font a font family name 74154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 74254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setFantasyFontFamily(String font) { 7433c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 74454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 74554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 74654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 7474e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets the fantasy font family name. 7484e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 7494e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @return the fantasy font family name as a string 7504e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @see #setFantasyFontFamily 75154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 75254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized String getFantasyFontFamily() { 7533c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 75454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 75554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 75654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 7574e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Sets the minimum font size. The default is 8. 7584e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 7594e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param size a non-negative integer between 1 and 72. Any number outside 7604e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * the specified range will be pinned. 76154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 76254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setMinimumFontSize(int size) { 7633c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 76454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 76554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 76654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 7674e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets the minimum font size. 7684e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 7694e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @return a non-negative integer between 1 and 72 7704e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @see #setMinimumFontSize 77154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 77254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized int getMinimumFontSize() { 7733c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 77454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 77554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 77654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 7774e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Sets the minimum logical font size. The default is 8. 7784e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 7794e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param size a non-negative integer between 1 and 72. Any number outside 7804e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * the specified range will be pinned. 78154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 78254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setMinimumLogicalFontSize(int size) { 7833c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 78454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 78554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 78654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 7874e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets the minimum logical font size. 7884e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 7894e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @return a non-negative integer between 1 and 72 7904e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @see #setMinimumLogicalFontSize 79154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 79254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized int getMinimumLogicalFontSize() { 7933c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 79454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 79554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 79654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 7974e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Sets the default font size. The default is 16. 7984e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 7994e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param size a non-negative integer between 1 and 72. Any number outside 8004e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * the specified range will be pinned. 80154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 80254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setDefaultFontSize(int size) { 8033c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 80454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 80554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 80654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 8074e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets the default font size. 8084e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 8094e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @return a non-negative integer between 1 and 72 8104e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @see #setDefaultFontSize 81154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 81254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized int getDefaultFontSize() { 8133c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 81454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 81554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 81654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 8174e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Sets the default fixed font size. The default is 16. 8184e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 8194e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param size a non-negative integer between 1 and 72. Any number outside 8204e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * the specified range will be pinned. 82154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 82254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setDefaultFixedFontSize(int size) { 8233c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 82454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 82554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 82654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 8274e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets the default fixed font size. 8284e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 8294e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @return a non-negative integer between 1 and 72 8304e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @see #setDefaultFixedFontSize 83154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 83254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized int getDefaultFixedFontSize() { 8333c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 834097b1e777a2a29eef3938338cb0c355203bf1448Grace Kloba } 835097b1e777a2a29eef3938338cb0c355203bf1448Grace Kloba 836097b1e777a2a29eef3938338cb0c355203bf1448Grace Kloba /** 837605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * Sets whether the WebView should load image resources. Note that this method 838605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * controls loading of all images, including those embedded using the data 839605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * URI scheme. Use {@link #setBlockNetworkImage} to control loading only 840605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * of images specified using network URI schemes. Note that if the value of this 841605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * setting is changed from false to true, all images resources referenced 842605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * by content currently displayed by the WebView are loaded automatically. 8434e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * The default is true. 8444e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 8454e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param flag whether the WebView should load image resources 84654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 84754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setLoadsImagesAutomatically(boolean flag) { 8483c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 84954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 85054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 85154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 8524e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets whether the WebView loads image resources. This includes 8534e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * images embedded using the data URI scheme. 8544e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 8554e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @return true if the WebView loads image resources 8564e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @see #setLoadsImagesAutomatically 85754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 85854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized boolean getLoadsImagesAutomatically() { 8593c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 86054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 86154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 86254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 863605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * Sets whether the WebView should not load image resources from the 864605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * network (resources accessed via http and https URI schemes). Note 865605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * that this method has no effect unless 866605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * {@link #getLoadsImagesAutomatically} returns true. Also note that 867605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * disabling all network loads using {@link #setBlockNetworkLoads} 868605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * will also prevent network images from loading, even if this flag is set 869605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * to false. When the value of this setting is changed from true to false, 870605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * network images resources referenced by content currently displayed by 8714e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * the WebView are fetched automatically. The default is false. 8724e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 8734e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param flag whether the WebView should not load image resources from the 8744e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * network 875f43113f6216efacc3957fc48d9fa1c0326faccebPatrick Scott * @see #setBlockNetworkLoads 87654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 87754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setBlockNetworkImage(boolean flag) { 8783c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 87954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 88054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 88154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 8824e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets whether the WebView does not load image resources from the network. 8834e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 8844e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @return true if the WebView does not load image resources from the network 8854e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @see #setBlockNetworkImage 88654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 88754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized boolean getBlockNetworkImage() { 8883c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 88954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 890adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn 891f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project /** 892605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * Sets whether the WebView should not load resources from the network. 893605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * Use {@link #setBlockNetworkImage} to only avoid loading 894605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * image resources. Note that if the value of this setting is 895605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * changed from true to false, network resources referenced by content 896605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * currently displayed by the WebView are not fetched until 897605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * {@link android.webkit.WebView#reload} is called. 898605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * If the application does not have the 899605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * {@link android.Manifest.permission#INTERNET} permission, attempts to set 900605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * a value of false will cause a {@link java.lang.SecurityException} 9014e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * to be thrown. The default value is false if the application has the 9024e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * {@link android.Manifest.permission#INTERNET} permission, otherwise it is 9034e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * true. 9044e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 9054e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param flag whether the WebView should not load any resources from the 9064e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * network 907f43113f6216efacc3957fc48d9fa1c0326faccebPatrick Scott * @see android.webkit.WebView#reload 908f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project */ 909f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project public synchronized void setBlockNetworkLoads(boolean flag) { 9103c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 911f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project } 912f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project 913f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project /** 9144e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets whether the WebView does not load any resources from the network. 9154e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 9164e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @return true if the WebView does not load any resources from the network 9174e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @see #setBlockNetworkLoads 918f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project */ 919f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project public synchronized boolean getBlockNetworkLoads() { 9203c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 921f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project } 92254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 92354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 9244e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Tells the WebView to enable JavaScript execution. 9254e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * <b>The default is false.</b> 9264e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 9274e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param flag true if the WebView should execute JavaScript 92854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 92954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setJavaScriptEnabled(boolean flag) { 9303c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 931da7378e86e6d6e7522dfd1e83091545fa93aa84dTeng-Hui Zhu } 932da7378e86e6d6e7522dfd1e83091545fa93aa84dTeng-Hui Zhu 933da7378e86e6d6e7522dfd1e83091545fa93aa84dTeng-Hui Zhu /** 934ef163150805625a148a9715eff6693277f79dcefSteve Block * Sets whether JavaScript running in the context of a file scheme URL 935ef163150805625a148a9715eff6693277f79dcefSteve Block * should be allowed to access content from any origin. This includes 936ef163150805625a148a9715eff6693277f79dcefSteve Block * access to content from other file scheme URLs. See 937ef163150805625a148a9715eff6693277f79dcefSteve Block * {@link #setAllowFileAccessFromFileURLs}. To enable the most restrictive, 938ef163150805625a148a9715eff6693277f79dcefSteve Block * and therefore secure policy, this setting should be disabled. 939ef163150805625a148a9715eff6693277f79dcefSteve Block * <p> 940ef163150805625a148a9715eff6693277f79dcefSteve Block * The default value is true for API level 941ef163150805625a148a9715eff6693277f79dcefSteve Block * {@link android.os.Build.VERSION_CODES#ICE_CREAM_SANDWICH_MR1} and below, 942ef163150805625a148a9715eff6693277f79dcefSteve Block * and false for API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN} 943ef163150805625a148a9715eff6693277f79dcefSteve Block * and above. 9440ea6dad65eb77f9347a59704b1f8a019cfc9e01fSelim Gurun * 945ef163150805625a148a9715eff6693277f79dcefSteve Block * @param flag whether JavaScript running in the context of a file scheme 946ef163150805625a148a9715eff6693277f79dcefSteve Block * URL should be allowed to access content from any origin 9470ea6dad65eb77f9347a59704b1f8a019cfc9e01fSelim Gurun */ 9480ea6dad65eb77f9347a59704b1f8a019cfc9e01fSelim Gurun public abstract void setAllowUniversalAccessFromFileURLs(boolean flag); 9490ea6dad65eb77f9347a59704b1f8a019cfc9e01fSelim Gurun 9500ea6dad65eb77f9347a59704b1f8a019cfc9e01fSelim Gurun /** 951ef163150805625a148a9715eff6693277f79dcefSteve Block * Sets whether JavaScript running in the context of a file scheme URL 952ef163150805625a148a9715eff6693277f79dcefSteve Block * should be allowed to access content from other file scheme URLs. To 953ef163150805625a148a9715eff6693277f79dcefSteve Block * enable the most restrictive, and therefore secure policy, this setting 954ef163150805625a148a9715eff6693277f79dcefSteve Block * should be disabled. Note that the value of this setting is ignored if 955ef163150805625a148a9715eff6693277f79dcefSteve Block * the value of {@link #getAllowUniversalAccessFromFileURLs} is true. 956ef163150805625a148a9715eff6693277f79dcefSteve Block * <p> 957ef163150805625a148a9715eff6693277f79dcefSteve Block * The default value is true for API level 958ef163150805625a148a9715eff6693277f79dcefSteve Block * {@link android.os.Build.VERSION_CODES#ICE_CREAM_SANDWICH_MR1} and below, 959ef163150805625a148a9715eff6693277f79dcefSteve Block * and false for API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN} 960ef163150805625a148a9715eff6693277f79dcefSteve Block * and above. 9610ea6dad65eb77f9347a59704b1f8a019cfc9e01fSelim Gurun * 962ef163150805625a148a9715eff6693277f79dcefSteve Block * @param flag whether JavaScript running in the context of a file scheme 963ef163150805625a148a9715eff6693277f79dcefSteve Block * URL should be allowed to access content from other file 964ef163150805625a148a9715eff6693277f79dcefSteve Block * scheme URLs 9650ea6dad65eb77f9347a59704b1f8a019cfc9e01fSelim Gurun */ 9660ea6dad65eb77f9347a59704b1f8a019cfc9e01fSelim Gurun public abstract void setAllowFileAccessFromFileURLs(boolean flag); 9670ea6dad65eb77f9347a59704b1f8a019cfc9e01fSelim Gurun 9680ea6dad65eb77f9347a59704b1f8a019cfc9e01fSelim Gurun /** 969b0e0f334422e25542e48901c8451e51c8efab590Steve Block * Sets whether the WebView should enable plugins. The default is false. 9704e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 971b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @param flag true if plugins should be enabled 972300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * @deprecated This method has been deprecated in favor of 973300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * {@link #setPluginState} 97454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 975a172e7d0d96e4a4db5e2b408e8ee3e96948df9a4Michael Kolb @Deprecated 97654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setPluginsEnabled(boolean flag) { 9773c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 978300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott } 979300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott 980300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott /** 9814e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Tells the WebView to enable, disable, or have plugins on demand. On 982300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * demand mode means that if a plugin exists that can handle the embedded 983300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * content, a placeholder icon will be shown instead of the plugin. When 984b0e0f334422e25542e48901c8451e51c8efab590Steve Block * the placeholder is clicked, the plugin will be enabled. The default is 985b0e0f334422e25542e48901c8451e51c8efab590Steve Block * {@link PluginState#OFF}. 9864e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 9874e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param state a PluginState value 988300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott */ 989300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott public synchronized void setPluginState(PluginState state) { 9903c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 99154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 99254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 99354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 9944e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Sets a custom path to plugins used by the WebView. This method is 995fdbdeb3137a6b47527d1d714afbb7e1b19b474ecDerek Sollenberger * obsolete since each plugin is now loaded from its own package. 9964e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 9974e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param pluginsPath a String path to the directory containing plugins 998fdbdeb3137a6b47527d1d714afbb7e1b19b474ecDerek Sollenberger * @deprecated This method is no longer used as plugins are loaded from 9994e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * their own APK via the system's package manager. 100054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 10019dc2e75e2720a8d0a5d7b87be53300eac021a3f3Jason Chen @Deprecated 100254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setPluginsPath(String pluginsPath) { 10033c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon // Specified to do nothing, so no need for derived classes to override. 100454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 100554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 100654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 10074e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Sets the path to where database storage API databases should be saved. 100872ca7a45ac4a911435a60361964a15045515eaf5Steve Block * In order for the database storage API to function correctly, this method 100972ca7a45ac4a911435a60361964a15045515eaf5Steve Block * must be called with a path to which the application can write. This 101072ca7a45ac4a911435a60361964a15045515eaf5Steve Block * method should only be called once: repeated calls are ignored. 10114e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 101272ca7a45ac4a911435a60361964a15045515eaf5Steve Block * @param databasePath a path to the directory where databases should be 101372ca7a45ac4a911435a60361964a15045515eaf5Steve Block * saved. 10147df1985e86635af006be3dfa65987d60e290b5deBen Murdoch */ 10154e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block // This will update WebCore when the Sync runs in the C++ side. 101672ca7a45ac4a911435a60361964a15045515eaf5Steve Block // Note that the WebCore Database Tracker only allows the path to be set 101772ca7a45ac4a911435a60361964a15045515eaf5Steve Block // once. 10187df1985e86635af006be3dfa65987d60e290b5deBen Murdoch public synchronized void setDatabasePath(String databasePath) { 10193c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 10207df1985e86635af006be3dfa65987d60e290b5deBen Murdoch } 10217df1985e86635af006be3dfa65987d60e290b5deBen Murdoch 10227df1985e86635af006be3dfa65987d60e290b5deBen Murdoch /** 102372ca7a45ac4a911435a60361964a15045515eaf5Steve Block * Sets the path where the Geolocation databases should be saved. In order 102472ca7a45ac4a911435a60361964a15045515eaf5Steve Block * for Geolocation permissions and cached positions to be persisted, this 102572ca7a45ac4a911435a60361964a15045515eaf5Steve Block * method must be called with a path to which the application can write. 10264e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 102772ca7a45ac4a911435a60361964a15045515eaf5Steve Block * @param databasePath a path to the directory where databases should be 102872ca7a45ac4a911435a60361964a15045515eaf5Steve Block * saved. 10299d3273f62288fa54536a3928383588398ca2d029Steve Block */ 10304e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block // This will update WebCore when the Sync runs in the C++ side. 10319d3273f62288fa54536a3928383588398ca2d029Steve Block public synchronized void setGeolocationDatabasePath(String databasePath) { 10323c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 10339d3273f62288fa54536a3928383588398ca2d029Steve Block } 10349d3273f62288fa54536a3928383588398ca2d029Steve Block 10359d3273f62288fa54536a3928383588398ca2d029Steve Block /** 103672ca7a45ac4a911435a60361964a15045515eaf5Steve Block * Sets whether the Application Caches API should be enabled. The default 103772ca7a45ac4a911435a60361964a15045515eaf5Steve Block * is false. Note that in order for the Application Caches API to be 103872ca7a45ac4a911435a60361964a15045515eaf5Steve Block * enabled, a valid database path must also be supplied to 103972ca7a45ac4a911435a60361964a15045515eaf5Steve Block * {@link #setAppCachePath}. 10404e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 10414e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param flag true if the WebView should enable Application Caches 104260a9a7d05577a65c8904fcb5f32b6a7a10886a13Andrei Popescu */ 104360a9a7d05577a65c8904fcb5f32b6a7a10886a13Andrei Popescu public synchronized void setAppCacheEnabled(boolean flag) { 10443c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 104560a9a7d05577a65c8904fcb5f32b6a7a10886a13Andrei Popescu } 104660a9a7d05577a65c8904fcb5f32b6a7a10886a13Andrei Popescu 104760a9a7d05577a65c8904fcb5f32b6a7a10886a13Andrei Popescu /** 104872ca7a45ac4a911435a60361964a15045515eaf5Steve Block * Sets the path to the Application Caches files. In order for the 104972ca7a45ac4a911435a60361964a15045515eaf5Steve Block * Application Caches API to be enabled, this method must be called with a 105072ca7a45ac4a911435a60361964a15045515eaf5Steve Block * path to which the application can write. This method should only be 105172ca7a45ac4a911435a60361964a15045515eaf5Steve Block * called once: repeated calls are ignored. 10524e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 10534e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param appCachePath a String path to the directory containing 105472ca7a45ac4a911435a60361964a15045515eaf5Steve Block * Application Caches files. 105572ca7a45ac4a911435a60361964a15045515eaf5Steve Block * @see setAppCacheEnabled 105660a9a7d05577a65c8904fcb5f32b6a7a10886a13Andrei Popescu */ 10573c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon public synchronized void setAppCachePath(String appCachePath) { 10583c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 105960a9a7d05577a65c8904fcb5f32b6a7a10886a13Andrei Popescu } 106060a9a7d05577a65c8904fcb5f32b6a7a10886a13Andrei Popescu 106160a9a7d05577a65c8904fcb5f32b6a7a10886a13Andrei Popescu /** 1062b632adfaf445ff6f0c07bfc54671d204ad0e5a67Selim Gurun * Sets the maximum size for the Application Cache content. The passed size 1063b632adfaf445ff6f0c07bfc54671d204ad0e5a67Selim Gurun * will be rounded to the nearest value that the database can support, so 1064b632adfaf445ff6f0c07bfc54671d204ad0e5a67Selim Gurun * this should be viewed as a guide, not a hard limit. Setting the 1065b632adfaf445ff6f0c07bfc54671d204ad0e5a67Selim Gurun * size to a value less than current database size does not cause the 1066f27ac09501dfcf12668c8144fbc8cc041b872388Selim Gurun * database to be trimmed. The default size is {@link Long#MAX_VALUE}. 10674e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 10684e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param appCacheMaxSize the maximum size in bytes 10691c829208eadf175ad4600e70a14013b50a20adfeAndrei Popescu */ 10701c829208eadf175ad4600e70a14013b50a20adfeAndrei Popescu public synchronized void setAppCacheMaxSize(long appCacheMaxSize) { 10713c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 10721c829208eadf175ad4600e70a14013b50a20adfeAndrei Popescu } 10731c829208eadf175ad4600e70a14013b50a20adfeAndrei Popescu 10741c829208eadf175ad4600e70a14013b50a20adfeAndrei Popescu /** 1075b0e0f334422e25542e48901c8451e51c8efab590Steve Block * Sets whether the database storage API is enabled. The default value is 1076b0e0f334422e25542e48901c8451e51c8efab590Steve Block * false. See also {@link #setDatabasePath} for how to correctly set up the 1077b0e0f334422e25542e48901c8451e51c8efab590Steve Block * database storage API. 10784e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 10794e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param flag true if the WebView should use the database storage API 10807df1985e86635af006be3dfa65987d60e290b5deBen Murdoch */ 10817df1985e86635af006be3dfa65987d60e290b5deBen Murdoch public synchronized void setDatabaseEnabled(boolean flag) { 10823c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 10837df1985e86635af006be3dfa65987d60e290b5deBen Murdoch } 10847df1985e86635af006be3dfa65987d60e290b5deBen Murdoch 10857df1985e86635af006be3dfa65987d60e290b5deBen Murdoch /** 1086b0e0f334422e25542e48901c8451e51c8efab590Steve Block * Sets whether the DOM storage API is enabled. The default value is false. 10874e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 10884e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param flag true if the WebView should use the DOM storage API 1089274680d9b8fce08f31c23dda796ecec937c942deBen Murdoch */ 1090274680d9b8fce08f31c23dda796ecec937c942deBen Murdoch public synchronized void setDomStorageEnabled(boolean flag) { 10913c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 1092274680d9b8fce08f31c23dda796ecec937c942deBen Murdoch } 1093274680d9b8fce08f31c23dda796ecec937c942deBen Murdoch 1094274680d9b8fce08f31c23dda796ecec937c942deBen Murdoch /** 10954e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets whether the DOM Storage APIs are enabled. 10964e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 10974e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @return true if the DOM Storage APIs are enabled 1098b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @see #setDomStorageEnabled 1099274680d9b8fce08f31c23dda796ecec937c942deBen Murdoch */ 1100274680d9b8fce08f31c23dda796ecec937c942deBen Murdoch public synchronized boolean getDomStorageEnabled() { 11013c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 1102274680d9b8fce08f31c23dda796ecec937c942deBen Murdoch } 1103274680d9b8fce08f31c23dda796ecec937c942deBen Murdoch /** 1104b0e0f334422e25542e48901c8451e51c8efab590Steve Block * Gets the path to where database storage API databases are saved. 11054e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 11064e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @return the String path to the database storage API databases 1107b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @see #setDatabasePath 11087df1985e86635af006be3dfa65987d60e290b5deBen Murdoch */ 11097df1985e86635af006be3dfa65987d60e290b5deBen Murdoch public synchronized String getDatabasePath() { 11103c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 11117df1985e86635af006be3dfa65987d60e290b5deBen Murdoch } 11127df1985e86635af006be3dfa65987d60e290b5deBen Murdoch 11137df1985e86635af006be3dfa65987d60e290b5deBen Murdoch /** 11144e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets whether the database storage API is enabled. 11154e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 11164e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @return true if the database storage API is enabled 1117b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @see #setDatabaseEnabled 11187df1985e86635af006be3dfa65987d60e290b5deBen Murdoch */ 11197df1985e86635af006be3dfa65987d60e290b5deBen Murdoch public synchronized boolean getDatabaseEnabled() { 11203c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 1121c27a9acb3b7ec4d1845b623cc167e0b62b1d0585Andrei Popescu } 1122c27a9acb3b7ec4d1845b623cc167e0b62b1d0585Andrei Popescu 1123c27a9acb3b7ec4d1845b623cc167e0b62b1d0585Andrei Popescu /** 1124b0e0f334422e25542e48901c8451e51c8efab590Steve Block * Sets whether Geolocation is enabled. The default is true. See also 1125b0e0f334422e25542e48901c8451e51c8efab590Steve Block * {@link #setGeolocationDatabasePath} for how to correctly set up 1126b0e0f334422e25542e48901c8451e51c8efab590Steve Block * Geolocation. 11274e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 11284e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param flag whether Geolocation should be enabled 112906cd751b052e65c359b16cce0570b6fab305eb89Steve Block */ 113006cd751b052e65c359b16cce0570b6fab305eb89Steve Block public synchronized void setGeolocationEnabled(boolean flag) { 11313c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 11325dc0c8253b368239a90d7176ff6325ae5ba371b3Elliott Slaughter } 11335dc0c8253b368239a90d7176ff6325ae5ba371b3Elliott Slaughter 11345dc0c8253b368239a90d7176ff6325ae5ba371b3Elliott Slaughter /** 11354e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets whether JavaScript is enabled. 11364e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 11374e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @return true if JavaScript is enabled 11384e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @see #setJavaScriptEnabled 113954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 114054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized boolean getJavaScriptEnabled() { 11413c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 114254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 114354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 114454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 1145ef163150805625a148a9715eff6693277f79dcefSteve Block * Gets whether JavaScript running in the context of a file scheme URL can 1146ef163150805625a148a9715eff6693277f79dcefSteve Block * access content from any origin. This includes access to content from 1147ef163150805625a148a9715eff6693277f79dcefSteve Block * other file scheme URLs. 11480ea6dad65eb77f9347a59704b1f8a019cfc9e01fSelim Gurun * 1149ef163150805625a148a9715eff6693277f79dcefSteve Block * @return whether JavaScript running in the context of a file scheme URL 1150ef163150805625a148a9715eff6693277f79dcefSteve Block * can access content from any origin 11514e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @see #setAllowUniversalAccessFromFileURLs 11520ea6dad65eb77f9347a59704b1f8a019cfc9e01fSelim Gurun */ 11530ea6dad65eb77f9347a59704b1f8a019cfc9e01fSelim Gurun public abstract boolean getAllowUniversalAccessFromFileURLs(); 11540ea6dad65eb77f9347a59704b1f8a019cfc9e01fSelim Gurun 11550ea6dad65eb77f9347a59704b1f8a019cfc9e01fSelim Gurun /** 1156ef163150805625a148a9715eff6693277f79dcefSteve Block * Gets whether JavaScript running in the context of a file scheme URL can 1157ef163150805625a148a9715eff6693277f79dcefSteve Block * access content from other file scheme URLs. 11580ea6dad65eb77f9347a59704b1f8a019cfc9e01fSelim Gurun * 1159ef163150805625a148a9715eff6693277f79dcefSteve Block * @return whether JavaScript running in the context of a file scheme URL 1160ef163150805625a148a9715eff6693277f79dcefSteve Block * can access content from other file scheme URLs 11614e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @see #setAllowFileAccessFromFileURLs 11620ea6dad65eb77f9347a59704b1f8a019cfc9e01fSelim Gurun */ 11630ea6dad65eb77f9347a59704b1f8a019cfc9e01fSelim Gurun public abstract boolean getAllowFileAccessFromFileURLs(); 11640ea6dad65eb77f9347a59704b1f8a019cfc9e01fSelim Gurun 11650ea6dad65eb77f9347a59704b1f8a019cfc9e01fSelim Gurun /** 11664e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets whether plugins are enabled. 11674e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 11684e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @return true if plugins are enabled 1169b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @see #setPluginsEnabled 1170300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * @deprecated This method has been replaced by {@link #getPluginState} 117154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 1172a172e7d0d96e4a4db5e2b408e8ee3e96948df9a4Michael Kolb @Deprecated 117354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized boolean getPluginsEnabled() { 11743c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 1175300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott } 1176300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott 1177300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott /** 1178b0e0f334422e25542e48901c8451e51c8efab590Steve Block * Gets the current state regarding whether plugins are enabled. 11794e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 1180b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @return the plugin state as a {@link PluginState} value 1181b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @see #setPluginState 1182300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott */ 1183300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott public synchronized PluginState getPluginState() { 11843c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 118554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 118654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 118754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 11884e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets the directory that contains the plugin libraries. This method is 1189fdbdeb3137a6b47527d1d714afbb7e1b19b474ecDerek Sollenberger * obsolete since each plugin is now loaded from its own package. 11904e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 11914e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @return an empty string 1192fdbdeb3137a6b47527d1d714afbb7e1b19b474ecDerek Sollenberger * @deprecated This method is no longer used as plugins are loaded from 1193fdbdeb3137a6b47527d1d714afbb7e1b19b474ecDerek Sollenberger * their own APK via the system's package manager. 119454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 11959dc2e75e2720a8d0a5d7b87be53300eac021a3f3Jason Chen @Deprecated 119654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized String getPluginsPath() { 11973c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon // Unconditionally returns empty string, so no need for derived classes to override. 1198658ab7d787f64987d7c45aae08e5a12a073afe78Grace Kloba return ""; 119954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 120054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 120154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 12024e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Tells JavaScript to open windows automatically. This applies to the 12034e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * JavaScript function window.open(). The default is false. 12044e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 12054e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param flag true if JavaScript can open windows automatically 120654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 12073c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon public synchronized void setJavaScriptCanOpenWindowsAutomatically(boolean flag) { 12083c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 120954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 121054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 121154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 12124e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets whether JavaScript can open windows automatically. 12134e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 12144e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @return true if JavaScript can open windows automatically during 12154e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * window.open() 12164e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @see #setJavaScriptCanOpenWindowsAutomatically 121754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 121854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized boolean getJavaScriptCanOpenWindowsAutomatically() { 12193c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 122054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 122154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 12224e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Sets the default text encoding name to use when decoding html pages. 12234e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * The default is "Latin-1". 12244e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 12254e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param encoding the text encoding name 122654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 122754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setDefaultTextEncodingName(String encoding) { 12283c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 122954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 123054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 123154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 12324e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets the default text encoding name. 12334e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 12344e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @return the default text encoding name as a string 12354e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @see #setDefaultTextEncodingName 123654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 123754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized String getDefaultTextEncodingName() { 12383c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 123954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 124054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 1241f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project /** 1242b0e0f334422e25542e48901c8451e51c8efab590Steve Block * Sets the WebView's user-agent string. If the string is null or empty, 1243b0e0f334422e25542e48901c8451e51c8efab590Steve Block * the system default value will be used. 1244f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project */ 1245f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project public synchronized void setUserAgentString(String ua) { 12463c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 1247f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project } 1248f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project 1249f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project /** 12504e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Gets the WebView's user-agent string. 1251b0e0f334422e25542e48901c8451e51c8efab590Steve Block * 1252b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @return the WebView's user-agent string 1253b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @see #setUserAgentString 1254f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project */ 1255f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project public synchronized String getUserAgentString() { 12563c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 1257c55886aee84034f7fcf4431fdbeeaff1a9eafbd9Shimeng (Simon) Wang } 1258c55886aee84034f7fcf4431fdbeeaff1a9eafbd9Shimeng (Simon) Wang 125954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 12609f410c540ad593dd83e34266ccffd70867a600abGeorge Mount * Returns the default User-Agent used by a WebView. 12619f410c540ad593dd83e34266ccffd70867a600abGeorge Mount * An instance of WebView could use a different User-Agent if a call 1262f4912580e6adc90ab37b07b8108c7334f359e317Kristian Monsen * is made to {@link WebSettings#setUserAgentString(String)}. 12639f410c540ad593dd83e34266ccffd70867a600abGeorge Mount * 12649f410c540ad593dd83e34266ccffd70867a600abGeorge Mount * @param context a Context object used to access application assets 12659f410c540ad593dd83e34266ccffd70867a600abGeorge Mount */ 12669f410c540ad593dd83e34266ccffd70867a600abGeorge Mount public static String getDefaultUserAgent(Context context) { 1267951fcabef694ce3a78c1e7a8d03a27bd337db021Jonathan Dixon return WebViewFactory.getProvider().getStatics().getDefaultUserAgent(context); 12689f410c540ad593dd83e34266ccffd70867a600abGeorge Mount } 12699f410c540ad593dd83e34266ccffd70867a600abGeorge Mount 12709f410c540ad593dd83e34266ccffd70867a600abGeorge Mount /** 12714e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Tells the WebView whether it needs to set a node to have focus when 1272b0e0f334422e25542e48901c8451e51c8efab590Steve Block * {@link WebView#requestFocus(int, android.graphics.Rect)} is called. The 1273b0e0f334422e25542e48901c8451e51c8efab590Steve Block * default value is true. 1274a172e7d0d96e4a4db5e2b408e8ee3e96948df9a4Michael Kolb * 12754e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * @param flag whether the WebView needs to set a node 127654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 127754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public void setNeedInitialFocus(boolean flag) { 12783c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 127954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 128054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 128154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 12824e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Sets the priority of the Render thread. Unlike the other settings, this 1283b0e0f334422e25542e48901c8451e51c8efab590Steve Block * one only needs to be called once per process. The default value is 1284b0e0f334422e25542e48901c8451e51c8efab590Steve Block * {@link RenderPriority#NORMAL}. 1285adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn * 1286b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @param priority the priority 128754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 128854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setRenderPriority(RenderPriority priority) { 12893c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 129054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 1291a172e7d0d96e4a4db5e2b408e8ee3e96948df9a4Michael Kolb 129254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 12934e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * Overrides the way the cache is used. The way the cache is used is based 1294b0e0f334422e25542e48901c8451e51c8efab590Steve Block * on the navigation type. For a normal page load, the cache is checked 129554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * and content is re-validated as needed. When navigating back, content is 1296b0e0f334422e25542e48901c8451e51c8efab590Steve Block * not revalidated, instead the content is just retrieved from the cache. 1297b0e0f334422e25542e48901c8451e51c8efab590Steve Block * This method allows the client to override this behavior by specifying 1298b0e0f334422e25542e48901c8451e51c8efab590Steve Block * one of {@link #LOAD_DEFAULT}, {@link #LOAD_NORMAL}, 1299b0e0f334422e25542e48901c8451e51c8efab590Steve Block * {@link #LOAD_CACHE_ELSE_NETWORK}, {@link #LOAD_NO_CACHE} or 1300b0e0f334422e25542e48901c8451e51c8efab590Steve Block * {@link #LOAD_CACHE_ONLY}. The default value is {@link #LOAD_DEFAULT}. 13014e584df4cee8334bc371c04a67bcd0a32e2f9480Steve Block * 1302b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @param mode the mode to use 130354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 130454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public void setCacheMode(int mode) { 13053c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 130654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 1307a172e7d0d96e4a4db5e2b408e8ee3e96948df9a4Michael Kolb 130854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 1309b0e0f334422e25542e48901c8451e51c8efab590Steve Block * Gets the current setting for overriding the cache mode. 1310b0e0f334422e25542e48901c8451e51c8efab590Steve Block * 1311b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @return the current setting for overriding the cache mode 1312b0e0f334422e25542e48901c8451e51c8efab590Steve Block * @see #setCacheMode 131354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 131454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public int getCacheMode() { 13153c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 131654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 131754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project} 1318