Loading tools/under-control/src/RELEASE +1 −1 Original line number Diff line number Diff line 129.0.6668.101 130.0.6723.44 tools/under-control/src/android_webview/browser/aw_content_browser_client.cc +33 −28 Original line number Diff line number Diff line Loading @@ -89,6 +89,7 @@ #include "content/public/browser/child_process_security_policy.h" #include "content/public/browser/client_certificate_delegate.h" #include "content/public/browser/file_url_loader.h" #include "content/public/browser/frame_type.h" #include "content/public/browser/navigation_handle.h" #include "content/public/browser/navigation_throttle.h" #include "content/public/browser/network_service_instance.h" Loading Loading @@ -132,6 +133,7 @@ #include "ui/resources/grit/ui_resources.h" using content::BrowserThread; using content::FrameType; using content::WebContents; using safe_browsing::AsyncCheckTracker; using safe_browsing::hash_realtime_utils::HashRealTimeSelection; Loading Loading @@ -183,7 +185,7 @@ class XrwNavigationThrottle : public content::NavigationThrottle { // Get async check tracker to make Safe Browsing v5 check asynchronous base::WeakPtr<AsyncCheckTracker> GetAsyncCheckTracker( const base::RepeatingCallback<content::WebContents*()>& wc_getter, int frame_tree_node_id) { content::FrameTreeNodeId frame_tree_node_id) { if (!base::FeatureList::IsEnabled( safe_browsing::kSafeBrowsingAsyncRealTimeCheck)) { return nullptr; Loading @@ -196,9 +198,12 @@ base::WeakPtr<AsyncCheckTracker> GetAsyncCheckTracker( return nullptr; } // Setting should_sync_checker_check_allowlist to false since the allowlist // is not available on WebView. return AsyncCheckTracker::GetOrCreateForWebContents( web_contents, AwBrowserProcess::GetInstance()->GetSafeBrowsingUIManager()) AwBrowserProcess::GetInstance()->GetSafeBrowsingUIManager(), /*should_sync_checker_check_allowlist=*/false) ->GetWeakPtr(); } Loading Loading @@ -520,9 +525,7 @@ base::FilePath AwContentBrowserClient::GetDefaultDownloadDirectory() { } std::string AwContentBrowserClient::GetDefaultDownloadName() { NOTREACHED_IN_MIGRATION() << "Android WebView does not use chromium downloads"; return std::string(); NOTREACHED() << "Android WebView does not use chromium downloads"; } std::optional<base::FilePath> Loading @@ -538,7 +541,7 @@ AwContentBrowserClient::GetLocalTracesDirectory() { void AwContentBrowserClient::DidCreatePpapiPlugin( content::BrowserPpapiHost* browser_host) { NOTREACHED_IN_MIGRATION() << "Android WebView does not support plugins"; NOTREACHED() << "Android WebView does not support plugins"; } bool AwContentBrowserClient::AllowPepperSocketAPI( Loading @@ -546,15 +549,13 @@ bool AwContentBrowserClient::AllowPepperSocketAPI( const GURL& url, bool private_api, const content::SocketPermissionRequest* params) { NOTREACHED_IN_MIGRATION() << "Android WebView does not support plugins"; return false; NOTREACHED() << "Android WebView does not support plugins"; } bool AwContentBrowserClient::IsPepperVpnProviderAPIAllowed( content::BrowserContext* browser_context, const GURL& url) { NOTREACHED_IN_MIGRATION() << "Android WebView does not support plugins"; return false; NOTREACHED() << "Android WebView does not support plugins"; } std::unique_ptr<content::TracingDelegate> Loading Loading @@ -645,6 +646,19 @@ AwContentBrowserClient::CreateThrottlesForNavigation( throttles.push_back( std::make_unique<XrwNavigationThrottle>(navigation_handle)); } if ((navigation_handle->GetNavigatingFrameType() == FrameType::kPrimaryMainFrame || navigation_handle->GetNavigatingFrameType() == FrameType::kSubframe) && navigation_handle->GetURL().SchemeIsHTTPOrHTTPS()) { AwSupervisedUserUrlClassifier* urlClassifier = AwSupervisedUserUrlClassifier::GetInstance(); if (urlClassifier->ShouldCreateThrottle()) { throttles.push_back(std::make_unique<AwSupervisedUserThrottle>( navigation_handle, urlClassifier)); } } return throttles; } Loading @@ -659,7 +673,7 @@ AwContentBrowserClient::CreateURLLoaderThrottles( content::BrowserContext* browser_context, const base::RepeatingCallback<content::WebContents*()>& wc_getter, content::NavigationUIData* navigation_ui_data, int frame_tree_node_id, content::FrameTreeNodeId frame_tree_node_id, std::optional<int64_t> navigation_id) { DCHECK_CURRENTLY_ON(BrowserThread::UI); Loading Loading @@ -705,17 +719,6 @@ AwContentBrowserClient::CreateURLLoaderThrottles( } } if ((request.destination == network::mojom::RequestDestination::kDocument || request.destination == network::mojom::RequestDestination::kIframe) && request.url.SchemeIsHTTPOrHTTPS()) { AwSupervisedUserUrlClassifier* urlClassifier = AwSupervisedUserUrlClassifier::GetInstance(); if (urlClassifier->ShouldCreateThrottle()) { result.push_back( std::make_unique<AwSupervisedUserThrottle>(urlClassifier)); } } return result; } Loading @@ -724,7 +727,7 @@ AwContentBrowserClient::CreateURLLoaderThrottlesForKeepAlive( const network::ResourceRequest& request, content::BrowserContext* browser_context, const base::RepeatingCallback<content::WebContents*()>& wc_getter, int frame_tree_node_id) { content::FrameTreeNodeId frame_tree_node_id) { DCHECK_CURRENTLY_ON(BrowserThread::UI); // Set lookup mechanism based on feature flag HashRealTimeSelection hash_real_time_selection = Loading Loading @@ -768,7 +771,7 @@ AwContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate() { } bool AwContentBrowserClient::ShouldOverrideUrlLoading( int frame_tree_node_id, content::FrameTreeNodeId frame_tree_node_id, bool browser_initiated, const GURL& gurl, const std::string& request_method, Loading Loading @@ -846,6 +849,9 @@ bool AwContentBrowserClient::ShouldOverrideUrlLoading( bool AwContentBrowserClient::ShouldAllowSameSiteRenderFrameHostChange( const content::RenderFrameHost& rfh) { if (!base::FeatureList::IsEnabled(features::kWebViewRenderDocument)) { return false; } content::RenderFrameHost* rfh_ptr = const_cast<content::RenderFrameHost*>(&rfh); content::WebContents* web_contents = Loading Loading @@ -877,7 +883,7 @@ AwContentBrowserClient::CreateLoginDelegate( bool AwContentBrowserClient::HandleExternalProtocol( const GURL& url, content::WebContents::Getter wc_getter, int frame_tree_node_id, content::FrameTreeNodeId frame_tree_node_id, content::NavigationUIData* navigation_data, bool is_primary_main_frame, bool /* is_in_fenced_frame_tree */, Loading Loading @@ -926,7 +932,7 @@ bool AwContentBrowserClient::HandleExternalProtocol( FROM_HERE, base::BindOnce( [](mojo::PendingReceiver<network::mojom::URLLoaderFactory> receiver, int frame_tree_node_id, content::FrameTreeNodeId frame_tree_node_id, scoped_refptr<AwBrowserContextIoThreadHandle> browser_context_handle) { // Manages its own lifetime. Loading Loading @@ -1126,8 +1132,7 @@ void AwContentBrowserClient::WillCreateURLLoaderFactory( FROM_HERE, base::BindOnce( &AwProxyingURLLoaderFactory::CreateProxy, std::move(cookie_manager), cookie_access_policy, isolation_info, content::RenderFrameHost::kNoFrameTreeNodeId, cookie_access_policy, isolation_info, content::FrameTreeNodeId(), std::move(proxied_receiver), std::move(target_factory_remote), std::nullopt /* security_options */, aw_browser_context->service_worker_xrw_allowlist_matcher(), Loading tools/under-control/src/android_webview/browser/aw_field_trials.cc +7 −6 Original line number Diff line number Diff line Loading @@ -96,7 +96,7 @@ void AwFieldTrials::OnVariationsSetupComplete() { if (base::PathService::Get(base::DIR_ANDROID_APP_DATA, &metrics_dir)) { InstantiatePersistentHistogramsWithFeaturesAndCleanup(metrics_dir); } else { NOTREACHED_IN_MIGRATION(); NOTREACHED(); } } Loading Loading @@ -236,6 +236,12 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) { // enabling site isolation. See crbug.com/356170748. aw_feature_overrides.DisableFeature(blink::features::kPaintHoldingForIframes); // Since Default Nav Transition does not support WebView yet, disable the // LocalSurfaceId increment flag. TODO(crbug.com/361600214): Re-enable for // WebView when we start introducing this feature. aw_feature_overrides.DisableFeature( blink::features::kIncrementLocalSurfaceIdForMainframeSameDocNavigation); if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kDebugBsa)) { // Feature parameters can only be set via a field trial. const char kTrialName[] = "StudyDebugBsa"; Loading Loading @@ -272,9 +278,4 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) { // TODO(crbug.com/41492947): See crrev.com/c/5744034 for details, but I was // unable to add this feature to fieldtrial_testing_config and pass all tests. aw_feature_overrides.EnableFeature(blink::features::kElementGetInnerHTML); // TODO(crbug.com/356827071): Enable the feature for WebView. // Disable PlzDedicatedWorker as a workaround for crbug.com/356827071. // Otherwise, importScripts fails on WebView. aw_feature_overrides.DisableFeature(blink::features::kPlzDedicatedWorker); } tools/under-control/src/chrome/android/java/AndroidManifest.xml +8 −1 Original line number Diff line number Diff line Loading @@ -193,7 +193,7 @@ by a child template that "extends" this file. android:zygotePreloadName="{{ zygote_preload_class }}" {% if backup_key is defined %} android:allowBackup="true" android:backupAgent="org.chromium.chrome.browser.ChromeBackupAgent" android:backupAgent="org.chromium.chrome.browser.backup.ChromeBackupAgent" android:fullBackupOnly="false" android:restoreAnyVersion="true" {% else %} Loading Loading @@ -1199,7 +1199,9 @@ by a child template that "extends" this file. <property android:name="android.window.PROPERTY_ACTIVITY_STARTS_IN_IMMERSIVE_XR" android:value="true" /> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.XR" /> <category android:name="org.khronos.openxr.intent.category.IMMERSIVE_HMD" /> </intent-filter> </activity> {% endif %} Loading Loading @@ -1329,6 +1331,11 @@ 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" tools:node="remove"> </provider> <!-- The Play Core library added support for Play Asset Delivery (PAD), which is primarily used by game apps to allow dynamic delivery of resource bundles. Since chrome does not Loading tools/under-control/src/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc +20 −34 Original line number Diff line number Diff line Loading @@ -85,10 +85,13 @@ #include "chrome/browser/translate/chrome_translate_client.h" #include "chrome/browser/ui/find_bar/find_bar_state.h" #include "chrome/browser/ui/find_bar/find_bar_state_factory.h" #include "chrome/browser/user_annotations/user_annotations_service_factory.h" #include "chrome/browser/webauthn/chrome_authenticator_request_delegate.h" #include "chrome/browser/webdata_services/web_data_service_factory.h" #include "chrome/common/buildflags.h" #include "chrome/common/url_constants.h" #include "components/autofill/core/browser/address_data_manager.h" #include "components/autofill/core/browser/payments_data_manager.h" #include "components/autofill/core/browser/personal_data_manager.h" #include "components/autofill/core/browser/strike_databases/strike_database.h" #include "components/autofill/core/browser/webdata/autofill_webdata_service.h" Loading Loading @@ -139,6 +142,7 @@ #include "components/sync/service/sync_service.h" #include "components/sync/service/sync_user_settings.h" #include "components/tpcd/metadata/browser/manager.h" #include "components/user_annotations/user_annotations_service.h" #include "components/web_cache/browser/web_cache_manager.h" #include "components/webrtc_logging/browser/log_cleanup.h" #include "components/webrtc_logging/browser/text_log_list.h" Loading Loading @@ -505,27 +509,6 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( prerender::NoStatePrefetchManager::CLEAR_PRERENDER_HISTORY); } // The saved Autofill profiles and credit cards can include the origin from // which these profiles and credit cards were learned. These are a form of // history, so clear them as well. // TODO(dmurph): Support all backends with filter (crbug.com/113621). scoped_refptr<autofill::AutofillWebDataService> web_data_service = WebDataServiceFactory::GetAutofillWebDataForProfile( profile_, ServiceAccessType::EXPLICIT_ACCESS); if (web_data_service.get()) { web_data_service->RemoveOriginURLsModifiedBetween(delete_begin_, delete_end_); // Ask for a call back when the above call is finished. web_data_service->GetDBTaskRunner()->PostTaskAndReply( FROM_HERE, base::DoNothing(), CreateTaskCompletionClosure(TracingDataType::kAutofillOrigins)); autofill::PersonalDataManager* data_manager = autofill::PersonalDataManagerFactory::GetForBrowserContext(profile_); if (data_manager) data_manager->Refresh(); } base::ThreadPool::PostTaskAndReply( FROM_HERE, {base::TaskPriority::USER_VISIBLE, base::MayBlock()}, base::BindOnce( Loading Loading @@ -745,7 +728,6 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( browsing_data::RemoveSiteSettingsData(delete_begin, delete_end, host_content_settings_map_); #if !BUILDFLAG(IS_ANDROID) // The active permission does not have timestamps, so the all active grants // will be revoked regardless of the time range because all the are expected // to be recent. Loading @@ -753,7 +735,6 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( FileSystemAccessPermissionContextFactory::GetForProfile(profile_)) { permission_context->RevokeAllActiveGrants(); } #endif auto* handler_registry = ProtocolHandlerRegistryFactory::GetForBrowserContext(profile_); Loading Loading @@ -883,15 +864,15 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( ContentSettingsType::NOTIFICATION_PERMISSION_REVIEW, delete_begin_, delete_end_, website_settings_filter); host_content_settings_map_->ClearSettingsForOneTypeWithPredicate( ContentSettingsType::FILE_SYSTEM_LAST_PICKED_DIRECTORY, delete_begin, delete_end, website_settings_filter); #if !BUILDFLAG(IS_ANDROID) host_content_settings_map_->ClearSettingsForOneTypeWithPredicate( ContentSettingsType::INTENT_PICKER_DISPLAY, delete_begin_, delete_end_, website_settings_filter); host_content_settings_map_->ClearSettingsForOneTypeWithPredicate( ContentSettingsType::FILE_SYSTEM_LAST_PICKED_DIRECTORY, delete_begin, delete_end, website_settings_filter); host_content_settings_map_->ClearSettingsForOneTypeWithPredicate( ContentSettingsType::PRIVATE_NETWORK_GUARD, delete_begin_, delete_end_, website_settings_filter); Loading Loading @@ -1066,8 +1047,6 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( if (web_data_service.get()) { web_data_service->RemoveFormElementsAddedBetween(delete_begin_, delete_end_); web_data_service->RemoveAutofillDataModifiedBetween(delete_begin_, delete_end_); // Clear out the Autofill StrikeDatabase in its entirety. // TODO(crbug.com/40594007): Respect |delete_begin_| and |delete_end_| and // only clear out entries whose last strikes were created in that Loading @@ -1077,15 +1056,22 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( if (strike_database) strike_database->ClearAllStrikes(); autofill::PersonalDataManager* data_manager = autofill::PersonalDataManagerFactory::GetForBrowserContext(profile_); data_manager->address_data_manager().RemoveLocalProfilesModifiedBetween( delete_begin_, delete_end_); data_manager->payments_data_manager().RemoveLocalDataModifiedBetween( delete_begin_, delete_end_); // Ask for a call back when the above calls are finished. web_data_service->GetDBTaskRunner()->PostTaskAndReply( FROM_HERE, base::DoNothing(), CreateTaskCompletionClosure(TracingDataType::kAutofillData)); autofill::PersonalDataManager* data_manager = autofill::PersonalDataManagerFactory::GetForBrowserContext(profile_); if (data_manager) data_manager->Refresh(); } if (auto* user_annotations_service = UserAnnotationsServiceFactory::GetForProfile(profile_)) { user_annotations_service->RemoveAnnotationsInRange(delete_begin_, delete_end_); } } Loading Loading
tools/under-control/src/RELEASE +1 −1 Original line number Diff line number Diff line 129.0.6668.101 130.0.6723.44
tools/under-control/src/android_webview/browser/aw_content_browser_client.cc +33 −28 Original line number Diff line number Diff line Loading @@ -89,6 +89,7 @@ #include "content/public/browser/child_process_security_policy.h" #include "content/public/browser/client_certificate_delegate.h" #include "content/public/browser/file_url_loader.h" #include "content/public/browser/frame_type.h" #include "content/public/browser/navigation_handle.h" #include "content/public/browser/navigation_throttle.h" #include "content/public/browser/network_service_instance.h" Loading Loading @@ -132,6 +133,7 @@ #include "ui/resources/grit/ui_resources.h" using content::BrowserThread; using content::FrameType; using content::WebContents; using safe_browsing::AsyncCheckTracker; using safe_browsing::hash_realtime_utils::HashRealTimeSelection; Loading Loading @@ -183,7 +185,7 @@ class XrwNavigationThrottle : public content::NavigationThrottle { // Get async check tracker to make Safe Browsing v5 check asynchronous base::WeakPtr<AsyncCheckTracker> GetAsyncCheckTracker( const base::RepeatingCallback<content::WebContents*()>& wc_getter, int frame_tree_node_id) { content::FrameTreeNodeId frame_tree_node_id) { if (!base::FeatureList::IsEnabled( safe_browsing::kSafeBrowsingAsyncRealTimeCheck)) { return nullptr; Loading @@ -196,9 +198,12 @@ base::WeakPtr<AsyncCheckTracker> GetAsyncCheckTracker( return nullptr; } // Setting should_sync_checker_check_allowlist to false since the allowlist // is not available on WebView. return AsyncCheckTracker::GetOrCreateForWebContents( web_contents, AwBrowserProcess::GetInstance()->GetSafeBrowsingUIManager()) AwBrowserProcess::GetInstance()->GetSafeBrowsingUIManager(), /*should_sync_checker_check_allowlist=*/false) ->GetWeakPtr(); } Loading Loading @@ -520,9 +525,7 @@ base::FilePath AwContentBrowserClient::GetDefaultDownloadDirectory() { } std::string AwContentBrowserClient::GetDefaultDownloadName() { NOTREACHED_IN_MIGRATION() << "Android WebView does not use chromium downloads"; return std::string(); NOTREACHED() << "Android WebView does not use chromium downloads"; } std::optional<base::FilePath> Loading @@ -538,7 +541,7 @@ AwContentBrowserClient::GetLocalTracesDirectory() { void AwContentBrowserClient::DidCreatePpapiPlugin( content::BrowserPpapiHost* browser_host) { NOTREACHED_IN_MIGRATION() << "Android WebView does not support plugins"; NOTREACHED() << "Android WebView does not support plugins"; } bool AwContentBrowserClient::AllowPepperSocketAPI( Loading @@ -546,15 +549,13 @@ bool AwContentBrowserClient::AllowPepperSocketAPI( const GURL& url, bool private_api, const content::SocketPermissionRequest* params) { NOTREACHED_IN_MIGRATION() << "Android WebView does not support plugins"; return false; NOTREACHED() << "Android WebView does not support plugins"; } bool AwContentBrowserClient::IsPepperVpnProviderAPIAllowed( content::BrowserContext* browser_context, const GURL& url) { NOTREACHED_IN_MIGRATION() << "Android WebView does not support plugins"; return false; NOTREACHED() << "Android WebView does not support plugins"; } std::unique_ptr<content::TracingDelegate> Loading Loading @@ -645,6 +646,19 @@ AwContentBrowserClient::CreateThrottlesForNavigation( throttles.push_back( std::make_unique<XrwNavigationThrottle>(navigation_handle)); } if ((navigation_handle->GetNavigatingFrameType() == FrameType::kPrimaryMainFrame || navigation_handle->GetNavigatingFrameType() == FrameType::kSubframe) && navigation_handle->GetURL().SchemeIsHTTPOrHTTPS()) { AwSupervisedUserUrlClassifier* urlClassifier = AwSupervisedUserUrlClassifier::GetInstance(); if (urlClassifier->ShouldCreateThrottle()) { throttles.push_back(std::make_unique<AwSupervisedUserThrottle>( navigation_handle, urlClassifier)); } } return throttles; } Loading @@ -659,7 +673,7 @@ AwContentBrowserClient::CreateURLLoaderThrottles( content::BrowserContext* browser_context, const base::RepeatingCallback<content::WebContents*()>& wc_getter, content::NavigationUIData* navigation_ui_data, int frame_tree_node_id, content::FrameTreeNodeId frame_tree_node_id, std::optional<int64_t> navigation_id) { DCHECK_CURRENTLY_ON(BrowserThread::UI); Loading Loading @@ -705,17 +719,6 @@ AwContentBrowserClient::CreateURLLoaderThrottles( } } if ((request.destination == network::mojom::RequestDestination::kDocument || request.destination == network::mojom::RequestDestination::kIframe) && request.url.SchemeIsHTTPOrHTTPS()) { AwSupervisedUserUrlClassifier* urlClassifier = AwSupervisedUserUrlClassifier::GetInstance(); if (urlClassifier->ShouldCreateThrottle()) { result.push_back( std::make_unique<AwSupervisedUserThrottle>(urlClassifier)); } } return result; } Loading @@ -724,7 +727,7 @@ AwContentBrowserClient::CreateURLLoaderThrottlesForKeepAlive( const network::ResourceRequest& request, content::BrowserContext* browser_context, const base::RepeatingCallback<content::WebContents*()>& wc_getter, int frame_tree_node_id) { content::FrameTreeNodeId frame_tree_node_id) { DCHECK_CURRENTLY_ON(BrowserThread::UI); // Set lookup mechanism based on feature flag HashRealTimeSelection hash_real_time_selection = Loading Loading @@ -768,7 +771,7 @@ AwContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate() { } bool AwContentBrowserClient::ShouldOverrideUrlLoading( int frame_tree_node_id, content::FrameTreeNodeId frame_tree_node_id, bool browser_initiated, const GURL& gurl, const std::string& request_method, Loading Loading @@ -846,6 +849,9 @@ bool AwContentBrowserClient::ShouldOverrideUrlLoading( bool AwContentBrowserClient::ShouldAllowSameSiteRenderFrameHostChange( const content::RenderFrameHost& rfh) { if (!base::FeatureList::IsEnabled(features::kWebViewRenderDocument)) { return false; } content::RenderFrameHost* rfh_ptr = const_cast<content::RenderFrameHost*>(&rfh); content::WebContents* web_contents = Loading Loading @@ -877,7 +883,7 @@ AwContentBrowserClient::CreateLoginDelegate( bool AwContentBrowserClient::HandleExternalProtocol( const GURL& url, content::WebContents::Getter wc_getter, int frame_tree_node_id, content::FrameTreeNodeId frame_tree_node_id, content::NavigationUIData* navigation_data, bool is_primary_main_frame, bool /* is_in_fenced_frame_tree */, Loading Loading @@ -926,7 +932,7 @@ bool AwContentBrowserClient::HandleExternalProtocol( FROM_HERE, base::BindOnce( [](mojo::PendingReceiver<network::mojom::URLLoaderFactory> receiver, int frame_tree_node_id, content::FrameTreeNodeId frame_tree_node_id, scoped_refptr<AwBrowserContextIoThreadHandle> browser_context_handle) { // Manages its own lifetime. Loading Loading @@ -1126,8 +1132,7 @@ void AwContentBrowserClient::WillCreateURLLoaderFactory( FROM_HERE, base::BindOnce( &AwProxyingURLLoaderFactory::CreateProxy, std::move(cookie_manager), cookie_access_policy, isolation_info, content::RenderFrameHost::kNoFrameTreeNodeId, cookie_access_policy, isolation_info, content::FrameTreeNodeId(), std::move(proxied_receiver), std::move(target_factory_remote), std::nullopt /* security_options */, aw_browser_context->service_worker_xrw_allowlist_matcher(), Loading
tools/under-control/src/android_webview/browser/aw_field_trials.cc +7 −6 Original line number Diff line number Diff line Loading @@ -96,7 +96,7 @@ void AwFieldTrials::OnVariationsSetupComplete() { if (base::PathService::Get(base::DIR_ANDROID_APP_DATA, &metrics_dir)) { InstantiatePersistentHistogramsWithFeaturesAndCleanup(metrics_dir); } else { NOTREACHED_IN_MIGRATION(); NOTREACHED(); } } Loading Loading @@ -236,6 +236,12 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) { // enabling site isolation. See crbug.com/356170748. aw_feature_overrides.DisableFeature(blink::features::kPaintHoldingForIframes); // Since Default Nav Transition does not support WebView yet, disable the // LocalSurfaceId increment flag. TODO(crbug.com/361600214): Re-enable for // WebView when we start introducing this feature. aw_feature_overrides.DisableFeature( blink::features::kIncrementLocalSurfaceIdForMainframeSameDocNavigation); if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kDebugBsa)) { // Feature parameters can only be set via a field trial. const char kTrialName[] = "StudyDebugBsa"; Loading Loading @@ -272,9 +278,4 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) { // TODO(crbug.com/41492947): See crrev.com/c/5744034 for details, but I was // unable to add this feature to fieldtrial_testing_config and pass all tests. aw_feature_overrides.EnableFeature(blink::features::kElementGetInnerHTML); // TODO(crbug.com/356827071): Enable the feature for WebView. // Disable PlzDedicatedWorker as a workaround for crbug.com/356827071. // Otherwise, importScripts fails on WebView. aw_feature_overrides.DisableFeature(blink::features::kPlzDedicatedWorker); }
tools/under-control/src/chrome/android/java/AndroidManifest.xml +8 −1 Original line number Diff line number Diff line Loading @@ -193,7 +193,7 @@ by a child template that "extends" this file. android:zygotePreloadName="{{ zygote_preload_class }}" {% if backup_key is defined %} android:allowBackup="true" android:backupAgent="org.chromium.chrome.browser.ChromeBackupAgent" android:backupAgent="org.chromium.chrome.browser.backup.ChromeBackupAgent" android:fullBackupOnly="false" android:restoreAnyVersion="true" {% else %} Loading Loading @@ -1199,7 +1199,9 @@ by a child template that "extends" this file. <property android:name="android.window.PROPERTY_ACTIVITY_STARTS_IN_IMMERSIVE_XR" android:value="true" /> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.XR" /> <category android:name="org.khronos.openxr.intent.category.IMMERSIVE_HMD" /> </intent-filter> </activity> {% endif %} Loading Loading @@ -1329,6 +1331,11 @@ 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" tools:node="remove"> </provider> <!-- The Play Core library added support for Play Asset Delivery (PAD), which is primarily used by game apps to allow dynamic delivery of resource bundles. Since chrome does not Loading
tools/under-control/src/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc +20 −34 Original line number Diff line number Diff line Loading @@ -85,10 +85,13 @@ #include "chrome/browser/translate/chrome_translate_client.h" #include "chrome/browser/ui/find_bar/find_bar_state.h" #include "chrome/browser/ui/find_bar/find_bar_state_factory.h" #include "chrome/browser/user_annotations/user_annotations_service_factory.h" #include "chrome/browser/webauthn/chrome_authenticator_request_delegate.h" #include "chrome/browser/webdata_services/web_data_service_factory.h" #include "chrome/common/buildflags.h" #include "chrome/common/url_constants.h" #include "components/autofill/core/browser/address_data_manager.h" #include "components/autofill/core/browser/payments_data_manager.h" #include "components/autofill/core/browser/personal_data_manager.h" #include "components/autofill/core/browser/strike_databases/strike_database.h" #include "components/autofill/core/browser/webdata/autofill_webdata_service.h" Loading Loading @@ -139,6 +142,7 @@ #include "components/sync/service/sync_service.h" #include "components/sync/service/sync_user_settings.h" #include "components/tpcd/metadata/browser/manager.h" #include "components/user_annotations/user_annotations_service.h" #include "components/web_cache/browser/web_cache_manager.h" #include "components/webrtc_logging/browser/log_cleanup.h" #include "components/webrtc_logging/browser/text_log_list.h" Loading Loading @@ -505,27 +509,6 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( prerender::NoStatePrefetchManager::CLEAR_PRERENDER_HISTORY); } // The saved Autofill profiles and credit cards can include the origin from // which these profiles and credit cards were learned. These are a form of // history, so clear them as well. // TODO(dmurph): Support all backends with filter (crbug.com/113621). scoped_refptr<autofill::AutofillWebDataService> web_data_service = WebDataServiceFactory::GetAutofillWebDataForProfile( profile_, ServiceAccessType::EXPLICIT_ACCESS); if (web_data_service.get()) { web_data_service->RemoveOriginURLsModifiedBetween(delete_begin_, delete_end_); // Ask for a call back when the above call is finished. web_data_service->GetDBTaskRunner()->PostTaskAndReply( FROM_HERE, base::DoNothing(), CreateTaskCompletionClosure(TracingDataType::kAutofillOrigins)); autofill::PersonalDataManager* data_manager = autofill::PersonalDataManagerFactory::GetForBrowserContext(profile_); if (data_manager) data_manager->Refresh(); } base::ThreadPool::PostTaskAndReply( FROM_HERE, {base::TaskPriority::USER_VISIBLE, base::MayBlock()}, base::BindOnce( Loading Loading @@ -745,7 +728,6 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( browsing_data::RemoveSiteSettingsData(delete_begin, delete_end, host_content_settings_map_); #if !BUILDFLAG(IS_ANDROID) // The active permission does not have timestamps, so the all active grants // will be revoked regardless of the time range because all the are expected // to be recent. Loading @@ -753,7 +735,6 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( FileSystemAccessPermissionContextFactory::GetForProfile(profile_)) { permission_context->RevokeAllActiveGrants(); } #endif auto* handler_registry = ProtocolHandlerRegistryFactory::GetForBrowserContext(profile_); Loading Loading @@ -883,15 +864,15 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( ContentSettingsType::NOTIFICATION_PERMISSION_REVIEW, delete_begin_, delete_end_, website_settings_filter); host_content_settings_map_->ClearSettingsForOneTypeWithPredicate( ContentSettingsType::FILE_SYSTEM_LAST_PICKED_DIRECTORY, delete_begin, delete_end, website_settings_filter); #if !BUILDFLAG(IS_ANDROID) host_content_settings_map_->ClearSettingsForOneTypeWithPredicate( ContentSettingsType::INTENT_PICKER_DISPLAY, delete_begin_, delete_end_, website_settings_filter); host_content_settings_map_->ClearSettingsForOneTypeWithPredicate( ContentSettingsType::FILE_SYSTEM_LAST_PICKED_DIRECTORY, delete_begin, delete_end, website_settings_filter); host_content_settings_map_->ClearSettingsForOneTypeWithPredicate( ContentSettingsType::PRIVATE_NETWORK_GUARD, delete_begin_, delete_end_, website_settings_filter); Loading Loading @@ -1066,8 +1047,6 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( if (web_data_service.get()) { web_data_service->RemoveFormElementsAddedBetween(delete_begin_, delete_end_); web_data_service->RemoveAutofillDataModifiedBetween(delete_begin_, delete_end_); // Clear out the Autofill StrikeDatabase in its entirety. // TODO(crbug.com/40594007): Respect |delete_begin_| and |delete_end_| and // only clear out entries whose last strikes were created in that Loading @@ -1077,15 +1056,22 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( if (strike_database) strike_database->ClearAllStrikes(); autofill::PersonalDataManager* data_manager = autofill::PersonalDataManagerFactory::GetForBrowserContext(profile_); data_manager->address_data_manager().RemoveLocalProfilesModifiedBetween( delete_begin_, delete_end_); data_manager->payments_data_manager().RemoveLocalDataModifiedBetween( delete_begin_, delete_end_); // Ask for a call back when the above calls are finished. web_data_service->GetDBTaskRunner()->PostTaskAndReply( FROM_HERE, base::DoNothing(), CreateTaskCompletionClosure(TracingDataType::kAutofillData)); autofill::PersonalDataManager* data_manager = autofill::PersonalDataManagerFactory::GetForBrowserContext(profile_); if (data_manager) data_manager->Refresh(); } if (auto* user_annotations_service = UserAnnotationsServiceFactory::GetForProfile(profile_)) { user_annotations_service->RemoveAnnotationsInRange(delete_begin_, delete_end_); } } Loading