Loading tools/under-control/src/RELEASE +1 −1 Original line number Diff line number Diff line 146.0.7680.31 147.0.7727.56 tools/under-control/src/android_webview/browser/aw_content_browser_client.cc +34 −9 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ #include "android_webview/browser/network_service/aw_url_loader_throttle.h" #include "android_webview/browser/network_service/net_helpers.h" #include "android_webview/browser/prefetch/aw_prefetch_service_delegate.h" #include "android_webview/browser/safe_browsing/aw_advanced_protection_status_manager_bridge.h" #include "android_webview/browser/safe_browsing/aw_safe_browsing_navigation_throttle.h" #include "android_webview/browser/safe_browsing/aw_url_checker_delegate_impl.h" #include "android_webview/browser/supervised_user/aw_supervised_user_throttle.h" Loading Loading @@ -200,7 +201,14 @@ base::WeakPtr<AsyncCheckTracker> GetAsyncCheckTracker( } // anonymous namespace std::string GetProduct() { return embedder_support::GetProductAndVersion(); // We cannot use `embedder_support::GetProductAndVersion()` here because that // relies on base::FeatureList, which need not be initialized at this point - // GetDefaultUserAgent can call this before browser startup is completed. return base::CommandLine::ForCurrentProcess()->HasSwitch( switches::kWebViewReduceUserAgentMinorVersion) ? version_info::GetProductNameAndVersionForReducedUserAgent() : std::string( version_info::GetProductNameAndVersionForUserAgent()); } std::string GetUserAgent() { Loading @@ -211,14 +219,14 @@ std::string GetUserAgent() { product += " Mobile"; } if (base::FeatureList::IsEnabled( features::kWebViewReduceUAAndroidVersionDeviceModel)) { if (base::CommandLine::ForCurrentProcess()->HasSwitch( switches::kWebViewReduceUAAndroidVersionDeviceModel)) { // The user-agent reduction feature for WebView, when enabled, should // produce a consistent, unified platform string to ensure predictable // behavior. This hardcoded value prevents device-specific platform details // (e.g., "X11; Linux" on desktop devices) from appearing in the reduced // User-Agent. The "Linux; Android 10; K; wv" string matches the expected // format for a reduced WebView User-Agent. // behavior. This hardcoded value prevents device-specific platform // details (e.g., "X11; Linux" on desktop devices) from appearing in the // reduced User-Agent. The "Linux; Android 10; K; wv" string matches the // expected format for a reduced WebView User-Agent. constexpr char kUnifiedPlatformOsInfoWebview[] = "Linux; Android 10; K; wv"; return embedder_support::BuildUserAgentFromOSAndProduct( kUnifiedPlatformOsInfoWebview, product); Loading Loading @@ -309,9 +317,22 @@ void AwContentBrowserClient::ConfigureNetworkContextParams( // Pass the mojo::PendingRemote<network::mojom::CookieManager> to // android_webview::CookieManager, so it can implement its APIs with this mojo // CookieManager. if (base::FeatureList::IsEnabled( features::kWebViewNonBlockingCookieStoreHandoff)) { // New non-blocking path with proper close before handoff. mojo::PendingRemote<network::mojom::CookieStoreReadyCallback> ready_callback; network_context_params->cookie_store_ready_callback = ready_callback.InitWithNewPipeAndPassReceiver(); aw_context->GetCookieManager()->SetMojoCookieManagerNonBlocking( std::move(cookie_manager_remote), std::move(ready_callback)); } else { // Original blocking path (for A/B comparison). aw_context->GetCookieManager()->SetMojoCookieManager( std::move(cookie_manager_remote)); } } void AwContentBrowserClient::InitBrowserContextStore() { AwBrowserContextStore::GetOrCreateInstance(); Loading Loading @@ -1525,4 +1546,8 @@ bool AwContentBrowserClient::OriginSupportsConcreteCrossOriginIsolation( return false; } bool AwContentBrowserClient::IsAndroidAdvancedProtectionEnabled() { return AwAdvancedProtectionStatusManagerBridge::IsUnderAdvancedProtection(); } } // namespace android_webview tools/under-control/src/android_webview/browser/aw_field_trials.cc +19 −2 Original line number Diff line number Diff line Loading @@ -83,7 +83,7 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) { aw_feature_overrides.DisableFeature(ui::kAndroidHDR); // Disable launch_handler on WebView. aw_feature_overrides.DisableFeature(::features::kAndroidWebAppLaunchHandler); aw_feature_overrides.DisableFeature(blink::features::kWebAppLaunchQueue); // Disable Reducing User Agent minor version on WebView. aw_feature_overrides.DisableFeature( Loading Loading @@ -140,6 +140,11 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) { aw_feature_overrides.DisableFeature( blink::features::kSecurePaymentConfirmationAvailabilityAPI); // WebView does not support Secure Payment Confirmation, and thus should not // expose the PaymentRequest.securePaymentConfirmationCapabilities API. aw_feature_overrides.DisableFeature( blink::features::kSecurePaymentConfirmationCapabilities); // WebView does not support handling payment links. aw_feature_overrides.DisableFeature(blink::features::kPaymentLinkDetection); Loading Loading @@ -233,7 +238,6 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) { // Disabling the permission element as it needs embedder support in order to // function and the webview permission manager cannot support it. aw_feature_overrides.DisableFeature(blink::features::kPermissionElement); aw_feature_overrides.DisableFeature(blink::features::kGeolocationElement); aw_feature_overrides.DisableFeature(blink::features::kUserMediaElement); aw_feature_overrides.DisableFeature(blink::features::kInstallElement); Loading Loading @@ -317,4 +321,17 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) { // Launched for WebView. Experimentation needed for Chrome on Android. aw_feature_overrides.EnableFeature( stylus_handwriting::android::kProbeStylusWritingInBackground); // As WebSettings.setAllowContentAccess() allows this to be controlled by // the WebView's host, we keep the old behavior for content:// URLs. aw_feature_overrides.DisableFeature(blink::features::kContentSchemeIsLocal); // Disable No-Vary-Search in disk cache on WebView. // See https://crbug.com/382394774. aw_feature_overrides.DisableFeature(net::features::kHttpCacheNoVarySearch); // TODO(crbug.com/489450060): Disable DirectReceiver on Viz for WebView until // its Viz thread is updated to handle IO. aw_feature_overrides.DisableFeature( ::features::kVizDirectCompositorThreadIpcFrameSinkManager); } tools/under-control/src/android_webview/test/data/web_tests/webexposed/global-interface-listing-expected.txt +83 −56 Original line number Diff line number Diff line Loading @@ -143,10 +143,6 @@ interface Attr : Node getter value method constructor setter value interface AttributePart : NodePart attribute @@toStringTag getter localName method constructor interface Audio attribute @@toStringTag method constructor Loading Loading @@ -980,6 +976,10 @@ interface CSSPseudoElement getter parent getter type method constructor method convertPointFromNode method convertQuadFromNode method convertRectFromNode method getBoxQuads method pseudo interface CSSRGB : CSSColorValue attribute @@toStringTag Loading @@ -992,6 +992,9 @@ interface CSSRGB : CSSColorValue setter b setter g setter r interface CSSResultRule : CSSGroupingRule attribute @@toStringTag method constructor interface CSSRotate : CSSTransformComponent attribute @@toStringTag getter angle Loading Loading @@ -1360,26 +1363,22 @@ interface CharacterData : Node getter nextElementSibling getter previousElementSibling method after method afterHTML method afterHTMLUnsafe method appendData method before method beforeHTML method beforeHTMLUnsafe method constructor method deleteData method insertData method remove method replaceData method replaceWith method replaceWithHTML method replaceWithHTMLUnsafe method substringData setter data interface ChildNodePart : Part attribute @@toStringTag getter children getter nextSibling getter previousSibling getter rootContainer method clone method constructor method getParts method replaceChildren interface Clipboard : EventTarget attribute @@toStringTag getter onclipboardchange Loading Loading @@ -2128,7 +2127,6 @@ interface Document : Node method getElementsByName method getElementsByTagName method getElementsByTagNameNS method getPartRoot method getSelection method hasFocus method hasPrivateToken Loading Loading @@ -2306,18 +2304,11 @@ interface DocumentFragment : Node method append method constructor method getElementById method getPartRoot method moveBefore method prepend method querySelector method querySelectorAll method replaceChildren interface DocumentPartRoot attribute @@toStringTag getter rootContainer method clone method constructor method getParts interface DocumentTimeline : AnimationTimeline attribute @@toStringTag method constructor Loading @@ -2328,10 +2319,16 @@ interface DocumentType : Node getter publicId getter systemId method after method afterHTML method afterHTMLUnsafe method before method beforeHTML method beforeHTMLUnsafe method constructor method remove method replaceWith method replaceWithHTML method replaceWithHTMLUnsafe interface DragEvent : MouseEvent attribute @@toStringTag getter dataTransfer Loading Loading @@ -2373,7 +2370,6 @@ interface Element : Node attribute @@toStringTag attribute @@unscopables getter activeViewTransition getter anchorElement getter ariaActiveDescendantElement getter ariaAtomic getter ariaAutoComplete Loading Loading @@ -2450,6 +2446,7 @@ interface Element : Node getter innerHTML getter lastElementChild getter localName getter marker getter namespaceURI getter nextElementSibling getter onbeforecopy Loading @@ -2473,11 +2470,17 @@ interface Element : Node getter slot getter tagName method after method afterHTML method afterHTMLUnsafe method animate method append method appendHTML method appendHTMLUnsafe method ariaNotify method attachShadow method before method beforeHTML method beforeHTMLUnsafe method checkVisibility method closest method computedStyleMap Loading @@ -2504,6 +2507,8 @@ interface Element : Node method matches method moveBefore method prepend method prependHTML method prependHTMLUnsafe method pseudo method querySelector method querySelectorAll Loading @@ -2514,6 +2519,8 @@ interface Element : Node method removeAttributeNode method replaceChildren method replaceWith method replaceWithHTML method replaceWithHTMLUnsafe method requestFullscreen method requestPointerLock method scroll Loading @@ -2529,13 +2536,14 @@ interface Element : Node method setHTMLUnsafe method setPointerCapture method startViewTransition method streamAppendHTML method streamAppendHTMLUnsafe method streamHTML method streamHTMLUnsafe method toggleAttribute method webkitMatchesSelector method webkitRequestFullScreen method webkitRequestFullscreen setter anchorElement setter ariaActiveDescendantElement setter ariaAtomic setter ariaAutoComplete Loading Loading @@ -2597,6 +2605,7 @@ interface Element : Node setter headingReset setter id setter innerHTML setter marker setter onbeforecopy setter onbeforecut setter onbeforepaste Loading Loading @@ -2670,7 +2679,6 @@ interface ElementInternals getter role getter shadowRoot getter states getter type getter validationMessage getter validity getter willValidate Loading @@ -2678,6 +2686,7 @@ interface ElementInternals method constructor method reportValidity method setFormValue method setToolParamSchema method setValidity setter ariaActiveDescendantElement setter ariaAtomic Loading Loading @@ -2732,7 +2741,6 @@ interface ElementInternals setter ariaValueText setter ariaVirtualContent setter role setter type interface EncodedAudioChunk attribute @@toStringTag getter byteLength Loading Loading @@ -2938,7 +2946,6 @@ interface Float16Array : TypedArray method constructor interface FocusEvent : UIEvent attribute @@toStringTag getter pseudoTarget getter relatedTarget method constructor interface FontFace Loading Loading @@ -2977,13 +2984,6 @@ interface FontFaceSetLoadEvent : Event attribute @@toStringTag getter fontfaces method constructor interface FormControlRange : AbstractRange attribute @@toStringTag method constructor method getBoundingClientRect method getClientRects method setFormControlRange method toString interface FormData attribute @@toStringTag method @@iterator Loading Loading @@ -3679,17 +3679,20 @@ interface HTMLCanvasElement : HTMLElement attribute @@toStringTag getter height getter layoutSubtree getter onpaint getter width method captureStream method configureHighDynamicRange method constructor method getContext method getElementTransform method requestPaint method toBlob method toDataURL method transferControlToOffscreen setter height setter layoutSubtree setter onpaint setter width interface HTMLCollection attribute @@toStringTag Loading Loading @@ -4391,6 +4394,7 @@ interface HTMLInputElement : HTMLElement getter willValidate method checkValidity method constructor method createValueRange method reportValidity method select method setCustomValidity Loading Loading @@ -4563,6 +4567,7 @@ interface HTMLMediaElement : HTMLElement getter ended getter error getter latencyHint getter loading getter loop getter mediaKeys getter muted Loading Loading @@ -4600,6 +4605,7 @@ interface HTMLMediaElement : HTMLElement setter defaultMuted setter defaultPlaybackRate setter latencyHint setter loading setter loop setter muted setter onencrypted Loading Loading @@ -5068,14 +5074,12 @@ interface HTMLTableSectionElement : HTMLElement interface HTMLTemplateElement : HTMLElement attribute @@toStringTag getter content getter parseparts getter shadowRootClonable getter shadowRootCustomElementRegistry getter shadowRootDelegatesFocus getter shadowRootMode getter shadowRootSerializable method constructor setter parseparts setter shadowRootClonable setter shadowRootCustomElementRegistry setter shadowRootDelegatesFocus Loading Loading @@ -5109,6 +5113,7 @@ interface HTMLTextAreaElement : HTMLElement getter wrap method checkValidity method constructor method createValueRange method reportValidity method select method setCustomValidity Loading Loading @@ -5566,6 +5571,7 @@ interface InteractionContentfulPaint : PerformanceEntry attribute @@toStringTag getter element getter id getter interactionId getter loadTime getter paintTime getter presentationTime Loading Loading @@ -5623,7 +5629,6 @@ interface KeyboardEvent : UIEvent getter keyCode getter location getter metaKey getter pseudoTarget getter repeat getter shiftKey method constructor Loading Loading @@ -6308,9 +6313,7 @@ interface MimeTypeArray method namedItem interface ModelContext attribute @@toStringTag method clearContext method constructor method provideContext method registerTool method unregisterTool interface Mojo Loading Loading @@ -6384,7 +6387,6 @@ interface MouseEvent : UIEvent getter offsetY getter pageX getter pageY getter pseudoTarget getter relatedTarget getter screenX getter screenY Loading Loading @@ -6586,6 +6588,7 @@ interface Navigator getter preferences getter product getter productSub getter rtc getter scheduling getter serviceWorker getter storage Loading Loading @@ -6617,7 +6620,6 @@ interface Navigator method share method vibrate method webkitGetUserMedia setter modelContext setter modelContextTesting interface NavigatorManagedData : EventTarget attribute @@toStringTag Loading Loading @@ -6724,10 +6726,6 @@ interface NodeList method item method keys method values interface NodePart : Part attribute @@toStringTag getter node method constructor interface NotRestoredReasonDetails attribute @@toStringTag getter reason Loading Loading @@ -6908,6 +6906,12 @@ interface OffscreenCanvasRenderingContext2D setter textBaseline setter textRendering setter wordSpacing interface OpaqueRange : AbstractRange attribute @@toStringTag method constructor method disconnect method getBoundingClientRect method getClientRects interface Option attribute @@toStringTag getter defaultSelected Loading Loading @@ -6951,8 +6955,7 @@ interface OverconstrainedError : DOMException method constructor interface OverscrollEvent : Event attribute @@toStringTag getter deltaX getter deltaY getter overscrollElement method constructor interface PageRevealEvent : Event attribute @@toStringTag Loading Loading @@ -6994,12 +6997,6 @@ interface PannerNode : AudioNode setter panningModel setter refDistance setter rolloffFactor interface Part attribute @@toStringTag getter metadata getter root method constructor method disconnect interface PasswordCredential : Credential attribute @@toStringTag getter iconURL Loading Loading @@ -7149,6 +7146,7 @@ interface PerformanceLongAnimationFrameTiming : PerformanceEntry attribute @@toStringTag getter blockingDuration getter firstUIEventTimestamp getter layoutDuration getter paintTime getter presentationTime getter renderStart Loading Loading @@ -7254,6 +7252,7 @@ interface PerformanceResourceTiming : PerformanceEntry interface PerformanceScriptTiming : PerformanceEntry attribute @@toStringTag getter executionStart getter forcedLayoutDuration getter forcedStyleAndLayoutDuration getter forcedStyleDuration getter invoker Loading Loading @@ -7398,6 +7397,13 @@ interface ProcessingInstruction : CharacterData getter sheet getter target method constructor method getAttribute method getAttributeNames method hasAttribute method hasAttributes method removeAttribute method setAttribute method toggleAttribute interface Profiler : EventTarget attribute @@toStringTag getter sampleInterval Loading @@ -7424,6 +7430,12 @@ interface QuotaExceededError : DOMException getter quota getter requested method constructor interface RTC : EventTarget attribute @@toStringTag method cancelDiagnosticLogging method constructor method finishDiagnosticLogging method startDiagnosticLogging interface RTCCertificate attribute @@toStringTag getter expires Loading Loading @@ -7825,6 +7837,7 @@ interface Request getter headers getter integrity getter isHistoryNavigation getter isReloadNavigation getter keepalive getter method getter mode Loading Loading @@ -9324,6 +9337,7 @@ interface ShadowRoot : DocumentFragment getter fullscreenElement getter host getter innerHTML getter marker getter mode getter onslotchange getter pictureInPictureElement Loading @@ -9332,15 +9346,21 @@ interface ShadowRoot : DocumentFragment getter serializable getter slotAssignment getter styleSheets method appendHTML method appendHTMLUnsafe method constructor method elementFromPoint method elementsFromPoint method getAnimations method getHTML method getSelection method prependHTML method prependHTMLUnsafe method setHTML method setHTMLUnsafe method streamAppendHTML method streamAppendHTMLUnsafe method streamHTML method streamHTMLUnsafe setter adoptedStyleSheets setter fullscreenElement Loading Loading @@ -9388,6 +9408,9 @@ interface SnapEvent : Event method constructor interface SoftNavigationEntry : PerformanceEntry attribute @@toStringTag getter interactionId getter largestInteractionContentfulPaint getter navigationType getter paintTime getter presentationTime method constructor Loading Loading @@ -9853,7 +9876,6 @@ interface TouchEvent : UIEvent getter changedTouches getter ctrlKey getter metaKey getter pseudoTarget getter shiftKey getter targetTouches getter touches Loading Loading @@ -9921,6 +9943,11 @@ interface TrustedHTML method constructor method toJSON method toString interface TrustedParserOptions attribute @@toStringTag getter runScripts getter sanitizer method constructor interface TrustedScript static method fromLiteral attribute @@toStringTag Loading @@ -9938,6 +9965,7 @@ interface TrustedTypePolicy getter name method constructor method createHTML method createParserOptions method createScript method createScriptURL interface TrustedTypePolicyFactory Loading @@ -9956,6 +9984,7 @@ interface TrustedTypePolicyFactory interface UIEvent : Event attribute @@toStringTag getter detail getter pseudoTarget getter sourceCapabilities getter view getter which Loading Loading @@ -11871,7 +11900,6 @@ interface XPathResult interface XRCompositionLayer : XRLayer attribute @@toStringTag getter blendTextureSourceAlpha getter chromaticAberrationCorrection getter forceMonoPresentation getter layout getter mipLevels Loading @@ -11880,7 +11908,6 @@ interface XRCompositionLayer : XRLayer method constructor method destroy setter blendTextureSourceAlpha setter chromaticAberrationCorrection setter forceMonoPresentation setter opacity interface XRDOMOverlayState Loading tools/under-control/src/chrome/android/java/AndroidManifest.xml +30 −10 Original line number Diff line number Diff line Loading @@ -72,11 +72,8 @@ by a child template that "extends" this file. <uses-permission android:name="android.permission.CAPTURE_KEYBOARD" /> <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> {% set is_desktop_android = is_desktop_android|default(0) %} {% if is_desktop_android == "true" %} <uses-permission android:name="android.permission.FOREGROUND_SERVICE_CAMERA" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE" /> {% endif %} {% set enable_screen_capture = enable_screen_capture|default(0) %} {% if enable_screen_capture == "true" %} <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION" /> Loading Loading @@ -126,6 +123,12 @@ by a child template that "extends" this file. <uses-permission android:name="android.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS"/> <uses-permission android:name="android.permission.CREDENTIAL_MANAGER_SET_ORIGIN"/> <!-- Permission for reading the Advanced Protection Mode status. --> <uses-permission android:name="android.permission.QUERY_ADVANCED_PROTECTION_MODE"/> <!-- Needed for allowing cross-app and cross-profile communication over the loopback interface. --> <uses-permission android:name="android.permission.USE_LOOPBACK_INTERFACE"/> {% set enable_vr = enable_vr|default(0) %} {% if enable_vr == "true" %} <!-- Indicates use of Android's VR-mode, available only on Android N+. --> Loading Loading @@ -229,7 +232,6 @@ by a child template that "extends" this file. android:allowBackup="false" {% endif %} android:networkSecurityConfig="@xml/network_security_config" android:allowAudioPlaybackCapture="false" android:appComponentFactory="org.chromium.chrome.browser.base.SplitCompatAppComponentFactory" android:enableOnBackInvokedCallback="true" {% if javaless_renderers is defined %} Loading Loading @@ -409,7 +411,7 @@ by a child template that "extends" this file. android:theme="@style/Theme.Chromium.Activity" android:excludeFromRecents="true" android:configChanges= "screenSize|smallestScreenSize|screenLayout|orientation" "screenSize|smallestScreenSize|screenLayout|orientation|density|uiMode" {{ self.supports_video_persistence() }} > </activity> Loading Loading @@ -526,6 +528,16 @@ by a child template that "extends" this file. </intent-filter> </receiver> <!-- Actor related --> <receiver android:name="org.chromium.chrome.browser.actor.ActorBroadcastReceiver" android:exported="false"> <intent-filter> <action android:name="org.chromium.chrome.browser.actor.ACTION_PAUSE" /> <action android:name="org.chromium.chrome.browser.actor.ACTION_RESUME" /> <action android:name="org.chromium.chrome.browser.actor.ACTION_CANCEL" /> </intent-filter> </receiver> <!-- Custom Tabs --> <activity android:name="org.chromium.chrome.browser.customtabs.CustomTabActivity" android:theme="@style/Theme.Chromium.Activity" Loading Loading @@ -687,7 +699,7 @@ by a child template that "extends" this file. </activity> <activity android:name="org.chromium.chrome.browser.chrome_item_picker.ChromeItemPickerActivity" android:theme="@style/Theme.Chromium.WithWindowAnimation" android:theme="@style/Theme.Chromium.Activity.FakeTranslucent" android:exported="false" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode"> </activity> Loading Loading @@ -914,6 +926,11 @@ by a child template that "extends" this file. android:isolatedProcess="true" android:process=":decoder_service" /> <!-- Actor foreground service --> <service android:name="org.chromium.chrome.browser.actor.ActorForegroundService" android:foregroundServiceType="dataSync" android:exported="false"> </service> <!-- Download foreground service --> <service android:name="org.chromium.chrome.browser.download.DownloadForegroundService" android:foregroundServiceType="dataSync" android:exported="false"> Loading Loading @@ -1115,6 +1132,7 @@ by a child template that "extends" this file. <activity android:name="org.chromium.chrome.browser.notifications.NotificationIntentInterceptor$TrampolineActivity" android:taskAffinity="" android:theme="@style/Theme.BrowserUI.Translucent.NoTitleBar" android:exported="false" android:autoRemoveFromRecents="true" Loading Loading @@ -1165,12 +1183,10 @@ by a child template that "extends" this file. android:exported="false"/> <service android:name="org.chromium.chrome.browser.media.MediaCaptureNotificationService" {% if is_desktop_android == "true" and enable_screen_capture == "true" %} {% if enable_screen_capture == "true" %} android:foregroundServiceType="camera|microphone|mediaProjection|mediaPlayback" {% elif is_desktop_android == "true" %} {% else %} android:foregroundServiceType="camera|microphone" {% elif enable_screen_capture == "true" %} android:foregroundServiceType="mediaProjection|mediaPlayback" {% endif %} android:exported="false"/> <service android:name="org.chromium.chrome.browser.media.ui.ChromeMediaNotificationControllerServices$PlaybackListenerService" Loading Loading @@ -1277,6 +1293,10 @@ by a child template that "extends" this file. <!-- NOTE: If you change the value of "android:process" for the below services, you also need to update kHelperProcessExecutableName in chrome_constants.cc. --> <!-- NOTE: num_sandboxed_services is simply the number of name slots available, and not a limit on the number of sandboxed processes that can be created. In practice, many fewer slots are used, and process names are often reused, such as many processes named with the suffix ":sandboxed_process0". --> {% set num_sandboxed_services = 40 %} <meta-data android:name="org.chromium.content.browser.NUM_SANDBOXED_SERVICES" android:value="{{ num_sandboxed_services }}"/> Loading Loading
tools/under-control/src/RELEASE +1 −1 Original line number Diff line number Diff line 146.0.7680.31 147.0.7727.56
tools/under-control/src/android_webview/browser/aw_content_browser_client.cc +34 −9 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ #include "android_webview/browser/network_service/aw_url_loader_throttle.h" #include "android_webview/browser/network_service/net_helpers.h" #include "android_webview/browser/prefetch/aw_prefetch_service_delegate.h" #include "android_webview/browser/safe_browsing/aw_advanced_protection_status_manager_bridge.h" #include "android_webview/browser/safe_browsing/aw_safe_browsing_navigation_throttle.h" #include "android_webview/browser/safe_browsing/aw_url_checker_delegate_impl.h" #include "android_webview/browser/supervised_user/aw_supervised_user_throttle.h" Loading Loading @@ -200,7 +201,14 @@ base::WeakPtr<AsyncCheckTracker> GetAsyncCheckTracker( } // anonymous namespace std::string GetProduct() { return embedder_support::GetProductAndVersion(); // We cannot use `embedder_support::GetProductAndVersion()` here because that // relies on base::FeatureList, which need not be initialized at this point - // GetDefaultUserAgent can call this before browser startup is completed. return base::CommandLine::ForCurrentProcess()->HasSwitch( switches::kWebViewReduceUserAgentMinorVersion) ? version_info::GetProductNameAndVersionForReducedUserAgent() : std::string( version_info::GetProductNameAndVersionForUserAgent()); } std::string GetUserAgent() { Loading @@ -211,14 +219,14 @@ std::string GetUserAgent() { product += " Mobile"; } if (base::FeatureList::IsEnabled( features::kWebViewReduceUAAndroidVersionDeviceModel)) { if (base::CommandLine::ForCurrentProcess()->HasSwitch( switches::kWebViewReduceUAAndroidVersionDeviceModel)) { // The user-agent reduction feature for WebView, when enabled, should // produce a consistent, unified platform string to ensure predictable // behavior. This hardcoded value prevents device-specific platform details // (e.g., "X11; Linux" on desktop devices) from appearing in the reduced // User-Agent. The "Linux; Android 10; K; wv" string matches the expected // format for a reduced WebView User-Agent. // behavior. This hardcoded value prevents device-specific platform // details (e.g., "X11; Linux" on desktop devices) from appearing in the // reduced User-Agent. The "Linux; Android 10; K; wv" string matches the // expected format for a reduced WebView User-Agent. constexpr char kUnifiedPlatformOsInfoWebview[] = "Linux; Android 10; K; wv"; return embedder_support::BuildUserAgentFromOSAndProduct( kUnifiedPlatformOsInfoWebview, product); Loading Loading @@ -309,9 +317,22 @@ void AwContentBrowserClient::ConfigureNetworkContextParams( // Pass the mojo::PendingRemote<network::mojom::CookieManager> to // android_webview::CookieManager, so it can implement its APIs with this mojo // CookieManager. if (base::FeatureList::IsEnabled( features::kWebViewNonBlockingCookieStoreHandoff)) { // New non-blocking path with proper close before handoff. mojo::PendingRemote<network::mojom::CookieStoreReadyCallback> ready_callback; network_context_params->cookie_store_ready_callback = ready_callback.InitWithNewPipeAndPassReceiver(); aw_context->GetCookieManager()->SetMojoCookieManagerNonBlocking( std::move(cookie_manager_remote), std::move(ready_callback)); } else { // Original blocking path (for A/B comparison). aw_context->GetCookieManager()->SetMojoCookieManager( std::move(cookie_manager_remote)); } } void AwContentBrowserClient::InitBrowserContextStore() { AwBrowserContextStore::GetOrCreateInstance(); Loading Loading @@ -1525,4 +1546,8 @@ bool AwContentBrowserClient::OriginSupportsConcreteCrossOriginIsolation( return false; } bool AwContentBrowserClient::IsAndroidAdvancedProtectionEnabled() { return AwAdvancedProtectionStatusManagerBridge::IsUnderAdvancedProtection(); } } // namespace android_webview
tools/under-control/src/android_webview/browser/aw_field_trials.cc +19 −2 Original line number Diff line number Diff line Loading @@ -83,7 +83,7 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) { aw_feature_overrides.DisableFeature(ui::kAndroidHDR); // Disable launch_handler on WebView. aw_feature_overrides.DisableFeature(::features::kAndroidWebAppLaunchHandler); aw_feature_overrides.DisableFeature(blink::features::kWebAppLaunchQueue); // Disable Reducing User Agent minor version on WebView. aw_feature_overrides.DisableFeature( Loading Loading @@ -140,6 +140,11 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) { aw_feature_overrides.DisableFeature( blink::features::kSecurePaymentConfirmationAvailabilityAPI); // WebView does not support Secure Payment Confirmation, and thus should not // expose the PaymentRequest.securePaymentConfirmationCapabilities API. aw_feature_overrides.DisableFeature( blink::features::kSecurePaymentConfirmationCapabilities); // WebView does not support handling payment links. aw_feature_overrides.DisableFeature(blink::features::kPaymentLinkDetection); Loading Loading @@ -233,7 +238,6 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) { // Disabling the permission element as it needs embedder support in order to // function and the webview permission manager cannot support it. aw_feature_overrides.DisableFeature(blink::features::kPermissionElement); aw_feature_overrides.DisableFeature(blink::features::kGeolocationElement); aw_feature_overrides.DisableFeature(blink::features::kUserMediaElement); aw_feature_overrides.DisableFeature(blink::features::kInstallElement); Loading Loading @@ -317,4 +321,17 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) { // Launched for WebView. Experimentation needed for Chrome on Android. aw_feature_overrides.EnableFeature( stylus_handwriting::android::kProbeStylusWritingInBackground); // As WebSettings.setAllowContentAccess() allows this to be controlled by // the WebView's host, we keep the old behavior for content:// URLs. aw_feature_overrides.DisableFeature(blink::features::kContentSchemeIsLocal); // Disable No-Vary-Search in disk cache on WebView. // See https://crbug.com/382394774. aw_feature_overrides.DisableFeature(net::features::kHttpCacheNoVarySearch); // TODO(crbug.com/489450060): Disable DirectReceiver on Viz for WebView until // its Viz thread is updated to handle IO. aw_feature_overrides.DisableFeature( ::features::kVizDirectCompositorThreadIpcFrameSinkManager); }
tools/under-control/src/android_webview/test/data/web_tests/webexposed/global-interface-listing-expected.txt +83 −56 Original line number Diff line number Diff line Loading @@ -143,10 +143,6 @@ interface Attr : Node getter value method constructor setter value interface AttributePart : NodePart attribute @@toStringTag getter localName method constructor interface Audio attribute @@toStringTag method constructor Loading Loading @@ -980,6 +976,10 @@ interface CSSPseudoElement getter parent getter type method constructor method convertPointFromNode method convertQuadFromNode method convertRectFromNode method getBoxQuads method pseudo interface CSSRGB : CSSColorValue attribute @@toStringTag Loading @@ -992,6 +992,9 @@ interface CSSRGB : CSSColorValue setter b setter g setter r interface CSSResultRule : CSSGroupingRule attribute @@toStringTag method constructor interface CSSRotate : CSSTransformComponent attribute @@toStringTag getter angle Loading Loading @@ -1360,26 +1363,22 @@ interface CharacterData : Node getter nextElementSibling getter previousElementSibling method after method afterHTML method afterHTMLUnsafe method appendData method before method beforeHTML method beforeHTMLUnsafe method constructor method deleteData method insertData method remove method replaceData method replaceWith method replaceWithHTML method replaceWithHTMLUnsafe method substringData setter data interface ChildNodePart : Part attribute @@toStringTag getter children getter nextSibling getter previousSibling getter rootContainer method clone method constructor method getParts method replaceChildren interface Clipboard : EventTarget attribute @@toStringTag getter onclipboardchange Loading Loading @@ -2128,7 +2127,6 @@ interface Document : Node method getElementsByName method getElementsByTagName method getElementsByTagNameNS method getPartRoot method getSelection method hasFocus method hasPrivateToken Loading Loading @@ -2306,18 +2304,11 @@ interface DocumentFragment : Node method append method constructor method getElementById method getPartRoot method moveBefore method prepend method querySelector method querySelectorAll method replaceChildren interface DocumentPartRoot attribute @@toStringTag getter rootContainer method clone method constructor method getParts interface DocumentTimeline : AnimationTimeline attribute @@toStringTag method constructor Loading @@ -2328,10 +2319,16 @@ interface DocumentType : Node getter publicId getter systemId method after method afterHTML method afterHTMLUnsafe method before method beforeHTML method beforeHTMLUnsafe method constructor method remove method replaceWith method replaceWithHTML method replaceWithHTMLUnsafe interface DragEvent : MouseEvent attribute @@toStringTag getter dataTransfer Loading Loading @@ -2373,7 +2370,6 @@ interface Element : Node attribute @@toStringTag attribute @@unscopables getter activeViewTransition getter anchorElement getter ariaActiveDescendantElement getter ariaAtomic getter ariaAutoComplete Loading Loading @@ -2450,6 +2446,7 @@ interface Element : Node getter innerHTML getter lastElementChild getter localName getter marker getter namespaceURI getter nextElementSibling getter onbeforecopy Loading @@ -2473,11 +2470,17 @@ interface Element : Node getter slot getter tagName method after method afterHTML method afterHTMLUnsafe method animate method append method appendHTML method appendHTMLUnsafe method ariaNotify method attachShadow method before method beforeHTML method beforeHTMLUnsafe method checkVisibility method closest method computedStyleMap Loading @@ -2504,6 +2507,8 @@ interface Element : Node method matches method moveBefore method prepend method prependHTML method prependHTMLUnsafe method pseudo method querySelector method querySelectorAll Loading @@ -2514,6 +2519,8 @@ interface Element : Node method removeAttributeNode method replaceChildren method replaceWith method replaceWithHTML method replaceWithHTMLUnsafe method requestFullscreen method requestPointerLock method scroll Loading @@ -2529,13 +2536,14 @@ interface Element : Node method setHTMLUnsafe method setPointerCapture method startViewTransition method streamAppendHTML method streamAppendHTMLUnsafe method streamHTML method streamHTMLUnsafe method toggleAttribute method webkitMatchesSelector method webkitRequestFullScreen method webkitRequestFullscreen setter anchorElement setter ariaActiveDescendantElement setter ariaAtomic setter ariaAutoComplete Loading Loading @@ -2597,6 +2605,7 @@ interface Element : Node setter headingReset setter id setter innerHTML setter marker setter onbeforecopy setter onbeforecut setter onbeforepaste Loading Loading @@ -2670,7 +2679,6 @@ interface ElementInternals getter role getter shadowRoot getter states getter type getter validationMessage getter validity getter willValidate Loading @@ -2678,6 +2686,7 @@ interface ElementInternals method constructor method reportValidity method setFormValue method setToolParamSchema method setValidity setter ariaActiveDescendantElement setter ariaAtomic Loading Loading @@ -2732,7 +2741,6 @@ interface ElementInternals setter ariaValueText setter ariaVirtualContent setter role setter type interface EncodedAudioChunk attribute @@toStringTag getter byteLength Loading Loading @@ -2938,7 +2946,6 @@ interface Float16Array : TypedArray method constructor interface FocusEvent : UIEvent attribute @@toStringTag getter pseudoTarget getter relatedTarget method constructor interface FontFace Loading Loading @@ -2977,13 +2984,6 @@ interface FontFaceSetLoadEvent : Event attribute @@toStringTag getter fontfaces method constructor interface FormControlRange : AbstractRange attribute @@toStringTag method constructor method getBoundingClientRect method getClientRects method setFormControlRange method toString interface FormData attribute @@toStringTag method @@iterator Loading Loading @@ -3679,17 +3679,20 @@ interface HTMLCanvasElement : HTMLElement attribute @@toStringTag getter height getter layoutSubtree getter onpaint getter width method captureStream method configureHighDynamicRange method constructor method getContext method getElementTransform method requestPaint method toBlob method toDataURL method transferControlToOffscreen setter height setter layoutSubtree setter onpaint setter width interface HTMLCollection attribute @@toStringTag Loading Loading @@ -4391,6 +4394,7 @@ interface HTMLInputElement : HTMLElement getter willValidate method checkValidity method constructor method createValueRange method reportValidity method select method setCustomValidity Loading Loading @@ -4563,6 +4567,7 @@ interface HTMLMediaElement : HTMLElement getter ended getter error getter latencyHint getter loading getter loop getter mediaKeys getter muted Loading Loading @@ -4600,6 +4605,7 @@ interface HTMLMediaElement : HTMLElement setter defaultMuted setter defaultPlaybackRate setter latencyHint setter loading setter loop setter muted setter onencrypted Loading Loading @@ -5068,14 +5074,12 @@ interface HTMLTableSectionElement : HTMLElement interface HTMLTemplateElement : HTMLElement attribute @@toStringTag getter content getter parseparts getter shadowRootClonable getter shadowRootCustomElementRegistry getter shadowRootDelegatesFocus getter shadowRootMode getter shadowRootSerializable method constructor setter parseparts setter shadowRootClonable setter shadowRootCustomElementRegistry setter shadowRootDelegatesFocus Loading Loading @@ -5109,6 +5113,7 @@ interface HTMLTextAreaElement : HTMLElement getter wrap method checkValidity method constructor method createValueRange method reportValidity method select method setCustomValidity Loading Loading @@ -5566,6 +5571,7 @@ interface InteractionContentfulPaint : PerformanceEntry attribute @@toStringTag getter element getter id getter interactionId getter loadTime getter paintTime getter presentationTime Loading Loading @@ -5623,7 +5629,6 @@ interface KeyboardEvent : UIEvent getter keyCode getter location getter metaKey getter pseudoTarget getter repeat getter shiftKey method constructor Loading Loading @@ -6308,9 +6313,7 @@ interface MimeTypeArray method namedItem interface ModelContext attribute @@toStringTag method clearContext method constructor method provideContext method registerTool method unregisterTool interface Mojo Loading Loading @@ -6384,7 +6387,6 @@ interface MouseEvent : UIEvent getter offsetY getter pageX getter pageY getter pseudoTarget getter relatedTarget getter screenX getter screenY Loading Loading @@ -6586,6 +6588,7 @@ interface Navigator getter preferences getter product getter productSub getter rtc getter scheduling getter serviceWorker getter storage Loading Loading @@ -6617,7 +6620,6 @@ interface Navigator method share method vibrate method webkitGetUserMedia setter modelContext setter modelContextTesting interface NavigatorManagedData : EventTarget attribute @@toStringTag Loading Loading @@ -6724,10 +6726,6 @@ interface NodeList method item method keys method values interface NodePart : Part attribute @@toStringTag getter node method constructor interface NotRestoredReasonDetails attribute @@toStringTag getter reason Loading Loading @@ -6908,6 +6906,12 @@ interface OffscreenCanvasRenderingContext2D setter textBaseline setter textRendering setter wordSpacing interface OpaqueRange : AbstractRange attribute @@toStringTag method constructor method disconnect method getBoundingClientRect method getClientRects interface Option attribute @@toStringTag getter defaultSelected Loading Loading @@ -6951,8 +6955,7 @@ interface OverconstrainedError : DOMException method constructor interface OverscrollEvent : Event attribute @@toStringTag getter deltaX getter deltaY getter overscrollElement method constructor interface PageRevealEvent : Event attribute @@toStringTag Loading Loading @@ -6994,12 +6997,6 @@ interface PannerNode : AudioNode setter panningModel setter refDistance setter rolloffFactor interface Part attribute @@toStringTag getter metadata getter root method constructor method disconnect interface PasswordCredential : Credential attribute @@toStringTag getter iconURL Loading Loading @@ -7149,6 +7146,7 @@ interface PerformanceLongAnimationFrameTiming : PerformanceEntry attribute @@toStringTag getter blockingDuration getter firstUIEventTimestamp getter layoutDuration getter paintTime getter presentationTime getter renderStart Loading Loading @@ -7254,6 +7252,7 @@ interface PerformanceResourceTiming : PerformanceEntry interface PerformanceScriptTiming : PerformanceEntry attribute @@toStringTag getter executionStart getter forcedLayoutDuration getter forcedStyleAndLayoutDuration getter forcedStyleDuration getter invoker Loading Loading @@ -7398,6 +7397,13 @@ interface ProcessingInstruction : CharacterData getter sheet getter target method constructor method getAttribute method getAttributeNames method hasAttribute method hasAttributes method removeAttribute method setAttribute method toggleAttribute interface Profiler : EventTarget attribute @@toStringTag getter sampleInterval Loading @@ -7424,6 +7430,12 @@ interface QuotaExceededError : DOMException getter quota getter requested method constructor interface RTC : EventTarget attribute @@toStringTag method cancelDiagnosticLogging method constructor method finishDiagnosticLogging method startDiagnosticLogging interface RTCCertificate attribute @@toStringTag getter expires Loading Loading @@ -7825,6 +7837,7 @@ interface Request getter headers getter integrity getter isHistoryNavigation getter isReloadNavigation getter keepalive getter method getter mode Loading Loading @@ -9324,6 +9337,7 @@ interface ShadowRoot : DocumentFragment getter fullscreenElement getter host getter innerHTML getter marker getter mode getter onslotchange getter pictureInPictureElement Loading @@ -9332,15 +9346,21 @@ interface ShadowRoot : DocumentFragment getter serializable getter slotAssignment getter styleSheets method appendHTML method appendHTMLUnsafe method constructor method elementFromPoint method elementsFromPoint method getAnimations method getHTML method getSelection method prependHTML method prependHTMLUnsafe method setHTML method setHTMLUnsafe method streamAppendHTML method streamAppendHTMLUnsafe method streamHTML method streamHTMLUnsafe setter adoptedStyleSheets setter fullscreenElement Loading Loading @@ -9388,6 +9408,9 @@ interface SnapEvent : Event method constructor interface SoftNavigationEntry : PerformanceEntry attribute @@toStringTag getter interactionId getter largestInteractionContentfulPaint getter navigationType getter paintTime getter presentationTime method constructor Loading Loading @@ -9853,7 +9876,6 @@ interface TouchEvent : UIEvent getter changedTouches getter ctrlKey getter metaKey getter pseudoTarget getter shiftKey getter targetTouches getter touches Loading Loading @@ -9921,6 +9943,11 @@ interface TrustedHTML method constructor method toJSON method toString interface TrustedParserOptions attribute @@toStringTag getter runScripts getter sanitizer method constructor interface TrustedScript static method fromLiteral attribute @@toStringTag Loading @@ -9938,6 +9965,7 @@ interface TrustedTypePolicy getter name method constructor method createHTML method createParserOptions method createScript method createScriptURL interface TrustedTypePolicyFactory Loading @@ -9956,6 +9984,7 @@ interface TrustedTypePolicyFactory interface UIEvent : Event attribute @@toStringTag getter detail getter pseudoTarget getter sourceCapabilities getter view getter which Loading Loading @@ -11871,7 +11900,6 @@ interface XPathResult interface XRCompositionLayer : XRLayer attribute @@toStringTag getter blendTextureSourceAlpha getter chromaticAberrationCorrection getter forceMonoPresentation getter layout getter mipLevels Loading @@ -11880,7 +11908,6 @@ interface XRCompositionLayer : XRLayer method constructor method destroy setter blendTextureSourceAlpha setter chromaticAberrationCorrection setter forceMonoPresentation setter opacity interface XRDOMOverlayState Loading
tools/under-control/src/chrome/android/java/AndroidManifest.xml +30 −10 Original line number Diff line number Diff line Loading @@ -72,11 +72,8 @@ by a child template that "extends" this file. <uses-permission android:name="android.permission.CAPTURE_KEYBOARD" /> <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> {% set is_desktop_android = is_desktop_android|default(0) %} {% if is_desktop_android == "true" %} <uses-permission android:name="android.permission.FOREGROUND_SERVICE_CAMERA" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE" /> {% endif %} {% set enable_screen_capture = enable_screen_capture|default(0) %} {% if enable_screen_capture == "true" %} <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION" /> Loading Loading @@ -126,6 +123,12 @@ by a child template that "extends" this file. <uses-permission android:name="android.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS"/> <uses-permission android:name="android.permission.CREDENTIAL_MANAGER_SET_ORIGIN"/> <!-- Permission for reading the Advanced Protection Mode status. --> <uses-permission android:name="android.permission.QUERY_ADVANCED_PROTECTION_MODE"/> <!-- Needed for allowing cross-app and cross-profile communication over the loopback interface. --> <uses-permission android:name="android.permission.USE_LOOPBACK_INTERFACE"/> {% set enable_vr = enable_vr|default(0) %} {% if enable_vr == "true" %} <!-- Indicates use of Android's VR-mode, available only on Android N+. --> Loading Loading @@ -229,7 +232,6 @@ by a child template that "extends" this file. android:allowBackup="false" {% endif %} android:networkSecurityConfig="@xml/network_security_config" android:allowAudioPlaybackCapture="false" android:appComponentFactory="org.chromium.chrome.browser.base.SplitCompatAppComponentFactory" android:enableOnBackInvokedCallback="true" {% if javaless_renderers is defined %} Loading Loading @@ -409,7 +411,7 @@ by a child template that "extends" this file. android:theme="@style/Theme.Chromium.Activity" android:excludeFromRecents="true" android:configChanges= "screenSize|smallestScreenSize|screenLayout|orientation" "screenSize|smallestScreenSize|screenLayout|orientation|density|uiMode" {{ self.supports_video_persistence() }} > </activity> Loading Loading @@ -526,6 +528,16 @@ by a child template that "extends" this file. </intent-filter> </receiver> <!-- Actor related --> <receiver android:name="org.chromium.chrome.browser.actor.ActorBroadcastReceiver" android:exported="false"> <intent-filter> <action android:name="org.chromium.chrome.browser.actor.ACTION_PAUSE" /> <action android:name="org.chromium.chrome.browser.actor.ACTION_RESUME" /> <action android:name="org.chromium.chrome.browser.actor.ACTION_CANCEL" /> </intent-filter> </receiver> <!-- Custom Tabs --> <activity android:name="org.chromium.chrome.browser.customtabs.CustomTabActivity" android:theme="@style/Theme.Chromium.Activity" Loading Loading @@ -687,7 +699,7 @@ by a child template that "extends" this file. </activity> <activity android:name="org.chromium.chrome.browser.chrome_item_picker.ChromeItemPickerActivity" android:theme="@style/Theme.Chromium.WithWindowAnimation" android:theme="@style/Theme.Chromium.Activity.FakeTranslucent" android:exported="false" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode"> </activity> Loading Loading @@ -914,6 +926,11 @@ by a child template that "extends" this file. android:isolatedProcess="true" android:process=":decoder_service" /> <!-- Actor foreground service --> <service android:name="org.chromium.chrome.browser.actor.ActorForegroundService" android:foregroundServiceType="dataSync" android:exported="false"> </service> <!-- Download foreground service --> <service android:name="org.chromium.chrome.browser.download.DownloadForegroundService" android:foregroundServiceType="dataSync" android:exported="false"> Loading Loading @@ -1115,6 +1132,7 @@ by a child template that "extends" this file. <activity android:name="org.chromium.chrome.browser.notifications.NotificationIntentInterceptor$TrampolineActivity" android:taskAffinity="" android:theme="@style/Theme.BrowserUI.Translucent.NoTitleBar" android:exported="false" android:autoRemoveFromRecents="true" Loading Loading @@ -1165,12 +1183,10 @@ by a child template that "extends" this file. android:exported="false"/> <service android:name="org.chromium.chrome.browser.media.MediaCaptureNotificationService" {% if is_desktop_android == "true" and enable_screen_capture == "true" %} {% if enable_screen_capture == "true" %} android:foregroundServiceType="camera|microphone|mediaProjection|mediaPlayback" {% elif is_desktop_android == "true" %} {% else %} android:foregroundServiceType="camera|microphone" {% elif enable_screen_capture == "true" %} android:foregroundServiceType="mediaProjection|mediaPlayback" {% endif %} android:exported="false"/> <service android:name="org.chromium.chrome.browser.media.ui.ChromeMediaNotificationControllerServices$PlaybackListenerService" Loading Loading @@ -1277,6 +1293,10 @@ by a child template that "extends" this file. <!-- NOTE: If you change the value of "android:process" for the below services, you also need to update kHelperProcessExecutableName in chrome_constants.cc. --> <!-- NOTE: num_sandboxed_services is simply the number of name slots available, and not a limit on the number of sandboxed processes that can be created. In practice, many fewer slots are used, and process names are often reused, such as many processes named with the suffix ":sandboxed_process0". --> {% set num_sandboxed_services = 40 %} <meta-data android:name="org.chromium.content.browser.NUM_SANDBOXED_SERVICES" android:value="{{ num_sandboxed_services }}"/> Loading