0% found this document useful (0 votes)
80 views1 page

Experimental WebView Features Overview

The document lists experimental features for a WebView that can be enabled, including highlighting all WebViews, verbose logging, composited layer borders, and resuming animated images. It provides flags for controlling variations seeds and throttling, enabling metrics reporting, and other debugging options.

Uploaded by

Alan Monjaras
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
80 views1 page

Experimental WebView Features Overview

The document lists experimental features for a WebView that can be enabled, including highlighting all WebViews, verbose logging, composited layer borders, and resuming animated images. It provides flags for controlling variations seeds and throttling, enabling metrics reporting, and other debugging options.

Uploaded by

Alan Monjaras
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

WARNING: EXPERIMENTAL FEATURES AHEAD!

By enabling these features, you could


Iose app data or compromise your security or privacy. Enabled features apply to WebViews
across all apps on the device. highlight-all-webviews Highlight the contents (including web
contents) of all WebViews with a yellow tint. This is useful for identifying WebViews in an
Android application. Default webview-verbose-logging WebView will log additional
debugging information to logcat, such as variations and commandline state. Default show
composited-4ayer-borders Renders a border around compositor layers to help debug and study
layer compositing. Default animated-image-resume Resumes animated images from where
they were. Default finch-seed-expiration-age=0 Forces all variations seeds to be considered
stale. Default finch-seed-ignore-pending-download Forces the WebView service to reschedule
a variations seed download job even if one is already pending. Default finch-seed-no-
charging-requirement Forces WebView's service to always schedule a new variations seed
download job, even if the device is not charging. Note this swtch may be necessary for testing
on Android emulators as these are not always considered to be charging.
finch-seed-min-download-period=0 Disables throttling of variations seed download jobs.
Default finch-seed-min-updateperiod=0 Disables throttling of new variations seed requests to
the WebView service. Default force-enable-metrics-reporting Forces WebView's metrics
reporting to be enabled. This overrides user settings and capacity sampling, but does not
override the app's choice to opt-out. Default webview-log-js-console-messages Mirrors Java
Script console messages to system logs. Default enable-crash-reporter-for-testing Used for
turning on Breakpad crash reporting in a debug environment where crash reporting is typically
compiled but disabled. Default disable-gpu-rasterization Disables GPU rasterization, i.e.
rasterizes on the CPU only. Default ignore-gpu-blocklist Overrides the built-in software
rendering ist and enables GPU acceleration on unsupported device configurations. Default
webview-enable-modern-cookie-same-site Enables modern SameSite cookie behavior 1)
SameSite-Lax by default (cookies without a SameSite attribute are treated as SameSite=Lax);
2) Schemeful Same-Site (site boundaries include the URL scheme).
site-per-process Security mode that enables site isolation for all sites inside WebView. In this
mode, each renderer process will contain pages from at most one site, using out-of-process
iframes when needed. Highly experimental. Default http2-grease-settings Enable sending
HTTP/2 SETTINGS parameters with reserved identifiers. Default disable-http2-grease-
settings Disable sending HTTP/2 SETTINGS parameters with reserved identifiers. Default
enable-finch-seed-delta-compression Enables delta-compression when requesting a new seed
from the server. Default webview-fenced-frames Enables fenced frames. Also enables
PrivacySandboxAdsAPlsOverride. Default webview-disable-app-recovery Disables WebView
from checking for app recovery mitigations. Default webview-enable-app-recovery Enables
WebView to check for app recovery mitigations. Default DefaultPassthrough
CommandDecoder Use the passthrough GLES2 command decoder. Default

Common questions

Powered by AI

Forcing WebView's metrics reporting to be enabled, overriding user settings, can raise privacy concerns as it circumvents user preference for data sharing constraints. This could lead to backlash from users who prefer to limit their data exposure. Additionally, it might incur legal issues concerning user consent, particularly under regulations like GDPR that require explicit user agreement for data collection. This mandate might also introduce trust issues and deter users from using applications relying on WebView .

Disabling WebView's app recovery checks can reduce overhead associated with continuous monitoring and mitigation processes, potentially leading to more efficient resource usage. However, this change risks missing critical app recovery steps in the event of failure, potentially leading to unresolved issues that could be remedied by these checks. Such a setting might be useful in a controlled testing environment but can be detrimental in production scenarios where reliability is crucial .

GPU rasterization in WebView is used to offload rendering tasks from the CPU to the GPU, typically leading to improved performance and smoother graphics rendering. Disabling GPU rasterization forces rasterization tasks to rely solely on the CPU, which may result in increased CPU load and potentially reduce rendering efficiency and quality, especially for graphically intensive applications. However, in some devices where GPU drivers may be unreliable, disabling GPU rasterization might lead to increased compatibility .

Enabling modern SameSite cookie behavior restricts how cookies are sent, by default treating them as SameSite=Lax. This means that cookies will not be sent with cross-site requests unless they are explicitly marked otherwise. It enhances security by mitigating certain cross-site request forgery (CSRF) attacks and ensuring more predictable cookie handling across sites. However, this could potentially break functionality in web applications that depend on cookies being sent with cross-site requests without the correct SameSite attribute .

Enabling site-per-process security mode in WebView enhances security by isolating each site's rendering process, thus strengthening site isolation via out-of-process iframes. This isolation can prevent attacks like Spectre by limiting the data accessible to malicious processes. However, this security enhancement comes at the cost of increased resource usage. Multiple processes lead to higher memory consumption and can degrade performance, particularly on devices with limited resources .

Disabling throttling for variations seed updates in WebView allows for more frequent updates, which can ensure that the WebView service uses the latest configurations. While this approach can be beneficial in maintaining up-to-date features and security patches, it might lead to increased consumption of device resources, decreased battery life, and higher data usage, potentially affecting the performance and stability of the system due to constant update checks and installations .

The 'enable-fenced-frames' feature in WebView contributes to user privacy by creating an isolated environment that can contain ads or other content without exposing the user's browsing information to the contents of these frames. This isolation helps prevent third parties from tracking users across sites. However, implementing such isolation can complicate development as it requires reconsideration of content integration strategies, and may impact performance due to the isolated nature of these frames .

Enabling HTTP/2 grease settings impacts WebView’s networking by allowing it to send parameters with reserved identifiers during HTTP/2 communications. This can help test the robustness and flexibility of network protocol implementations, uncovering potential interoperability issues. It is crucial for promoting a more adaptable network code that can handle unexpected conditions, thus ensuring a more maintainable and adaptable web ecosystem. However, it might lead to incompatibilities with poorly implemented HTTP/2 servers that cannot handle such parameters .

The 'finch-seed-ignore-pending-download' command affects the WebView update mechanism by ensuring that a variations seed download job is rescheduled even if a prior download job is already pending. This feature could force more frequent updates, ensuring that the WebView is always running the latest configuration seeds. This approach can be beneficial for testing and debugging environments but could lead to redundancy and inefficiencies in bandwidth usage during regular operations .

Enabling experimental features in WebViews on Android devices can pose several risks, including the potential loss of app data and the compromise of security or privacy. These features apply across all apps on the device, which amplifies potential vulnerabilities. Such changes might unintentionally expose applications to conditions they are not designed to handle, leading to unexpected behavior or data leakage .

You might also like