Revert "[UA-CH] Put GREASEing behind feature flag and refactor"
This reverts commit ce09536e77d4f9b1c15474199faca464da652fa0.
Reason for revert: Changing how the field trial for GREASEing works
and simplifying change for possible merge
Original change's description:
> [UA-CH] Put GREASEing behind feature flag and refactor
>
> Leaving the possibility of turning off for compat issues.
>
> Bug: 1070922, 1091285
> Change-Id: Ic11ce489705c1c1b4388f24cdbf0ebdd2dca966f
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2532595
> Commit-Queue: Aaron Tagliaboschi <[email protected]>
> Reviewed-by: Maksim Orlovich <[email protected]>
> Reviewed-by: Avi Drissman <[email protected]>
> Cr-Commit-Position: refs/heads/master@{#827310}
[email protected],[email protected],[email protected]
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: 1070922
Bug: 1091285
Change-Id: I764fc28dc36f932538ea43febb09a5acaa387445
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2536780
Reviewed-by: Aaron Tagliaboschi <[email protected]>
Reviewed-by: Maksim Orlovich <[email protected]>
Reviewed-by: Avi Drissman <[email protected]>
Commit-Queue: Aaron Tagliaboschi <[email protected]>
Cr-Commit-Position: refs/heads/master@{#827814}
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index 74a95af..c00add0 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -1166,12 +1166,6 @@
return true;
}
-std::string GenerateGreaseyBrand(const std::vector<int>& order) {
- const std::vector<std::string> escaped_chars = {"\\", "\"", ";"};
- return base::StrCat({escaped_chars[order[0]], "Not", escaped_chars[order[1]],
- "A", escaped_chars[order[2]], "Brand"});
-}
-
} // namespace
// Generate a pseudo-random permutation of the following brand/version pairs:
@@ -1183,8 +1177,7 @@
blink::UserAgentBrandList GenerateBrandVersionList(
int seed,
base::Optional<std::string> brand,
- std::string major_version,
- base::Optional<std::string> greasey_brand) {
+ std::string major_version) {
DCHECK_GE(seed, 0);
const int npermutations = 6; // 3!
int permutation = seed % npermutations;
@@ -1193,28 +1186,35 @@
// and in order should be under three.
const std::vector<std::vector<int>> orders{{0, 1, 2}, {0, 2, 1}, {1, 0, 2},
{1, 2, 0}, {2, 0, 1}, {2, 1, 0}};
- const std::vector<int> order =
- brand ? orders[permutation] : std::vector<int>{seed % 2, (seed + 1) % 2};
- blink::UserAgentBrandList brand_version_list;
+ const std::vector<int> order = orders[permutation];
+ DCHECK_EQ(6u, orders.size());
+ DCHECK_EQ(3u, order.size());
- for (int item : order) {
- switch (item) {
- case 0:
- if (base::FeatureList::IsEnabled(features::kGreaseUACH))
- brand_version_list.emplace_back(
- greasey_brand.value_or(GenerateGreaseyBrand(orders[permutation])),
- "99");
- break;
- case 1:
- brand_version_list.emplace_back("Chromium", major_version);
- break;
- case 2:
- if (brand)
- brand_version_list.emplace_back(brand.value(), major_version);
- break;
- }
+ const std::vector<std::string> escaped_chars = {"\\", "\"", ";"};
+ std::string greasey_brand =
+ base::StrCat({escaped_chars[order[0]], "Not", escaped_chars[order[1]],
+ "A", escaped_chars[order[2]], "Brand"});
+
+ blink::UserAgentBrandVersion greasey_bv = {greasey_brand, "99"};
+ blink::UserAgentBrandVersion chromium_bv = {"Chromium", major_version};
+
+ blink::UserAgentBrandList greased_brand_version_list(3);
+
+ if (brand) {
+ blink::UserAgentBrandVersion brand_bv = {brand.value(), major_version};
+
+ greased_brand_version_list[order[0]] = greasey_bv;
+ greased_brand_version_list[order[1]] = chromium_bv;
+ greased_brand_version_list[order[2]] = brand_bv;
+ } else {
+ greased_brand_version_list[seed % 2] = greasey_bv;
+ greased_brand_version_list[(seed + 1) % 2] = chromium_bv;
+
+ // If left, the last element would make a blank "" at the end of the header.
+ greased_brand_version_list.pop_back();
}
- return brand_version_list;
+
+ return greased_brand_version_list;
}
const blink::UserAgentBrandList& GetBrandVersionList() {
@@ -1227,14 +1227,8 @@
#if !BUILDFLAG(CHROMIUM_BRANDING)
brand = version_info::GetProductName();
#endif
- base::Optional<std::string> maybe_param_override =
- base::GetFieldTrialParamValueByFeature(features::kGreaseUACH,
- "brand_override");
- if (maybe_param_override->empty())
- maybe_param_override = base::nullopt;
-
return GenerateBrandVersionList(major_version_number, brand,
- major_version, maybe_param_override);
+ major_version);
}());
return *greased_brand_version_list;
}