[iOS] Remove references to CookieSettings in IosChromeNetworkDelegate
There is no way for users to set the cookies content setting in iOS so CookieSettings calls will always return ALLOW. Cleaning up these references as they are redundant.
Bug: b:301947962
Change-Id: I7d698596d57e3ea108db2ecaa3b695778d3c8ea3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6041321
Reviewed-by: Chris Fredrickson <cfredric@chromium.org>
Commit-Queue: Maggie Jennings <mjenn@google.com>
Reviewed-by: Fiona Macintosh <fmacintosh@google.com>
Reviewed-by: David Roger <droger@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1387614}
diff --git a/ios/chrome/browser/net/model/ios_chrome_network_delegate.cc b/ios/chrome/browser/net/model/ios_chrome_network_delegate.cc
index cec2f93..e42b551 100644
--- a/ios/chrome/browser/net/model/ios_chrome_network_delegate.cc
+++ b/ios/chrome/browser/net/model/ios_chrome_network_delegate.cc
@@ -17,18 +17,10 @@
#include "base/logging.h"
#include "base/metrics/histogram.h"
#include "base/path_service.h"
-#include "components/content_settings/core/browser/cookie_settings.h"
-#include "components/content_settings/core/common/content_settings.h"
-#include "components/prefs/pref_member.h"
-#include "components/prefs/pref_service.h"
-#import "ios/chrome/browser/shared/model/prefs/pref_names.h"
#include "ios/web/public/thread/web_task_traits.h"
#include "ios/web/public/thread/web_thread.h"
#include "net/base/load_flags.h"
#include "net/base/net_errors.h"
-#include "net/cookies/cookie_inclusion_status.h"
-#include "net/cookies/cookie_options.h"
-#include "net/cookies/cookie_setting_override.h"
#include "net/http/http_status_code.h"
#include "net/url_request/url_request.h"
@@ -50,84 +42,6 @@
IOSChromeNetworkDelegate::~IOSChromeNetworkDelegate() {}
-bool IOSChromeNetworkDelegate::OnAnnotateAndMoveUserBlockedCookies(
- const net::URLRequest& request,
- const net::FirstPartySetMetadata& first_party_set_metadata,
- net::CookieAccessResultList& maybe_included_cookies,
- net::CookieAccessResultList& excluded_cookies) {
- // `cookie_settings_` is null during tests, or when we're running in the
- // system context.
- bool allowed =
- !cookie_settings_ || cookie_settings_->IsFullCookieAccessAllowed(
- request.url(), request.site_for_cookies(),
- request.isolation_info().top_frame_origin(),
- request.cookie_setting_overrides());
-
- if (!allowed) {
- ExcludeAllCookies(
- net::CookieInclusionStatus::ExclusionReason::EXCLUDE_USER_PREFERENCES,
- maybe_included_cookies, excluded_cookies);
- }
-
- return allowed;
-}
-
-bool IOSChromeNetworkDelegate::OnCanSetCookie(
- const net::URLRequest& request,
- const net::CanonicalCookie& cookie,
- net::CookieOptions* options,
- const net::FirstPartySetMetadata& first_party_set_metadata,
- net::CookieInclusionStatus* inclusion_status) {
- // Null during tests, or when we're running in the system context.
- if (!cookie_settings_)
- return true;
-
- return cookie_settings_->IsFullCookieAccessAllowed(
- request.url(), request.site_for_cookies(),
- request.isolation_info().top_frame_origin(),
- request.cookie_setting_overrides());
-}
-
-// This implementation is currently never called in practice due to Bling not
-// using `//net` code for web navigation (unless `use_blink = true` which is
-// experimental).
-std::optional<net::cookie_util::StorageAccessStatus>
-IOSChromeNetworkDelegate::OnGetStorageAccessStatus(
- const net::URLRequest& request,
- base::optional_ref<const net::RedirectInfo> redirect_info) const {
- // Null during tests, or when we're running in the system context.
- if (!cookie_settings_.get()) {
- return std::nullopt;
- }
-
- if (redirect_info) {
- return cookie_settings_->GetStorageAccessStatus(
- redirect_info->new_url, redirect_info->new_site_for_cookies,
- request.isolation_info().top_frame_origin(),
- request.cookie_setting_overrides());
- }
-
- return cookie_settings_->GetStorageAccessStatus(
- request.url(), request.site_for_cookies(),
- request.isolation_info().top_frame_origin(),
- request.cookie_setting_overrides());
-}
-
-net::NetworkDelegate::PrivacySetting
-IOSChromeNetworkDelegate::OnForcePrivacyMode(
- const net::URLRequest& request) const {
- // Null during tests, or when we're running in the system context.
- if (!cookie_settings_.get())
- return net::NetworkDelegate::PrivacySetting::kStateAllowed;
-
- return cookie_settings_->IsFullCookieAccessAllowed(
- request.url(), request.site_for_cookies(),
- request.isolation_info().top_frame_origin(),
- request.cookie_setting_overrides())
- ? net::NetworkDelegate::PrivacySetting::kStateAllowed
- : net::NetworkDelegate::PrivacySetting::kStateDisallowed;
-}
-
bool IOSChromeNetworkDelegate::
OnCancelURLRequestWithPolicyViolatingReferrerHeader(
const net::URLRequest& request,
diff --git a/ios/chrome/browser/net/model/ios_chrome_network_delegate.h b/ios/chrome/browser/net/model/ios_chrome_network_delegate.h
index 84190ad..68689a6 100644
--- a/ios/chrome/browser/net/model/ios_chrome_network_delegate.h
+++ b/ios/chrome/browser/net/model/ios_chrome_network_delegate.h
@@ -9,11 +9,7 @@
#import "base/memory/raw_ptr.h"
#include "base/memory/ref_counted.h"
-#include "components/content_settings/core/browser/cookie_settings.h"
#include "net/base/network_delegate_impl.h"
-#include "net/cookies/cookie_inclusion_status.h"
-#include "net/cookies/cookie_setting_override.h"
-#include "net/first_party_sets/first_party_set_metadata.h"
class PrefService;
@@ -33,37 +29,11 @@
~IOSChromeNetworkDelegate() override;
- // If `cookie_settings` is null or not set, all cookies are enabled,
- // otherwise the settings are enforced on all observed network requests.
- // Not inlined because we assign a scoped_refptr, which requires us to include
- // the header file. Here we just forward-declare it.
- void set_cookie_settings(content_settings::CookieSettings* cookie_settings) {
- cookie_settings_ = cookie_settings;
- }
-
private:
- bool OnAnnotateAndMoveUserBlockedCookies(
- const net::URLRequest& request,
- const net::FirstPartySetMetadata& first_party_set_metadata,
- net::CookieAccessResultList& maybe_included_cookies,
- net::CookieAccessResultList& excluded_cookies) override;
- bool OnCanSetCookie(
- const net::URLRequest& request,
- const net::CanonicalCookie& cookie,
- net::CookieOptions* options,
- const net::FirstPartySetMetadata& first_party_set_metadata,
- net::CookieInclusionStatus* inclusion_status) override;
- std::optional<net::cookie_util::StorageAccessStatus> OnGetStorageAccessStatus(
- const net::URLRequest& request,
- base::optional_ref<const net::RedirectInfo> redirect_info) const override;
- net::NetworkDelegate::PrivacySetting OnForcePrivacyMode(
- const net::URLRequest& request) const override;
bool OnCancelURLRequestWithPolicyViolatingReferrerHeader(
const net::URLRequest& request,
const GURL& target_url,
const GURL& referrer_url) const override;
-
- scoped_refptr<content_settings::CookieSettings> cookie_settings_;
};
#endif // IOS_CHROME_BROWSER_NET_MODEL_IOS_CHROME_NETWORK_DELEGATE_H_
diff --git a/ios/chrome/browser/profile/model/keyed_service_factories.mm b/ios/chrome/browser/profile/model/keyed_service_factories.mm
index c2fb3be..6d526a1 100644
--- a/ios/chrome/browser/profile/model/keyed_service_factories.mm
+++ b/ios/chrome/browser/profile/model/keyed_service_factories.mm
@@ -33,7 +33,6 @@
#import "ios/chrome/browser/commerce/model/shopping_service_factory.h"
#import "ios/chrome/browser/consent_auditor/model/consent_auditor_factory.h"
#import "ios/chrome/browser/content_notification/model/content_notification_service_factory.h"
-#import "ios/chrome/browser/content_settings/model/cookie_settings_factory.h"
#import "ios/chrome/browser/content_settings/model/host_content_settings_map_factory.h"
#import "ios/chrome/browser/contextual_panel/model/contextual_panel_model_service_factory.h"
#import "ios/chrome/browser/contextual_panel/sample/model/sample_panel_model_factory.h"
@@ -205,7 +204,6 @@
ios::AutocompleteScoringModelServiceFactory::GetInstance();
ios::BookmarkModelFactory::GetInstance();
ios::BookmarkUndoServiceFactory::GetInstance();
- ios::CookieSettingsFactory::GetInstance();
ios::FaviconServiceFactory::GetInstance();
ios::HistoryServiceFactory::GetInstance();
ios::HostContentSettingsMapFactory::GetInstance();
diff --git a/ios/chrome/browser/profile/model/profile_ios_io_data.h b/ios/chrome/browser/profile/model/profile_ios_io_data.h
index 805517d..afb1c77 100644
--- a/ios/chrome/browser/profile/model/profile_ios_io_data.h
+++ b/ios/chrome/browser/profile/model/profile_ios_io_data.h
@@ -33,10 +33,6 @@
class IOSChromeURLRequestContextGetter;
class ProfileIOS;
-namespace content_settings {
-class CookieSettings;
-}
-
namespace net {
class HttpTransactionFactory;
class ProxyConfigService;
@@ -70,7 +66,6 @@
// These are useful when the Chrome layer is called from the content layer
// with a content::ResourceContext, and they want access to Chrome data for
// that profile.
- content_settings::CookieSettings* GetCookieSettings() const;
HostContentSettingsMap* GetHostContentSettingsMap() const;
ProfileIOSType profile_type() const { return profile_type_; }
@@ -95,7 +90,6 @@
base::FilePath path;
raw_ptr<IOSChromeIOThread> io_thread;
- scoped_refptr<content_settings::CookieSettings> cookie_settings;
scoped_refptr<HostContentSettingsMap> host_content_settings_map;
// We need to initialize the ProxyConfigService from the UI thread
@@ -171,8 +165,6 @@
// called.
mutable std::unique_ptr<net::URLRequestContext> main_request_context_;
- mutable scoped_refptr<content_settings::CookieSettings> cookie_settings_;
-
mutable scoped_refptr<HostContentSettingsMap> host_content_settings_map_;
mutable std::unique_ptr<IOSChromeHttpUserAgentSettings>
diff --git a/ios/chrome/browser/profile/model/profile_ios_io_data.mm b/ios/chrome/browser/profile/model/profile_ios_io_data.mm
index 90c44f2..54140d0 100644
--- a/ios/chrome/browser/profile/model/profile_ios_io_data.mm
+++ b/ios/chrome/browser/profile/model/profile_ios_io_data.mm
@@ -23,14 +23,12 @@
#import "base/task/single_thread_task_runner.h"
#import "base/task/thread_pool.h"
#import "components/content_settings/core/browser/content_settings_provider.h"
-#import "components/content_settings/core/browser/cookie_settings.h"
#import "components/content_settings/core/browser/host_content_settings_map.h"
#import "components/metrics/metrics_pref_names.h"
#import "components/net_log/chrome_net_log.h"
#import "components/prefs/pref_service.h"
#import "components/proxy_config/ios/proxy_service_factory.h"
#import "components/signin/public/base/signin_pref_names.h"
-#import "ios/chrome/browser/content_settings/model/cookie_settings_factory.h"
#import "ios/chrome/browser/content_settings/model/host_content_settings_map_factory.h"
#import "ios/chrome/browser/net/model/accept_language_pref_watcher.h"
#import "ios/chrome/browser/net/model/ios_chrome_http_user_agent_settings.h"
@@ -86,7 +84,6 @@
params->io_thread = GetApplicationContext()->GetIOSChromeIOThread();
- params->cookie_settings = ios::CookieSettingsFactory::GetForProfile(profile);
params->host_content_settings_map =
ios::HostContentSettingsMapFactory::GetForProfile(profile);
@@ -125,12 +122,6 @@
return main_request_context_.get();
}
-content_settings::CookieSettings* ProfileIOSIOData::GetCookieSettings()
- const {
- DCHECK(initialized_);
- return cookie_settings_.get();
-}
-
HostContentSettingsMap* ProfileIOSIOData::GetHostContentSettingsMap()
const {
DCHECK(initialized_);
@@ -170,7 +161,6 @@
net::URLRequestContextBuilder context_builder;
context_builder.set_net_log(io_thread->net_log());
auto network_delegate = std::make_unique<IOSChromeNetworkDelegate>();
- network_delegate->set_cookie_settings(profile_params_->cookie_settings.get());
context_builder.set_network_delegate(std::move(network_delegate));
auto quic_context = std::make_unique<net::QuicContext>();
*quic_context->params() = io_thread->quic_params();
@@ -189,8 +179,7 @@
profile_params_->path.Append(FILE_PATH_LITERAL("TransportSecurity")));
}
- // Take ownership over these parameters.
- cookie_settings_ = profile_params_->cookie_settings;
+ // Take ownership over this parameter.
host_content_settings_map_ = profile_params_->host_content_settings_map;
context_builder.SetHttpAuthHandlerFactory(