chromium 之 webui 调用逻辑

2023-11-11

chromium之webui详细文档参考:WebUI Explainer (googlesource.com)
本文主要讲述webui的调用逻辑。

webui

webui 用于管理chrome浏览器,通过 chrome://url 的方式,可以进行不同功能的访问。

webui 的特殊性:
1. 提供通过 chrome://url 的方式进行chrome管理页面的访问
2. 允许 chrome 通过 CallJavascriptFunction() 在渲染器中执行任意的 JavaScript
3. 允许通过 chrome.send() 从 renderer 进程发送消息给 chrome
4. 忽略关于显示图像或执行JavaScript的内容设置

webui 在代码中的区别逻辑:


通过 chrome_web_ui_controller_factory.cc 中 GetWebUIFactoryFunction() ,获取指定url是否为webui


譬如访问 chrome://version, 则会返回 return &NewWebUI<VersionUI>。 如果没有找到,则返回 nullptr。
如果我们需要添加一个自己的 webui 访问页面,可以参考 VersionUI 源码的实现。

此处堆栈如下:

主要关注前四行即可。小伙伴们调试时可以在前四行加断点进行调试~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

chromium 之 webui 调用逻辑 的相关文章

随机推荐

  • 鱼眼相机标定

    分享一个最近在复习的一个鱼眼相机标定 这个大佬的链接 因为课题相关 先视觉2D检测再通过标定形成视锥然后再点云目标检测 所以先埋一个坑 刚好2D检测这块做的差不多 不过是Python版本哈 后续肯定要用C 先上一个大佬的鱼眼内参去畸变的链接
  • MavenFor this reason, future Maven versions might no longer support building such malformed projects

    使用IDEA MAVEN clean时提示如下错误 Maven For this reason future Maven versions might no longer support building such malformed pr
  • 查字典(c++)

    思路 判断insert和find insert放入string set find就用count 过程 1 判断insert和find 2 放入set中 3 判断结果 代码 include
  • 清除浮动之双伪元素清除浮动

  • 结构体指针

    结构体指针 当一个指针变量用来指向一个结构体变量时 1 结构体指针变量的值是所指向的结构体变量的起始地址 2 通过结构体指针可以访问结构体变量 定义形式 结构体名 结构体指针变量 也可在定义结构体时 同时定义这个结构体变量 注 1 结构体指
  • 实现从一个类中的实体对象获取所有属性值注入到另一个不同类的实体对象的对应属性中

    背景 由于dao层的可视化对象 bean 跟service层以及controller层的bean对象是分开的 也就是同一业务流水线中 在controller层是跟界面或者接口的交互bean 而到了操作数据库层则用的匹配数据库表的实体bean
  • python wechatsougou_使用Python的requests库模拟登陆微信搜狗,爬取100X10篇微信文章并保存到MySQL...

    自学的python和爬虫技术 使用到Redis MySQL数据库 request请求模块 re Xpath解析模块 dumps loads序列化和反序列化 还可以配合代理池使用 爬取的是https weixin sogou com 网站只能
  • RPM打包原理、示例、详解

    RPM Redhat Package Manager 是用于Redhat CentOS Fedora等Linux 分发版 distribution 的常见的软件包管理器 因为它允许分发已编译的软件 所以用户只用一个命令就可以安装软件 看到这
  • BI数据系统的设计流程

    BI大数据产品 数据管理平台可以通过报表或者BI模块来搭建 在专栏 帆软数据应用研究院 里有关于企业数据管理和BI报表平台建设的案例 站在项目实施的角度 可以从技术和业务两个层面来考虑 前期进行需求调研 罗列了一张建设思路图 技术上需要考虑
  • 量化投资学习-30:股性与人性,从傅里叶变换谈谈股市大V的操作风格的观察

    1 名家的操作风格的差异 2 方波的傅里叶变换 徐小明 1次基频率 冯矿伟 3次谐波 东风红 5 7次谐波
  • 把多层次的 XML 文档解析为 TreeView 显示

    XML 文档是一个有多层树形节点的文档 因为节点数不确定 所以要跟踪每个节点 需要用到递归 肉眼阅读 XML 比较累 需要去对付一堆的尖括号 用 Delphi 程序把它显示为一个 TreeView 的树结构 比较容易用眼睛去看 以下是我的代
  • 对比学习MocoV1

    对比学习 希望模型能分辨哪些图片类似 哪些图片不类似 即类似的图片特征空间拉近 不类似的拉远 可以设计不同的代理任务提供监督信号 代理任务例子 个体判别 Xi经过两种Ti变成两张不一样的照片 为正样本 其他都是负样本 损失 NCE loss
  • 项目8—八位数码管动态显示(包含程序化简)

    利用74HC573芯片 74HC573的八个锁存器都是透明的D型锁存器 当使能 G 为高时 Q输出将随数据 D 输入而变 当使能为低时 输出将锁存在已建立的数据电平上 输出控制不影响锁存器的内部工作 即老数据可以保持 甚至当输出被关闭时 新
  • centos sftp配置

    SFTP 即 SSH 文件传输协议 或者说是安全文件传输协议 通过SSH端口加密传输 但是 由于这种传输方式使用了加密 解密技术 所以传输效率比普通的FTP要低得多 SFTP的优势在于SSH软件包中包含SFTP 无需额外安装 iptable
  • ES6中const详解

    我们使用const声明常量时 总认为值一旦声明就不可改变 然后我发现在定义对象时 对象的值是可以改变的 对于数值 var message Hello let age 25 以下两行都会报错 const message Goodbye con
  • 在计算机网络中 主机及主机上运行的程序,防灾科技学院网络协议分析复习题...

    一 单项选择题 1 为了提高传输效率 TCP通常采用 A 三次握手法 B 窗口控制机制 C 自动重发机制 D 端口机制 2 某校园网的地址是202 100 192 0 18 要把该网络分成30个子网 则子网掩码应该是 A 255 255 2
  • 李超树(无脑秒斜率)

    文章目录 一 What 二 How 1 插入 update 2 查询 query 三 板题 JSOI2008 Blue Mary开公司 https www luogu com cn problem P4254 五 高端操作 1 动态开点 2
  • delphi中常见错误提示说明

    Delphi的中文错误提示 not allowed before ELSE ElSE前不允许有 clause not allowed in OLE automation section 在OLE自动区段不允许 子句 is not a typ
  • URL中的转义字符

    URL中的转义字符 当URL的参数中出现诸如 空格 等特殊字符串符号时 因为上述字符有特殊含义 导致服务器端无法正确解析参数 如何处理 解决办法 将这些字符转化成服务器可以识别的字符 如果要在URL中传递特殊符号的原本意义 要对他们进行编码
  • chromium 之 webui 调用逻辑

    chromium之webui详细文档参考 WebUI Explainer googlesource com 本文主要讲述webui的调用逻辑 webui webui 用于管理chrome浏览器 通过 chrome url 的方式 可以进行不