WebSettings.java revision 06d268e3ad1129814829af5d3b84752d84c1acf2
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 1954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectimport android.os.Message; 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 */ 293c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon// This is (effectively) 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. 3254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectpublic class WebSettings { 333c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon // TODO: Remove MustOverrideException and make all methods throwing it abstract instead; 343c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon // needs API file update. 353c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon private static class MustOverrideException extends RuntimeException { 363c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon MustOverrideException() { 373c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon super("abstract function called: must be overriden!"); 383c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon } 393c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon } 403c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon 4154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 4254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Enum for controlling the layout of html. 4354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * NORMAL means no rendering changes. 4454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * SINGLE_COLUMN moves all content into one column that is the width of the 4554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * view. 4654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * NARROW_COLUMNS makes all columns no wider than the screen if possible. 4754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 4854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project // XXX: These must match LayoutAlgorithm in Settings.h in WebCore. 4954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public enum LayoutAlgorithm { 5054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project NORMAL, 515a1ef4132f93f57940a5cc49d32991674d014841John Reck /** 525a1ef4132f93f57940a5cc49d32991674d014841John Reck * @deprecated This algorithm is now obsolete. 535a1ef4132f93f57940a5cc49d32991674d014841John Reck */ 545a1ef4132f93f57940a5cc49d32991674d014841John Reck @Deprecated 5554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project SINGLE_COLUMN, 5654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project NARROW_COLUMNS 5754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 5854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 5954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 6054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Enum for specifying the text size. 6154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * SMALLEST is 50% 6254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * SMALLER is 75% 6354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * NORMAL is 100% 6454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * LARGER is 150% 6554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * LARGEST is 200% 66caeb120170477f52516cd9d12469c582e7dec8feJohn Reck * @deprecated Use {@link WebSettings#setTextZoom(int)} and {@link WebSettings#getTextZoom()} instead. 6754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 6854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public enum TextSize { 6954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project SMALLEST(50), 7054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project SMALLER(75), 7154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project NORMAL(100), 7254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project LARGER(150), 7354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project LARGEST(200); 7454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project TextSize(int size) { 7554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project value = size; 7654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 7754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project int value; 7854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 790d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba 800d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba /** 810d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba * Enum for specifying the WebView's desired density. 820d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba * FAR makes 100% looking like in 240dpi 830d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba * MEDIUM makes 100% looking like in 160dpi 840d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba * CLOSE makes 100% looking like in 120dpi 850d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba */ 860d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba public enum ZoomDensity { 870d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba FAR(150), // 240dpi 880d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba MEDIUM(100), // 160dpi 890d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba CLOSE(75); // 120dpi 900d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba ZoomDensity(int size) { 910d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba value = size; 920d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba } 930d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba int value; 940d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba } 950d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba 9654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 9754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Default cache usage pattern Use with {@link #setCacheMode}. 9854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 9954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public static final int LOAD_DEFAULT = -1; 10054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 10154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 10254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Normal cache usage pattern Use with {@link #setCacheMode}. 10354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 10454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public static final int LOAD_NORMAL = 0; 10554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 10654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 10754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Use cache if content is there, even if expired (eg, history nav) 10854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * If it is not in the cache, load from network. 10954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Use with {@link #setCacheMode}. 11054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 11154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public static final int LOAD_CACHE_ELSE_NETWORK = 1; 11254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 11354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 11454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Don't use the cache, load from network 11554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Use with {@link #setCacheMode}. 11654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 11754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public static final int LOAD_NO_CACHE = 2; 118a172e7d0d96e4a4db5e2b408e8ee3e96948df9a4Michael Kolb 11954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 12054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Don't use the network, load from cache only. 12154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Use with {@link #setCacheMode}. 12254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 12354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public static final int LOAD_CACHE_ONLY = 3; 12454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 12554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public enum RenderPriority { 12654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project NORMAL, 12754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project HIGH, 12854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project LOW 12954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 13054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 131300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott /** 132300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * The plugin state effects how plugins are treated on a page. ON means 133300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * that any object will be loaded even if a plugin does not exist to handle 134300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * the content. ON_DEMAND means that if there is a plugin installed that 135300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * can handle the content, a placeholder is shown until the user clicks on 136300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * the placeholder. Once clicked, the plugin will be enabled on the page. 137300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * OFF means that all plugins will be turned off and any fallback content 138300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * will be used. 139300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott */ 140300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott public enum PluginState { 141300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott ON, 142300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott ON_DEMAND, 143300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott OFF 144300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott } 145300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott 1460e4cb9d89fe58b378d94c87f182aaaef9d6a6d60Shimeng (Simon) Wang /** 1473c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon * Hidden constructor to prevent clients from creating a new settings 1483c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon * instance or deriving the class. 1493c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon * @hide 1500e4cb9d89fe58b378d94c87f182aaaef9d6a6d60Shimeng (Simon) Wang */ 1513c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon protected WebSettings() { 15254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 153a172e7d0d96e4a4db5e2b408e8ee3e96948df9a4Michael Kolb 15454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 15554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Enables dumping the pages navigation cache to a text file. 156fc77165d446520716f18cdc14e30b39a6d8b9bacKristian Monsen * @deprecated This method is now obsolete. 15754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 158fc77165d446520716f18cdc14e30b39a6d8b9bacKristian Monsen @Deprecated 15954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public void setNavDump(boolean enabled) { 1603c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 16154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 16254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 16354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 16454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Returns true if dumping the navigation cache is enabled. 165fc77165d446520716f18cdc14e30b39a6d8b9bacKristian Monsen * @deprecated This method is now obsolete. 16654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 167fc77165d446520716f18cdc14e30b39a6d8b9bacKristian Monsen @Deprecated 16854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public boolean getNavDump() { 1693c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 17054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 17154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 17254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 173b533fb4eef92b62cc26c4d9a901689e8f079fb73Mikhail Naganov * Sets whether the WebView should support zooming using its on-screen zoom 174b533fb4eef92b62cc26c4d9a901689e8f079fb73Mikhail Naganov * controls and gestures. The particular zoom mechanisms that should be used 175b533fb4eef92b62cc26c4d9a901689e8f079fb73Mikhail Naganov * can be set with {@link #setBuiltInZoomControls}. This setting does not 176b533fb4eef92b62cc26c4d9a901689e8f079fb73Mikhail Naganov * affect zooming performed using the {@link WebView#zoomIn()} and 177b533fb4eef92b62cc26c4d9a901689e8f079fb73Mikhail Naganov * {@link WebView#zoomOut()} methods. 178b533fb4eef92b62cc26c4d9a901689e8f079fb73Mikhail Naganov * @param support Whether the WebView should support zoom. 17954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 18054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public void setSupportZoom(boolean support) { 1813c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 18254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 18354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 18454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 185b533fb4eef92b62cc26c4d9a901689e8f079fb73Mikhail Naganov * Returns true if the WebView supports zoom. The default is true. 186b533fb4eef92b62cc26c4d9a901689e8f079fb73Mikhail Naganov * @return True if the WebView supports zoom. 18754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 18854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public boolean supportZoom() { 1893c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 19054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 19154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 19254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 19306d268e3ad1129814829af5d3b84752d84c1acf2Steve Block * Sets whether the WebView should use its built-in zoom mechanisms. The 19406d268e3ad1129814829af5d3b84752d84c1acf2Steve Block * built-in zoom mechanisms comprise on-screen zoom controls, which are 19506d268e3ad1129814829af5d3b84752d84c1acf2Steve Block * displayed over the WebView's content, and the use of a pinch gesture to 19606d268e3ad1129814829af5d3b84752d84c1acf2Steve Block * control zooming. Whether or not these on-screen controls are displayed 19706d268e3ad1129814829af5d3b84752d84c1acf2Steve Block * can be set with {@link #setDisplayZoomControls}. 19806d268e3ad1129814829af5d3b84752d84c1acf2Steve Block * <p> 19906d268e3ad1129814829af5d3b84752d84c1acf2Steve Block * The built-in mechanisms are the only currently supported zoom 20006d268e3ad1129814829af5d3b84752d84c1acf2Steve Block * mechanisms, so it is recommended that this setting is always enabled. 20106d268e3ad1129814829af5d3b84752d84c1acf2Steve Block * @param enabled Whether the WebView should use its built-in zoom mechanisms. 20206d268e3ad1129814829af5d3b84752d84c1acf2Steve Block */ 20306d268e3ad1129814829af5d3b84752d84c1acf2Steve Block // This method was intended to select between the built-in zoom mechanisms 20406d268e3ad1129814829af5d3b84752d84c1acf2Steve Block // and the separate zoom controls. The latter were obtained using 20506d268e3ad1129814829af5d3b84752d84c1acf2Steve Block // {@link WebView#getZoomControls}, which is now hidden. 206105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project public void setBuiltInZoomControls(boolean enabled) { 2073c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 208105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project } 209a172e7d0d96e4a4db5e2b408e8ee3e96948df9a4Michael Kolb 210105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project /** 211b533fb4eef92b62cc26c4d9a901689e8f079fb73Mikhail Naganov * Returns true if the zoom mechanisms built into WebView are being used. 212b533fb4eef92b62cc26c4d9a901689e8f079fb73Mikhail Naganov * The default is false. 213b533fb4eef92b62cc26c4d9a901689e8f079fb73Mikhail Naganov * @return True if the zoom mechanisms built into WebView are being used. 214105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project */ 215105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project public boolean getBuiltInZoomControls() { 2163c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 217105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project } 218a172e7d0d96e4a4db5e2b408e8ee3e96948df9a4Michael Kolb 219105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project /** 220b533fb4eef92b62cc26c4d9a901689e8f079fb73Mikhail Naganov * Sets whether the WebView should display on-screen zoom controls when 221b533fb4eef92b62cc26c4d9a901689e8f079fb73Mikhail Naganov * using the built-in zoom mechanisms. See {@link #setBuiltInZoomControls}. 222b533fb4eef92b62cc26c4d9a901689e8f079fb73Mikhail Naganov * @param enabled Whether the WebView should display on-screen zoom controls. 2236fe3b421fdc5b109cbf9006f44c9f089224a817dMichael Kolb */ 2246fe3b421fdc5b109cbf9006f44c9f089224a817dMichael Kolb public void setDisplayZoomControls(boolean enabled) { 2253c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 2266fe3b421fdc5b109cbf9006f44c9f089224a817dMichael Kolb } 2276fe3b421fdc5b109cbf9006f44c9f089224a817dMichael Kolb 2286fe3b421fdc5b109cbf9006f44c9f089224a817dMichael Kolb /** 229b533fb4eef92b62cc26c4d9a901689e8f079fb73Mikhail Naganov * Returns true if the WebView displays on-screen zoom controls when using 230b533fb4eef92b62cc26c4d9a901689e8f079fb73Mikhail Naganov * the built-in zoom mechanisms. The default is true. 231b533fb4eef92b62cc26c4d9a901689e8f079fb73Mikhail Naganov * @return True if the WebView displays on-screen zoom controls when using 232b533fb4eef92b62cc26c4d9a901689e8f079fb73Mikhail Naganov * the built-in zoom mechanisms. 2336fe3b421fdc5b109cbf9006f44c9f089224a817dMichael Kolb */ 2346fe3b421fdc5b109cbf9006f44c9f089224a817dMichael Kolb public boolean getDisplayZoomControls() { 2353c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 2366fe3b421fdc5b109cbf9006f44c9f089224a817dMichael Kolb } 2376fe3b421fdc5b109cbf9006f44c9f089224a817dMichael Kolb 2386fe3b421fdc5b109cbf9006f44c9f089224a817dMichael Kolb /** 239f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project * Enable or disable file access within WebView. File access is enabled by 240d1737edc13864b2304763167720b27b68791e25aPatrick Scott * default. Note that this enables or disables file system access only. 241d1737edc13864b2304763167720b27b68791e25aPatrick Scott * Assets and resources are still accessible using file:///android_asset and 242d1737edc13864b2304763167720b27b68791e25aPatrick Scott * file:///android_res. 243f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project */ 244f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project public void setAllowFileAccess(boolean allow) { 2453c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 246f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project } 247f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project 248f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project /** 249f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project * Returns true if this WebView supports file access. 250f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project */ 251f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project public boolean getAllowFileAccess() { 2523c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 253f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project } 254f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project 255f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project /** 256d1737edc13864b2304763167720b27b68791e25aPatrick Scott * Enable or disable content url access within WebView. Content url access 257d1737edc13864b2304763167720b27b68791e25aPatrick Scott * allows WebView to load content from a content provider installed in the 258d1737edc13864b2304763167720b27b68791e25aPatrick Scott * system. The default is enabled. 259d1737edc13864b2304763167720b27b68791e25aPatrick Scott */ 260d1737edc13864b2304763167720b27b68791e25aPatrick Scott public void setAllowContentAccess(boolean allow) { 2613c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 262d1737edc13864b2304763167720b27b68791e25aPatrick Scott } 263d1737edc13864b2304763167720b27b68791e25aPatrick Scott 264d1737edc13864b2304763167720b27b68791e25aPatrick Scott /** 265d1737edc13864b2304763167720b27b68791e25aPatrick Scott * Returns true if this WebView supports content url access. 266d1737edc13864b2304763167720b27b68791e25aPatrick Scott */ 267d1737edc13864b2304763167720b27b68791e25aPatrick Scott public boolean getAllowContentAccess() { 2683c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 269d1737edc13864b2304763167720b27b68791e25aPatrick Scott } 270d1737edc13864b2304763167720b27b68791e25aPatrick Scott 271d1737edc13864b2304763167720b27b68791e25aPatrick Scott /** 272e397a88e4fd65ee7d346f63a43e6608dba943ee9Grace Kloba * Set whether the WebView loads a page with overview mode. 273e397a88e4fd65ee7d346f63a43e6608dba943ee9Grace Kloba */ 274e397a88e4fd65ee7d346f63a43e6608dba943ee9Grace Kloba public void setLoadWithOverviewMode(boolean overview) { 2753c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 276e397a88e4fd65ee7d346f63a43e6608dba943ee9Grace Kloba } 277e397a88e4fd65ee7d346f63a43e6608dba943ee9Grace Kloba 278e397a88e4fd65ee7d346f63a43e6608dba943ee9Grace Kloba /** 279e397a88e4fd65ee7d346f63a43e6608dba943ee9Grace Kloba * Returns true if this WebView loads page with overview mode 280e397a88e4fd65ee7d346f63a43e6608dba943ee9Grace Kloba */ 281e397a88e4fd65ee7d346f63a43e6608dba943ee9Grace Kloba public boolean getLoadWithOverviewMode() { 2823c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 283e397a88e4fd65ee7d346f63a43e6608dba943ee9Grace Kloba } 284e397a88e4fd65ee7d346f63a43e6608dba943ee9Grace Kloba 285e397a88e4fd65ee7d346f63a43e6608dba943ee9Grace Kloba /** 286f9b731d383790e0dfd407525efcd72bba4ee4895Grace Kloba * Set whether the WebView will enable smooth transition while panning or 287e00e8a78374cdcf01a25bd6327d2b94944b2bc3fAdam Powell * zooming or while the window hosting the WebView does not have focus. 288e00e8a78374cdcf01a25bd6327d2b94944b2bc3fAdam Powell * If it is true, WebView will choose a solution to maximize the performance. 289e00e8a78374cdcf01a25bd6327d2b94944b2bc3fAdam Powell * e.g. the WebView's content may not be updated during the transition. 290e00e8a78374cdcf01a25bd6327d2b94944b2bc3fAdam Powell * If it is false, WebView will keep its fidelity. The default value is false. 291f9b731d383790e0dfd407525efcd72bba4ee4895Grace Kloba */ 292f9b731d383790e0dfd407525efcd72bba4ee4895Grace Kloba public void setEnableSmoothTransition(boolean enable) { 2933c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 294f9b731d383790e0dfd407525efcd72bba4ee4895Grace Kloba } 295f9b731d383790e0dfd407525efcd72bba4ee4895Grace Kloba /** 296f9b731d383790e0dfd407525efcd72bba4ee4895Grace Kloba * Returns true if the WebView enables smooth transition while panning or 297f9b731d383790e0dfd407525efcd72bba4ee4895Grace Kloba * zooming. 298f9b731d383790e0dfd407525efcd72bba4ee4895Grace Kloba */ 299f9b731d383790e0dfd407525efcd72bba4ee4895Grace Kloba public boolean enableSmoothTransition() { 3003c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 301f9b731d383790e0dfd407525efcd72bba4ee4895Grace Kloba } 302f9b731d383790e0dfd407525efcd72bba4ee4895Grace Kloba 303f9b731d383790e0dfd407525efcd72bba4ee4895Grace Kloba /** 304637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell * Set whether the WebView uses its background for over scroll background. 305637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell * If true, it will use the WebView's background. If false, it will use an 306637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell * internal pattern. Default is true. 307fc77165d446520716f18cdc14e30b39a6d8b9bacKristian Monsen * @deprecated This method is now obsolete. 308637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell */ 309fc77165d446520716f18cdc14e30b39a6d8b9bacKristian Monsen @Deprecated 310637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell public void setUseWebViewBackgroundForOverscrollBackground(boolean view) { 3113c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 312637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell } 313637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell 314637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell /** 315637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell * Returns true if this WebView uses WebView's background instead of 316637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell * internal pattern for over scroll background. 317fc77165d446520716f18cdc14e30b39a6d8b9bacKristian Monsen * @deprecated This method is now obsolete. 318637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell */ 319fc77165d446520716f18cdc14e30b39a6d8b9bacKristian Monsen @Deprecated 320637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell public boolean getUseWebViewBackgroundForOverscrollBackground() { 3213c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 322637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell } 323637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell 324637d337b58d8eec6de19230a5dd5ca5581c0478dAdam Powell /** 32554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Store whether the WebView is saving form data. 32654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 32754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public void setSaveFormData(boolean save) { 3283c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 32954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 33054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 33154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 332aa6b9f55d60702211dd2d08403c7296347f0bd7dLeon Scroggins * Return whether the WebView is saving form data and displaying prior 333aa6b9f55d60702211dd2d08403c7296347f0bd7dLeon Scroggins * entries/autofill++. Always false in private browsing mode. 33454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 33554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public boolean getSaveFormData() { 3363c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 33754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 33854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 33954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 34054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Store whether the WebView is saving password. 34154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 34254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public void setSavePassword(boolean save) { 3433c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 34454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 34554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 34654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 34754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Return whether the WebView is saving password. 34854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 34954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public boolean getSavePassword() { 3503c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 35154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 35254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 35354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 354ff56bcde857c1ea15a9d4bc7fc10653c409b89bdJohn Reck * Set the text zoom of the page in percent. Default is 100. 355ff56bcde857c1ea15a9d4bc7fc10653c409b89bdJohn Reck * @param textZoom A percent value for increasing or decreasing the text. 356ff56bcde857c1ea15a9d4bc7fc10653c409b89bdJohn Reck */ 357ff56bcde857c1ea15a9d4bc7fc10653c409b89bdJohn Reck public synchronized void setTextZoom(int textZoom) { 3583c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 359ff56bcde857c1ea15a9d4bc7fc10653c409b89bdJohn Reck } 360ff56bcde857c1ea15a9d4bc7fc10653c409b89bdJohn Reck 361ff56bcde857c1ea15a9d4bc7fc10653c409b89bdJohn Reck /** 362ff56bcde857c1ea15a9d4bc7fc10653c409b89bdJohn Reck * Get the text zoom of the page in percent. 363ff56bcde857c1ea15a9d4bc7fc10653c409b89bdJohn Reck * @return A percent value describing the text zoom. 364ff56bcde857c1ea15a9d4bc7fc10653c409b89bdJohn Reck * @see setTextSizeZoom 365ff56bcde857c1ea15a9d4bc7fc10653c409b89bdJohn Reck */ 366ff56bcde857c1ea15a9d4bc7fc10653c409b89bdJohn Reck public synchronized int getTextZoom() { 3673c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 368ff56bcde857c1ea15a9d4bc7fc10653c409b89bdJohn Reck } 369ff56bcde857c1ea15a9d4bc7fc10653c409b89bdJohn Reck 370ff56bcde857c1ea15a9d4bc7fc10653c409b89bdJohn Reck /** 37154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Set the text size of the page. 37254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @param t A TextSize value for increasing or decreasing the text. 37354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @see WebSettings.TextSize 374caeb120170477f52516cd9d12469c582e7dec8feJohn Reck * @deprecated Use {@link #setTextZoom(int)} instead 37554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 37654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setTextSize(TextSize t) { 3773c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 37854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 37954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 38054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 381caeb120170477f52516cd9d12469c582e7dec8feJohn Reck * Get the text size of the page. If the text size was previously specified 382caeb120170477f52516cd9d12469c582e7dec8feJohn Reck * in percent using {@link #setTextZoom(int)}, this will return 383caeb120170477f52516cd9d12469c582e7dec8feJohn Reck * the closest matching {@link TextSize}. 38454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @return A TextSize enum value describing the text size. 38554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @see WebSettings.TextSize 386caeb120170477f52516cd9d12469c582e7dec8feJohn Reck * @deprecated Use {@link #getTextZoom()} instead 38754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 38854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized TextSize getTextSize() { 3893c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 390edb528ef52fd9b0148d559c5e596cf9bb9a6d2f9Mangesh Ghiware } 391edb528ef52fd9b0148d559c5e596cf9bb9a6d2f9Mangesh Ghiware 392edb528ef52fd9b0148d559c5e596cf9bb9a6d2f9Mangesh Ghiware /** 3930d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba * Set the default zoom density of the page. This should be called from UI 3940d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba * thread. 3950d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba * @param zoom A ZoomDensity value 3960d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba * @see WebSettings.ZoomDensity 3970d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba */ 3980d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba public void setDefaultZoom(ZoomDensity zoom) { 3993c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 4000d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba } 4010d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba 4020d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba /** 4030d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba * Get the default zoom density of the page. This should be called from UI 4040d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba * thread. 4050d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba * @return A ZoomDensity value 4060d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba * @see WebSettings.ZoomDensity 4070d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba */ 4080d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba public ZoomDensity getDefaultZoom() { 4093c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 4100d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba } 4110d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba 4120d8b77c2453d0e597f94e39212e4bfeed8affffaGrace Kloba /** 41354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Enables using light touches to make a selection and activate mouseovers. 41454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 41554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public void setLightTouchEnabled(boolean enabled) { 4163c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 41754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 41854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 41954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 42054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Returns true if light touches are enabled. 42154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 42254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public boolean getLightTouchEnabled() { 4233c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 42454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 42554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 42654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 427adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn * @deprecated This setting controlled a rendering optimization 428adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn * that is no longer present. Setting it now has no effect. 42954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 430adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn @Deprecated 43154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setUseDoubleTree(boolean use) { 4323c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon // Specified to do nothing, so no need for derived classes to override. 43354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 43454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 43554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 436adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn * @deprecated This setting controlled a rendering optimization 437adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn * that is no longer present. Setting it now has no effect. 43854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 439adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn @Deprecated 44054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized boolean getUseDoubleTree() { 4413c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon // Returns false unconditionally, so no need for derived classes to override. 442adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn return false; 44354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 44454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 44554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 44654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Tell the WebView about user-agent string. 44754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @param ua 0 if the WebView should use an Android user-agent string, 44854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * 1 if the WebView should use a desktop user-agent string. 449f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project * 450f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project * @deprecated Please use setUserAgentString instead. 45154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 452f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project @Deprecated 45354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setUserAgent(int ua) { 4543c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 45554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 45654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 45754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 45854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Return user-agent as int 45954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @return int 0 if the WebView is using an Android user-agent string. 46054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * 1 if the WebView is using a desktop user-agent string. 461f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project * -1 if the WebView is using user defined user-agent string. 462f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project * 463f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project * @deprecated Please use getUserAgentString instead. 46454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 465f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project @Deprecated 46654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized int getUserAgent() { 4673c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 46854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 46954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 47054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 47154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Tell the WebView to use the wide viewport 47254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 47354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setUseWideViewPort(boolean use) { 4743c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 47554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 47654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 47754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 47854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @return True if the WebView is using a wide viewport 47954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 48054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized boolean getUseWideViewPort() { 4813c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 48254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 48354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 48454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 48554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Tell the WebView whether it supports multiple windows. TRUE means 48654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * that {@link WebChromeClient#onCreateWindow(WebView, boolean, 48754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * boolean, Message)} is implemented by the host application. 48854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 48954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setSupportMultipleWindows(boolean support) { 4903c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 49154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 49254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 49354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 49454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @return True if the WebView is supporting multiple windows. This means 49554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * that {@link WebChromeClient#onCreateWindow(WebView, boolean, 49654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * boolean, Message)} is implemented by the host application. 49754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 49854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized boolean supportMultipleWindows() { 4993c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 50054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 50154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 50254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 50354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Set the underlying layout algorithm. This will cause a relayout of the 50454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * WebView. 50554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @param l A LayoutAlgorithm enum specifying the algorithm to use. 50654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @see WebSettings.LayoutAlgorithm 50754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 50854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setLayoutAlgorithm(LayoutAlgorithm l) { 5093c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 51054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 51154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 51254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 513adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn * Return the current layout algorithm. The default is NARROW_COLUMNS. 51454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @return LayoutAlgorithm enum value describing the layout algorithm 51554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * being used. 51654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @see WebSettings.LayoutAlgorithm 51754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 51854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized LayoutAlgorithm getLayoutAlgorithm() { 5193c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 52054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 52154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 52254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 52354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Set the standard font family name. 52454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @param font A font family name. 52554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 52654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setStandardFontFamily(String font) { 5273c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 52854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 52954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 53054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 531adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn * Get the standard font family name. The default is "sans-serif". 53254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @return The standard font family name as a string. 53354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 53454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized String getStandardFontFamily() { 5353c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 53654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 53754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 53854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 53954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Set the fixed font family name. 54054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @param font A font family name. 54154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 54254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setFixedFontFamily(String font) { 5433c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 54454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 54554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 54654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 547adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn * Get the fixed font family name. The default is "monospace". 54854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @return The fixed font family name as a string. 54954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 55054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized String getFixedFontFamily() { 5513c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 55254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 55354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 55454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 55554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Set the sans-serif font family name. 55654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @param font A font family name. 55754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 55854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setSansSerifFontFamily(String font) { 5593c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 56054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 56154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 56254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 56354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Get the sans-serif font family name. 56454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @return The sans-serif font family name as a string. 56554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 56654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized String getSansSerifFontFamily() { 5673c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 56854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 56954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 57054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 571adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn * Set the serif font family name. The default is "sans-serif". 57254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @param font A font family name. 57354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 57454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setSerifFontFamily(String font) { 5753c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 57654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 57754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 57854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 579adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn * Get the serif font family name. The default is "serif". 58054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @return The serif font family name as a string. 58154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 58254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized String getSerifFontFamily() { 5833c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 58454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 58554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 58654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 58754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Set the cursive font family name. 58854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @param font A font family name. 58954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 59054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setCursiveFontFamily(String font) { 5913c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 59254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 59354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 59454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 595adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn * Get the cursive font family name. The default is "cursive". 59654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @return The cursive font family name as a string. 59754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 59854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized String getCursiveFontFamily() { 5993c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 60054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 60154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 60254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 60354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Set the fantasy font family name. 60454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @param font A font family name. 60554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 60654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setFantasyFontFamily(String font) { 6073c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 60854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 60954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 61054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 611adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn * Get the fantasy font family name. The default is "fantasy". 61254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @return The fantasy font family name as a string. 61354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 61454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized String getFantasyFontFamily() { 6153c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 61654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 61754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 61854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 61954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Set the minimum font size. 62054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @param size A non-negative integer between 1 and 72. 62154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Any number outside the specified range will be pinned. 62254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 62354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setMinimumFontSize(int size) { 6243c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 62554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 62654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 62754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 628adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn * Get the minimum font size. The default is 8. 62954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @return A non-negative integer between 1 and 72. 63054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 63154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized int getMinimumFontSize() { 6323c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 63354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 63454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 63554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 63654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Set the minimum logical font size. 63754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @param size A non-negative integer between 1 and 72. 63854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Any number outside the specified range will be pinned. 63954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 64054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setMinimumLogicalFontSize(int size) { 6413c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 64254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 64354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 64454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 645adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn * Get the minimum logical font size. The default is 8. 64654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @return A non-negative integer between 1 and 72. 64754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 64854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized int getMinimumLogicalFontSize() { 6493c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 65054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 65154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 65254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 65354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Set the default font size. 65454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @param size A non-negative integer between 1 and 72. 65554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Any number outside the specified range will be pinned. 65654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 65754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setDefaultFontSize(int size) { 6583c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 65954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 66054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 66154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 662adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn * Get the default font size. The default is 16. 66354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @return A non-negative integer between 1 and 72. 66454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 66554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized int getDefaultFontSize() { 6663c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 66754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 66854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 66954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 67054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Set the default fixed font size. 67154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @param size A non-negative integer between 1 and 72. 67254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Any number outside the specified range will be pinned. 67354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 67454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setDefaultFixedFontSize(int size) { 6753c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 67654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 67754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 67854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 679adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn * Get the default fixed font size. The default is 16. 68054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @return A non-negative integer between 1 and 72. 68154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 68254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized int getDefaultFixedFontSize() { 6833c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 684097b1e777a2a29eef3938338cb0c355203bf1448Grace Kloba } 685097b1e777a2a29eef3938338cb0c355203bf1448Grace Kloba 686097b1e777a2a29eef3938338cb0c355203bf1448Grace Kloba /** 687605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * Sets whether the WebView should load image resources. Note that this method 688605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * controls loading of all images, including those embedded using the data 689605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * URI scheme. Use {@link #setBlockNetworkImage} to control loading only 690605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * of images specified using network URI schemes. Note that if the value of this 691605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * setting is changed from false to true, all images resources referenced 692605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * by content currently displayed by the WebView are loaded automatically. 693605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * @param flag Whether the WebView should load image resources. 69454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 69554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setLoadsImagesAutomatically(boolean flag) { 6963c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 69754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 69854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 69954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 700605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * Returns true if the WebView loads image resources. This includes 701605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * images embedded using the data URI scheme. The default is true. 702605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * @return True if the WebView loads image resources. 70354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 70454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized boolean getLoadsImagesAutomatically() { 7053c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 70654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 70754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 70854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 709605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * Sets whether the WebView should not load image resources from the 710605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * network (resources accessed via http and https URI schemes). Note 711605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * that this method has no effect unless 712605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * {@link #getLoadsImagesAutomatically} returns true. Also note that 713605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * disabling all network loads using {@link #setBlockNetworkLoads} 714605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * will also prevent network images from loading, even if this flag is set 715605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * to false. When the value of this setting is changed from true to false, 716605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * network images resources referenced by content currently displayed by 717605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * the WebView are fetched automatically. 718605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * @param flag Whether the WebView should not load image resources from 719605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * the network. 720f43113f6216efacc3957fc48d9fa1c0326faccebPatrick Scott * @see #setBlockNetworkLoads 72154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 72254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setBlockNetworkImage(boolean flag) { 7233c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 72454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 72554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 72654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 727605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * Returns true if the WebView does not load image resources from the network. 728605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * The default is false. 729605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * @return True if the WebView does not load image resources from the network. 73054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 73154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized boolean getBlockNetworkImage() { 7323c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 73354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 734adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn 735f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project /** 736605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * Sets whether the WebView should not load resources from the network. 737605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * Use {@link #setBlockNetworkImage} to only avoid loading 738605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * image resources. Note that if the value of this setting is 739605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * changed from true to false, network resources referenced by content 740605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * currently displayed by the WebView are not fetched until 741605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * {@link android.webkit.WebView#reload} is called. 742605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * If the application does not have the 743605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * {@link android.Manifest.permission#INTERNET} permission, attempts to set 744605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * a value of false will cause a {@link java.lang.SecurityException} 745605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * to be thrown. 746605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * @param flag Whether the WebView should not load any resources 747605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * from the network. 748f43113f6216efacc3957fc48d9fa1c0326faccebPatrick Scott * @see android.webkit.WebView#reload 749f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project */ 750f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project public synchronized void setBlockNetworkLoads(boolean flag) { 7513c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 752f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project } 753f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project 754f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project /** 755605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * Returns true if the WebView does not load any resources from the network. 756605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * The default value is false if the application has the 757605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * {@link android.Manifest.permission#INTERNET} permission, otherwise it is 758605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * true. 759605a491c281da79aa1e2aa740f38ab5c0bdb138eMikhail Naganov * @return True if the WebView does not load any resources from the network. 760f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project */ 761f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project public synchronized boolean getBlockNetworkLoads() { 7623c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 763f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project } 76454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 76554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 76654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Tell the WebView to enable javascript execution. 76754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @param flag True if the WebView should execute javascript. 76854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 76954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setJavaScriptEnabled(boolean flag) { 7703c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 771da7378e86e6d6e7522dfd1e83091545fa93aa84dTeng-Hui Zhu } 772da7378e86e6d6e7522dfd1e83091545fa93aa84dTeng-Hui Zhu 773da7378e86e6d6e7522dfd1e83091545fa93aa84dTeng-Hui Zhu /** 77454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Tell the WebView to enable plugins. 77554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @param flag True if the WebView should load plugins. 776300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * @deprecated This method has been deprecated in favor of 777300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * {@link #setPluginState} 77854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 779a172e7d0d96e4a4db5e2b408e8ee3e96948df9a4Michael Kolb @Deprecated 78054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setPluginsEnabled(boolean flag) { 7813c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 782300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott } 783300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott 784300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott /** 785300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * Tell the WebView to enable, disable, or have plugins on demand. On 786300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * demand mode means that if a plugin exists that can handle the embedded 787300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * content, a placeholder icon will be shown instead of the plugin. When 788300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * the placeholder is clicked, the plugin will be enabled. 789300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * @param state One of the PluginState values. 790300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott */ 791300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott public synchronized void setPluginState(PluginState state) { 7923c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 79354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 79454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 79554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 796fdbdeb3137a6b47527d1d714afbb7e1b19b474ecDerek Sollenberger * Set a custom path to plugins used by the WebView. This method is 797fdbdeb3137a6b47527d1d714afbb7e1b19b474ecDerek Sollenberger * obsolete since each plugin is now loaded from its own package. 798fdbdeb3137a6b47527d1d714afbb7e1b19b474ecDerek Sollenberger * @param pluginsPath String path to the directory containing plugins. 799fdbdeb3137a6b47527d1d714afbb7e1b19b474ecDerek Sollenberger * @deprecated This method is no longer used as plugins are loaded from 800fdbdeb3137a6b47527d1d714afbb7e1b19b474ecDerek Sollenberger * their own APK via the system's package manager. 80154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 8029dc2e75e2720a8d0a5d7b87be53300eac021a3f3Jason Chen @Deprecated 80354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setPluginsPath(String pluginsPath) { 8043c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon // Specified to do nothing, so no need for derived classes to override. 80554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 80654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 80754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 8087df1985e86635af006be3dfa65987d60e290b5deBen Murdoch * Set the path to where database storage API databases should be saved. 80918773afa64d407ebdd4bfc7bc151497d4447884dBen Murdoch * Nota that the WebCore Database Tracker only allows the path to be set once. 8107df1985e86635af006be3dfa65987d60e290b5deBen Murdoch * This will update WebCore when the Sync runs in the C++ side. 8117df1985e86635af006be3dfa65987d60e290b5deBen Murdoch * @param databasePath String path to the directory where databases should 8127df1985e86635af006be3dfa65987d60e290b5deBen Murdoch * be saved. May be the empty string but should never be null. 8137df1985e86635af006be3dfa65987d60e290b5deBen Murdoch */ 8147df1985e86635af006be3dfa65987d60e290b5deBen Murdoch public synchronized void setDatabasePath(String databasePath) { 8153c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 8167df1985e86635af006be3dfa65987d60e290b5deBen Murdoch } 8177df1985e86635af006be3dfa65987d60e290b5deBen Murdoch 8187df1985e86635af006be3dfa65987d60e290b5deBen Murdoch /** 8199d3273f62288fa54536a3928383588398ca2d029Steve Block * Set the path where the Geolocation permissions database should be saved. 8209d3273f62288fa54536a3928383588398ca2d029Steve Block * This will update WebCore when the Sync runs in the C++ side. 8219d3273f62288fa54536a3928383588398ca2d029Steve Block * @param databasePath String path to the directory where the Geolocation 8229d3273f62288fa54536a3928383588398ca2d029Steve Block * permissions database should be saved. May be the empty string but 8239d3273f62288fa54536a3928383588398ca2d029Steve Block * should never be null. 8249d3273f62288fa54536a3928383588398ca2d029Steve Block */ 8259d3273f62288fa54536a3928383588398ca2d029Steve Block public synchronized void setGeolocationDatabasePath(String databasePath) { 8263c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 8279d3273f62288fa54536a3928383588398ca2d029Steve Block } 8289d3273f62288fa54536a3928383588398ca2d029Steve Block 8299d3273f62288fa54536a3928383588398ca2d029Steve Block /** 8303c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon * Tell the WebView to enable Application Caches API. 8313c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon * @param flag True if the WebView should enable Application Caches. 83260a9a7d05577a65c8904fcb5f32b6a7a10886a13Andrei Popescu */ 83360a9a7d05577a65c8904fcb5f32b6a7a10886a13Andrei Popescu public synchronized void setAppCacheEnabled(boolean flag) { 8343c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 83560a9a7d05577a65c8904fcb5f32b6a7a10886a13Andrei Popescu } 83660a9a7d05577a65c8904fcb5f32b6a7a10886a13Andrei Popescu 83760a9a7d05577a65c8904fcb5f32b6a7a10886a13Andrei Popescu /** 8383c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon * Set a custom path to the Application Caches files. The client 8393c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon * must ensure it exists before this call. 8403c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon * @param appCachePath String path to the directory containing Application 8413c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon * Caches files. The appCache path can be the empty string but should not 8423c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon * be null. Passing null for this parameter will result in a no-op. 84360a9a7d05577a65c8904fcb5f32b6a7a10886a13Andrei Popescu */ 8443c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon public synchronized void setAppCachePath(String appCachePath) { 8453c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 84660a9a7d05577a65c8904fcb5f32b6a7a10886a13Andrei Popescu } 84760a9a7d05577a65c8904fcb5f32b6a7a10886a13Andrei Popescu 84860a9a7d05577a65c8904fcb5f32b6a7a10886a13Andrei Popescu /** 8491c829208eadf175ad4600e70a14013b50a20adfeAndrei Popescu * Set the maximum size for the Application Caches content. 8501c829208eadf175ad4600e70a14013b50a20adfeAndrei Popescu * @param appCacheMaxSize the maximum size in bytes. 8511c829208eadf175ad4600e70a14013b50a20adfeAndrei Popescu */ 8521c829208eadf175ad4600e70a14013b50a20adfeAndrei Popescu public synchronized void setAppCacheMaxSize(long appCacheMaxSize) { 8533c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 8541c829208eadf175ad4600e70a14013b50a20adfeAndrei Popescu } 8551c829208eadf175ad4600e70a14013b50a20adfeAndrei Popescu 8561c829208eadf175ad4600e70a14013b50a20adfeAndrei Popescu /** 8577df1985e86635af006be3dfa65987d60e290b5deBen Murdoch * Set whether the database storage API is enabled. 8587df1985e86635af006be3dfa65987d60e290b5deBen Murdoch * @param flag boolean True if the WebView should use the database storage 8597df1985e86635af006be3dfa65987d60e290b5deBen Murdoch * API. 8607df1985e86635af006be3dfa65987d60e290b5deBen Murdoch */ 8617df1985e86635af006be3dfa65987d60e290b5deBen Murdoch public synchronized void setDatabaseEnabled(boolean flag) { 8623c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 8637df1985e86635af006be3dfa65987d60e290b5deBen Murdoch } 8647df1985e86635af006be3dfa65987d60e290b5deBen Murdoch 8657df1985e86635af006be3dfa65987d60e290b5deBen Murdoch /** 866274680d9b8fce08f31c23dda796ecec937c942deBen Murdoch * Set whether the DOM storage API is enabled. 867274680d9b8fce08f31c23dda796ecec937c942deBen Murdoch * @param flag boolean True if the WebView should use the DOM storage 868274680d9b8fce08f31c23dda796ecec937c942deBen Murdoch * API. 869274680d9b8fce08f31c23dda796ecec937c942deBen Murdoch */ 870274680d9b8fce08f31c23dda796ecec937c942deBen Murdoch public synchronized void setDomStorageEnabled(boolean flag) { 8713c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 872274680d9b8fce08f31c23dda796ecec937c942deBen Murdoch } 873274680d9b8fce08f31c23dda796ecec937c942deBen Murdoch 874274680d9b8fce08f31c23dda796ecec937c942deBen Murdoch /** 875274680d9b8fce08f31c23dda796ecec937c942deBen Murdoch * Returns true if the DOM Storage API's are enabled. 876274680d9b8fce08f31c23dda796ecec937c942deBen Murdoch * @return True if the DOM Storage API's are enabled. 877274680d9b8fce08f31c23dda796ecec937c942deBen Murdoch */ 878274680d9b8fce08f31c23dda796ecec937c942deBen Murdoch public synchronized boolean getDomStorageEnabled() { 8793c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 880274680d9b8fce08f31c23dda796ecec937c942deBen Murdoch } 881274680d9b8fce08f31c23dda796ecec937c942deBen Murdoch /** 8827df1985e86635af006be3dfa65987d60e290b5deBen Murdoch * Return the path to where database storage API databases are saved for 8837df1985e86635af006be3dfa65987d60e290b5deBen Murdoch * the current WebView. 8847df1985e86635af006be3dfa65987d60e290b5deBen Murdoch * @return the String path to the database storage API databases. 8857df1985e86635af006be3dfa65987d60e290b5deBen Murdoch */ 8867df1985e86635af006be3dfa65987d60e290b5deBen Murdoch public synchronized String getDatabasePath() { 8873c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 8887df1985e86635af006be3dfa65987d60e290b5deBen Murdoch } 8897df1985e86635af006be3dfa65987d60e290b5deBen Murdoch 8907df1985e86635af006be3dfa65987d60e290b5deBen Murdoch /** 8917df1985e86635af006be3dfa65987d60e290b5deBen Murdoch * Returns true if database storage API is enabled. 8927df1985e86635af006be3dfa65987d60e290b5deBen Murdoch * @return True if the database storage API is enabled. 8937df1985e86635af006be3dfa65987d60e290b5deBen Murdoch */ 8947df1985e86635af006be3dfa65987d60e290b5deBen Murdoch public synchronized boolean getDatabaseEnabled() { 8953c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 896c27a9acb3b7ec4d1845b623cc167e0b62b1d0585Andrei Popescu } 897c27a9acb3b7ec4d1845b623cc167e0b62b1d0585Andrei Popescu 898c27a9acb3b7ec4d1845b623cc167e0b62b1d0585Andrei Popescu /** 89906cd751b052e65c359b16cce0570b6fab305eb89Steve Block * Sets whether Geolocation is enabled. 90006cd751b052e65c359b16cce0570b6fab305eb89Steve Block * @param flag Whether Geolocation should be enabled. 90106cd751b052e65c359b16cce0570b6fab305eb89Steve Block */ 90206cd751b052e65c359b16cce0570b6fab305eb89Steve Block public synchronized void setGeolocationEnabled(boolean flag) { 9033c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 9045dc0c8253b368239a90d7176ff6325ae5ba371b3Elliott Slaughter } 9055dc0c8253b368239a90d7176ff6325ae5ba371b3Elliott Slaughter 9065dc0c8253b368239a90d7176ff6325ae5ba371b3Elliott Slaughter /** 907adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn * Return true if javascript is enabled. <b>Note: The default is false.</b> 90854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @return True if javascript is enabled. 90954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 91054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized boolean getJavaScriptEnabled() { 9113c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 91254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 91354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 91454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 91554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Return true if plugins are enabled. 91654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @return True if plugins are enabled. 917300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * @deprecated This method has been replaced by {@link #getPluginState} 91854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 919a172e7d0d96e4a4db5e2b408e8ee3e96948df9a4Michael Kolb @Deprecated 92054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized boolean getPluginsEnabled() { 9213c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 922300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott } 923300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott 924300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott /** 925300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * Return the current plugin state. 926300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott * @return A value corresponding to the enum PluginState. 927300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott */ 928300f2e95a4cecebb80c2c55418745df5c0c2fb6cPatrick Scott public synchronized PluginState getPluginState() { 9293c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 93054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 93154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 93254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 933fdbdeb3137a6b47527d1d714afbb7e1b19b474ecDerek Sollenberger * Returns the directory that contains the plugin libraries. This method is 934fdbdeb3137a6b47527d1d714afbb7e1b19b474ecDerek Sollenberger * obsolete since each plugin is now loaded from its own package. 935fdbdeb3137a6b47527d1d714afbb7e1b19b474ecDerek Sollenberger * @return An empty string. 936fdbdeb3137a6b47527d1d714afbb7e1b19b474ecDerek Sollenberger * @deprecated This method is no longer used as plugins are loaded from 937fdbdeb3137a6b47527d1d714afbb7e1b19b474ecDerek Sollenberger * their own APK via the system's package manager. 93854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 9399dc2e75e2720a8d0a5d7b87be53300eac021a3f3Jason Chen @Deprecated 94054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized String getPluginsPath() { 9413c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon // Unconditionally returns empty string, so no need for derived classes to override. 942658ab7d787f64987d7c45aae08e5a12a073afe78Grace Kloba return ""; 94354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 94454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 94554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 94654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Tell javascript to open windows automatically. This applies to the 94754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * javascript function window.open(). 94854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @param flag True if javascript can open windows automatically. 94954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 9503c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon public synchronized void setJavaScriptCanOpenWindowsAutomatically(boolean flag) { 9513c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 95254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 95354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 95454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 955adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn * Return true if javascript can open windows automatically. The default 956adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn * is false. 95754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @return True if javascript can open windows automatically during 95854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * window.open(). 95954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 96054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized boolean getJavaScriptCanOpenWindowsAutomatically() { 9613c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 96254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 96354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 96454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Set the default text encoding name to use when decoding html pages. 96554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @param encoding The text encoding name. 96654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 96754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setDefaultTextEncodingName(String encoding) { 9683c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 96954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 97054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 97154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 972adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn * Get the default text encoding name. The default is "Latin-1". 97354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @return The default text encoding name as a string. 97454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 97554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized String getDefaultTextEncodingName() { 9763c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 97754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 97854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 979f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project /** 980f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project * Set the WebView's user-agent string. If the string "ua" is null or empty, 981f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project * it will use the system default user-agent string. 982f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project */ 983f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project public synchronized void setUserAgentString(String ua) { 9843c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 985f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project } 986f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project 987f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project /** 988f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project * Return the WebView's user-agent string. 989f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project */ 990f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project public synchronized String getUserAgentString() { 9913c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 992c55886aee84034f7fcf4431fdbeeaff1a9eafbd9Shimeng (Simon) Wang } 993c55886aee84034f7fcf4431fdbeeaff1a9eafbd9Shimeng (Simon) Wang 99454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 99554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Tell the WebView whether it needs to set a node to have focus when 99654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * {@link WebView#requestFocus(int, android.graphics.Rect)} is called. 997a172e7d0d96e4a4db5e2b408e8ee3e96948df9a4Michael Kolb * 99854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @param flag 99954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 100054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public void setNeedInitialFocus(boolean flag) { 10013c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 100254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 100354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 100454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 100554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Set the priority of the Render thread. Unlike the other settings, this 1006adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn * one only needs to be called once per process. The default is NORMAL. 1007adcd2ed8d24deddee528e96260d0ed673eeb261cMike Hearn * 100854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @param priority RenderPriority, can be normal, high or low. 100954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 101054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public synchronized void setRenderPriority(RenderPriority priority) { 10113c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 101254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 1013a172e7d0d96e4a4db5e2b408e8ee3e96948df9a4Michael Kolb 101454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 101554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Override the way the cache is used. The way the cache is used is based 101654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * on the navigation option. For a normal page load, the cache is checked 101754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * and content is re-validated as needed. When navigating back, content is 101854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * not revalidated, instead the content is just pulled from the cache. 101954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * This function allows the client to override this behavior. 102054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * @param mode One of the LOAD_ values. 102154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 102254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public void setCacheMode(int mode) { 10233c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 102454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 1025a172e7d0d96e4a4db5e2b408e8ee3e96948df9a4Michael Kolb 102654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project /** 102754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Return the current setting for overriding the cache mode. For a full 102854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * description, see the {@link #setCacheMode(int)} function. 102954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */ 103054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project public int getCacheMode() { 10313c90952036a5ff7ddb2946c643f1a0bf1c31d53aJonathan Dixon throw new MustOverrideException(); 103254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 103354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project} 1034