Remove EWK_BRINGUPS for M120 #3
[platform/framework/web/chromium-efl.git] / chrome / app / chrome_main_linux.cc
1 // Copyright 2023 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/app/chrome_main_linux.h"
6
7 #include <string>
8 #include <vector>
9
10 #include "base/command_line.h"
11 #include "base/environment.h"
12 #include "base/strings/string_tokenizer.h"
13 #include "base/strings/string_util.h"
14 #include "chrome/common/channel_info.h"
15
16 namespace {
17
18 void AppendExtraArgsFromEnvVar(const std::string& env_var_name,
19                                std::vector<std::string>& out_args) {
20   std::string extra_args_str;
21   auto environment = base::Environment::Create();
22   if (environment->GetVar(env_var_name, &extra_args_str)) {
23     base::StringTokenizer tokenizer(extra_args_str, base::kWhitespaceASCII);
24     tokenizer.set_quote_chars("\"'");
25     while (tokenizer.GetNext()) {
26       std::string arg;
27       const std::string& token = tokenizer.token();
28       base::TrimString(token, "\"'", &arg);
29       out_args.push_back(arg);
30     }
31   }
32 }
33
34 }  // namespace
35
36 void AppendExtraArgumentsToCommandLine(base::CommandLine* command_line) {
37   constexpr char kExtraFlagsVarName[] = "CHROME_EXTRA_FLAGS";
38   std::vector<std::string> extra_args = {""};
39
40   AppendExtraArgsFromEnvVar(kExtraFlagsVarName, extra_args);
41   std::string channel_suffix =
42       chrome::GetChannelSuffixForExtraFlagsEnvVarName();
43   if (!channel_suffix.empty()) {
44     AppendExtraArgsFromEnvVar(kExtraFlagsVarName + channel_suffix, extra_args);
45   }
46
47   command_line->AppendArguments(base::CommandLine(extra_args),
48                                 /*include_program=*/false);
49 }