Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 784bdfac authored by uazo's avatar uazo Committed by github-actions[bot]
Browse files

[AUTO][FILECONTROL] - version 133.0.6943.39

parent ae296a42
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
132.0.6834.163
133.0.6943.39
+5 −28
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@
#include "android_webview/browser/aw_contents_io_thread_client.h"
#include "android_webview/browser/aw_cookie_access_policy.h"
#include "android_webview/browser/aw_devtools_manager_delegate.h"
#include "android_webview/browser/aw_enterprise_helper.h"
#include "android_webview/browser/aw_feature_list_creator.h"
#include "android_webview/browser/aw_http_auth_handler.h"
#include "android_webview/browser/aw_settings.h"
@@ -112,7 +111,6 @@
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "net/android/network_library.h"
#include "net/cookies/site_for_cookies.h"
#include "net/dns/public/secure_dns_mode.h"
#include "net/http/http_util.h"
#include "net/net_buildflags.h"
#include "net/ssl/ssl_cert_request_info.h"
@@ -286,29 +284,6 @@ void AwContentBrowserClient::OnNetworkServiceCreated(
  network_service->SetUpHttpAuth(network::mojom::HttpAuthStaticParams::New());
  network_service->ConfigureHttpAuthPrefs(
      AwBrowserProcess::GetInstance()->CreateHttpAuthDynamicParams());

  if (base::FeatureList::IsEnabled(features::kWebViewAsyncDns)) {
    enterprise::GetEnterpriseState(
        base::BindOnce([](enterprise::EnterpriseState state) {
          switch (state) {
            case enterprise::EnterpriseState::kUnknown:
              // If we cannot be certain about the enterprise state, we should
              // not enable the AsyncDNS resolver, but fall back on the system
              // resolver.
            case enterprise::EnterpriseState::kEnterpriseOwned:
              // On enterprise owned devices, we should use the system resolver
              // to make sure that we respect any network settings implemented
              // by the device owner.
              return;
            case enterprise::EnterpriseState::kNotOwned:
              content::GetNetworkService()->ConfigureStubHostResolver(
                  /*insecure_dns_client_enabled=*/true,
                  net::SecureDnsMode::kAutomatic, net::DnsOverHttpsConfig(),
                  /*additional_dns_types_enabled=*/true);
              break;
          }
        }));
  }
}

void AwContentBrowserClient::ConfigureNetworkContextParams(
@@ -364,7 +339,7 @@ void AwContentBrowserClient::RenderProcessWillLaunch(
  // per-view access checks, and access is granted by default (see
  // AwSettings.mAllowContentUrlAccess).
  content::ChildProcessSecurityPolicy::GetInstance()->GrantRequestScheme(
      host->GetID(), url::kContentScheme);
      host->GetDeprecatedID(), url::kContentScheme);
}

