Loading tools/under-control/src/RELEASE +1 −1 Original line number Diff line number Diff line 143.0.7499.110 144.0.7559.60 tools/under-control/src/android_webview/browser/aw_field_trials.cc +12 −23 Original line number Diff line number Diff line Loading @@ -10,7 +10,6 @@ #include "base/allocator/partition_alloc_features.h" #include "base/base_paths_android.h" #include "base/check.h" #include "base/metrics/field_trial_params.h" #include "base/metrics/persistent_histogram_allocator.h" #include "base/path_service.h" #include "components/history/core/browser/features.h" Loading @@ -32,6 +31,7 @@ #include "third_party/blink/public/common/features.h" #include "third_party/blink/public/common/features_generated.h" #include "ui/android/ui_android_features.h" #include "ui/base/ui_base_features.h" #include "ui/gl/gl_features.h" #include "ui/gl/gl_switches.h" Loading Loading @@ -113,6 +113,11 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) { // Disable scrollbar-width on WebView. aw_feature_overrides.DisableFeature(blink::features::kScrollbarWidth); // TODO(crbug.com/402144902): Remove this once webview experiment has // concluded. aw_feature_overrides.DisableFeature( ::features::kSendEmptyGestureScrollUpdate); // Disable Populating the VisitedLinkDatabase on WebView. aw_feature_overrides.DisableFeature(history::kPopulateVisitedLinkDatabase); Loading Loading @@ -232,24 +237,8 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) { // function and the webview permission manager cannot support it. aw_feature_overrides.DisableFeature(blink::features::kPermissionElement); aw_feature_overrides.DisableFeature(blink::features::kGeolocationElement); // |kBtmTtl| in the testing config json. { const char kDipsWebViewExperiment[] = "DipsWebViewExperiment"; const char kDipsWebViewGroup[] = "DipsWebViewGroup"; base::FieldTrial* dips_field_trial = base::FieldTrialList::CreateFieldTrial( kDipsWebViewExperiment, kDipsWebViewGroup); CHECK(dips_field_trial) << "Unexpected name conflict."; base::FieldTrialParams params; const std::string ttl_time_delta_30_days = "30d"; params.emplace(features::kBtmInteractionTtl.name, ttl_time_delta_30_days); base::AssociateFieldTrialParams(kDipsWebViewExperiment, kDipsWebViewGroup, params); aw_feature_overrides.OverrideFeatureWithFieldTrial( features::kBtmTtl, base::FeatureList::OverrideState::OVERRIDE_ENABLE_FEATURE, dips_field_trial); } aw_feature_overrides.DisableFeature(blink::features::kUserMediaElement); aw_feature_overrides.DisableFeature(blink::features::kInstallElement); // Delete Incidental Party State (DIPS) feature is not yet supported on // WebView. Loading Loading @@ -287,10 +276,6 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) { aw_feature_overrides.DisableFeature( blink::features::kPartitionVisitedLinkDatabaseWithSelfLinks); // Disable draw cutout edge-to-edge on WebView. Safe area insets are not // handled correctly when WebView is drawing edge-to-edge. aw_feature_overrides.DisableFeature(features::kDrawCutoutEdgeToEdge); // Explicitly disable PrefetchProxy instead of relying only on passing an // empty URL. aw_feature_overrides.DisableFeature(features::kPrefetchProxy); Loading Loading @@ -321,4 +306,8 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) { // SystemTracing is enabled by default only in WebView for now. aw_feature_overrides.EnableFeature(features::kEnablePerfettoSystemTracing); // Deemed that performance benefit is not worth the stability cost. // See crbug.com/1309151. aw_feature_overrides.DisableFeature(::features::kGpuShaderDiskCache); } tools/under-control/src/chrome/android/java/AndroidManifest.xml +23 −17 Original line number Diff line number Diff line Loading @@ -397,6 +397,17 @@ by a child template that "extends" this file. </intent-filter> </activity> <activity android:name="org.chromium.chrome.browser.media.DocumentPictureInPictureActivity" android:exported="false" android:noHistory="true" android:theme="@style/Theme.Chromium.Activity" android:excludeFromRecents="true" android:configChanges= "screenSize|smallestScreenSize|screenLayout|orientation" {{ self.supports_video_persistence() }} > </activity> <activity android:name="org.chromium.chrome.browser.media.PictureInPictureActivity" android:exported="false" android:noHistory="true" Loading Loading @@ -993,14 +1004,6 @@ by a child template that "extends" this file. </intent-filter> </activity> <!-- GcmTaskService for registration for Invalidations. Not actually implemented anymore. --> <service android:name="com.google.ipc.invalidation.ticl.android2.channel.GcmRegistrationTaskService" android:exported="true" android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE" > <intent-filter> <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY"/> </intent-filter> </service> <!-- GcmListenerService for messages from GCM. --> <service android:name="org.chromium.chrome.browser.services.gcm.ChromeGcmListenerService" android:exported="false" > Loading Loading @@ -1048,15 +1051,6 @@ by a child template that "extends" this file. android:exported="false" android:permission="android.permission.BIND_JOB_SERVICE"/> <!-- GcmTaskService implementation to wake Chrome on scheduled events --> <service android:name="org.chromium.chrome.browser.ChromeBackgroundService" android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE" android:exported="true"> <intent-filter> <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY" /> </intent-filter> </service> <service android:name="org.chromium.chrome.browser.customtabs.CustomTabsConnectionService" android:exported="true" tools:ignore="ExportedService"> Loading Loading @@ -1229,6 +1223,17 @@ by a child template that "extends" this file. android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize" > </activity> <!-- This activity is Android P- only which is not supported by Chrome now. --> <activity android:name="androidx.biometric.internal.ui.FingerprintDialogActivity" tools:node="remove"> </activity> <!-- Disabled via CastOptionsProvider. --> <service android:name="com.google.android.gms.cast.framework.ReconnectionService" tools:node="remove" /> <property android:name="android.adservices.AD_SERVICES_CONFIG" android:resource="@xml/ad_services_config" /> Loading Loading @@ -1408,6 +1413,7 @@ by a child template that "extends" this file. android:name="androidx.startup.InitializationProvider" tools:node="remove"> </provider> <!-- We call FirebaseApp.initializeApp() explicitly rather than relying on this hook for better control over when it happens. --> <provider android:name="com.google.firebase.provider.FirebaseInitProvider" Loading tools/under-control/src/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java +40 −6 Original line number Diff line number Diff line Loading @@ -91,6 +91,7 @@ import org.chromium.chrome.browser.browserservices.intents.ColorProvider; import org.chromium.chrome.browser.browserservices.intents.CustomButtonParams; import org.chromium.chrome.browser.browserservices.intents.SessionHolder; import org.chromium.chrome.browser.customtabs.CustomTabsFeatureUsage.CustomTabsFeature; import org.chromium.chrome.browser.firstrun.FirstRunStatus; import org.chromium.chrome.browser.flags.ActivityType; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.share.ShareUtils; Loading Loading @@ -606,11 +607,17 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid List<Bundle> menuItems = IntentUtils.getParcelableArrayListExtra(intent, CustomTabsIntent.EXTRA_MENU_ITEMS); mOpenInBrowserState = int openInBrowserState = IntentUtils.safeGetIntExtra( intent, EXTRA_OPEN_IN_BROWSER_STATE, OpenInBrowserButtonState.OPEN_IN_BROWSER_STATE_DEFAULT); if (isOpenInBrowserDisallowed( getUiType(), getCustomTabMode() == CustomTabProfileType.INCOGNITO)) { openInBrowserState = CustomTabsButtonState.BUTTON_STATE_OFF; } mOpenInBrowserState = openInBrowserState; int oibState = adjustOpenInBrowserOption(intent); maybeAddOpenInBrowserOption(context, oibState); updateExtraMenuItems(menuItems); Loading Loading @@ -993,11 +1000,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid boolean usingInteractiveOmnibox = CustomTabsConnection.getInstance().shouldEnableOmniboxForIntent(this); int openInBrowserState = IntentUtils.safeGetIntExtra( intent, EXTRA_OPEN_IN_BROWSER_STATE, CustomTabsButtonState.BUTTON_STATE_DEFAULT); int openInBrowserState = mOpenInBrowserState; if (openInBrowserState == CustomTabsButtonState.BUTTON_STATE_ON && !ChromeFeatureList.sCctOpenInBrowserButtonIfEnabledByEmbedder.isEnabled()) { Loading Loading @@ -1048,6 +1051,37 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid } } /** * Returns {@code true} if open-in-browser (action button/menu item) should not be presented on * the UI surface. * * @param type {@link CustomTabsUiType} value. * @param incognito Whether the {@link CustomTabProfileType} is incongnito. */ public static boolean isOpenInBrowserDisallowed(int type, boolean incognito) { return !isOpenInBrowserAllowedForType(type) || incognito || !FirstRunStatus.getFirstRunFlowComplete(); } private static boolean isOpenInBrowserAllowedForType(int type) { switch (type) { case CustomTabsUiType.MEDIA_VIEWER: case CustomTabsUiType.READER_MODE: case CustomTabsUiType.MINIMAL_UI_WEBAPP: case CustomTabsUiType.OFFLINE_PAGE: case CustomTabsUiType.AUTH_TAB: case CustomTabsUiType.NETWORK_BOUND_TAB: case CustomTabsUiType.POPUP: return false; case CustomTabsUiType.TRUSTED_WEB_ACTIVITY: return !ChromeFeatureList.sAndroidWebAppMenuButton.isEnabled(); case CustomTabsUiType.DEFAULT: default: return true; } } private @Nullable String resolveUrlToLoad(Intent intent) { String url = IntentHandler.getUrlFromIntent(intent); Loading tools/under-control/src/chrome/browser/about_flags.cc +814 −685 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
tools/under-control/src/RELEASE +1 −1 Original line number Diff line number Diff line 143.0.7499.110 144.0.7559.60
tools/under-control/src/android_webview/browser/aw_field_trials.cc +12 −23 Original line number Diff line number Diff line Loading @@ -10,7 +10,6 @@ #include "base/allocator/partition_alloc_features.h" #include "base/base_paths_android.h" #include "base/check.h" #include "base/metrics/field_trial_params.h" #include "base/metrics/persistent_histogram_allocator.h" #include "base/path_service.h" #include "components/history/core/browser/features.h" Loading @@ -32,6 +31,7 @@ #include "third_party/blink/public/common/features.h" #include "third_party/blink/public/common/features_generated.h" #include "ui/android/ui_android_features.h" #include "ui/base/ui_base_features.h" #include "ui/gl/gl_features.h" #include "ui/gl/gl_switches.h" Loading Loading @@ -113,6 +113,11 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) { // Disable scrollbar-width on WebView. aw_feature_overrides.DisableFeature(blink::features::kScrollbarWidth); // TODO(crbug.com/402144902): Remove this once webview experiment has // concluded. aw_feature_overrides.DisableFeature( ::features::kSendEmptyGestureScrollUpdate); // Disable Populating the VisitedLinkDatabase on WebView. aw_feature_overrides.DisableFeature(history::kPopulateVisitedLinkDatabase); Loading Loading @@ -232,24 +237,8 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) { // function and the webview permission manager cannot support it. aw_feature_overrides.DisableFeature(blink::features::kPermissionElement); aw_feature_overrides.DisableFeature(blink::features::kGeolocationElement); // |kBtmTtl| in the testing config json. { const char kDipsWebViewExperiment[] = "DipsWebViewExperiment"; const char kDipsWebViewGroup[] = "DipsWebViewGroup"; base::FieldTrial* dips_field_trial = base::FieldTrialList::CreateFieldTrial( kDipsWebViewExperiment, kDipsWebViewGroup); CHECK(dips_field_trial) << "Unexpected name conflict."; base::FieldTrialParams params; const std::string ttl_time_delta_30_days = "30d"; params.emplace(features::kBtmInteractionTtl.name, ttl_time_delta_30_days); base::AssociateFieldTrialParams(kDipsWebViewExperiment, kDipsWebViewGroup, params); aw_feature_overrides.OverrideFeatureWithFieldTrial( features::kBtmTtl, base::FeatureList::OverrideState::OVERRIDE_ENABLE_FEATURE, dips_field_trial); } aw_feature_overrides.DisableFeature(blink::features::kUserMediaElement); aw_feature_overrides.DisableFeature(blink::features::kInstallElement); // Delete Incidental Party State (DIPS) feature is not yet supported on // WebView. Loading Loading @@ -287,10 +276,6 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) { aw_feature_overrides.DisableFeature( blink::features::kPartitionVisitedLinkDatabaseWithSelfLinks); // Disable draw cutout edge-to-edge on WebView. Safe area insets are not // handled correctly when WebView is drawing edge-to-edge. aw_feature_overrides.DisableFeature(features::kDrawCutoutEdgeToEdge); // Explicitly disable PrefetchProxy instead of relying only on passing an // empty URL. aw_feature_overrides.DisableFeature(features::kPrefetchProxy); Loading Loading @@ -321,4 +306,8 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) { // SystemTracing is enabled by default only in WebView for now. aw_feature_overrides.EnableFeature(features::kEnablePerfettoSystemTracing); // Deemed that performance benefit is not worth the stability cost. // See crbug.com/1309151. aw_feature_overrides.DisableFeature(::features::kGpuShaderDiskCache); }
tools/under-control/src/chrome/android/java/AndroidManifest.xml +23 −17 Original line number Diff line number Diff line Loading @@ -397,6 +397,17 @@ by a child template that "extends" this file. </intent-filter> </activity> <activity android:name="org.chromium.chrome.browser.media.DocumentPictureInPictureActivity" android:exported="false" android:noHistory="true" android:theme="@style/Theme.Chromium.Activity" android:excludeFromRecents="true" android:configChanges= "screenSize|smallestScreenSize|screenLayout|orientation" {{ self.supports_video_persistence() }} > </activity> <activity android:name="org.chromium.chrome.browser.media.PictureInPictureActivity" android:exported="false" android:noHistory="true" Loading Loading @@ -993,14 +1004,6 @@ by a child template that "extends" this file. </intent-filter> </activity> <!-- GcmTaskService for registration for Invalidations. Not actually implemented anymore. --> <service android:name="com.google.ipc.invalidation.ticl.android2.channel.GcmRegistrationTaskService" android:exported="true" android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE" > <intent-filter> <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY"/> </intent-filter> </service> <!-- GcmListenerService for messages from GCM. --> <service android:name="org.chromium.chrome.browser.services.gcm.ChromeGcmListenerService" android:exported="false" > Loading Loading @@ -1048,15 +1051,6 @@ by a child template that "extends" this file. android:exported="false" android:permission="android.permission.BIND_JOB_SERVICE"/> <!-- GcmTaskService implementation to wake Chrome on scheduled events --> <service android:name="org.chromium.chrome.browser.ChromeBackgroundService" android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE" android:exported="true"> <intent-filter> <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY" /> </intent-filter> </service> <service android:name="org.chromium.chrome.browser.customtabs.CustomTabsConnectionService" android:exported="true" tools:ignore="ExportedService"> Loading Loading @@ -1229,6 +1223,17 @@ by a child template that "extends" this file. android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize" > </activity> <!-- This activity is Android P- only which is not supported by Chrome now. --> <activity android:name="androidx.biometric.internal.ui.FingerprintDialogActivity" tools:node="remove"> </activity> <!-- Disabled via CastOptionsProvider. --> <service android:name="com.google.android.gms.cast.framework.ReconnectionService" tools:node="remove" /> <property android:name="android.adservices.AD_SERVICES_CONFIG" android:resource="@xml/ad_services_config" /> Loading Loading @@ -1408,6 +1413,7 @@ by a child template that "extends" this file. android:name="androidx.startup.InitializationProvider" tools:node="remove"> </provider> <!-- We call FirebaseApp.initializeApp() explicitly rather than relying on this hook for better control over when it happens. --> <provider android:name="com.google.firebase.provider.FirebaseInitProvider" Loading
tools/under-control/src/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java +40 −6 Original line number Diff line number Diff line Loading @@ -91,6 +91,7 @@ import org.chromium.chrome.browser.browserservices.intents.ColorProvider; import org.chromium.chrome.browser.browserservices.intents.CustomButtonParams; import org.chromium.chrome.browser.browserservices.intents.SessionHolder; import org.chromium.chrome.browser.customtabs.CustomTabsFeatureUsage.CustomTabsFeature; import org.chromium.chrome.browser.firstrun.FirstRunStatus; import org.chromium.chrome.browser.flags.ActivityType; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.share.ShareUtils; Loading Loading @@ -606,11 +607,17 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid List<Bundle> menuItems = IntentUtils.getParcelableArrayListExtra(intent, CustomTabsIntent.EXTRA_MENU_ITEMS); mOpenInBrowserState = int openInBrowserState = IntentUtils.safeGetIntExtra( intent, EXTRA_OPEN_IN_BROWSER_STATE, OpenInBrowserButtonState.OPEN_IN_BROWSER_STATE_DEFAULT); if (isOpenInBrowserDisallowed( getUiType(), getCustomTabMode() == CustomTabProfileType.INCOGNITO)) { openInBrowserState = CustomTabsButtonState.BUTTON_STATE_OFF; } mOpenInBrowserState = openInBrowserState; int oibState = adjustOpenInBrowserOption(intent); maybeAddOpenInBrowserOption(context, oibState); updateExtraMenuItems(menuItems); Loading Loading @@ -993,11 +1000,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid boolean usingInteractiveOmnibox = CustomTabsConnection.getInstance().shouldEnableOmniboxForIntent(this); int openInBrowserState = IntentUtils.safeGetIntExtra( intent, EXTRA_OPEN_IN_BROWSER_STATE, CustomTabsButtonState.BUTTON_STATE_DEFAULT); int openInBrowserState = mOpenInBrowserState; if (openInBrowserState == CustomTabsButtonState.BUTTON_STATE_ON && !ChromeFeatureList.sCctOpenInBrowserButtonIfEnabledByEmbedder.isEnabled()) { Loading Loading @@ -1048,6 +1051,37 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid } } /** * Returns {@code true} if open-in-browser (action button/menu item) should not be presented on * the UI surface. * * @param type {@link CustomTabsUiType} value. * @param incognito Whether the {@link CustomTabProfileType} is incongnito. */ public static boolean isOpenInBrowserDisallowed(int type, boolean incognito) { return !isOpenInBrowserAllowedForType(type) || incognito || !FirstRunStatus.getFirstRunFlowComplete(); } private static boolean isOpenInBrowserAllowedForType(int type) { switch (type) { case CustomTabsUiType.MEDIA_VIEWER: case CustomTabsUiType.READER_MODE: case CustomTabsUiType.MINIMAL_UI_WEBAPP: case CustomTabsUiType.OFFLINE_PAGE: case CustomTabsUiType.AUTH_TAB: case CustomTabsUiType.NETWORK_BOUND_TAB: case CustomTabsUiType.POPUP: return false; case CustomTabsUiType.TRUSTED_WEB_ACTIVITY: return !ChromeFeatureList.sAndroidWebAppMenuButton.isEnabled(); case CustomTabsUiType.DEFAULT: default: return true; } } private @Nullable String resolveUrlToLoad(Intent intent) { String url = IntentHandler.getUrlFromIntent(intent); Loading
tools/under-control/src/chrome/browser/about_flags.cc +814 −685 File changed.Preview size limit exceeded, changes collapsed. Show changes