Chrome 如何在Chromium源代码中添加自定义命令行开关

cczfrluj  于 2023-06-19  发布在  Go
关注(0)|答案(1)|浏览(247)

我试图在Windows上的Chromium源代码中添加一个自定义命令行选项,允许我使用像chrome.exe --my-custom-flag=value这样的标志来运行浏览器。目标是在Chromium代码库中的任何位置访问此值。然而,到目前为止,我的尝试都没有成功。
我尝试使用以下代码片段读取Chromium源代码中的命令行值:
std::string value = base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII("my-custom-flag");
然而,这种方法并没有达到预期的效果。我还尝试了另一种方法,使用CommandLine::ForCurrentProcess()->HasSwitch()方法来检查自定义标志是否存在,但它也不起作用。
我将非常感谢任何关于如何正确实现和阅读Chromium源代码中的自定义命令行选项的建议或指导。提前感谢您的帮助。

nmpmafwu

nmpmafwu1#

third_party/blink/renderer/core/frame/navigator.cc是Chromium渲染器进程的一部分,您尝试在渲染器中运行代码。您的命令行开关--my-custom-flag不会转发到渲染器进程,而是在

void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
    const base::CommandLine& browser_cmd,
    base::CommandLine* renderer_cmd);

在该成员函数中将switch添加到数组kSwitchNames,它将被传播到渲染器进程。请注意,所有开关的定义必须不以双破折号--开头。

相关问题