Fix CefCommandLine character case requirements (fixes issue #1872)

Switch names will now be converted to lowercase ASCII on all platforms.
Switch values will retain the original case and UTF8 encoding.
This commit is contained in:
Marshall Greenblatt
2021-09-27 13:36:08 +03:00
parent 6516b569a9
commit 4d1c5ebdd2
6 changed files with 58 additions and 15 deletions

View File

@@ -0,0 +1,17 @@
diff --git base/command_line.cc base/command_line.cc
index 3ef2e87e40687..f7b91a202a377 100644
--- base/command_line.cc
+++ base/command_line.cc
@@ -333,11 +333,10 @@ void CommandLine::AppendSwitchPath(StringPiece switch_string,
void CommandLine::AppendSwitchNative(StringPiece switch_string,
CommandLine::StringPieceType value) {
-#if defined(OS_WIN)
const std::string switch_key = ToLowerASCII(switch_string);
+#if defined(OS_WIN)
StringType combined_switch_string(UTF8ToWide(switch_key));
#elif defined(OS_POSIX) || defined(OS_FUCHSIA)
- StringPiece switch_key = switch_string;
StringType combined_switch_string(switch_key);
#endif
size_t prefix_length = GetSwitchPrefixLength(combined_switch_string);