bool AwContentBrowserClient::IsExplicitNavigation(
@@ -724,7 +699,8 @@ AwContentBrowserClient::CreateURLLoaderThrottles(
      /* hash_realtime_service */ nullptr,
      /* hash_realtime_selection */
      hash_real_time_selection,
      /* async_check_tracker */ async_check_tracker));
      /* async_check_tracker */ async_check_tracker,
      /*referring_app_info=*/std::nullopt));

  if (request.destination == network::mojom::RequestDestination::kDocument) {
    const bool is_load_url =
@@ -772,7 +748,7 @@ AwContentBrowserClient::CreateURLLoaderThrottlesForKeepAlive(
      /* hash_realtime_service */ nullptr,
      /* hash_realtime_selection */
      hash_real_time_selection,
      /* async_check_tracker */ nullptr));
      /* async_check_tracker */ nullptr, /*referring_app_info=*/std::nullopt));

  return result;
}
@@ -896,6 +872,7 @@ AwContentBrowserClient::CreateLoginDelegate(
    const GURL& url,
    scoped_refptr<net::HttpResponseHeaders> response_headers,
    bool first_auth_attempt,
    content::GuestPageHolder* guest,
    LoginAuthRequiredCallback auth_required_callback) {
  return std::make_unique<AwHttpAuthHandler>(auth_info, web_contents,
                                             first_auth_attempt,
+45 −62
Original line number Diff line number Diff line
@@ -9,9 +9,6 @@
#include "base/allocator/partition_alloc_features.h"
#include "base/base_paths_android.h"
#include "base/check.h"
#include "base/feature_list.h"
#include "base/memory/raw_ref.h"
#include "base/metrics/field_trial.h"
#include "base/metrics/field_trial_params.h"
#include "base/metrics/persistent_histogram_allocator.h"
#include "base/path_service.h"
@@ -32,43 +29,36 @@
#include "ui/android/ui_android_features.h"
#include "ui/gl/gl_features.h"

namespace {
namespace internal {

class AwFeatureOverrides {
 public:
  explicit AwFeatureOverrides(base::FeatureList& feature_list)
AwFeatureOverrides::AwFeatureOverrides(base::FeatureList& feature_list)
    : feature_list_(feature_list) {}

  AwFeatureOverrides(const AwFeatureOverrides& other) = delete;
  AwFeatureOverrides& operator=(const AwFeatureOverrides& other) = delete;

  ~AwFeatureOverrides() {
AwFeatureOverrides::~AwFeatureOverrides() {
  // TODO(crbug.com/379864779): This doesn't play well with potential server-
  // side overrides.
  for (const auto& field_trial_override : field_trial_overrides_) {
    feature_list_->RegisterFieldTrialOverride(
          field_trial_override.feature->name,
          field_trial_override.override_state,
        field_trial_override.feature->name, field_trial_override.override_state,
        field_trial_override.field_trial);
  }
    feature_list_->RegisterExtraFeatureOverrides(std::move(overrides_));
  feature_list_->RegisterExtraFeatureOverrides(
      std::move(overrides_), /*replace_use_default_overrides=*/true);
}

  // Enable a feature with WebView-specific override.
  void EnableFeature(const base::Feature& feature) {
void AwFeatureOverrides::EnableFeature(const base::Feature& feature) {
  overrides_.emplace_back(
      std::cref(feature),
      base::FeatureList::OverrideState::OVERRIDE_ENABLE_FEATURE);
}

  // Disable a feature with WebView-specific override.
  void DisableFeature(const base::Feature& feature) {
void AwFeatureOverrides::DisableFeature(const base::Feature& feature) {
  overrides_.emplace_back(
      std::cref(feature),
      base::FeatureList::OverrideState::OVERRIDE_DISABLE_FEATURE);
}

  // Enable or disable a feature with a field trial. This can be used for
  // setting feature parameters.
  void OverrideFeatureWithFieldTrial(
void AwFeatureOverrides::OverrideFeatureWithFieldTrial(
    const base::Feature& feature,
    base::FeatureList::OverrideState override_state,
    base::FieldTrial* field_trial) {
@@ -79,19 +69,7 @@ class AwFeatureOverrides {
  });
}

 private:
  struct FieldTrialOverride {
    raw_ref<const base::Feature> feature;
    base::FeatureList::OverrideState override_state;
    raw_ptr<base::FieldTrial> field_trial;
  };

  base::raw_ref<base::FeatureList> feature_list_;
  std::vector<base::FeatureList::FeatureOverrideInfo> overrides_;
  std::vector<FieldTrialOverride> field_trial_overrides_;
};

}  // namespace
}  // namespace internal

void AwFieldTrials::OnVariationsSetupComplete() {
  // Persistent histograms must be enabled ASAP, but depends on Features.
@@ -109,7 +87,7 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) {
  if (!feature_list) {
    return;
  }
  AwFeatureOverrides aw_feature_overrides(*feature_list);
  internal::AwFeatureOverrides aw_feature_overrides(*feature_list);

  // Disable third-party storage partitioning on WebView.
  aw_feature_overrides.DisableFeature(
@@ -143,7 +121,6 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) {

  // Disable Shared Storage on WebView.
  aw_feature_overrides.DisableFeature(blink::features::kSharedStorageAPI);
  aw_feature_overrides.DisableFeature(blink::features::kSharedStorageAPIM125);

  // Disable scrollbar-color on WebView.
  aw_feature_overrides.DisableFeature(blink::features::kScrollbarColor);
@@ -247,6 +224,13 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) {
  aw_feature_overrides.DisableFeature(
      blink::features::kIncrementLocalSurfaceIdForMainframeSameDocNavigation);

  // Disabling this feature for WebView, since it can switch focus when scrolled
  // in cases with multiple views which can trigger HTML focus changes that
  // aren't intended. See crbug.com/378779896, crbug.com/373672168 for more
  // details.
  aw_feature_overrides.DisableFeature(
      ::features::kFocusRenderWidgetHostViewAndroidOnActionDown);

  if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kDebugBsa)) {
    // Feature parameters can only be set via a field trial.
    const char kTrialName[] = "StudyDebugBsa";
@@ -289,10 +273,6 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) {
  // WebView.
  aw_feature_overrides.DisableFeature(::features::kDIPS);

  // 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);

  // These features have shown performance improvements in WebView but not some
  // other platforms.
  aw_feature_overrides.EnableFeature(features::kEnsureExistingRendererAlive);
@@ -309,4 +289,7 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) {
  // WebView.
  aw_feature_overrides.DisableFeature(
      base::features::kPartitionAllocMemoryTagging);

  // Disable Topics on WebView.
  aw_feature_overrides.DisableFeature(blink::features::kBrowsingTopics);
}
+17 −3
Original line number Diff line number Diff line
@@ -948,7 +948,13 @@ by a child template that "extends" this file.
            android:excludeFromRecents="true"
            android:windowSoftInputMode="adjustResize"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode"
            android:hardwareAccelerated="false" />
            android:hardwareAccelerated="false">
            <intent-filter>
                <action android:name="android.intent.action.WEB_SEARCH" />
                <!-- Permits Chrome to act as a default handler for WEB_SEARCH intents. -->
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
      </activity>

        <!-- GcmTaskService for registration for Invalidations. Not actually implemented anymore. -->
        <service android:name="com.google.ipc.invalidation.ticl.android2.channel.GcmRegistrationTaskService"
@@ -1088,9 +1094,10 @@ by a child template that "extends" this file.

        <!-- Activities for task manager. -->
        <activity
            android:name="org.chromium.chrome.browser.task_manager.TaskManagerActivity"
            android:name="org.chromium.chrome.browser.task_manager.ui.TaskManagerActivity"
            android:exported="false"
            android:theme="@style/Theme.Chromium.Activity">
            android:theme="@style/Theme.Chromium.Activity"
            android:launchMode="singleInstance">
        </activity>

        <receiver android:name="org.chromium.chrome.browser.notifications.scheduler.DisplayAgent$Receiver"
@@ -1335,6 +1342,13 @@ by a child template that "extends" this file.
                  android:readPermission="android.permission.GLOBAL_SEARCH" />
      </provider>

      <provider
            android:name="org.chromium.chrome.browser.provider.PageContentProvider"
            android:authorities="{{ manifest_package }}.PageContentProvider"
            android:exported="false"
            android:grantUriPermissions="true">
      </provider>

      {% block base_application_definitions %}
      {% endblock %}
      {% block extra_application_definitions_for_test %}
+31 −53
Original line number Diff line number Diff line
@@ -42,9 +42,6 @@
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
#include "chrome/browser/crash_upload_list/crash_upload_list.h"
#include "chrome/browser/custom_handlers/protocol_handler_registry_factory.h"
#include "chrome/browser/dips/chrome_dips_delegate.h"
#include "chrome/browser/dips/dips_service_impl.h"
#include "chrome/browser/dips/dips_utils.h"
#include "chrome/browser/domain_reliability/service_factory.h"
#include "chrome/browser/downgrade/user_data_downgrade.h"
#include "chrome/browser/download/download_prefs.h"
@@ -91,9 +88,9 @@
#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/data_manager/addresses/address_data_manager.h"
#include "components/autofill/core/browser/data_manager/payments/payments_data_manager.h"
#include "components/autofill/core/browser/data_manager/personal_data_manager.h"
#include "components/autofill/core/browser/strike_databases/strike_database.h"
#include "components/autofill/core/browser/webdata/autofill_webdata_service.h"
#include "components/autofill/core/common/autofill_features.h"
@@ -152,7 +149,6 @@
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/browsing_data_filter_builder.h"
#include "content/public/browser/dips_delegate.h"
#include "content/public/browser/host_zoom_map.h"
#include "content/public/browser/origin_trials_controller_delegate.h"
#include "content/public/browser/prefetch_service_delegate.h"
@@ -200,10 +196,13 @@
#include "content/public/browser/storage_partition_config.h"
#endif  // !BUILDFLAG(IS_ANDROID)

#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "chrome/browser/extensions/activity_log/activity_log.h"
#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
#include "extensions/browser/extension_prefs.h"
#include "extensions/common/constants.h"
#endif  // BUILDFLAG(ENABLE_EXTENSIONS_CORE)

#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "chrome/browser/extensions/activity_log/activity_log.h"
#endif  // BUILDFLAG(ENABLE_EXTENSIONS)

#if BUILDFLAG(IS_CHROMEOS_ASH)
@@ -256,7 +255,7 @@ bool DoesOriginMatchEmbedderMask(uint64_t origin_type_mask,
      << "|origin_type_mask| can only contain origin types defined in "
      << "the embedder.";

#if BUILDFLAG(ENABLE_EXTENSIONS)
#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
  // Packaged apps and extensions match iff EXTENSION.
  if ((origin.scheme() == extensions::kExtensionScheme) &&
      (origin_type_mask & constants::ORIGIN_TYPE_EXTENSION)) {
@@ -281,8 +280,7 @@ ChromeBrowsingDataRemoverDelegate::ChromeBrowsingDataRemoverDelegate(
      webapp_registry_(std::make_unique<WebappRegistry>())
#endif
      ,
      credential_store_(MakeCredentialStore()),
      dips_delegate_(ChromeDipsDelegate::Create()) {
      credential_store_(MakeCredentialStore()) {
  domain_reliability_clearer_ = base::BindRepeating(
      [](BrowserContext* browser_context,
         content::BrowsingDataFilterBuilder* filter_builder,
@@ -356,7 +354,7 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
    BrowsingDataFilterBuilder* filter_builder,
    uint64_t origin_type_mask,
    base::OnceCallback<void(uint64_t)> callback) {
  DCHECK(((remove_mask &
  CHECK(((remove_mask &
          ~content::BrowsingDataRemover::DATA_TYPE_AVOID_CLOSING_CONNECTIONS &
          ~constants::FILTERABLE_DATA_TYPES) == 0) ||
        filter_builder->MatchesAllOriginsAndDomains());
@@ -392,7 +390,7 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
    base::RecordAction(
        UserMetricsAction("ClearBrowsingData_MaskContainsProtectedWeb"));
  }
#if BUILDFLAG(ENABLE_EXTENSIONS)
#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
  if (origin_type_mask & constants::ORIGIN_TYPE_EXTENSION) {
    base::RecordAction(
        UserMetricsAction("ClearBrowsingData_MaskContainsExtension"));
@@ -403,7 +401,7 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
  static_assert(
      constants::ALL_ORIGIN_TYPES ==
          (content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB |
#if BUILDFLAG(ENABLE_EXTENSIONS)
#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
           constants::ORIGIN_TYPE_EXTENSION |
#endif
           content::BrowsingDataRemover::ORIGIN_TYPE_PROTECTED_WEB),
@@ -906,33 +904,10 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
        ->RemoveEmbargoAndResetCounts(filter);
  }

  // Different types of DIPS events are cleared for DATA_TYPE_HISTORY and
  // DATA_TYPE_COOKIES.
  DIPSEventRemovalType dips_mask = DIPSEventRemovalType::kNone;
  if ((remove_mask & content::BrowsingDataRemover::DATA_TYPE_COOKIES) &&
      !filter_builder->PartitionedCookiesOnly()) {
    // If there's no delegate, delete everything whenever the user is deleting
    // cookies.
    dips_mask |= dips_delegate_ ? DIPSEventRemovalType::kStorage
                                : DIPSEventRemovalType::kAll;
  }
  // If there's a delegate, ask it whether to delete DIPS history.
  if (dips_delegate_ &&
      dips_delegate_->ShouldDeleteInteractionRecords(remove_mask)) {
    dips_mask |= DIPSEventRemovalType::kHistory;
  }

  if (dips_mask != DIPSEventRemovalType::kNone) {
    if (DIPSServiceImpl* dips_service = DIPSServiceImpl::Get(profile_)) {
      dips_service->RemoveEvents(delete_begin_, delete_end_,
                                 filter_builder->BuildNetworkServiceFilter(),
                                 dips_mask);
    }
  }

  //////////////////////////////////////////////////////////////////////////////
  // Password manager
  if (remove_mask & constants::DATA_TYPE_PASSWORDS) {
    CHECK(nullable_filter.is_null());
    base::RecordAction(UserMetricsAction("ClearBrowsingData_Passwords"));
    auto password_store = ProfilePasswordStoreFactory::GetForProfile(
        profile_, ServiceAccessType::EXPLICIT_ACCESS);
@@ -942,9 +917,11 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
      // login token is persisted and can be used after cookie deletion.
      // TODO:(crbug.com/1167715) - Test that associated compromised credentials
      // are removed.
      password_store->RemoveLoginsByURLAndTime(
          FROM_HERE, filter, delete_begin_, delete_end_,
          CreateTaskCompletionClosure(TracingDataType::kPasswords));
      password_store->RemoveLoginsCreatedBetween(
          FROM_HERE, delete_begin_, delete_end_,
          CreateTaskCompletionCallback(
              TracingDataType::kPasswords,
              /* data_type_mask= */ constants::DATA_TYPE_PASSWORDS));
    }

    profile_->GetDefaultStoragePartition()
@@ -999,6 +976,7 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
  }

  if (remove_mask & constants::DATA_TYPE_ACCOUNT_PASSWORDS) {
    CHECK(nullable_filter.is_null());
    auto account_store = AccountPasswordStoreFactory::GetForProfile(
        profile_, ServiceAccessType::EXPLICIT_ACCESS);

@@ -1015,9 +993,10 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
          CreateTaskCompletionCallback(TracingDataType::kAccountPasswordsSynced,
                                       constants::DATA_TYPE_ACCOUNT_PASSWORDS);
#endif
      account_store->RemoveLoginsByURLAndTime(
          FROM_HERE, filter, delete_begin_, delete_end_,
          CreateTaskCompletionClosure(TracingDataType::kAccountPasswords),
      account_store->RemoveLoginsCreatedBetween(
          FROM_HERE, delete_begin_, delete_end_,
          CreateTaskCompletionCallback(TracingDataType::kAccountPasswords,
                                       constants::DATA_TYPE_ACCOUNT_PASSWORDS),
          std::move(sync_completion));
    }

@@ -1117,7 +1096,7 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
        if (render_process_host->GetBrowserContext() == profile_ &&
            render_process_host->IsInitializedAndNotDead()) {
          web_cache::WebCacheManager::GetInstance()->ClearCacheForProcess(
              render_process_host->GetID());
              render_process_host->GetDeprecatedID());
        }
      }
    }
@@ -1588,8 +1567,7 @@ void ChromeBrowsingDataRemoverDelegate::OnTaskComplete(
    should_clear_sync_account_settings_ = false;
    signin::IdentityManager* identity_manager =
        IdentityManagerFactory::GetForProfile(profile_);
    base::flat_set<std::string> gaia_ids =
        signin::GetAllGaiaIdsForKeyedPreferences(
    base::flat_set<GaiaId> gaia_ids = signin::GetAllGaiaIdsForKeyedPreferences(
        identity_manager,
        signin::AccountsInCookieJarInfo() /* empty_cookies */);
    if (syncer::SyncService* sync_service =
Loading