74 lines
3.5 KiB
Diff
74 lines
3.5 KiB
Diff
From: Wengling Chen <feiyu2817@gmail.com>
|
|
Date: Mon, 1 Feb 2021 19:18:55 +0200
|
|
Subject: Add flag for save-data-header
|
|
|
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|
---
|
|
.../loader/browser_initiated_resource_request.cc | 8 ++++++++
|
|
.../about_flags_cc/Add-flag-for-save-data-header.inc | 10 ++++++++++
|
|
.../cpp/features_cc/Add-flag-for-save-data-header.inc | 4 ++++
|
|
.../cpp/features_h/Add-flag-for-save-data-header.inc | 1 +
|
|
4 files changed, 23 insertions(+)
|
|
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-flag-for-save-data-header.inc
|
|
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Add-flag-for-save-data-header.inc
|
|
create mode 100644 cromite_flags/services/network/public/cpp/features_h/Add-flag-for-save-data-header.inc
|
|
|
|
diff --git a/content/browser/loader/browser_initiated_resource_request.cc b/content/browser/loader/browser_initiated_resource_request.cc
|
|
--- a/content/browser/loader/browser_initiated_resource_request.cc
|
|
+++ b/content/browser/loader/browser_initiated_resource_request.cc
|
|
@@ -4,6 +4,9 @@
|
|
|
|
#include "content/browser/loader/browser_initiated_resource_request.h"
|
|
|
|
+#include "base/feature_list.h"
|
|
+#include "services/network/public/cpp/features.h"
|
|
+
|
|
#include "content/public/browser/browser_context.h"
|
|
#include "content/public/browser/browser_thread.h"
|
|
#include "content/public/browser/content_browser_client.h"
|
|
@@ -37,8 +40,13 @@ void UpdateAdditionalHeadersForBrowserInitiatedRequest(
|
|
// Save-Data was previously included in hints for workers, thus we cannot
|
|
// remove it for the time being. If you're reading this, consider building
|
|
// permissions policies for workers and/or deprecating this inclusion.
|
|
+ bool setHeader = false;
|
|
if (is_for_worker_script &&
|
|
GetContentClient()->browser()->IsDataSaverEnabled(browser_context)) {
|
|
+ setHeader = true;
|
|
+ }
|
|
+ setHeader |= base::FeatureList::IsEnabled(network::features::kEnableSaveDataHeader);
|
|
+ if (setHeader) {
|
|
if (should_update_existing_headers) {
|
|
headers->RemoveHeader("Save-Data");
|
|
}
|
|
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-flag-for-save-data-header.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-flag-for-save-data-header.inc
|
|
new file mode 100644
|
|
--- /dev/null
|
|
+++ b/cromite_flags/chrome/browser/about_flags_cc/Add-flag-for-save-data-header.inc
|
|
@@ -0,0 +1,10 @@
|
|
+
|
|
+#ifdef FLAG_SECTION
|
|
+
|
|
+ // Bromite save data header
|
|
+ {"enable-save-data-header",
|
|
+ "Enable save-data header",
|
|
+ "Enable save-data header without enabling Data Saver.", kOsAll,
|
|
+ FEATURE_VALUE_TYPE(network::features::kEnableSaveDataHeader)},
|
|
+
|
|
+#endif
|
|
diff --git a/cromite_flags/services/network/public/cpp/features_cc/Add-flag-for-save-data-header.inc b/cromite_flags/services/network/public/cpp/features_cc/Add-flag-for-save-data-header.inc
|
|
new file mode 100644
|
|
--- /dev/null
|
|
+++ b/cromite_flags/services/network/public/cpp/features_cc/Add-flag-for-save-data-header.inc
|
|
@@ -0,0 +1,4 @@
|
|
+// Enable save-data header separately (without enabled data reduction service).
|
|
+CROMITE_FEATURE(kEnableSaveDataHeader,
|
|
+ "EnableSaveDataHeader",
|
|
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
|
diff --git a/cromite_flags/services/network/public/cpp/features_h/Add-flag-for-save-data-header.inc b/cromite_flags/services/network/public/cpp/features_h/Add-flag-for-save-data-header.inc
|
|
new file mode 100644
|
|
--- /dev/null
|
|
+++ b/cromite_flags/services/network/public/cpp/features_h/Add-flag-for-save-data-header.inc
|
|
@@ -0,0 +1 @@
|
|
+COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kEnableSaveDataHeader);
|
|
--
|