Move kUseMobileUserAgent to //components/embedder_support
This is part of the process of making user_agent_utils.{cc,h} stop depending on //content. The flag has been moved to the main "embedder_support" target, which does not depend on any other target and has other command-line switches. Bug: 389970327 Change-Id: Ib646ada998e8ea2eb23be2b9420d8049aa8f0bac Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6242721 Reviewed-by: Dave Tapuska <dtapuska@chromium.org> Commit-Queue: Raphael Kubo da Costa <kubo@igalia.com> Reviewed-by: Bo Liu <boliu@chromium.org> Cr-Commit-Position: refs/heads/main@{#1425012}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
853358ef97
commit
2d21daa8bf
android_webview/browser
components/embedder_support
content
app
browser
public
shell
@ -215,7 +215,7 @@ std::string GetUserAgent() {
|
||||
// "Version/4.0" had been hardcoded in the legacy WebView.
|
||||
std::string product = "Version/4.0 " + GetProduct();
|
||||
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
|
||||
switches::kUseMobileUserAgent)) {
|
||||
embedder_support::kUseMobileUserAgent)) {
|
||||
product += " Mobile";
|
||||
}
|
||||
|
||||
|
@ -33,6 +33,9 @@ const char kOriginTrialPublicKey[] = "origin-trial-public-key";
|
||||
// Sets the Reporting API delay to under a second to allow much quicker reports.
|
||||
const char kShortReportingDelay[] = "short-reporting-delay";
|
||||
|
||||
// Set when Chromium should use a mobile user agent.
|
||||
const char kUseMobileUserAgent[] = "use-mobile-user-agent";
|
||||
|
||||
// A string used to override the default user agent with a custom one.
|
||||
const char kUserAgent[] = "user-agent";
|
||||
|
||||
|
@ -19,6 +19,7 @@ extern const char kOriginTrialDisabledFeatures[];
|
||||
extern const char kOriginTrialDisabledTokens[];
|
||||
extern const char kOriginTrialPublicKey[];
|
||||
extern const char kShortReportingDelay[];
|
||||
extern const char kUseMobileUserAgent[];
|
||||
extern const char kUserAgent[];
|
||||
|
||||
} // namespace embedder_support
|
||||
|
@ -26,8 +26,6 @@
|
||||
#include "components/policy/core/common/policy_pref_names.h"
|
||||
#include "components/prefs/pref_service.h"
|
||||
#include "components/version_info/version_info.h"
|
||||
#include "content/public/common/content_features.h"
|
||||
#include "content/public/common/content_switches.h"
|
||||
#include "content/public/common/user_agent.h"
|
||||
#include "net/http/http_util.h"
|
||||
#include "third_party/blink/public/common/features.h"
|
||||
@ -235,9 +233,9 @@ std::string GetUserAgentInternal(
|
||||
}
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS)
|
||||
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
|
||||
switches::kUseMobileUserAgent))
|
||||
if (base::CommandLine::ForCurrentProcess()->HasSwitch(kUseMobileUserAgent)) {
|
||||
product += " Mobile";
|
||||
}
|
||||
#endif
|
||||
|
||||
// In User-Agent reduction phase 5, only apply the <unifiedPlatform> to
|
||||
@ -455,8 +453,8 @@ blink::UserAgentMetadata GetUserAgentMetadata(const PrefService* pref_service,
|
||||
GetUserAgentBrandMajorVersionListInternal(std::nullopt);
|
||||
metadata.mobile = false;
|
||||
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS)
|
||||
metadata.mobile = base::CommandLine::ForCurrentProcess()->HasSwitch(
|
||||
switches::kUseMobileUserAgent);
|
||||
metadata.mobile =
|
||||
base::CommandLine::ForCurrentProcess()->HasSwitch(kUseMobileUserAgent);
|
||||
#endif
|
||||
metadata.platform = GetPlatformForUAMetadata();
|
||||
|
||||
|
@ -405,12 +405,12 @@ TEST_F(UserAgentUtilsTest, UserAgentStringOrdering) {
|
||||
base::CommandLine* command_line = scoped_command_line.GetProcessCommandLine();
|
||||
|
||||
// Do it for regular devices.
|
||||
ASSERT_FALSE(command_line->HasSwitch(switches::kUseMobileUserAgent));
|
||||
ASSERT_FALSE(command_line->HasSwitch(kUseMobileUserAgent));
|
||||
CheckUserAgentStringOrdering(false);
|
||||
|
||||
// Do it for mobile devices.
|
||||
command_line->AppendSwitch(switches::kUseMobileUserAgent);
|
||||
ASSERT_TRUE(command_line->HasSwitch(switches::kUseMobileUserAgent));
|
||||
command_line->AppendSwitch(kUseMobileUserAgent);
|
||||
ASSERT_TRUE(command_line->HasSwitch(kUseMobileUserAgent));
|
||||
CheckUserAgentStringOrdering(true);
|
||||
#else
|
||||
CheckUserAgentStringOrdering(false);
|
||||
@ -478,13 +478,13 @@ TEST_F(UserAgentUtilsTest, UserAgentStringReduced) {
|
||||
|
||||
// Verify the mobile user agent string is not returned when not using a mobile
|
||||
// user agent.
|
||||
ASSERT_FALSE(command_line->HasSwitch(switches::kUseMobileUserAgent));
|
||||
ASSERT_FALSE(command_line->HasSwitch(kUseMobileUserAgent));
|
||||
EXPECT_EQ(GetUserAgent(), GenerateExpectedUserAgent());
|
||||
|
||||
// Verify the mobile user agent string is returned when using a mobile user
|
||||
// agent.
|
||||
command_line->AppendSwitch(switches::kUseMobileUserAgent);
|
||||
ASSERT_TRUE(command_line->HasSwitch(switches::kUseMobileUserAgent));
|
||||
command_line->AppendSwitch(kUseMobileUserAgent);
|
||||
ASSERT_TRUE(command_line->HasSwitch(kUseMobileUserAgent));
|
||||
EXPECT_EQ(GetUserAgent(), GenerateExpectedUserAgent(kMobileProductSuffix));
|
||||
#else
|
||||
EXPECT_EQ(GetUserAgent(), GenerateExpectedUserAgent());
|
||||
@ -546,7 +546,7 @@ TEST_F(UserAgentUtilsTest, ReduceUserAgentPlatformOsCpu) {
|
||||
{blink::features::kReduceUserAgentAndroidVersionDeviceModel});
|
||||
// Verify the mobile platform and oscpu user agent string is not reduced when
|
||||
// not using a mobile user agent.
|
||||
ASSERT_FALSE(command_line->HasSwitch(switches::kUseMobileUserAgent));
|
||||
ASSERT_FALSE(command_line->HasSwitch(kUseMobileUserAgent));
|
||||
{
|
||||
EXPECT_NE(GetUserAgent(), GenerateExpectedUserAgent());
|
||||
EXPECT_NE(content::GetUnifiedPlatformForTesting().c_str(),
|
||||
@ -555,8 +555,8 @@ TEST_F(UserAgentUtilsTest, ReduceUserAgentPlatformOsCpu) {
|
||||
|
||||
// Verify the mobile platform and oscpu user agent string is not reduced when
|
||||
// using a mobile user agent.
|
||||
command_line->AppendSwitch(switches::kUseMobileUserAgent);
|
||||
ASSERT_TRUE(command_line->HasSwitch(switches::kUseMobileUserAgent));
|
||||
command_line->AppendSwitch(kUseMobileUserAgent);
|
||||
ASSERT_TRUE(command_line->HasSwitch(kUseMobileUserAgent));
|
||||
{
|
||||
EXPECT_NE(GetUserAgent(), GenerateExpectedUserAgent(kMobileProductSuffix));
|
||||
}
|
||||
@ -567,7 +567,7 @@ TEST_F(UserAgentUtilsTest, ReduceUserAgentPlatformOsCpu) {
|
||||
{blink::features::kReduceUserAgentMinorVersion,
|
||||
blink::features::kReduceUserAgentPlatformOsCpu},
|
||||
{});
|
||||
ASSERT_FALSE(command_line->HasSwitch(switches::kUseMobileUserAgent));
|
||||
ASSERT_FALSE(command_line->HasSwitch(kUseMobileUserAgent));
|
||||
{
|
||||
// Verify unified platform user agent is returned.
|
||||
EXPECT_EQ(GetUserAgent(), GenerateExpectedUserAgent());
|
||||
@ -577,8 +577,8 @@ TEST_F(UserAgentUtilsTest, ReduceUserAgentPlatformOsCpu) {
|
||||
// On iOS, also check the kUseMobileUserAgent flag with the features above.
|
||||
// This is similar to the Android case above, but we do not care about
|
||||
// kReduceUserAgentAndroidVersionDeviceModel here.
|
||||
command_line->AppendSwitch(switches::kUseMobileUserAgent);
|
||||
ASSERT_TRUE(command_line->HasSwitch(switches::kUseMobileUserAgent));
|
||||
command_line->AppendSwitch(kUseMobileUserAgent);
|
||||
ASSERT_TRUE(command_line->HasSwitch(kUseMobileUserAgent));
|
||||
{
|
||||
EXPECT_EQ(GetUserAgent(), GenerateExpectedUserAgent(kMobileProductSuffix));
|
||||
}
|
||||
@ -620,7 +620,7 @@ TEST_F(UserAgentUtilsTest, ReduceUserAgentAndroidVersionDeviceModel) {
|
||||
|
||||
// Verify the mobile deviceModel and androidVersion in the user agent string
|
||||
// is reduced when not using a mobile user agent.
|
||||
ASSERT_FALSE(command_line->HasSwitch(switches::kUseMobileUserAgent));
|
||||
ASSERT_FALSE(command_line->HasSwitch(kUseMobileUserAgent));
|
||||
{
|
||||
std::string buffer = GetUserAgent();
|
||||
EXPECT_EQ("Linux; Android 10; K", GetUserAgentPlatformOsCpu(buffer));
|
||||
@ -629,8 +629,8 @@ TEST_F(UserAgentUtilsTest, ReduceUserAgentAndroidVersionDeviceModel) {
|
||||
|
||||
// Verify the mobile deviceModel and androidVersion in the user agent string
|
||||
// is reduced when using a mobile user agent.
|
||||
command_line->AppendSwitch(switches::kUseMobileUserAgent);
|
||||
ASSERT_TRUE(command_line->HasSwitch(switches::kUseMobileUserAgent));
|
||||
command_line->AppendSwitch(kUseMobileUserAgent);
|
||||
ASSERT_TRUE(command_line->HasSwitch(kUseMobileUserAgent));
|
||||
{
|
||||
std::string buffer = GetUserAgent();
|
||||
EXPECT_EQ("Linux; Android 10; K", GetUserAgentPlatformOsCpu(buffer));
|
||||
|
@ -2,6 +2,7 @@ include_rules = [
|
||||
"+chromeos/startup",
|
||||
"+components/discardable_memory",
|
||||
"+components/download",
|
||||
"+components/embedder_support/switches.h",
|
||||
"+components/power_monitor",
|
||||
"+components/tracing/common",
|
||||
"+content",
|
||||
|
@ -39,6 +39,7 @@
|
||||
#include "base/trace_event/trace_config.h"
|
||||
#include "base/trace_event/trace_log.h"
|
||||
#include "build/build_config.h"
|
||||
#include "components/embedder_support/switches.h"
|
||||
#include "components/tracing/common/trace_to_console.h"
|
||||
#include "components/tracing/common/tracing_switches.h"
|
||||
#include "content/app/content_main_runner_impl.h"
|
||||
@ -308,7 +309,7 @@ NO_STACK_PROTECTOR int RunContentProcess(
|
||||
#if BUILDFLAG(IS_IOS)
|
||||
base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
|
||||
command_line->AppendSwitch(switches::kEnableViewport);
|
||||
command_line->AppendSwitch(switches::kUseMobileUserAgent);
|
||||
command_line->AppendSwitch(embedder_support::kUseMobileUserAgent);
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(IS_TVOS)
|
||||
|
@ -101,6 +101,7 @@ source_set("browser") {
|
||||
"//components/discardable_memory/service",
|
||||
"//components/download/database",
|
||||
"//components/download/public/common:public",
|
||||
"//components/embedder_support",
|
||||
"//components/file_access",
|
||||
"//components/filename_generation",
|
||||
"//components/input",
|
||||
|
@ -10,6 +10,7 @@ include_rules = [
|
||||
"+components/discardable_memory/service",
|
||||
"+components/download/database",
|
||||
"+components/download/public/common",
|
||||
"+components/embedder_support/switches.h",
|
||||
"+components/file_access",
|
||||
"+components/filename_generation",
|
||||
"+components/grit",
|
||||
|
@ -6,6 +6,7 @@
|
||||
|
||||
#include "base/command_line.h"
|
||||
#include "base/memory/scoped_refptr.h"
|
||||
#include "components/embedder_support/switches.h"
|
||||
#include "content/browser/loader/url_loader_factory_utils.h"
|
||||
#include "content/browser/preloading/prefetch/prefetch_network_context_client.h"
|
||||
#include "content/browser/preloading/prefetch/prefetch_proxy_configurator.h"
|
||||
@ -96,7 +97,7 @@ void PrefetchNetworkContext::CreateIsolatedURLLoaderFactory(
|
||||
context_params->file_paths = network::mojom::NetworkContextFilePaths::New();
|
||||
context_params->user_agent =
|
||||
GetReducedUserAgent(base::CommandLine::ForCurrentProcess()->HasSwitch(
|
||||
switches::kUseMobileUserAgent),
|
||||
embedder_support::kUseMobileUserAgent),
|
||||
delegate ? delegate->GetMajorVersionNumber() : "");
|
||||
// The verifier created here does not have the same parameters as used in the
|
||||
// profile (where additional parameters are added in
|
||||
|
@ -69,6 +69,7 @@
|
||||
#include "base/tracing/protos/chrome_track_event.pbzero.h"
|
||||
#include "build/build_config.h"
|
||||
#include "cc/base/switches.h"
|
||||
#include "components/embedder_support/switches.h"
|
||||
#include "components/input/utils.h"
|
||||
#include "components/metrics/histogram_controller.h"
|
||||
#include "components/metrics/single_sample_metrics.h"
|
||||
@ -3447,7 +3448,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
|
||||
switches::kUseCmdDecoder,
|
||||
switches::kUseFakeCodecForPeerConnection,
|
||||
switches::kUseFakeUIForMediaStream,
|
||||
switches::kUseMobileUserAgent,
|
||||
embedder_support::kUseMobileUserAgent,
|
||||
switches::kVideoCaptureUseGpuMemoryBuffer,
|
||||
switches::kVideoThreads,
|
||||
switches::kWaitForDebuggerOnNavigation,
|
||||
|
@ -784,9 +784,6 @@ const char kVideoImageTextureTarget[] = "video-image-texture-target";
|
||||
const char kUseContextSnapshotSwitch[] = "use-context-snapshot";
|
||||
#endif
|
||||
|
||||
// Set when Chromium should use a mobile user agent.
|
||||
const char kUseMobileUserAgent[] = "use-mobile-user-agent";
|
||||
|
||||
// Use the MockCertVerifier. This only works in test code.
|
||||
const char kUseMockCertVerifierForTesting[] =
|
||||
"use-mock-cert-verifier-for-testing";
|
||||
|
@ -212,7 +212,6 @@ CONTENT_EXPORT extern const char kVideoImageTextureTarget[];
|
||||
#if BUILDFLAG(IS_ANDROID) && BUILDFLAG(INCLUDE_BOTH_V8_SNAPSHOTS)
|
||||
CONTENT_EXPORT extern const char kUseContextSnapshotSwitch[];
|
||||
#endif
|
||||
CONTENT_EXPORT extern const char kUseMobileUserAgent[];
|
||||
CONTENT_EXPORT extern const char kUseMockCertVerifierForTesting[];
|
||||
extern const char kUtilityCmdPrefix[];
|
||||
CONTENT_EXPORT extern const char kUtilityProcess[];
|
||||
|
@ -315,6 +315,7 @@ static_library("content_shell_lib") {
|
||||
"//components/cdm/renderer",
|
||||
"//components/custom_handlers",
|
||||
"//components/custom_handlers:test_support",
|
||||
"//components/embedder_support",
|
||||
"//components/embedder_support:user_agent",
|
||||
"//components/input",
|
||||
"//components/keyed_service/content",
|
||||
|
@ -34,6 +34,7 @@
|
||||
#include "components/custom_handlers/protocol_handler_registry.h"
|
||||
#include "components/custom_handlers/protocol_handler_throttle.h"
|
||||
#include "components/custom_handlers/simple_protocol_handler_registry_factory.h"
|
||||
#include "components/embedder_support/switches.h"
|
||||
#include "components/embedder_support/user_agent_utils.h"
|
||||
#include "components/metrics/client_info.h"
|
||||
#include "components/metrics/metrics_service.h"
|
||||
@ -752,7 +753,7 @@ std::string ShellContentBrowserClient::GetUserAgent() {
|
||||
base::StringPrintf("Chrome/%s.0.0.0", CONTENT_SHELL_MAJOR_VERSION);
|
||||
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS)
|
||||
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
|
||||
switches::kUseMobileUserAgent)) {
|
||||
embedder_support::kUseMobileUserAgent)) {
|
||||
product += " Mobile";
|
||||
}
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user