p0){}
+ public void setStatusCodeAndReasonPhrase(int p0, String p1){}
+}
diff --git a/java/ql/test/stubs/google-android-9.0.0/android/webkit/WebSettings.java b/java/ql/test/stubs/google-android-9.0.0/android/webkit/WebSettings.java
index 33c9a1b8a571..60d01fe2b972 100644
--- a/java/ql/test/stubs/google-android-9.0.0/android/webkit/WebSettings.java
+++ b/java/ql/test/stubs/google-android-9.0.0/android/webkit/WebSettings.java
@@ -1,1379 +1,150 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+// Generated automatically from android.webkit.WebSettings for testing purposes
+
package android.webkit;
-import java.net.CookieManager;
import android.content.Context;
-/**
- * Manages settings state for a WebView. When a WebView is first created, it
- * obtains a set of default settings. These default settings will be returned
- * from any getter call. A {@code WebSettings} object obtained from
- * {@link WebView#getSettings()} is tied to the life of the WebView. If a
- * WebView has been destroyed, any method call on {@code WebSettings} will throw
- * an {@link IllegalStateException}.
- */
-// This is an abstract base class: concrete WebViewProviders must
-// create a class derived from this, and return an instance of it in the
-// WebViewProvider.getWebSettingsProvider() method implementation.
-public abstract class WebSettings {
- /**
- * Enum for controlling the layout of html.
- *
- * - {@code NORMAL} means no rendering changes. This is the recommended choice
- * for maximum compatibility across different platforms and Android
- * versions.
- * - {@code SINGLE_COLUMN} moves all content into one column that is the width
- * of the view.
- * - {@code NARROW_COLUMNS} makes all columns no wider than the screen if
- * possible. Only use this for API levels prior to
- * {@link android.os.Build.VERSION_CODES#KITKAT}.
- * - {@code TEXT_AUTOSIZING} boosts font size of paragraphs based on
- * heuristics to make the text readable when viewing a wide-viewport layout in
- * the overview mode. It is recommended to enable zoom support
- * {@link #setSupportZoom} when using this mode. Supported from API level
- * {@link android.os.Build.VERSION_CODES#KITKAT}
- *
- */
- // XXX: These must match LayoutAlgorithm in Settings.h in WebCore.
- public enum LayoutAlgorithm {
- NORMAL,
- /**
- * @deprecated This algorithm is now obsolete.
- */
- @Deprecated
- SINGLE_COLUMN,
- /**
- * @deprecated This algorithm is now obsolete.
- */
- @Deprecated
- NARROW_COLUMNS, TEXT_AUTOSIZING
- }
-
- /**
- * Enum for specifying the text size.
- *
- * - SMALLEST is 50%
- * - SMALLER is 75%
- * - NORMAL is 100%
- * - LARGER is 150%
- * - LARGEST is 200%
- *
- *
- * @deprecated Use {@link WebSettings#setTextZoom(int)} and
- * {@link WebSettings#getTextZoom()} instead.
- */
- @Deprecated
- public enum TextSize {
- SMALLEST(50), SMALLER(75), NORMAL(100), LARGER(150), LARGEST(200);
-
- TextSize(int size) {
- value = size;
- }
-
- int value;
- }
-
- /**
- * Enum for specifying the WebView's desired density.
- *
- * - {@code FAR} makes 100% looking like in 240dpi
- * - {@code MEDIUM} makes 100% looking like in 160dpi
- * - {@code CLOSE} makes 100% looking like in 120dpi
- *
- */
- public enum ZoomDensity {
- FAR(150), // 240dpi
- MEDIUM(100), // 160dpi
- CLOSE(75); // 120dpi
-
- ZoomDensity(int size) {
- value = size;
- }
-
- /**
- * @hide Only for use by WebViewProvider implementations
- */
- public int getValue() {
- return value;
- }
-
- int value;
- }
-
- public @interface CacheMode {
- }
-
- /**
- * Default cache usage mode. If the navigation type doesn't impose any specific
- * behavior, use cached resources when they are available and not expired,
- * otherwise load resources from the network. Use with {@link #setCacheMode}.
- */
- public static final int LOAD_DEFAULT = -1;
- /**
- * Normal cache usage mode. Use with {@link #setCacheMode}.
- *
- * @deprecated This value is obsolete, as from API level
- * {@link android.os.Build.VERSION_CODES#HONEYCOMB} and onwards it
- * has the same effect as {@link #LOAD_DEFAULT}.
- */
- @Deprecated
- public static final int LOAD_NORMAL = 0;
- /**
- * Use cached resources when they are available, even if they have expired.
- * Otherwise load resources from the network. Use with {@link #setCacheMode}.
- */
- public static final int LOAD_CACHE_ELSE_NETWORK = 1;
- /**
- * Don't use the cache, load from the network. Use with {@link #setCacheMode}.
- */
- public static final int LOAD_NO_CACHE = 2;
- /**
- * Don't use the network, load from the cache. Use with {@link #setCacheMode}.
- */
- public static final int LOAD_CACHE_ONLY = 3;
-
- public enum RenderPriority {
- NORMAL, HIGH, LOW
- }
-
- /**
- * The plugin state effects how plugins are treated on a page. ON means that any
- * object will be loaded even if a plugin does not exist to handle the content.
- * ON_DEMAND means that if there is a plugin installed that can handle the
- * content, a placeholder is shown until the user clicks on the placeholder.
- * Once clicked, the plugin will be enabled on the page. OFF means that all
- * plugins will be turned off and any fallback content will be used.
- */
- public enum PluginState {
- ON, ON_DEMAND, OFF
- }
-
- /**
- * Used with {@link #setMixedContentMode}
- *
- * In this mode, the WebView will allow a secure origin to load content from any
- * other origin, even if that origin is insecure. This is the least secure mode
- * of operation for the WebView, and where possible apps should not set this
- * mode.
- */
- public static final int MIXED_CONTENT_ALWAYS_ALLOW = 0;
- /**
- * Used with {@link #setMixedContentMode}
- *
- * In this mode, the WebView will not allow a secure origin to load content from
- * an insecure origin. This is the preferred and most secure mode of operation
- * for the WebView and apps are strongly advised to use this mode.
- */
- public static final int MIXED_CONTENT_NEVER_ALLOW = 1;
- /**
- * Used with {@link #setMixedContentMode}
- *
- * In this mode, the WebView will attempt to be compatible with the approach of
- * a modern web browser with regard to mixed content. Some insecure content may
- * be allowed to be loaded by a secure origin and other types of content will be
- * blocked. The types of content are allowed or blocked may change release to
- * release and are not explicitly defined.
- *
- * This mode is intended to be used by apps that are not in control of the
- * content that they render but desire to operate in a reasonably secure
- * environment. For highest security, apps are recommended to use
- * {@link #MIXED_CONTENT_NEVER_ALLOW}.
- */
- public static final int MIXED_CONTENT_COMPATIBILITY_MODE = 2;
-
- /**
- * Enables dumping the pages navigation cache to a text file. The default is
- * {@code false}.
- *
- * @deprecated This method is now obsolete.
- * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1}
- */
- @Deprecated
- public abstract void setNavDump(boolean enabled);
-
- /**
- * Gets whether dumping the navigation cache is enabled.
- *
- * @return whether dumping the navigation cache is enabled
- * @see #setNavDump
- * @deprecated This method is now obsolete.
- * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1}
- */
- @Deprecated
- public abstract boolean getNavDump();
-
- /**
- * Sets whether the WebView should support zooming using its on-screen zoom
- * controls and gestures. The particular zoom mechanisms that should be used can
- * be set with {@link #setBuiltInZoomControls}. This setting does not affect
- * zooming performed using the {@link WebView#zoomIn()} and
- * {@link WebView#zoomOut()} methods. The default is {@code true}.
- *
- * @param support whether the WebView should support zoom
- */
- public abstract void setSupportZoom(boolean support);
-
- /**
- * Gets whether the WebView supports zoom.
- *
- * @return {@code true} if the WebView supports zoom
- * @see #setSupportZoom
- */
- public abstract boolean supportZoom();
-
- /**
- * Sets whether the WebView requires a user gesture to play media. The default
- * is {@code true}.
- *
- * @param require whether the WebView requires a user gesture to play media
- */
- public abstract void setMediaPlaybackRequiresUserGesture(boolean require);
-
- /**
- * Gets whether the WebView requires a user gesture to play media.
- *
- * @return {@code true} if the WebView requires a user gesture to play media
- * @see #setMediaPlaybackRequiresUserGesture
- */
- public abstract boolean getMediaPlaybackRequiresUserGesture();
-
- /**
- * Sets whether the WebView should use its built-in zoom mechanisms. The
- * built-in zoom mechanisms comprise on-screen zoom controls, which are
- * displayed over the WebView's content, and the use of a pinch gesture to
- * control zooming. Whether or not these on-screen controls are displayed can be
- * set with {@link #setDisplayZoomControls}. The default is {@code false}.
- *
- * The built-in mechanisms are the only currently supported zoom mechanisms, so
- * it is recommended that this setting is always enabled.
- *
- * @param enabled whether the WebView should use its built-in zoom mechanisms
- */
- // This method was intended to select between the built-in zoom mechanisms
- // and the separate zoom controls. The latter were obtained using
- // {@link WebView#getZoomControls}, which is now hidden.
- public abstract void setBuiltInZoomControls(boolean enabled);
-
- /**
- * Gets whether the zoom mechanisms built into WebView are being used.
- *
- * @return {@code true} if the zoom mechanisms built into WebView are being used
- * @see #setBuiltInZoomControls
- */
+abstract public class WebSettings
+{
+ public WebSettings(){}
+ public WebSettings.TextSize getTextSize(){ return null; }
+ public abstract String getCursiveFontFamily();
+ public abstract String getDatabasePath();
+ public abstract String getDefaultTextEncodingName();
+ public abstract String getFantasyFontFamily();
+ public abstract String getFixedFontFamily();
+ public abstract String getSansSerifFontFamily();
+ public abstract String getSerifFontFamily();
+ public abstract String getStandardFontFamily();
+ public abstract String getUserAgentString();
+ public abstract WebSettings.LayoutAlgorithm getLayoutAlgorithm();
+ public abstract WebSettings.PluginState getPluginState();
+ public abstract WebSettings.ZoomDensity getDefaultZoom();
+ public abstract boolean enableSmoothTransition();
+ public abstract boolean getAllowContentAccess();
+ public abstract boolean getAllowFileAccess();
+ public abstract boolean getAllowFileAccessFromFileURLs();
+ public abstract boolean getAllowUniversalAccessFromFileURLs();
+ public abstract boolean getBlockNetworkImage();
+ public abstract boolean getBlockNetworkLoads();
public abstract boolean getBuiltInZoomControls();
-
- /**
- * Sets whether the WebView should display on-screen zoom controls when using
- * the built-in zoom mechanisms. See {@link #setBuiltInZoomControls}. The
- * default is {@code true}.
- *
- * @param enabled whether the WebView should display on-screen zoom controls
- */
- public abstract void setDisplayZoomControls(boolean enabled);
-
- /**
- * Gets whether the WebView displays on-screen zoom controls when using the
- * built-in zoom mechanisms.
- *
- * @return {@code true} if the WebView displays on-screen zoom controls when
- * using the built-in zoom mechanisms
- * @see #setDisplayZoomControls
- */
+ public abstract boolean getDatabaseEnabled();
public abstract boolean getDisplayZoomControls();
-
- /**
- * Enables or disables file access within WebView. File access is enabled by
- * default. Note that this enables or disables file system access only. Assets
- * and resources are still accessible using file:///android_asset and
- * file:///android_res.
- */
- public abstract void setAllowFileAccess(boolean allow);
-
- /**
- * Gets whether this WebView supports file access.
- *
- * @see #setAllowFileAccess
- */
- public abstract boolean getAllowFileAccess();
-
- /**
- * Enables or disables content URL access within WebView. Content URL access
- * allows WebView to load content from a content provider installed in the
- * system. The default is enabled.
- */
- public abstract void setAllowContentAccess(boolean allow);
-
- /**
- * Gets whether this WebView supports content URL access.
- *
- * @see #setAllowContentAccess
- */
- public abstract boolean getAllowContentAccess();
-
- /**
- * Sets whether the WebView loads pages in overview mode, that is, zooms out the
- * content to fit on screen by width. This setting is taken into account when
- * the content width is greater than the width of the WebView control, for
- * example, when {@link #getUseWideViewPort} is enabled. The default is
- * {@code false}.
- */
- public abstract void setLoadWithOverviewMode(boolean overview);
-
- /**
- * Gets whether this WebView loads pages in overview mode.
- *
- * @return whether this WebView loads pages in overview mode
- * @see #setLoadWithOverviewMode
- */
+ public abstract boolean getDomStorageEnabled();
+ public abstract boolean getJavaScriptCanOpenWindowsAutomatically();
+ public abstract boolean getJavaScriptEnabled();
+ public abstract boolean getLightTouchEnabled();
public abstract boolean getLoadWithOverviewMode();
-
- /**
- * Sets whether the WebView will enable smooth transition while panning or
- * zooming or while the window hosting the WebView does not have focus. If it is
- * {@code true}, WebView will choose a solution to maximize the performance.
- * e.g. the WebView's content may not be updated during the transition. If it is
- * false, WebView will keep its fidelity. The default value is {@code false}.
- *
- * @deprecated This method is now obsolete, and will become a no-op in future.
- */
- @Deprecated
- public abstract void setEnableSmoothTransition(boolean enable);
-
- /**
- * Gets whether the WebView enables smooth transition while panning or zooming.
- *
- * @see #setEnableSmoothTransition
- *
- * @deprecated This method is now obsolete, and will become a no-op in future.
- */
- @Deprecated
- public abstract boolean enableSmoothTransition();
-
- /**
- * Sets whether the WebView uses its background for over scroll background. If
- * {@code true}, it will use the WebView's background. If {@code false}, it will
- * use an internal pattern. Default is {@code true}.
- *
- * @deprecated This method is now obsolete.
- * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1}
- */
- @Deprecated
- public abstract void setUseWebViewBackgroundForOverscrollBackground(boolean view);
-
- /**
- * Gets whether this WebView uses WebView's background instead of internal
- * pattern for over scroll background.
- *
- * @see #setUseWebViewBackgroundForOverscrollBackground
- * @deprecated This method is now obsolete.
- * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1}
- */
- @Deprecated
- public abstract boolean getUseWebViewBackgroundForOverscrollBackground();
-
- /**
- * Sets whether the WebView should save form data. In Android O, the platform
- * has implemented a fully functional Autofill feature to store form data.
- * Therefore, the Webview form data save feature is disabled.
- *
- * Note that the feature will continue to be supported on older versions of
- * Android as before.
- *
- * This function does not have any effect.
- */
- @Deprecated
- public abstract void setSaveFormData(boolean save);
-
- /**
- * Gets whether the WebView saves form data.
- *
- * @return whether the WebView saves form data
- * @see #setSaveFormData
- */
- @Deprecated
+ public abstract boolean getLoadsImagesAutomatically();
+ public abstract boolean getMediaPlaybackRequiresUserGesture();
+ public abstract boolean getOffscreenPreRaster();
+ public abstract boolean getSafeBrowsingEnabled();
public abstract boolean getSaveFormData();
-
- /**
- * Sets whether the WebView should save passwords. The default is {@code true}.
- *
- * @deprecated Saving passwords in WebView will not be supported in future
- * versions.
- */
- @Deprecated
- public abstract void setSavePassword(boolean save);
-
- /**
- * Gets whether the WebView saves passwords.
- *
- * @return whether the WebView saves passwords
- * @see #setSavePassword
- * @deprecated Saving passwords in WebView will not be supported in future
- * versions.
- */
- @Deprecated
public abstract boolean getSavePassword();
-
- /**
- * Sets the text zoom of the page in percent. The default is 100.
- *
- * @param textZoom the text zoom in percent
- */
- public abstract void setTextZoom(int textZoom);
-
- /**
- * Gets the text zoom of the page in percent.
- *
- * @return the text zoom of the page in percent
- * @see #setTextZoom
- */
- public abstract int getTextZoom();
-
- /**
- * Sets policy for third party cookies. Developers should access this via
- * {@link CookieManager#setShouldAcceptThirdPartyCookies}.
- *
- * @hide Internal API.
- */
- public abstract void setAcceptThirdPartyCookies(boolean accept);
-
- /**
- * Gets policy for third party cookies. Developers should access this via
- * {@link CookieManager#getShouldAcceptThirdPartyCookies}.
- *
- * @hide Internal API
- */
- public abstract boolean getAcceptThirdPartyCookies();
-
- /**
- * Sets the text size of the page. The default is {@link TextSize#NORMAL}.
- *
- * @param t the text size as a {@link TextSize} value
- * @deprecated Use {@link #setTextZoom} instead.
- */
- @Deprecated
- public synchronized void setTextSize(TextSize t) {
- setTextZoom(t.value);
- }
-
- /**
- * Gets the text size of the page. If the text size was previously specified in
- * percent using {@link #setTextZoom}, this will return the closest matching
- * {@link TextSize}.
- *
- * @return the text size as a {@link TextSize} value
- * @see #setTextSize
- * @deprecated Use {@link #getTextZoom} instead.
- */
- @Deprecated
- public synchronized TextSize getTextSize() {
- return null;
- }
-
- /**
- * Sets the default zoom density of the page. This must be called from the UI
- * thread. The default is {@link ZoomDensity#MEDIUM}.
- *
- * This setting is not recommended for use in new applications. If the WebView
- * is utilized to display mobile-oriented pages, the desired effect can be
- * achieved by adjusting 'width' and 'initial-scale' attributes of page's 'meta
- * viewport' tag. For pages lacking the tag,
- * {@link android.webkit.WebView#setInitialScale} and
- * {@link #setUseWideViewPort} can be used.
- *
- * @param zoom the zoom density
- * @deprecated This method is no longer supported, see the function
- * documentation for recommended alternatives.
- */
- @Deprecated
- public abstract void setDefaultZoom(ZoomDensity zoom);
-
- /**
- * Gets the default zoom density of the page. This should be called from the UI
- * thread.
- *
- * This setting is not recommended for use in new applications.
- *
- * @return the zoom density
- * @see #setDefaultZoom
- * @deprecated Will only return the default value.
- */
- @Deprecated
- public abstract ZoomDensity getDefaultZoom();
-
- /**
- * Enables using light touches to make a selection and activate mouseovers.
- *
- * @deprecated From {@link android.os.Build.VERSION_CODES#JELLY_BEAN} this
- * setting is obsolete and has no effect.
- */
- @Deprecated
- public abstract void setLightTouchEnabled(boolean enabled);
-
- /**
- * Gets whether light touches are enabled.
- *
- * @see #setLightTouchEnabled
- * @deprecated This setting is obsolete.
- */
- @Deprecated
- public abstract boolean getLightTouchEnabled();
-
- /**
- * Controlled a rendering optimization that is no longer present. Setting it now
- * has no effect.
- *
- * @deprecated This setting now has no effect.
- * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1}
- */
- @Deprecated
- public void setUseDoubleTree(boolean use) {
- // Specified to do nothing, so no need for derived classes to override.
- }
-
- /**
- * Controlled a rendering optimization that is no longer present. Setting it now
- * has no effect.
- *
- * @deprecated This setting now has no effect.
- * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1}
- */
- @Deprecated
- public boolean getUseDoubleTree() {
- // Returns false unconditionally, so no need for derived classes to override.
- return false;
- }
-
- /**
- * Sets the user-agent string using an integer code.
- *
- * - 0 means the WebView should use an Android user-agent string
- * - 1 means the WebView should use a desktop user-agent string
- *
- * Other values are ignored. The default is an Android user-agent string, i.e.
- * code value 0.
- *
- * @param ua the integer code for the user-agent string
- * @deprecated Please use {@link #setUserAgentString} instead.
- * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1}
- */
- @Deprecated
- public abstract void setUserAgent(int ua);
-
- /**
- * Gets the user-agent as an integer code.
- *
- * - -1 means the WebView is using a custom user-agent string set with
- * {@link #setUserAgentString}
- * - 0 means the WebView should use an Android user-agent string
- * - 1 means the WebView should use a desktop user-agent string
- *
- *
- * @return the integer code for the user-agent string
- * @see #setUserAgent
- * @deprecated Please use {@link #getUserAgentString} instead.
- * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1}
- */
- @Deprecated
- public abstract int getUserAgent();
-
- /**
- * Sets whether the WebView should enable support for the "viewport"
- * HTML meta tag or should use a wide viewport. When the value of the setting is
- * {@code false}, the layout width is always set to the width of the WebView
- * control in device-independent (CSS) pixels. When the value is {@code true}
- * and the page contains the viewport meta tag, the value of the width specified
- * in the tag is used. If the page does not contain the tag or does not provide
- * a width, then a wide viewport will be used.
- *
- * @param use whether to enable support for the viewport meta tag
- */
- public abstract void setUseWideViewPort(boolean use);
-
- /**
- * Gets whether the WebView supports the "viewport" HTML meta tag or
- * will use a wide viewport.
- *
- * @return {@code true} if the WebView supports the viewport meta tag
- * @see #setUseWideViewPort
- */
public abstract boolean getUseWideViewPort();
-
- /**
- * Sets whether the WebView whether supports multiple windows. If set to true,
- * {@link WebChromeClient#onCreateWindow} must be implemented by the host
- * application. The default is {@code false}.
- *
- * @param support whether to support multiple windows
- */
- public abstract void setSupportMultipleWindows(boolean support);
-
- /**
- * Gets whether the WebView supports multiple windows.
- *
- * @return {@code true} if the WebView supports multiple windows
- * @see #setSupportMultipleWindows
- */
public abstract boolean supportMultipleWindows();
-
- /**
- * Sets the underlying layout algorithm. This will cause a re-layout of the
- * WebView. The default is {@link LayoutAlgorithm#NARROW_COLUMNS}.
- *
- * @param l the layout algorithm to use, as a {@link LayoutAlgorithm} value
- */
- public abstract void setLayoutAlgorithm(LayoutAlgorithm l);
-
- /**
- * Gets the current layout algorithm.
- *
- * @return the layout algorithm in use, as a {@link LayoutAlgorithm} value
- * @see #setLayoutAlgorithm
- */
- public abstract LayoutAlgorithm getLayoutAlgorithm();
-
- /**
- * Sets the standard font family name. The default is "sans-serif".
- *
- * @param font a font family name
- */
- public abstract void setStandardFontFamily(String font);
-
- /**
- * Gets the standard font family name.
- *
- * @return the standard font family name as a string
- * @see #setStandardFontFamily
- */
- public abstract String getStandardFontFamily();
-
- /**
- * Sets the fixed font family name. The default is "monospace".
- *
- * @param font a font family name
- */
- public abstract void setFixedFontFamily(String font);
-
- /**
- * Gets the fixed font family name.
- *
- * @return the fixed font family name as a string
- * @see #setFixedFontFamily
- */
- public abstract String getFixedFontFamily();
-
- /**
- * Sets the sans-serif font family name. The default is "sans-serif".
- *
- * @param font a font family name
- */
- public abstract void setSansSerifFontFamily(String font);
-
- /**
- * Gets the sans-serif font family name.
- *
- * @return the sans-serif font family name as a string
- * @see #setSansSerifFontFamily
- */
- public abstract String getSansSerifFontFamily();
-
- /**
- * Sets the serif font family name. The default is "sans-serif".
- *
- * @param font a font family name
- */
- public abstract void setSerifFontFamily(String font);
-
- /**
- * Gets the serif font family name. The default is "serif".
- *
- * @return the serif font family name as a string
- * @see #setSerifFontFamily
- */
- public abstract String getSerifFontFamily();
-
- /**
- * Sets the cursive font family name. The default is "cursive".
- *
- * @param font a font family name
- */
- public abstract void setCursiveFontFamily(String font);
-
- /**
- * Gets the cursive font family name.
- *
- * @return the cursive font family name as a string
- * @see #setCursiveFontFamily
- */
- public abstract String getCursiveFontFamily();
-
- /**
- * Sets the fantasy font family name. The default is "fantasy".
- *
- * @param font a font family name
- */
- public abstract void setFantasyFontFamily(String font);
-
- /**
- * Gets the fantasy font family name.
- *
- * @return the fantasy font family name as a string
- * @see #setFantasyFontFamily
- */
- public abstract String getFantasyFontFamily();
-
- /**
- * Sets the minimum font size. The default is 8.
- *
- * @param size a non-negative integer between 1 and 72. Any number outside the
- * specified range will be pinned.
- */
- public abstract void setMinimumFontSize(int size);
-
- /**
- * Gets the minimum font size.
- *
- * @return a non-negative integer between 1 and 72
- * @see #setMinimumFontSize
- */
+ public abstract boolean supportZoom();
+ public abstract int getCacheMode();
+ public abstract int getDefaultFixedFontSize();
+ public abstract int getDefaultFontSize();
+ public abstract int getDisabledActionModeMenuItems();
public abstract int getMinimumFontSize();
-
- /**
- * Sets the minimum logical font size. The default is 8.
- *
- * @param size a non-negative integer between 1 and 72. Any number outside the
- * specified range will be pinned.
- */
- public abstract void setMinimumLogicalFontSize(int size);
-
- /**
- * Gets the minimum logical font size.
- *
- * @return a non-negative integer between 1 and 72
- * @see #setMinimumLogicalFontSize
- */
public abstract int getMinimumLogicalFontSize();
-
- /**
- * Sets the default font size. The default is 16.
- *
- * @param size a non-negative integer between 1 and 72. Any number outside the
- * specified range will be pinned.
- */
- public abstract void setDefaultFontSize(int size);
-
- /**
- * Gets the default font size.
- *
- * @return a non-negative integer between 1 and 72
- * @see #setDefaultFontSize
- */
- public abstract int getDefaultFontSize();
-
- /**
- * Sets the default fixed font size. The default is 16.
- *
- * @param size a non-negative integer between 1 and 72. Any number outside the
- * specified range will be pinned.
- */
- public abstract void setDefaultFixedFontSize(int size);
-
- /**
- * Gets the default fixed font size.
- *
- * @return a non-negative integer between 1 and 72
- * @see #setDefaultFixedFontSize
- */
- public abstract int getDefaultFixedFontSize();
-
- /**
- * Sets whether the WebView should load image resources. Note that this method
- * controls loading of all images, including those embedded using the data URI
- * scheme. Use {@link #setBlockNetworkImage} to control loading only of images
- * specified using network URI schemes. Note that if the value of this setting
- * is changed from {@code false} to {@code true}, all images resources
- * referenced by content currently displayed by the WebView are loaded
- * automatically. The default is {@code true}.
- *
- * @param flag whether the WebView should load image resources
- */
- public abstract void setLoadsImagesAutomatically(boolean flag);
-
- /**
- * Gets whether the WebView loads image resources. This includes images embedded
- * using the data URI scheme.
- *
- * @return {@code true} if the WebView loads image resources
- * @see #setLoadsImagesAutomatically
- */
- public abstract boolean getLoadsImagesAutomatically();
-
- /**
- * Sets whether the WebView should not load image resources from the network
- * (resources accessed via http and https URI schemes). Note that this method
- * has no effect unless {@link #getLoadsImagesAutomatically} returns
- * {@code true}. Also note that disabling all network loads using
- * {@link #setBlockNetworkLoads} will also prevent network images from loading,
- * even if this flag is set to false. When the value of this setting is changed
- * from {@code true} to {@code false}, network images resources referenced by
- * content currently displayed by the WebView are fetched automatically. The
- * default is {@code false}.
- *
- * @param flag whether the WebView should not load image resources from the
- * network
- * @see #setBlockNetworkLoads
- */
- public abstract void setBlockNetworkImage(boolean flag);
-
- /**
- * Gets whether the WebView does not load image resources from the network.
- *
- * @return {@code true} if the WebView does not load image resources from the
- * network
- * @see #setBlockNetworkImage
- */
- public abstract boolean getBlockNetworkImage();
-
- /**
- * Sets whether the WebView should not load resources from the network. Use
- * {@link #setBlockNetworkImage} to only avoid loading image resources. Note
- * that if the value of this setting is changed from {@code true} to
- * {@code false}, network resources referenced by content currently displayed by
- * the WebView are not fetched until {@link android.webkit.WebView#reload} is
- * called. If the application does not have the
- * {@link android.Manifest.permission#INTERNET} permission, attempts to set a
- * value of {@code false} will cause a {@link java.lang.SecurityException} to be
- * thrown. The default value is {@code false} if the application has the
- * {@link android.Manifest.permission#INTERNET} permission, otherwise it is
- * {@code true}.
- *
- * @param flag {@code true} means block network loads by the WebView
- * @see android.webkit.WebView#reload
- */
- public abstract void setBlockNetworkLoads(boolean flag);
-
- /**
- * Gets whether the WebView does not load any resources from the network.
- *
- * @return {@code true} if the WebView does not load any resources from the
- * network
- * @see #setBlockNetworkLoads
- */
- public abstract boolean getBlockNetworkLoads();
-
- /**
- * Tells the WebView to enable JavaScript execution. The default is
- * {@code false}.
- *
- * @param flag {@code true} if the WebView should execute JavaScript
- */
- public abstract void setJavaScriptEnabled(boolean flag);
-
- /**
- * Sets whether JavaScript running in the context of a file scheme URL should be
- * allowed to access content from any origin. This includes access to content
- * from other file scheme URLs. See {@link #setAllowFileAccessFromFileURLs}. To
- * enable the most restrictive, and therefore secure policy, this setting should
- * be disabled. Note that this setting affects only JavaScript access to file
- * scheme resources. Other access to such resources, for example, from image
- * HTML elements, is unaffected. To prevent possible violation of same domain
- * policy when targeting
- * {@link android.os.Build.VERSION_CODES#ICE_CREAM_SANDWICH_MR1} and earlier,
- * you should explicitly set this value to {@code false}.
- *
- * The default value is {@code true} for apps targeting
- * {@link android.os.Build.VERSION_CODES#ICE_CREAM_SANDWICH_MR1} and below, and
- * {@code false} when targeting
- * {@link android.os.Build.VERSION_CODES#JELLY_BEAN} and above.
- *
- * @param flag whether JavaScript running in the context of a file scheme URL
- * should be allowed to access content from any origin
- */
- public abstract void setAllowUniversalAccessFromFileURLs(boolean flag);
-
- /**
- * Sets whether JavaScript running in the context of a file scheme URL should be
- * allowed to access content from other file scheme URLs. To enable the most
- * restrictive, and therefore secure, policy this setting should be disabled.
- * Note that the value of this setting is ignored if the value of
- * {@link #getAllowUniversalAccessFromFileURLs} is {@code true}. Note too, that
- * this setting affects only JavaScript access to file scheme resources. Other
- * access to such resources, for example, from image HTML elements, is
- * unaffected. To prevent possible violation of same domain policy when
- * targeting {@link android.os.Build.VERSION_CODES#ICE_CREAM_SANDWICH_MR1} and
- * earlier, you should explicitly set this value to {@code false}.
- *
- * The default value is {@code true} for apps targeting
- * {@link android.os.Build.VERSION_CODES#ICE_CREAM_SANDWICH_MR1} and below, and
- * {@code false} when targeting
- * {@link android.os.Build.VERSION_CODES#JELLY_BEAN} and above.
- *
- * @param flag whether JavaScript running in the context of a file scheme URL
- * should be allowed to access content from other file scheme URLs
- */
- public abstract void setAllowFileAccessFromFileURLs(boolean flag);
-
- /**
- * Sets whether the WebView should enable plugins. The default is {@code false}.
- *
- * @param flag {@code true} if plugins should be enabled
- * @deprecated This method has been deprecated in favor of
- * {@link #setPluginState}
- * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR2}
- */
- @Deprecated
- public abstract void setPluginsEnabled(boolean flag);
-
- /**
- * Tells the WebView to enable, disable, or have plugins on demand. On demand
- * mode means that if a plugin exists that can handle the embedded content, a
- * placeholder icon will be shown instead of the plugin. When the placeholder is
- * clicked, the plugin will be enabled. The default is {@link PluginState#OFF}.
- *
- * @param state a PluginState value
- * @deprecated Plugins will not be supported in future, and should not be used.
- */
- @Deprecated
- public abstract void setPluginState(PluginState state);
-
- /**
- * Sets a custom path to plugins used by the WebView. This method is obsolete
- * since each plugin is now loaded from its own package.
- *
- * @param pluginsPath a String path to the directory containing plugins
- * @deprecated This method is no longer used as plugins are loaded from their
- * own APK via the system's package manager.
- * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR2}
- */
- @Deprecated
- public void setPluginsPath(String pluginsPath) {
- // Specified to do nothing, so no need for derived classes to override.
+ public abstract int getMixedContentMode();
+ public abstract int getTextZoom();
+ public abstract void setAllowContentAccess(boolean p0);
+ public abstract void setAllowFileAccess(boolean p0);
+ public abstract void setAllowFileAccessFromFileURLs(boolean p0);
+ public abstract void setAllowUniversalAccessFromFileURLs(boolean p0);
+ public abstract void setAppCacheEnabled(boolean p0);
+ public abstract void setAppCacheMaxSize(long p0);
+ public abstract void setAppCachePath(String p0);
+ public abstract void setBlockNetworkImage(boolean p0);
+ public abstract void setBlockNetworkLoads(boolean p0);
+ public abstract void setBuiltInZoomControls(boolean p0);
+ public abstract void setCacheMode(int p0);
+ public abstract void setCursiveFontFamily(String p0);
+ public abstract void setDatabaseEnabled(boolean p0);
+ public abstract void setDatabasePath(String p0);
+ public abstract void setDefaultFixedFontSize(int p0);
+ public abstract void setDefaultFontSize(int p0);
+ public abstract void setDefaultTextEncodingName(String p0);
+ public abstract void setDefaultZoom(WebSettings.ZoomDensity p0);
+ public abstract void setDisabledActionModeMenuItems(int p0);
+ public abstract void setDisplayZoomControls(boolean p0);
+ public abstract void setDomStorageEnabled(boolean p0);
+ public abstract void setEnableSmoothTransition(boolean p0);
+ public abstract void setFantasyFontFamily(String p0);
+ public abstract void setFixedFontFamily(String p0);
+ public abstract void setGeolocationDatabasePath(String p0);
+ public abstract void setGeolocationEnabled(boolean p0);
+ public abstract void setJavaScriptCanOpenWindowsAutomatically(boolean p0);
+ public abstract void setJavaScriptEnabled(boolean p0);
+ public abstract void setLayoutAlgorithm(WebSettings.LayoutAlgorithm p0);
+ public abstract void setLightTouchEnabled(boolean p0);
+ public abstract void setLoadWithOverviewMode(boolean p0);
+ public abstract void setLoadsImagesAutomatically(boolean p0);
+ public abstract void setMediaPlaybackRequiresUserGesture(boolean p0);
+ public abstract void setMinimumFontSize(int p0);
+ public abstract void setMinimumLogicalFontSize(int p0);
+ public abstract void setMixedContentMode(int p0);
+ public abstract void setNeedInitialFocus(boolean p0);
+ public abstract void setOffscreenPreRaster(boolean p0);
+ public abstract void setPluginState(WebSettings.PluginState p0);
+ public abstract void setRenderPriority(WebSettings.RenderPriority p0);
+ public abstract void setSafeBrowsingEnabled(boolean p0);
+ public abstract void setSansSerifFontFamily(String p0);
+ public abstract void setSaveFormData(boolean p0);
+ public abstract void setSavePassword(boolean p0);
+ public abstract void setSerifFontFamily(String p0);
+ public abstract void setStandardFontFamily(String p0);
+ public abstract void setSupportMultipleWindows(boolean p0);
+ public abstract void setSupportZoom(boolean p0);
+ public abstract void setTextZoom(int p0);
+ public abstract void setUseWideViewPort(boolean p0);
+ public abstract void setUserAgentString(String p0);
+ public int getForceDark(){ return 0; }
+ public static String getDefaultUserAgent(Context p0){ return null; }
+ public static int FORCE_DARK_AUTO = 0;
+ public static int FORCE_DARK_OFF = 0;
+ public static int FORCE_DARK_ON = 0;
+ public static int LOAD_CACHE_ELSE_NETWORK = 0;
+ public static int LOAD_CACHE_ONLY = 0;
+ public static int LOAD_DEFAULT = 0;
+ public static int LOAD_NORMAL = 0;
+ public static int LOAD_NO_CACHE = 0;
+ public static int MENU_ITEM_NONE = 0;
+ public static int MENU_ITEM_PROCESS_TEXT = 0;
+ public static int MENU_ITEM_SHARE = 0;
+ public static int MENU_ITEM_WEB_SEARCH = 0;
+ public static int MIXED_CONTENT_ALWAYS_ALLOW = 0;
+ public static int MIXED_CONTENT_COMPATIBILITY_MODE = 0;
+ public static int MIXED_CONTENT_NEVER_ALLOW = 0;
+ public void setForceDark(int p0){}
+ public void setTextSize(WebSettings.TextSize p0){}
+ static public enum LayoutAlgorithm
+ {
+ NARROW_COLUMNS, NORMAL, SINGLE_COLUMN, TEXT_AUTOSIZING;
+ private LayoutAlgorithm() {}
}
-
- /**
- * Sets the path to where database storage API databases should be saved. In
- * order for the database storage API to function correctly, this method must be
- * called with a path to which the application can write. This method should
- * only be called once: repeated calls are ignored.
- *
- * @param databasePath a path to the directory where databases should be saved.
- * @deprecated Database paths are managed by the implementation and calling this
- * method will have no effect.
- */
- @Deprecated
- public abstract void setDatabasePath(String databasePath);
-
- /**
- * Sets the path where the Geolocation databases should be saved. In order for
- * Geolocation permissions and cached positions to be persisted, this method
- * must be called with a path to which the application can write.
- *
- * @param databasePath a path to the directory where databases should be saved.
- * @deprecated Geolocation database are managed by the implementation and
- * calling this method will have no effect.
- */
- @Deprecated
- public abstract void setGeolocationDatabasePath(String databasePath);
-
- /**
- * Sets whether the Application Caches API should be enabled. The default is
- * {@code false}. Note that in order for the Application Caches API to be
- * enabled, a valid database path must also be supplied to
- * {@link #setAppCachePath}.
- *
- * @param flag {@code true} if the WebView should enable Application Caches
- */
- public abstract void setAppCacheEnabled(boolean flag);
-
- /**
- * Sets the path to the Application Caches files. In order for the Application
- * Caches API to be enabled, this method must be called with a path to which the
- * application can write. This method should only be called once: repeated calls
- * are ignored.
- *
- * @param appCachePath a String path to the directory containing Application
- * Caches files.
- * @see #setAppCacheEnabled
- */
- public abstract void setAppCachePath(String appCachePath);
-
- /**
- * Sets the maximum size for the Application Cache content. The passed size will
- * be rounded to the nearest value that the database can support, so this should
- * be viewed as a guide, not a hard limit. Setting the size to a value less than
- * current database size does not cause the database to be trimmed. The default
- * size is {@link Long#MAX_VALUE}. It is recommended to leave the maximum size
- * set to the default value.
- *
- * @param appCacheMaxSize the maximum size in bytes
- * @deprecated In future quota will be managed automatically.
- */
- @Deprecated
- public abstract void setAppCacheMaxSize(long appCacheMaxSize);
-
- /**
- * Sets whether the database storage API is enabled. The default value is false.
- * See also {@link #setDatabasePath} for how to correctly set up the database
- * storage API.
- *
- * This setting is global in effect, across all WebView instances in a process.
- * Note you should only modify this setting prior to making any WebView
- * page load within a given process, as the WebView implementation may ignore
- * changes to this setting after that point.
- *
- * @param flag {@code true} if the WebView should use the database storage API
- */
- public abstract void setDatabaseEnabled(boolean flag);
-
- /**
- * Sets whether the DOM storage API is enabled. The default value is
- * {@code false}.
- *
- * @param flag {@code true} if the WebView should use the DOM storage API
- */
- public abstract void setDomStorageEnabled(boolean flag);
-
- /**
- * Gets whether the DOM Storage APIs are enabled.
- *
- * @return {@code true} if the DOM Storage APIs are enabled
- * @see #setDomStorageEnabled
- */
- public abstract boolean getDomStorageEnabled();
-
- /**
- * Gets the path to where database storage API databases are saved.
- *
- * @return the String path to the database storage API databases
- * @see #setDatabasePath
- * @deprecated Database paths are managed by the implementation this method is
- * obsolete.
- */
- @Deprecated
- public abstract String getDatabasePath();
-
- /**
- * Gets whether the database storage API is enabled.
- *
- * @return {@code true} if the database storage API is enabled
- * @see #setDatabaseEnabled
- */
- public abstract boolean getDatabaseEnabled();
-
- /**
- * Sets whether Geolocation is enabled. The default is {@code true}.
- *
- * Please note that in order for the Geolocation API to be usable by a page in
- * the WebView, the following requirements must be met:
- *
- * - an application must have permission to access the device location, see
- * {@link android.Manifest.permission#ACCESS_COARSE_LOCATION},
- * {@link android.Manifest.permission#ACCESS_FINE_LOCATION};
- *
- an application must provide an implementation of the
- * {@link WebChromeClient#onGeolocationPermissionsShowPrompt} callback to
- * receive notifications that a page is requesting access to location via the
- * JavaScript Geolocation API.
- *
- *
- *
- * @param flag whether Geolocation should be enabled
- */
- public abstract void setGeolocationEnabled(boolean flag);
-
- /**
- * Gets whether JavaScript is enabled.
- *
- * @return {@code true} if JavaScript is enabled
- * @see #setJavaScriptEnabled
- */
- public abstract boolean getJavaScriptEnabled();
-
- /**
- * Gets whether JavaScript running in the context of a file scheme URL can
- * access content from any origin. This includes access to content from other
- * file scheme URLs.
- *
- * @return whether JavaScript running in the context of a file scheme URL can
- * access content from any origin
- * @see #setAllowUniversalAccessFromFileURLs
- */
- public abstract boolean getAllowUniversalAccessFromFileURLs();
-
- /**
- * Gets whether JavaScript running in the context of a file scheme URL can
- * access content from other file scheme URLs.
- *
- * @return whether JavaScript running in the context of a file scheme URL can
- * access content from other file scheme URLs
- * @see #setAllowFileAccessFromFileURLs
- */
- public abstract boolean getAllowFileAccessFromFileURLs();
-
- /**
- * Gets whether plugins are enabled.
- *
- * @return {@code true} if plugins are enabled
- * @see #setPluginsEnabled
- * @deprecated This method has been replaced by {@link #getPluginState}
- * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR2}
- */
- @Deprecated
- public abstract boolean getPluginsEnabled();
-
- /**
- * Gets the current state regarding whether plugins are enabled.
- *
- * @return the plugin state as a {@link PluginState} value
- * @see #setPluginState
- * @deprecated Plugins will not be supported in future, and should not be used.
- */
- @Deprecated
- public abstract PluginState getPluginState();
-
- /**
- * Gets the directory that contains the plugin libraries. This method is
- * obsolete since each plugin is now loaded from its own package.
- *
- * @return an empty string
- * @deprecated This method is no longer used as plugins are loaded from their
- * own APK via the system's package manager.
- * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR2}
- */
- @Deprecated
- public String getPluginsPath() {
- // Unconditionally returns empty string, so no need for derived classes to
- // override.
- return "";
+ static public enum PluginState
+ {
+ OFF, ON, ON_DEMAND;
+ private PluginState() {}
}
-
- /**
- * Tells JavaScript to open windows automatically. This applies to the
- * JavaScript function {@code window.open()}. The default is {@code false}.
- *
- * @param flag {@code true} if JavaScript can open windows automatically
- */
- public abstract void setJavaScriptCanOpenWindowsAutomatically(boolean flag);
-
- /**
- * Gets whether JavaScript can open windows automatically.
- *
- * @return {@code true} if JavaScript can open windows automatically during
- * {@code window.open()}
- * @see #setJavaScriptCanOpenWindowsAutomatically
- */
- public abstract boolean getJavaScriptCanOpenWindowsAutomatically();
-
- /**
- * Sets the default text encoding name to use when decoding html pages. The
- * default is "UTF-8".
- *
- * @param encoding the text encoding name
- */
- public abstract void setDefaultTextEncodingName(String encoding);
-
- /**
- * Gets the default text encoding name.
- *
- * @return the default text encoding name as a string
- * @see #setDefaultTextEncodingName
- */
- public abstract String getDefaultTextEncodingName();
-
- /**
- * Sets the WebView's user-agent string. If the string is {@code null} or empty,
- * the system default value will be used.
- *
- * Note that starting from {@link android.os.Build.VERSION_CODES#KITKAT} Android
- * version, changing the user-agent while loading a web page causes WebView to
- * initiate loading once again.
- *
- * @param ua new user-agent string
- */
- public abstract void setUserAgentString(String ua);
-
- /**
- * Gets the WebView's user-agent string.
- *
- * @return the WebView's user-agent string
- * @see #setUserAgentString
- */
- public abstract String getUserAgentString();
-
- /**
- * Returns the default User-Agent used by a WebView. An instance of WebView
- * could use a different User-Agent if a call is made to
- * {@link WebSettings#setUserAgentString(String)}.
- *
- * @param context a Context object used to access application assets
- */
- public static String getDefaultUserAgent(Context context) {
- return null;
+ static public enum RenderPriority
+ {
+ HIGH, LOW, NORMAL;
+ private RenderPriority() {}
+ }
+ static public enum TextSize
+ {
+ LARGER, LARGEST, NORMAL, SMALLER, SMALLEST;
+ private TextSize() {}
+ }
+ static public enum ZoomDensity
+ {
+ CLOSE, FAR, MEDIUM;
+ private ZoomDensity() {}
}
-
- /**
- * Tells the WebView whether it needs to set a node to have focus when
- * {@link WebView#requestFocus(int, android.graphics.Rect)} is called. The
- * default value is {@code true}.
- *
- * @param flag whether the WebView needs to set a node
- */
- public abstract void setNeedInitialFocus(boolean flag);
-
- /**
- * Sets the priority of the Render thread. Unlike the other settings, this one
- * only needs to be called once per process. The default value is
- * {@link RenderPriority#NORMAL}.
- *
- * @param priority the priority
- * @deprecated It is not recommended to adjust thread priorities, and this will
- * not be supported in future versions.
- */
- @Deprecated
- public abstract void setRenderPriority(RenderPriority priority);
-
- /**
- * Overrides the way the cache is used. The way the cache is used is based on
- * the navigation type. For a normal page load, the cache is checked and content
- * is re-validated as needed. When navigating back, content is not revalidated,
- * instead the content is just retrieved from the cache. This method allows the
- * client to override this behavior by specifying one of {@link #LOAD_DEFAULT},
- * {@link #LOAD_CACHE_ELSE_NETWORK}, {@link #LOAD_NO_CACHE} or
- * {@link #LOAD_CACHE_ONLY}. The default value is {@link #LOAD_DEFAULT}.
- *
- * @param mode the mode to use
- */
- public abstract void setCacheMode(@CacheMode int mode);
-
- /**
- * Gets the current setting for overriding the cache mode.
- *
- * @return the current setting for overriding the cache mode
- * @see #setCacheMode
- */
- public abstract int getCacheMode();
-
- /**
- * Configures the WebView's behavior when a secure origin attempts to load a
- * resource from an insecure origin.
- *
- * By default, apps that target {@link android.os.Build.VERSION_CODES#KITKAT} or
- * below default to {@link #MIXED_CONTENT_ALWAYS_ALLOW}. Apps targeting
- * {@link android.os.Build.VERSION_CODES#LOLLIPOP} default to
- * {@link #MIXED_CONTENT_NEVER_ALLOW}.
- *
- * The preferred and most secure mode of operation for the WebView is
- * {@link #MIXED_CONTENT_NEVER_ALLOW} and use of
- * {@link #MIXED_CONTENT_ALWAYS_ALLOW} is strongly discouraged.
- *
- * @param mode The mixed content mode to use. One of
- * {@link #MIXED_CONTENT_NEVER_ALLOW},
- * {@link #MIXED_CONTENT_ALWAYS_ALLOW} or
- * {@link #MIXED_CONTENT_COMPATIBILITY_MODE}.
- */
- public abstract void setMixedContentMode(int mode);
-
- /**
- * Gets the current behavior of the WebView with regard to loading insecure
- * content from a secure origin.
- *
- * @return The current setting, one of {@link #MIXED_CONTENT_NEVER_ALLOW},
- * {@link #MIXED_CONTENT_ALWAYS_ALLOW} or
- * {@link #MIXED_CONTENT_COMPATIBILITY_MODE}.
- */
- public abstract int getMixedContentMode();
-
- /**
- * Sets whether to use a video overlay for embedded encrypted video. In API
- * levels prior to {@link android.os.Build.VERSION_CODES#LOLLIPOP}, encrypted
- * video can only be rendered directly on a secure video surface, so it had been
- * a hard problem to play encrypted video in HTML. When this flag is on, WebView
- * can play encrypted video (MSE/EME) by using a video overlay (aka
- * hole-punching) for videos embedded using HTML <video> tag.
- * Caution: This setting is intended for use only in a narrow set of
- * circumstances and apps should only enable it if they require playback of
- * encrypted video content. It will impose the following limitations on the
- * WebView:
- *
- * - Only one video overlay can be played at a time.
- *
- Changes made to position or dimensions of a video element may be
- * propagated to the corresponding video overlay with a noticeable delay.
- *
- The video overlay is not visible to web APIs and as such may not interact
- * with script or styling. For example, CSS styles applied to the <video>
- * tag may be ignored.
- *
- * This is not an exhaustive set of constraints and it may vary with new
- * versions of the WebView.
- *
- * @hide
- */
- public abstract void setVideoOverlayForEmbeddedEncryptedVideoEnabled(boolean flag);
-
- /**
- * Gets whether a video overlay will be used for embedded encrypted video.
- *
- * @return {@code true} if WebView uses a video overlay for embedded encrypted
- * video.
- * @see #setVideoOverlayForEmbeddedEncryptedVideoEnabled
- * @hide
- */
- public abstract boolean getVideoOverlayForEmbeddedEncryptedVideoEnabled();
-
- /**
- * Sets whether this WebView should raster tiles when it is offscreen but
- * attached to a window. Turning this on can avoid rendering artifacts when
- * animating an offscreen WebView on-screen. Offscreen WebViews in this mode use
- * more memory. The default value is false.
- * Please follow these guidelines to limit memory usage:
- *
- * - WebView size should be not be larger than the device screen size.
- *
- Limit use of this mode to a small number of WebViews. Use it for visible
- * WebViews and WebViews about to be animated to visible.
- *
- */
- public abstract void setOffscreenPreRaster(boolean enabled);
-
- /**
- * Gets whether this WebView should raster tiles when it is offscreen but
- * attached to a window.
- *
- * @return {@code true} if this WebView will raster tiles when it is offscreen
- * but attached to a window.
- */
- public abstract boolean getOffscreenPreRaster();
-
- /**
- * Sets whether Safe Browsing is enabled. Safe Browsing allows WebView to
- * protect against malware and phishing attacks by verifying the links.
- *
- *
- * Safe Browsing can be disabled for all WebViews using a manifest tag (read
- * general Safe
- * Browsing info). The manifest tag has a lower precedence than this API.
- *
- *
- * Safe Browsing is enabled by default for devices which support it.
- *
- * @param enabled Whether Safe Browsing is enabled.
- */
- public abstract void setSafeBrowsingEnabled(boolean enabled);
-
- /**
- * Gets whether Safe Browsing is enabled. See {@link #setSafeBrowsingEnabled}.
- *
- * @return {@code true} if Safe Browsing is enabled and {@code false} otherwise.
- */
- public abstract boolean getSafeBrowsingEnabled();
}
diff --git a/java/ql/test/stubs/google-android-9.0.0/android/webkit/WebStorage.java b/java/ql/test/stubs/google-android-9.0.0/android/webkit/WebStorage.java
new file mode 100644
index 000000000000..c63a282b454d
--- /dev/null
+++ b/java/ql/test/stubs/google-android-9.0.0/android/webkit/WebStorage.java
@@ -0,0 +1,21 @@
+// Generated automatically from android.webkit.WebStorage for testing purposes
+
+package android.webkit;
+
+import android.webkit.ValueCallback;
+import java.util.Map;
+
+public class WebStorage
+{
+ public static WebStorage getInstance(){ return null; }
+ public void deleteAllData(){}
+ public void deleteOrigin(String p0){}
+ public void getOrigins(ValueCallback