Enable network isolation features: activation of kSplitCacheByNavigationInitiator

generates a cache key isolating all requests per initiator.
requests with initiators with an opaque origin are not cached
This commit is contained in:
Carmelo Messina
2024-10-09 17:28:51 +02:00
parent b91e36aadf
commit be4a5bef4c
@@ -5,24 +5,46 @@ Subject: Enable network isolation features
Enable SplitCacheByNetworkIsolationKey, kSplitHostCacheByNetworkIsolationKey,
kPartitionConnectionsByNetworkIsolationKey, kPartitionHttpServerPropertiesByNetworkIsolationKey,
kPartitionSSLSessionsByNetworkIsolationKey, PartitionExpectCTStateByNetworkIsolationKey,
PartitionNelAndReportingByNetworkIsolationKey
PartitionNelAndReportingByNetworkIsolationKey, kSplitCacheByNavigationInitiator
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../net/base/features_cc/Enable-network-isolation-features.inc | 3 +++
.../cpp/features_cc/Enable-network-isolation-features.inc | 1 +
2 files changed, 4 insertions(+)
.../browser/net/profile_network_context_service.cc | 2 +-
.../Enable-network-isolation-features.inc | 12 ++++++++++++
.../Enable-network-isolation-features.inc | 1 +
3 files changed, 14 insertions(+), 1 deletion(-)
create mode 100644 cromite_flags/net/base/features_cc/Enable-network-isolation-features.inc
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Enable-network-isolation-features.inc
diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/browser/net/profile_network_context_service.cc
--- a/chrome/browser/net/profile_network_context_service.cc
+++ b/chrome/browser/net/profile_network_context_service.cc
@@ -1015,7 +1015,7 @@ bool GetHttpCacheBackendResetParam(PrefService* local_state) {
field_trial = base::FeatureList::GetFieldTrial(
net::features::kSplitCacheByIncludeCredentials);
current_field_trial_status +=
- (field_trial ? field_trial->group_name() : "None");
+ (field_trial ? field_trial->group_name() : "EnableFeatureForTests");
// For the HTTP Cache keying experiments, if a flag indicates that the user is
// in an experiment group, modify `current_field_trial_status` to ensure that
diff --git a/cromite_flags/net/base/features_cc/Enable-network-isolation-features.inc b/cromite_flags/net/base/features_cc/Enable-network-isolation-features.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/net/base/features_cc/Enable-network-isolation-features.inc
@@ -0,0 +1,3 @@
+SET_CROMITE_FEATURE_ENABLED(kSplitCacheByNetworkIsolationKey);
@@ -0,0 +1,12 @@
+SET_CROMITE_FEATURE_ENABLED(kSplitCodeCacheByNetworkIsolationKey);
+SET_CROMITE_FEATURE_ENABLED(kPartitionConnectionsByNetworkIsolationKey);
+
+SET_CROMITE_FEATURE_ENABLED(kSplitCacheByIncludeCredentials);
+
+// enable http cache partition
+SET_CROMITE_FEATURE_ENABLED(kSplitCacheByNetworkIsolationKey);
+
+// most restricted option (ByNavigationInitiator) used
+// it generates a cache key isolating all requests per initiator.
+// requests with initiators with an opaque origin are not cached
+SET_CROMITE_FEATURE_ENABLED(kSplitCacheByNavigationInitiator);
diff --git a/cromite_flags/services/network/public/cpp/features_cc/Enable-network-isolation-features.inc b/cromite_flags/services/network/public/cpp/features_cc/Enable-network-isolation-features.inc
new file mode 100644
--- /dev/null