1// Signature format: 4.0 2package androidx.webkit { 3 4 @SuppressCompatibility @androidx.webkit.WebViewCompat.ExperimentalAsyncStartUp public interface BlockingStartUpLocation { 5 method public String getStackInformation(); 6 } 7 8 @AnyThread public class CookieManagerCompat { 9 method @RequiresFeature(name=androidx.webkit.WebViewFeature.GET_COOKIE_INFO, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static java.util.List<java.lang.String!> getCookieInfo(android.webkit.CookieManager, String); 10 } 11 12 public final class DropDataContentProvider extends android.content.ContentProvider { 13 ctor public DropDataContentProvider(); 14 method public int delete(android.net.Uri, String?, String![]?); 15 method public String? getType(android.net.Uri); 16 method public android.net.Uri? insert(android.net.Uri, android.content.ContentValues?); 17 method public boolean onCreate(); 18 method public android.database.Cursor? query(android.net.Uri, String![]?, String?, String![]?, String?); 19 method public int update(android.net.Uri, android.content.ContentValues?, String?, String![]?); 20 } 21 22 @UiThread public abstract class JavaScriptReplyProxy { 23 method @RequiresFeature(name=androidx.webkit.WebViewFeature.WEB_MESSAGE_ARRAY_BUFFER, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public abstract void postMessage(byte[]); 24 method @RequiresFeature(name=androidx.webkit.WebViewFeature.WEB_MESSAGE_LISTENER, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public abstract void postMessage(String); 25 } 26 27 @SuppressCompatibility @androidx.webkit.WebNavigationClient.ExperimentalNavigationCallback public interface Navigation { 28 method public boolean didCommit(); 29 method public boolean didCommitErrorPage(); 30 method public androidx.webkit.Page? getPage(); 31 method public int getStatusCode(); 32 method public boolean isBack(); 33 method public boolean isForward(); 34 method public boolean isHistory(); 35 method public boolean isReload(); 36 method public boolean isRestore(); 37 method public boolean isSameDocument(); 38 method public boolean wasInitiatedByPage(); 39 } 40 41 @SuppressCompatibility @androidx.webkit.Profile.ExperimentalUrlPrefetch public class NoVarySearchHeader { 42 method @SuppressCompatibility @androidx.webkit.Profile.ExperimentalUrlPrefetch public static androidx.webkit.NoVarySearchHeader alwaysVaryHeader(); 43 method @SuppressCompatibility @androidx.webkit.Profile.ExperimentalUrlPrefetch public static androidx.webkit.NoVarySearchHeader neverVaryExcept(boolean, java.util.List<java.lang.String!>); 44 method @SuppressCompatibility @androidx.webkit.Profile.ExperimentalUrlPrefetch public static androidx.webkit.NoVarySearchHeader neverVaryHeader(); 45 method @SuppressCompatibility @androidx.webkit.Profile.ExperimentalUrlPrefetch public static androidx.webkit.NoVarySearchHeader varyExcept(boolean, java.util.List<java.lang.String!>); 46 field public final java.util.List<java.lang.String!> consideredQueryParameters; 47 field public final boolean ignoreDifferencesInParameters; 48 field public final java.util.List<java.lang.String!> ignoredQueryParameters; 49 field public final boolean varyOnKeyOrder; 50 } 51 52 @SuppressCompatibility @androidx.webkit.Profile.ExperimentalUrlPrefetch public interface OutcomeReceiverCompat<T, E extends java.lang.Throwable> { 53 method public default void onError(E); 54 method public void onResult(T!); 55 } 56 57 @SuppressCompatibility @androidx.webkit.WebNavigationClient.ExperimentalNavigationCallback public interface Page { 58 } 59 60 @SuppressCompatibility @androidx.webkit.Profile.ExperimentalUrlPrefetch public class PrefetchException extends java.lang.Exception { 61 ctor public PrefetchException(); 62 ctor public PrefetchException(String); 63 } 64 65 @SuppressCompatibility @androidx.webkit.Profile.ExperimentalUrlPrefetch public class PrefetchNetworkException extends androidx.webkit.PrefetchException { 66 ctor public PrefetchNetworkException(); 67 ctor public PrefetchNetworkException(int); 68 ctor public PrefetchNetworkException(String); 69 ctor public PrefetchNetworkException(String, int); 70 field public static final int NO_HTTP_RESPONSE_STATUS_CODE = 0; // 0x0 71 field public final int httpResponseStatusCode; 72 } 73 74 @SuppressCompatibility @androidx.webkit.WebViewCompat.ExperimentalUrlPrerender public class PrerenderException extends java.lang.Exception { 75 ctor public PrerenderException(String, Throwable?); 76 } 77 78 @SuppressCompatibility @androidx.webkit.WebViewCompat.ExperimentalUrlPrerender public interface PrerenderOperationCallback { 79 method public void onError(androidx.webkit.PrerenderException); 80 method public void onPrerenderActivated(); 81 } 82 83 public class ProcessGlobalConfig { 84 ctor public ProcessGlobalConfig(); 85 method public static void apply(androidx.webkit.ProcessGlobalConfig); 86 method @RequiresFeature(name=androidx.webkit.WebViewFeature.STARTUP_FEATURE_SET_DATA_DIRECTORY_SUFFIX, enforcement="androidx.webkit.WebViewFeature#isConfigFeatureSupported(String, Context)") public androidx.webkit.ProcessGlobalConfig setDataDirectorySuffix(android.content.Context, String); 87 method @RequiresFeature(name=androidx.webkit.WebViewFeature.STARTUP_FEATURE_SET_DIRECTORY_BASE_PATHS, enforcement="androidx.webkit.WebViewFeature#isConfigFeatureSupported(String, Context)") public androidx.webkit.ProcessGlobalConfig setDirectoryBasePaths(android.content.Context, java.io.File, java.io.File); 88 method @RequiresFeature(name=androidx.webkit.WebViewFeature.STARTUP_FEATURE_CONFIGURE_PARTITIONED_COOKIES, enforcement="androidx.webkit.WebViewFeature#isConfigFeatureSupported(String, Context)") public androidx.webkit.ProcessGlobalConfig setPartitionedCookiesEnabled(android.content.Context, boolean); 89 } 90 91 public interface Profile { 92 method @SuppressCompatibility @RequiresFeature(name=androidx.webkit.WebViewFeature.PROFILE_URL_PREFETCH, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread @androidx.webkit.Profile.ExperimentalUrlPrefetch public void clearPrefetchAsync(String, java.util.concurrent.Executor, androidx.webkit.OutcomeReceiverCompat<java.lang.Void!,androidx.webkit.PrefetchException!>); 93 method @AnyThread @RequiresFeature(name=androidx.webkit.WebViewFeature.MULTI_PROFILE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public android.webkit.CookieManager getCookieManager(); 94 method @AnyThread @RequiresFeature(name=androidx.webkit.WebViewFeature.MULTI_PROFILE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public android.webkit.GeolocationPermissions getGeolocationPermissions(); 95 method @AnyThread @RequiresFeature(name=androidx.webkit.WebViewFeature.MULTI_PROFILE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public String getName(); 96 method @AnyThread @RequiresFeature(name=androidx.webkit.WebViewFeature.MULTI_PROFILE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public android.webkit.ServiceWorkerController getServiceWorkerController(); 97 method @AnyThread @RequiresFeature(name=androidx.webkit.WebViewFeature.MULTI_PROFILE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public android.webkit.WebStorage getWebStorage(); 98 method @SuppressCompatibility @RequiresFeature(name=androidx.webkit.WebViewFeature.PROFILE_URL_PREFETCH, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread @androidx.webkit.Profile.ExperimentalUrlPrefetch public void prefetchUrlAsync(String, android.os.CancellationSignal?, java.util.concurrent.Executor, androidx.webkit.OutcomeReceiverCompat<java.lang.Void!,androidx.webkit.PrefetchException!>); 99 method @SuppressCompatibility @RequiresFeature(name=androidx.webkit.WebViewFeature.PROFILE_URL_PREFETCH, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread @androidx.webkit.Profile.ExperimentalUrlPrefetch public void prefetchUrlAsync(String, android.os.CancellationSignal?, java.util.concurrent.Executor, androidx.webkit.SpeculativeLoadingParameters, androidx.webkit.OutcomeReceiverCompat<java.lang.Void!,androidx.webkit.PrefetchException!>); 100 method @SuppressCompatibility @RequiresFeature(name=androidx.webkit.WebViewFeature.SPECULATIVE_LOADING_CONFIG, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread @androidx.webkit.Profile.ExperimentalUrlPrefetch public void setSpeculativeLoadingConfig(androidx.webkit.SpeculativeLoadingConfig); 101 field public static final String DEFAULT_PROFILE_NAME = "Default"; 102 } 103 104 @SuppressCompatibility @RequiresOptIn(level=androidx.annotation.RequiresOptIn.Level.ERROR) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.TYPE, java.lang.annotation.ElementType.FIELD}) public static @interface Profile.ExperimentalUrlPrefetch { 105 } 106 107 @UiThread public interface ProfileStore { 108 method @RequiresFeature(name=androidx.webkit.WebViewFeature.MULTI_PROFILE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public boolean deleteProfile(String); 109 method @RequiresFeature(name=androidx.webkit.WebViewFeature.MULTI_PROFILE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public java.util.List<java.lang.String!> getAllProfileNames(); 110 method @RequiresFeature(name=androidx.webkit.WebViewFeature.MULTI_PROFILE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static androidx.webkit.ProfileStore getInstance(); 111 method @RequiresFeature(name=androidx.webkit.WebViewFeature.MULTI_PROFILE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public androidx.webkit.Profile getOrCreateProfile(String); 112 method @RequiresFeature(name=androidx.webkit.WebViewFeature.MULTI_PROFILE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public androidx.webkit.Profile? getProfile(String); 113 } 114 115 public final class ProxyConfig { 116 method public java.util.List<java.lang.String!> getBypassRules(); 117 method public java.util.List<androidx.webkit.ProxyConfig.ProxyRule!> getProxyRules(); 118 method public boolean isReverseBypassEnabled(); 119 field public static final String MATCH_ALL_SCHEMES = "*"; 120 field public static final String MATCH_HTTP = "http"; 121 field public static final String MATCH_HTTPS = "https"; 122 } 123 124 public static final class ProxyConfig.Builder { 125 ctor public ProxyConfig.Builder(); 126 ctor public ProxyConfig.Builder(androidx.webkit.ProxyConfig); 127 method public androidx.webkit.ProxyConfig.Builder addBypassRule(String); 128 method public androidx.webkit.ProxyConfig.Builder addDirect(); 129 method public androidx.webkit.ProxyConfig.Builder addDirect(String); 130 method public androidx.webkit.ProxyConfig.Builder addProxyRule(String); 131 method public androidx.webkit.ProxyConfig.Builder addProxyRule(String, String); 132 method public androidx.webkit.ProxyConfig build(); 133 method public androidx.webkit.ProxyConfig.Builder bypassSimpleHostnames(); 134 method public androidx.webkit.ProxyConfig.Builder removeImplicitRules(); 135 method @RequiresFeature(name=androidx.webkit.WebViewFeature.PROXY_OVERRIDE_REVERSE_BYPASS, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public androidx.webkit.ProxyConfig.Builder setReverseBypassEnabled(boolean); 136 } 137 138 public static final class ProxyConfig.ProxyRule { 139 method public String getSchemeFilter(); 140 method public String getUrl(); 141 } 142 143 @AnyThread public abstract class ProxyController { 144 method public abstract void clearProxyOverride(java.util.concurrent.Executor, Runnable); 145 method @RequiresFeature(name=androidx.webkit.WebViewFeature.PROXY_OVERRIDE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static androidx.webkit.ProxyController getInstance(); 146 method public abstract void setProxyOverride(androidx.webkit.ProxyConfig, java.util.concurrent.Executor, Runnable); 147 } 148 149 public abstract class SafeBrowsingResponseCompat { 150 method @RequiresFeature(name=androidx.webkit.WebViewFeature.SAFE_BROWSING_RESPONSE_BACK_TO_SAFETY, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public abstract void backToSafety(boolean); 151 method @RequiresFeature(name=androidx.webkit.WebViewFeature.SAFE_BROWSING_RESPONSE_PROCEED, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public abstract void proceed(boolean); 152 method @RequiresFeature(name=androidx.webkit.WebViewFeature.SAFE_BROWSING_RESPONSE_SHOW_INTERSTITIAL, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public abstract void showInterstitial(boolean); 153 } 154 155 public interface ScriptHandler { 156 method @RequiresFeature(name=androidx.webkit.WebViewFeature.DOCUMENT_START_SCRIPT, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread public void remove(); 157 } 158 159 public abstract class ServiceWorkerClientCompat { 160 ctor public ServiceWorkerClientCompat(); 161 method @WorkerThread public abstract android.webkit.WebResourceResponse? shouldInterceptRequest(android.webkit.WebResourceRequest); 162 } 163 164 @AnyThread public abstract class ServiceWorkerControllerCompat { 165 method @RequiresFeature(name=androidx.webkit.WebViewFeature.SERVICE_WORKER_BASIC_USAGE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static androidx.webkit.ServiceWorkerControllerCompat getInstance(); 166 method public abstract androidx.webkit.ServiceWorkerWebSettingsCompat getServiceWorkerWebSettings(); 167 method public abstract void setServiceWorkerClient(androidx.webkit.ServiceWorkerClientCompat?); 168 } 169 170 @AnyThread public abstract class ServiceWorkerWebSettingsCompat { 171 method @RequiresFeature(name=androidx.webkit.WebViewFeature.SERVICE_WORKER_CONTENT_ACCESS, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public abstract boolean getAllowContentAccess(); 172 method @RequiresFeature(name=androidx.webkit.WebViewFeature.SERVICE_WORKER_FILE_ACCESS, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public abstract boolean getAllowFileAccess(); 173 method @RequiresFeature(name=androidx.webkit.WebViewFeature.SERVICE_WORKER_BLOCK_NETWORK_LOADS, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public abstract boolean getBlockNetworkLoads(); 174 method @RequiresFeature(name=androidx.webkit.WebViewFeature.SERVICE_WORKER_CACHE_MODE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public abstract int getCacheMode(); 175 method @RequiresFeature(name="REQUESTED_WITH_HEADER_ALLOW_LIST", enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public abstract java.util.Set<java.lang.String!> getRequestedWithHeaderOriginAllowList(); 176 method @RequiresFeature(name=androidx.webkit.WebViewFeature.SERVICE_WORKER_CONTENT_ACCESS, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public abstract void setAllowContentAccess(boolean); 177 method @RequiresFeature(name=androidx.webkit.WebViewFeature.SERVICE_WORKER_FILE_ACCESS, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public abstract void setAllowFileAccess(boolean); 178 method @RequiresFeature(name=androidx.webkit.WebViewFeature.SERVICE_WORKER_BLOCK_NETWORK_LOADS, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public abstract void setBlockNetworkLoads(boolean); 179 method @RequiresFeature(name=androidx.webkit.WebViewFeature.SERVICE_WORKER_CACHE_MODE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public abstract void setCacheMode(int); 180 method @RequiresFeature(name="REQUESTED_WITH_HEADER_ALLOW_LIST", enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public abstract void setRequestedWithHeaderOriginAllowList(java.util.Set<java.lang.String!>); 181 } 182 183 @SuppressCompatibility @androidx.webkit.Profile.ExperimentalUrlPrefetch public class SpeculativeLoadingConfig { 184 method @IntRange(from=1) public int getMaxPrefetches(); 185 method @SuppressCompatibility @IntRange(from=1) @androidx.webkit.Profile.ExperimentalUrlPrefetch public int getMaxPrerenders(); 186 method @IntRange(from=1) public int getPrefetchTtlSeconds(); 187 } 188 189 @SuppressCompatibility @androidx.webkit.Profile.ExperimentalUrlPrefetch public static final class SpeculativeLoadingConfig.Builder { 190 ctor public SpeculativeLoadingConfig.Builder(); 191 method @SuppressCompatibility @androidx.webkit.Profile.ExperimentalUrlPrefetch public androidx.webkit.SpeculativeLoadingConfig build(); 192 method public androidx.webkit.SpeculativeLoadingConfig.Builder setMaxPrefetches(@IntRange(from=1) int); 193 method public androidx.webkit.SpeculativeLoadingConfig.Builder setMaxPrerenders(@IntRange(from=1) int); 194 method public androidx.webkit.SpeculativeLoadingConfig.Builder setPrefetchTtlSeconds(@IntRange(from=1) int); 195 } 196 197 @SuppressCompatibility @RequiresFeature(name=androidx.webkit.WebViewFeature.PROFILE_URL_PREFETCH, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @androidx.webkit.Profile.ExperimentalUrlPrefetch public final class SpeculativeLoadingParameters { 198 method public java.util.Map<java.lang.String!,java.lang.String!> getAdditionalHeaders(); 199 method public androidx.webkit.NoVarySearchHeader? getExpectedNoVarySearchData(); 200 method public boolean isJavaScriptEnabled(); 201 } 202 203 public static final class SpeculativeLoadingParameters.Builder { 204 ctor public SpeculativeLoadingParameters.Builder(); 205 method @SuppressCompatibility @androidx.webkit.Profile.ExperimentalUrlPrefetch public androidx.webkit.SpeculativeLoadingParameters.Builder addAdditionalHeader(String, String); 206 method @SuppressCompatibility @androidx.webkit.Profile.ExperimentalUrlPrefetch public androidx.webkit.SpeculativeLoadingParameters.Builder addAdditionalHeaders(java.util.Map<java.lang.String!,java.lang.String!>); 207 method @SuppressCompatibility @RequiresFeature(name=androidx.webkit.WebViewFeature.PROFILE_URL_PREFETCH, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @androidx.webkit.Profile.ExperimentalUrlPrefetch public androidx.webkit.SpeculativeLoadingParameters build(); 208 method @SuppressCompatibility @androidx.webkit.Profile.ExperimentalUrlPrefetch public androidx.webkit.SpeculativeLoadingParameters.Builder setExpectedNoVarySearchData(androidx.webkit.NoVarySearchHeader); 209 method @SuppressCompatibility @androidx.webkit.Profile.ExperimentalUrlPrefetch public androidx.webkit.SpeculativeLoadingParameters.Builder setJavaScriptEnabled(boolean); 210 } 211 212 public class TracingConfig { 213 method public java.util.List<java.lang.String!> getCustomIncludedCategories(); 214 method public int getPredefinedCategories(); 215 method public int getTracingMode(); 216 field public static final int CATEGORIES_ALL = 1; // 0x1 217 field public static final int CATEGORIES_ANDROID_WEBVIEW = 2; // 0x2 218 field public static final int CATEGORIES_FRAME_VIEWER = 64; // 0x40 219 field public static final int CATEGORIES_INPUT_LATENCY = 8; // 0x8 220 field public static final int CATEGORIES_JAVASCRIPT_AND_RENDERING = 32; // 0x20 221 field public static final int CATEGORIES_NONE = 0; // 0x0 222 field public static final int CATEGORIES_RENDERING = 16; // 0x10 223 field public static final int CATEGORIES_WEB_DEVELOPER = 4; // 0x4 224 field public static final int RECORD_CONTINUOUSLY = 1; // 0x1 225 field public static final int RECORD_UNTIL_FULL = 0; // 0x0 226 } 227 228 public static class TracingConfig.Builder { 229 ctor public TracingConfig.Builder(); 230 method public androidx.webkit.TracingConfig.Builder addCategories(int...); 231 method public androidx.webkit.TracingConfig.Builder addCategories(java.lang.String!...); 232 method public androidx.webkit.TracingConfig.Builder addCategories(java.util.Collection<java.lang.String!>); 233 method public androidx.webkit.TracingConfig build(); 234 method public androidx.webkit.TracingConfig.Builder setTracingMode(int); 235 } 236 237 @AnyThread public abstract class TracingController { 238 method @RequiresFeature(name=androidx.webkit.WebViewFeature.TRACING_CONTROLLER_BASIC_USAGE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static androidx.webkit.TracingController getInstance(); 239 method public abstract boolean isTracing(); 240 method public abstract void start(androidx.webkit.TracingConfig); 241 method public abstract boolean stop(java.io.OutputStream?, java.util.concurrent.Executor); 242 } 243 244 public final class URLUtilCompat { 245 method public static String? getFilenameFromContentDisposition(String); 246 method public static String guessFileName(String, String?, String?); 247 } 248 249 public final class UserAgentMetadata { 250 method public String? getArchitecture(); 251 method public int getBitness(); 252 method public java.util.List<androidx.webkit.UserAgentMetadata.BrandVersion!> getBrandVersionList(); 253 method public String? getFullVersion(); 254 method public String? getModel(); 255 method public String? getPlatform(); 256 method public String? getPlatformVersion(); 257 method public boolean isMobile(); 258 method public boolean isWow64(); 259 field public static final int BITNESS_DEFAULT = 0; // 0x0 260 } 261 262 public static final class UserAgentMetadata.BrandVersion { 263 method public String getBrand(); 264 method public String getFullVersion(); 265 method public String getMajorVersion(); 266 } 267 268 public static final class UserAgentMetadata.BrandVersion.Builder { 269 ctor public UserAgentMetadata.BrandVersion.Builder(); 270 ctor public UserAgentMetadata.BrandVersion.Builder(androidx.webkit.UserAgentMetadata.BrandVersion); 271 method public androidx.webkit.UserAgentMetadata.BrandVersion build(); 272 method public androidx.webkit.UserAgentMetadata.BrandVersion.Builder setBrand(String); 273 method public androidx.webkit.UserAgentMetadata.BrandVersion.Builder setFullVersion(String); 274 method public androidx.webkit.UserAgentMetadata.BrandVersion.Builder setMajorVersion(String); 275 } 276 277 public static final class UserAgentMetadata.Builder { 278 ctor public UserAgentMetadata.Builder(); 279 ctor public UserAgentMetadata.Builder(androidx.webkit.UserAgentMetadata); 280 method public androidx.webkit.UserAgentMetadata build(); 281 method public androidx.webkit.UserAgentMetadata.Builder setArchitecture(String?); 282 method public androidx.webkit.UserAgentMetadata.Builder setBitness(int); 283 method public androidx.webkit.UserAgentMetadata.Builder setBrandVersionList(java.util.List<androidx.webkit.UserAgentMetadata.BrandVersion!>); 284 method public androidx.webkit.UserAgentMetadata.Builder setFullVersion(String?); 285 method public androidx.webkit.UserAgentMetadata.Builder setMobile(boolean); 286 method public androidx.webkit.UserAgentMetadata.Builder setModel(String?); 287 method public androidx.webkit.UserAgentMetadata.Builder setPlatform(String?); 288 method public androidx.webkit.UserAgentMetadata.Builder setPlatformVersion(String?); 289 method public androidx.webkit.UserAgentMetadata.Builder setWow64(boolean); 290 } 291 292 public class WebMessageCompat { 293 ctor @RequiresFeature(name=androidx.webkit.WebViewFeature.WEB_MESSAGE_ARRAY_BUFFER, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public WebMessageCompat(byte[]); 294 ctor @RequiresFeature(name=androidx.webkit.WebViewFeature.WEB_MESSAGE_ARRAY_BUFFER, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public WebMessageCompat(byte[], androidx.webkit.WebMessagePortCompat![]?); 295 ctor public WebMessageCompat(String?); 296 ctor public WebMessageCompat(String?, androidx.webkit.WebMessagePortCompat![]?); 297 method public byte[] getArrayBuffer(); 298 method public String? getData(); 299 method public androidx.webkit.WebMessagePortCompat![]? getPorts(); 300 method public int getType(); 301 field public static final int TYPE_ARRAY_BUFFER = 1; // 0x1 302 field public static final int TYPE_STRING = 0; // 0x0 303 } 304 305 @AnyThread public abstract class WebMessagePortCompat { 306 method @RequiresFeature(name=androidx.webkit.WebViewFeature.WEB_MESSAGE_PORT_CLOSE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public abstract void close(); 307 method @RequiresFeature(name=androidx.webkit.WebViewFeature.WEB_MESSAGE_PORT_POST_MESSAGE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public abstract void postMessage(androidx.webkit.WebMessageCompat); 308 method @RequiresFeature(name=androidx.webkit.WebViewFeature.WEB_MESSAGE_PORT_SET_MESSAGE_CALLBACK, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public abstract void setWebMessageCallback(android.os.Handler?, androidx.webkit.WebMessagePortCompat.WebMessageCallbackCompat); 309 method @RequiresFeature(name=androidx.webkit.WebViewFeature.WEB_MESSAGE_PORT_SET_MESSAGE_CALLBACK, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public abstract void setWebMessageCallback(androidx.webkit.WebMessagePortCompat.WebMessageCallbackCompat); 310 } 311 312 public abstract static class WebMessagePortCompat.WebMessageCallbackCompat { 313 ctor public WebMessagePortCompat.WebMessageCallbackCompat(); 314 method public void onMessage(androidx.webkit.WebMessagePortCompat, androidx.webkit.WebMessageCompat?); 315 } 316 317 @SuppressCompatibility @androidx.webkit.WebNavigationClient.ExperimentalNavigationCallback public interface WebNavigationClient { 318 method public void onFirstContentfulPaint(androidx.webkit.Page); 319 method public void onNavigationCompleted(androidx.webkit.Navigation); 320 method public void onNavigationRedirected(androidx.webkit.Navigation); 321 method public void onNavigationStarted(androidx.webkit.Navigation); 322 method public void onPageDeleted(androidx.webkit.Page); 323 method public void onPageDomContentLoadedEventFired(androidx.webkit.Page); 324 method public void onPageLoadEventFired(androidx.webkit.Page); 325 } 326 327 @SuppressCompatibility @RequiresOptIn(level=androidx.annotation.RequiresOptIn.Level.ERROR) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.TYPE, java.lang.annotation.ElementType.FIELD}) public static @interface WebNavigationClient.ExperimentalNavigationCallback { 328 } 329 330 public abstract class WebResourceErrorCompat { 331 method @RequiresFeature(name=androidx.webkit.WebViewFeature.WEB_RESOURCE_ERROR_GET_DESCRIPTION, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public abstract CharSequence getDescription(); 332 method @RequiresFeature(name=androidx.webkit.WebViewFeature.WEB_RESOURCE_ERROR_GET_CODE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public abstract int getErrorCode(); 333 } 334 335 public class WebResourceRequestCompat { 336 method @RequiresFeature(name=androidx.webkit.WebViewFeature.WEB_RESOURCE_REQUEST_IS_REDIRECT, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static boolean isRedirect(android.webkit.WebResourceRequest); 337 } 338 339 public class WebSettingsCompat { 340 method @RequiresFeature(name=androidx.webkit.WebViewFeature.ATTRIBUTION_REGISTRATION_BEHAVIOR, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static int getAttributionRegistrationBehavior(android.webkit.WebSettings); 341 method @SuppressCompatibility @RequiresFeature(name=androidx.webkit.WebViewFeature.BACK_FORWARD_CACHE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @androidx.webkit.WebSettingsCompat.ExperimentalBackForwardCache public static boolean getBackForwardCacheEnabled(android.webkit.WebSettings); 342 method @RequiresFeature(name=androidx.webkit.WebViewFeature.DISABLED_ACTION_MODE_MENU_ITEMS, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static int getDisabledActionModeMenuItems(android.webkit.WebSettings); 343 method @RequiresFeature(name=androidx.webkit.WebViewFeature.ENTERPRISE_AUTHENTICATION_APP_LINK_POLICY, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static boolean getEnterpriseAuthenticationAppLinkPolicyEnabled(android.webkit.WebSettings); 344 method @Deprecated @RequiresFeature(name=androidx.webkit.WebViewFeature.FORCE_DARK, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static int getForceDark(android.webkit.WebSettings); 345 method @Deprecated @RequiresFeature(name=androidx.webkit.WebViewFeature.FORCE_DARK_STRATEGY, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static int getForceDarkStrategy(android.webkit.WebSettings); 346 method @RequiresFeature(name=androidx.webkit.WebViewFeature.PAYMENT_REQUEST, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static boolean getHasEnrolledInstrumentEnabled(android.webkit.WebSettings); 347 method @RequiresFeature(name=androidx.webkit.WebViewFeature.OFF_SCREEN_PRERASTER, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static boolean getOffscreenPreRaster(android.webkit.WebSettings); 348 method @RequiresFeature(name=androidx.webkit.WebViewFeature.PAYMENT_REQUEST, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static boolean getPaymentRequestEnabled(android.webkit.WebSettings); 349 method @RequiresFeature(name="REQUESTED_WITH_HEADER_ALLOW_LIST", enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static java.util.Set<java.lang.String!> getRequestedWithHeaderOriginAllowList(android.webkit.WebSettings); 350 method @RequiresFeature(name=androidx.webkit.WebViewFeature.SAFE_BROWSING_ENABLE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static boolean getSafeBrowsingEnabled(android.webkit.WebSettings); 351 method @SuppressCompatibility @RequiresFeature(name=androidx.webkit.WebViewFeature.SPECULATIVE_LOADING, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @androidx.webkit.WebSettingsCompat.ExperimentalSpeculativeLoading public static int getSpeculativeLoadingStatus(android.webkit.WebSettings); 352 method @RequiresFeature(name=androidx.webkit.WebViewFeature.USER_AGENT_METADATA, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static androidx.webkit.UserAgentMetadata getUserAgentMetadata(android.webkit.WebSettings); 353 method @RequiresFeature(name=androidx.webkit.WebViewFeature.WEB_AUTHENTICATION, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread public static int getWebAuthenticationSupport(android.webkit.WebSettings); 354 method @RequiresFeature(name=androidx.webkit.WebViewFeature.WEBVIEW_MEDIA_INTEGRITY_API_STATUS, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static androidx.webkit.WebViewMediaIntegrityApiStatusConfig getWebViewMediaIntegrityApiStatus(android.webkit.WebSettings); 355 method @RequiresFeature(name=androidx.webkit.WebViewFeature.ALGORITHMIC_DARKENING, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static boolean isAlgorithmicDarkeningAllowed(android.webkit.WebSettings); 356 method @RequiresFeature(name=androidx.webkit.WebViewFeature.ALGORITHMIC_DARKENING, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static void setAlgorithmicDarkeningAllowed(android.webkit.WebSettings, boolean); 357 method @RequiresFeature(name=androidx.webkit.WebViewFeature.ATTRIBUTION_REGISTRATION_BEHAVIOR, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static void setAttributionRegistrationBehavior(android.webkit.WebSettings, int); 358 method @SuppressCompatibility @RequiresFeature(name=androidx.webkit.WebViewFeature.BACK_FORWARD_CACHE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @androidx.webkit.WebSettingsCompat.ExperimentalBackForwardCache public static void setBackForwardCacheEnabled(android.webkit.WebSettings, boolean); 359 method @RequiresFeature(name=androidx.webkit.WebViewFeature.DISABLED_ACTION_MODE_MENU_ITEMS, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static void setDisabledActionModeMenuItems(android.webkit.WebSettings, int); 360 method @RequiresFeature(name=androidx.webkit.WebViewFeature.ENTERPRISE_AUTHENTICATION_APP_LINK_POLICY, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static void setEnterpriseAuthenticationAppLinkPolicyEnabled(android.webkit.WebSettings, boolean); 361 method @Deprecated @RequiresFeature(name=androidx.webkit.WebViewFeature.FORCE_DARK, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static void setForceDark(android.webkit.WebSettings, int); 362 method @Deprecated @RequiresFeature(name=androidx.webkit.WebViewFeature.FORCE_DARK_STRATEGY, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static void setForceDarkStrategy(android.webkit.WebSettings, int); 363 method @RequiresFeature(name=androidx.webkit.WebViewFeature.PAYMENT_REQUEST, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static void setHasEnrolledInstrumentEnabled(android.webkit.WebSettings, boolean); 364 method @RequiresFeature(name=androidx.webkit.WebViewFeature.OFF_SCREEN_PRERASTER, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static void setOffscreenPreRaster(android.webkit.WebSettings, boolean); 365 method @RequiresFeature(name=androidx.webkit.WebViewFeature.PAYMENT_REQUEST, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static void setPaymentRequestEnabled(android.webkit.WebSettings, boolean); 366 method @RequiresFeature(name="REQUESTED_WITH_HEADER_ALLOW_LIST", enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static void setRequestedWithHeaderOriginAllowList(android.webkit.WebSettings, java.util.Set<java.lang.String!>); 367 method @RequiresFeature(name=androidx.webkit.WebViewFeature.SAFE_BROWSING_ENABLE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static void setSafeBrowsingEnabled(android.webkit.WebSettings, boolean); 368 method @SuppressCompatibility @RequiresFeature(name=androidx.webkit.WebViewFeature.SPECULATIVE_LOADING, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @androidx.webkit.WebSettingsCompat.ExperimentalSpeculativeLoading public static void setSpeculativeLoadingStatus(android.webkit.WebSettings, @SuppressCompatibility int); 369 method @RequiresFeature(name=androidx.webkit.WebViewFeature.USER_AGENT_METADATA, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static void setUserAgentMetadata(android.webkit.WebSettings, androidx.webkit.UserAgentMetadata); 370 method @RequiresFeature(name=androidx.webkit.WebViewFeature.WEB_AUTHENTICATION, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread public static void setWebAuthenticationSupport(android.webkit.WebSettings, int); 371 method @RequiresFeature(name=androidx.webkit.WebViewFeature.WEBVIEW_MEDIA_INTEGRITY_API_STATUS, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static void setWebViewMediaIntegrityApiStatus(android.webkit.WebSettings, androidx.webkit.WebViewMediaIntegrityApiStatusConfig); 372 field public static final int ATTRIBUTION_BEHAVIOR_APP_SOURCE_AND_APP_TRIGGER = 3; // 0x3 373 field public static final int ATTRIBUTION_BEHAVIOR_APP_SOURCE_AND_WEB_TRIGGER = 1; // 0x1 374 field public static final int ATTRIBUTION_BEHAVIOR_DISABLED = 0; // 0x0 375 field public static final int ATTRIBUTION_BEHAVIOR_WEB_SOURCE_AND_WEB_TRIGGER = 2; // 0x2 376 field @Deprecated public static final int DARK_STRATEGY_PREFER_WEB_THEME_OVER_USER_AGENT_DARKENING = 2; // 0x2 377 field @Deprecated public static final int DARK_STRATEGY_USER_AGENT_DARKENING_ONLY = 0; // 0x0 378 field @Deprecated public static final int DARK_STRATEGY_WEB_THEME_DARKENING_ONLY = 1; // 0x1 379 field @Deprecated public static final int FORCE_DARK_AUTO = 1; // 0x1 380 field @Deprecated public static final int FORCE_DARK_OFF = 0; // 0x0 381 field @Deprecated public static final int FORCE_DARK_ON = 2; // 0x2 382 field @SuppressCompatibility @androidx.webkit.WebSettingsCompat.ExperimentalSpeculativeLoading public static final int SPECULATIVE_LOADING_DISABLED = 0; // 0x0 383 field @SuppressCompatibility @androidx.webkit.WebSettingsCompat.ExperimentalSpeculativeLoading public static final int SPECULATIVE_LOADING_PRERENDER_ENABLED = 1; // 0x1 384 field public static final int WEB_AUTHENTICATION_SUPPORT_FOR_APP = 1; // 0x1 385 field public static final int WEB_AUTHENTICATION_SUPPORT_FOR_BROWSER = 2; // 0x2 386 field public static final int WEB_AUTHENTICATION_SUPPORT_NONE = 0; // 0x0 387 } 388 389 @SuppressCompatibility @RequiresOptIn(level=androidx.annotation.RequiresOptIn.Level.ERROR) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.TYPE}) public static @interface WebSettingsCompat.ExperimentalBackForwardCache { 390 } 391 392 @SuppressCompatibility @RequiresOptIn(level=androidx.annotation.RequiresOptIn.Level.ERROR) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.TYPE}) public static @interface WebSettingsCompat.ExperimentalSpeculativeLoading { 393 } 394 395 public final class WebStorageCompat { 396 method @RequiresFeature(name=androidx.webkit.WebViewFeature.DELETE_BROWSING_DATA, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread public static void deleteBrowsingData(android.webkit.WebStorage, Runnable); 397 method @RequiresFeature(name=androidx.webkit.WebViewFeature.DELETE_BROWSING_DATA, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread public static void deleteBrowsingData(android.webkit.WebStorage, java.util.concurrent.Executor, Runnable); 398 method @RequiresFeature(name=androidx.webkit.WebViewFeature.DELETE_BROWSING_DATA, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread public static String deleteBrowsingDataForSite(android.webkit.WebStorage, String, Runnable); 399 method @RequiresFeature(name=androidx.webkit.WebViewFeature.DELETE_BROWSING_DATA, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread public static String deleteBrowsingDataForSite(android.webkit.WebStorage, String, java.util.concurrent.Executor, Runnable); 400 } 401 402 public final class WebViewAssetLoader { 403 method @WorkerThread public android.webkit.WebResourceResponse? shouldInterceptRequest(android.net.Uri); 404 field public static final String DEFAULT_DOMAIN = "appassets.androidplatform.net"; 405 } 406 407 public static final class WebViewAssetLoader.AssetsPathHandler implements androidx.webkit.WebViewAssetLoader.PathHandler { 408 ctor public WebViewAssetLoader.AssetsPathHandler(android.content.Context); 409 method @WorkerThread public android.webkit.WebResourceResponse? handle(String); 410 } 411 412 public static final class WebViewAssetLoader.Builder { 413 ctor public WebViewAssetLoader.Builder(); 414 method public androidx.webkit.WebViewAssetLoader.Builder addPathHandler(String, androidx.webkit.WebViewAssetLoader.PathHandler); 415 method public androidx.webkit.WebViewAssetLoader build(); 416 method public androidx.webkit.WebViewAssetLoader.Builder setDomain(String); 417 method public androidx.webkit.WebViewAssetLoader.Builder setHttpAllowed(boolean); 418 } 419 420 public static final class WebViewAssetLoader.InternalStoragePathHandler implements androidx.webkit.WebViewAssetLoader.PathHandler { 421 ctor public WebViewAssetLoader.InternalStoragePathHandler(android.content.Context, java.io.File); 422 method @WorkerThread public android.webkit.WebResourceResponse handle(String); 423 } 424 425 public static interface WebViewAssetLoader.PathHandler { 426 method @WorkerThread public android.webkit.WebResourceResponse? handle(String); 427 } 428 429 public static final class WebViewAssetLoader.ResourcesPathHandler implements androidx.webkit.WebViewAssetLoader.PathHandler { 430 ctor public WebViewAssetLoader.ResourcesPathHandler(android.content.Context); 431 method @WorkerThread public android.webkit.WebResourceResponse? handle(String); 432 } 433 434 public class WebViewClientCompat extends android.webkit.WebViewClient { 435 ctor public WebViewClientCompat(); 436 method @RequiresApi(android.os.Build.VERSION_CODES.M) public final void onReceivedError(android.webkit.WebView, android.webkit.WebResourceRequest, android.webkit.WebResourceError); 437 method @UiThread public void onReceivedError(android.webkit.WebView, android.webkit.WebResourceRequest, androidx.webkit.WebResourceErrorCompat); 438 method @RequiresApi(android.os.Build.VERSION_CODES.O_MR1) public final void onSafeBrowsingHit(android.webkit.WebView, android.webkit.WebResourceRequest, int, android.webkit.SafeBrowsingResponse); 439 method @UiThread public void onSafeBrowsingHit(android.webkit.WebView, android.webkit.WebResourceRequest, int, androidx.webkit.SafeBrowsingResponseCompat); 440 } 441 442 public class WebViewCompat { 443 method @RequiresFeature(name=androidx.webkit.WebViewFeature.DOCUMENT_START_SCRIPT, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread public static androidx.webkit.ScriptHandler addDocumentStartJavaScript(android.webkit.WebView, String, java.util.Set<java.lang.String!>); 444 method @RequiresFeature(name=androidx.webkit.WebViewFeature.WEB_MESSAGE_LISTENER, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread public static void addWebMessageListener(android.webkit.WebView, String, java.util.Set<java.lang.String!>, androidx.webkit.WebViewCompat.WebMessageListener); 445 method @RequiresFeature(name=androidx.webkit.WebViewFeature.CREATE_WEB_MESSAGE_CHANNEL, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread public static androidx.webkit.WebMessagePortCompat![] createWebMessageChannel(android.webkit.WebView); 446 method @AnyThread public static android.content.pm.PackageInfo? getCurrentWebViewPackage(android.content.Context); 447 method @RequiresFeature(name=androidx.webkit.WebViewFeature.MULTI_PROFILE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread public static androidx.webkit.Profile getProfile(android.webkit.WebView); 448 method @AnyThread @RequiresFeature(name=androidx.webkit.WebViewFeature.SAFE_BROWSING_PRIVACY_POLICY_URL, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static android.net.Uri getSafeBrowsingPrivacyPolicyUrl(); 449 method @AnyThread @RequiresFeature(name=androidx.webkit.WebViewFeature.GET_VARIATIONS_HEADER, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static String getVariationsHeader(); 450 method @RequiresFeature(name=androidx.webkit.WebViewFeature.GET_WEB_CHROME_CLIENT, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread public static android.webkit.WebChromeClient? getWebChromeClient(android.webkit.WebView); 451 method @SuppressCompatibility @RequiresFeature(name=androidx.webkit.WebViewFeature.NAVIGATION_CALLBACK_BASIC, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread @androidx.webkit.WebNavigationClient.ExperimentalNavigationCallback public static androidx.webkit.WebNavigationClient getWebNavigationClient(android.webkit.WebView); 452 method @RequiresFeature(name=androidx.webkit.WebViewFeature.GET_WEB_VIEW_CLIENT, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread public static android.webkit.WebViewClient getWebViewClient(android.webkit.WebView); 453 method @RequiresFeature(name=androidx.webkit.WebViewFeature.GET_WEB_VIEW_RENDERER, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread public static androidx.webkit.WebViewRenderProcess? getWebViewRenderProcess(android.webkit.WebView); 454 method @RequiresFeature(name=androidx.webkit.WebViewFeature.WEB_VIEW_RENDERER_CLIENT_BASIC_USAGE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread public static androidx.webkit.WebViewRenderProcessClient? getWebViewRenderProcessClient(android.webkit.WebView); 455 method @RequiresFeature(name=androidx.webkit.WebViewFeature.MUTE_AUDIO, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread public static boolean isAudioMuted(android.webkit.WebView); 456 method @AnyThread @RequiresFeature(name=androidx.webkit.WebViewFeature.MULTI_PROCESS, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static boolean isMultiProcessEnabled(); 457 method @RequiresFeature(name=androidx.webkit.WebViewFeature.VISUAL_STATE_CALLBACK, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread public static void postVisualStateCallback(android.webkit.WebView, long, androidx.webkit.WebViewCompat.VisualStateCallback); 458 method @RequiresFeature(name=androidx.webkit.WebViewFeature.POST_WEB_MESSAGE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread public static void postWebMessage(android.webkit.WebView, androidx.webkit.WebMessageCompat, android.net.Uri); 459 method @SuppressCompatibility @RequiresFeature(name=androidx.webkit.WebViewFeature.PRERENDER_WITH_URL, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread @androidx.webkit.WebViewCompat.ExperimentalUrlPrerender public static void prerenderUrlAsync(android.webkit.WebView, String, android.os.CancellationSignal?, java.util.concurrent.Executor, androidx.webkit.PrerenderOperationCallback); 460 method @SuppressCompatibility @RequiresFeature(name=androidx.webkit.WebViewFeature.PRERENDER_WITH_URL, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread @androidx.webkit.WebViewCompat.ExperimentalUrlPrerender public static void prerenderUrlAsync(android.webkit.WebView, String, android.os.CancellationSignal?, java.util.concurrent.Executor, androidx.webkit.SpeculativeLoadingParameters, androidx.webkit.PrerenderOperationCallback); 461 method @RequiresFeature(name=androidx.webkit.WebViewFeature.WEB_MESSAGE_LISTENER, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread public static void removeWebMessageListener(android.webkit.WebView, String); 462 method @SuppressCompatibility @RequiresFeature(name=androidx.webkit.WebViewFeature.SAVE_STATE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread @androidx.webkit.WebViewCompat.ExperimentalSaveState public static void saveState(android.webkit.WebView, android.os.Bundle, @IntRange(from=1) int, boolean); 463 method @RequiresFeature(name=androidx.webkit.WebViewFeature.MUTE_AUDIO, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread public static void setAudioMuted(android.webkit.WebView, boolean); 464 method @AnyThread @RequiresFeature(name=androidx.webkit.WebViewFeature.DEFAULT_TRAFFICSTATS_TAGGING, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static void setDefaultTrafficStatsTag(int); 465 method @RequiresFeature(name=androidx.webkit.WebViewFeature.MULTI_PROFILE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread public static void setProfile(android.webkit.WebView, String); 466 method @AnyThread @RequiresFeature(name=androidx.webkit.WebViewFeature.SAFE_BROWSING_ALLOWLIST, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static void setSafeBrowsingAllowlist(java.util.Set<java.lang.String!>, android.webkit.ValueCallback<java.lang.Boolean!>?); 467 method @Deprecated @AnyThread @RequiresFeature(name=androidx.webkit.WebViewFeature.SAFE_BROWSING_WHITELIST, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static void setSafeBrowsingWhitelist(java.util.List<java.lang.String!>, android.webkit.ValueCallback<java.lang.Boolean!>?); 468 method @SuppressCompatibility @AnyThread @RequiresFeature(name=androidx.webkit.WebViewFeature.CACHE_PROVIDER, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @androidx.webkit.WebViewCompat.ExperimentalCacheProvider public static void setShouldCacheProvider(boolean); 469 method @SuppressCompatibility @RequiresFeature(name=androidx.webkit.WebViewFeature.NAVIGATION_CALLBACK_BASIC, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread @androidx.webkit.WebNavigationClient.ExperimentalNavigationCallback public static void setWebNavigationClient(android.webkit.WebView, androidx.webkit.WebNavigationClient); 470 method @RequiresFeature(name=androidx.webkit.WebViewFeature.WEB_VIEW_RENDERER_CLIENT_BASIC_USAGE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread public static void setWebViewRenderProcessClient(android.webkit.WebView, androidx.webkit.WebViewRenderProcessClient?); 471 method @RequiresFeature(name=androidx.webkit.WebViewFeature.WEB_VIEW_RENDERER_CLIENT_BASIC_USAGE, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") @UiThread public static void setWebViewRenderProcessClient(android.webkit.WebView, java.util.concurrent.Executor, androidx.webkit.WebViewRenderProcessClient); 472 method @Deprecated @AnyThread @RequiresFeature(name=androidx.webkit.WebViewFeature.START_SAFE_BROWSING, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public static void startSafeBrowsing(android.content.Context, android.webkit.ValueCallback<java.lang.Boolean!>?); 473 method @SuppressCompatibility @AnyThread @androidx.webkit.WebViewCompat.ExperimentalAsyncStartUp public static void startUpWebView(androidx.webkit.WebViewStartUpConfig, androidx.webkit.WebViewCompat.WebViewStartUpCallback); 474 } 475 476 @SuppressCompatibility @RequiresOptIn(level=androidx.annotation.RequiresOptIn.Level.ERROR) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.TYPE, java.lang.annotation.ElementType.FIELD}) public static @interface WebViewCompat.ExperimentalAsyncStartUp { 477 } 478 479 @SuppressCompatibility @RequiresOptIn(level=androidx.annotation.RequiresOptIn.Level.ERROR) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.TYPE, java.lang.annotation.ElementType.FIELD}) public static @interface WebViewCompat.ExperimentalCacheProvider { 480 } 481 482 @SuppressCompatibility @RequiresOptIn(level=androidx.annotation.RequiresOptIn.Level.ERROR) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.TYPE, java.lang.annotation.ElementType.FIELD}) public static @interface WebViewCompat.ExperimentalSaveState { 483 } 484 485 @SuppressCompatibility @RequiresOptIn(level=androidx.annotation.RequiresOptIn.Level.ERROR) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.TYPE, java.lang.annotation.ElementType.FIELD}) public static @interface WebViewCompat.ExperimentalUrlPrerender { 486 } 487 488 public static interface WebViewCompat.VisualStateCallback { 489 method @UiThread public void onComplete(long); 490 } 491 492 public static interface WebViewCompat.WebMessageListener { 493 method @UiThread public void onPostMessage(android.webkit.WebView, androidx.webkit.WebMessageCompat, android.net.Uri, boolean, androidx.webkit.JavaScriptReplyProxy); 494 } 495 496 @SuppressCompatibility @androidx.webkit.WebViewCompat.ExperimentalAsyncStartUp public static interface WebViewCompat.WebViewStartUpCallback { 497 method public void onSuccess(androidx.webkit.WebViewStartUpResult); 498 } 499 500 public class WebViewFeature { 501 method public static boolean isFeatureSupported(String); 502 method public static boolean isStartupFeatureSupported(android.content.Context, String); 503 field public static final String ALGORITHMIC_DARKENING = "ALGORITHMIC_DARKENING"; 504 field public static final String ATTRIBUTION_REGISTRATION_BEHAVIOR = "ATTRIBUTION_REGISTRATION_BEHAVIOR"; 505 field public static final String BACK_FORWARD_CACHE = "BACK_FORWARD_CACHE"; 506 field @SuppressCompatibility @androidx.webkit.WebViewCompat.ExperimentalCacheProvider public static final String CACHE_PROVIDER = "CACHE_PROVIDER"; 507 field public static final String CREATE_WEB_MESSAGE_CHANNEL = "CREATE_WEB_MESSAGE_CHANNEL"; 508 field public static final String DEFAULT_TRAFFICSTATS_TAGGING = "DEFAULT_TRAFFICSTATS_TAGGING"; 509 field public static final String DELETE_BROWSING_DATA = "DELETE_BROWSING_DATA"; 510 field public static final String DISABLED_ACTION_MODE_MENU_ITEMS = "DISABLED_ACTION_MODE_MENU_ITEMS"; 511 field public static final String DOCUMENT_START_SCRIPT = "DOCUMENT_START_SCRIPT"; 512 field public static final String ENTERPRISE_AUTHENTICATION_APP_LINK_POLICY = "ENTERPRISE_AUTHENTICATION_APP_LINK_POLICY"; 513 field public static final String FORCE_DARK = "FORCE_DARK"; 514 field public static final String FORCE_DARK_STRATEGY = "FORCE_DARK_STRATEGY"; 515 field public static final String GET_COOKIE_INFO = "GET_COOKIE_INFO"; 516 field public static final String GET_VARIATIONS_HEADER = "GET_VARIATIONS_HEADER"; 517 field public static final String GET_WEB_CHROME_CLIENT = "GET_WEB_CHROME_CLIENT"; 518 field public static final String GET_WEB_VIEW_CLIENT = "GET_WEB_VIEW_CLIENT"; 519 field public static final String GET_WEB_VIEW_RENDERER = "GET_WEB_VIEW_RENDERER"; 520 field public static final String MULTI_PROCESS = "MULTI_PROCESS"; 521 field public static final String MULTI_PROFILE = "MULTI_PROFILE"; 522 field public static final String MUTE_AUDIO = "MUTE_AUDIO"; 523 field public static final String NAVIGATION_CALLBACK_BASIC = "WEB_VIEW_NAVIGATION_CLIENT_BASIC_USAGE"; 524 field public static final String OFF_SCREEN_PRERASTER = "OFF_SCREEN_PRERASTER"; 525 field public static final String PAYMENT_REQUEST = "PAYMENT_REQUEST"; 526 field public static final String POST_WEB_MESSAGE = "POST_WEB_MESSAGE"; 527 field @SuppressCompatibility @androidx.webkit.WebViewCompat.ExperimentalUrlPrerender public static final String PRERENDER_WITH_URL = "PRERENDER_URL_V2"; 528 field @SuppressCompatibility @androidx.webkit.Profile.ExperimentalUrlPrefetch public static final String PROFILE_URL_PREFETCH = "PREFETCH_URL_V4"; 529 field public static final String PROXY_OVERRIDE = "PROXY_OVERRIDE"; 530 field public static final String PROXY_OVERRIDE_REVERSE_BYPASS = "PROXY_OVERRIDE_REVERSE_BYPASS"; 531 field public static final String RECEIVE_HTTP_ERROR = "RECEIVE_HTTP_ERROR"; 532 field public static final String RECEIVE_WEB_RESOURCE_ERROR = "RECEIVE_WEB_RESOURCE_ERROR"; 533 field public static final String SAFE_BROWSING_ALLOWLIST = "SAFE_BROWSING_ALLOWLIST"; 534 field public static final String SAFE_BROWSING_ENABLE = "SAFE_BROWSING_ENABLE"; 535 field public static final String SAFE_BROWSING_HIT = "SAFE_BROWSING_HIT"; 536 field public static final String SAFE_BROWSING_PRIVACY_POLICY_URL = "SAFE_BROWSING_PRIVACY_POLICY_URL"; 537 field public static final String SAFE_BROWSING_RESPONSE_BACK_TO_SAFETY = "SAFE_BROWSING_RESPONSE_BACK_TO_SAFETY"; 538 field public static final String SAFE_BROWSING_RESPONSE_PROCEED = "SAFE_BROWSING_RESPONSE_PROCEED"; 539 field public static final String SAFE_BROWSING_RESPONSE_SHOW_INTERSTITIAL = "SAFE_BROWSING_RESPONSE_SHOW_INTERSTITIAL"; 540 field @Deprecated public static final String SAFE_BROWSING_WHITELIST = "SAFE_BROWSING_WHITELIST"; 541 field @SuppressCompatibility @androidx.webkit.WebViewCompat.ExperimentalSaveState public static final String SAVE_STATE = "SAVE_STATE"; 542 field public static final String SERVICE_WORKER_BASIC_USAGE = "SERVICE_WORKER_BASIC_USAGE"; 543 field public static final String SERVICE_WORKER_BLOCK_NETWORK_LOADS = "SERVICE_WORKER_BLOCK_NETWORK_LOADS"; 544 field public static final String SERVICE_WORKER_CACHE_MODE = "SERVICE_WORKER_CACHE_MODE"; 545 field public static final String SERVICE_WORKER_CONTENT_ACCESS = "SERVICE_WORKER_CONTENT_ACCESS"; 546 field public static final String SERVICE_WORKER_FILE_ACCESS = "SERVICE_WORKER_FILE_ACCESS"; 547 field public static final String SERVICE_WORKER_SHOULD_INTERCEPT_REQUEST = "SERVICE_WORKER_SHOULD_INTERCEPT_REQUEST"; 548 field public static final String SHOULD_OVERRIDE_WITH_REDIRECTS = "SHOULD_OVERRIDE_WITH_REDIRECTS"; 549 field public static final String SPECULATIVE_LOADING = "SPECULATIVE_LOADING_STATUS"; 550 field @SuppressCompatibility @androidx.webkit.Profile.ExperimentalUrlPrefetch public static final String SPECULATIVE_LOADING_CONFIG = "SPECULATIVE_LOADING_CONFIG_V2"; 551 field public static final String STARTUP_FEATURE_CONFIGURE_PARTITIONED_COOKIES = "STARTUP_FEATURE_CONFIGURE_PARTITIONED_COOKIES"; 552 field public static final String STARTUP_FEATURE_SET_DATA_DIRECTORY_SUFFIX = "STARTUP_FEATURE_SET_DATA_DIRECTORY_SUFFIX"; 553 field public static final String STARTUP_FEATURE_SET_DIRECTORY_BASE_PATHS = "STARTUP_FEATURE_SET_DIRECTORY_BASE_PATHS"; 554 field public static final String START_SAFE_BROWSING = "START_SAFE_BROWSING"; 555 field public static final String TRACING_CONTROLLER_BASIC_USAGE = "TRACING_CONTROLLER_BASIC_USAGE"; 556 field public static final String USER_AGENT_METADATA = "USER_AGENT_METADATA"; 557 field public static final String VISUAL_STATE_CALLBACK = "VISUAL_STATE_CALLBACK"; 558 field public static final String WEBVIEW_MEDIA_INTEGRITY_API_STATUS = "WEBVIEW_MEDIA_INTEGRITY_API_STATUS"; 559 field public static final String WEB_AUTHENTICATION = "WEB_AUTHENTICATION"; 560 field public static final String WEB_MESSAGE_ARRAY_BUFFER = "WEB_MESSAGE_ARRAY_BUFFER"; 561 field public static final String WEB_MESSAGE_CALLBACK_ON_MESSAGE = "WEB_MESSAGE_CALLBACK_ON_MESSAGE"; 562 field public static final String WEB_MESSAGE_LISTENER = "WEB_MESSAGE_LISTENER"; 563 field public static final String WEB_MESSAGE_PORT_CLOSE = "WEB_MESSAGE_PORT_CLOSE"; 564 field public static final String WEB_MESSAGE_PORT_POST_MESSAGE = "WEB_MESSAGE_PORT_POST_MESSAGE"; 565 field public static final String WEB_MESSAGE_PORT_SET_MESSAGE_CALLBACK = "WEB_MESSAGE_PORT_SET_MESSAGE_CALLBACK"; 566 field public static final String WEB_RESOURCE_ERROR_GET_CODE = "WEB_RESOURCE_ERROR_GET_CODE"; 567 field public static final String WEB_RESOURCE_ERROR_GET_DESCRIPTION = "WEB_RESOURCE_ERROR_GET_DESCRIPTION"; 568 field public static final String WEB_RESOURCE_REQUEST_IS_REDIRECT = "WEB_RESOURCE_REQUEST_IS_REDIRECT"; 569 field public static final String WEB_VIEW_RENDERER_CLIENT_BASIC_USAGE = "WEB_VIEW_RENDERER_CLIENT_BASIC_USAGE"; 570 field public static final String WEB_VIEW_RENDERER_TERMINATE = "WEB_VIEW_RENDERER_TERMINATE"; 571 } 572 573 @RequiresFeature(name=androidx.webkit.WebViewFeature.WEBVIEW_MEDIA_INTEGRITY_API_STATUS, enforcement="androidx.webkit.WebViewFeature#isFeatureSupported") public class WebViewMediaIntegrityApiStatusConfig { 574 ctor public WebViewMediaIntegrityApiStatusConfig(androidx.webkit.WebViewMediaIntegrityApiStatusConfig.Builder); 575 method public int getDefaultStatus(); 576 method public java.util.Map<java.lang.String!,java.lang.Integer!> getOverrideRules(); 577 field public static final int WEBVIEW_MEDIA_INTEGRITY_API_DISABLED = 0; // 0x0 578 field public static final int WEBVIEW_MEDIA_INTEGRITY_API_ENABLED = 2; // 0x2 579 field public static final int WEBVIEW_MEDIA_INTEGRITY_API_ENABLED_WITHOUT_APP_IDENTITY = 1; // 0x1 580 } 581 582 public static final class WebViewMediaIntegrityApiStatusConfig.Builder { 583 ctor public WebViewMediaIntegrityApiStatusConfig.Builder(int); 584 method public androidx.webkit.WebViewMediaIntegrityApiStatusConfig.Builder addOverrideRule(String, int); 585 method public androidx.webkit.WebViewMediaIntegrityApiStatusConfig build(); 586 } 587 588 public abstract class WebViewRenderProcess { 589 ctor public WebViewRenderProcess(); 590 method public abstract boolean terminate(); 591 } 592 593 public abstract class WebViewRenderProcessClient { 594 ctor public WebViewRenderProcessClient(); 595 method public abstract void onRenderProcessResponsive(android.webkit.WebView, androidx.webkit.WebViewRenderProcess?); 596 method public abstract void onRenderProcessUnresponsive(android.webkit.WebView, androidx.webkit.WebViewRenderProcess?); 597 } 598 599 @SuppressCompatibility @androidx.webkit.WebViewCompat.ExperimentalAsyncStartUp public final class WebViewStartUpConfig { 600 method public java.util.concurrent.Executor getBackgroundExecutor(); 601 method public boolean shouldRunUiThreadStartUpTasks(); 602 } 603 604 @SuppressCompatibility @androidx.webkit.WebViewCompat.ExperimentalAsyncStartUp public static final class WebViewStartUpConfig.Builder { 605 ctor public WebViewStartUpConfig.Builder(java.util.concurrent.Executor); 606 method public androidx.webkit.WebViewStartUpConfig build(); 607 method public androidx.webkit.WebViewStartUpConfig.Builder setShouldRunUiThreadStartUpTasks(boolean); 608 } 609 610 @SuppressCompatibility @androidx.webkit.WebViewCompat.ExperimentalAsyncStartUp public interface WebViewStartUpResult { 611 method public java.util.List<androidx.webkit.BlockingStartUpLocation!>? getBlockingStartUpLocations(); 612 method public Long? getMaxTimePerTaskInUiThreadMillis(); 613 method public Long? getTotalTimeInUiThreadMillis(); 614 } 615 616} 617 618