google-chrome - chrome跟踪文件中对nodeId,frame,frameTreeNodeId,layerId和layerTreeId(以及其他)的每个引用之间的关系是什么
问题描述
我正在寻找与 chrome 跟踪文件结构相关的当前文档。
例如,在跟踪文件中,存在使用父属性相互关联的帧。有些框架与 nodeId 相关联,但也有一些 nodeId 没有关联的框架。类似地,有带有 layerId 的框架和没有的框架。
是否有任何文件描述了所有这些对象如何相互关联?它们是平行结构吗?它们是一个层次结构的一部分吗?节点是唯一引用的,还是不同的 nodeId 可以引用同一个对象?
这是我到目前为止发现的:
在我寻找答案的过程中,我发现了 Chrome DevTools 协议文档 [1],它似乎引用了其中的每一个,但我一直无法发现它们之间的关系。
我已经浏览了 19 GB 的 chrome 源代码,除了找到包含许多(如果不是全部)这些引用的 TimelineModel.ts [2] 之外,没有什么可展示的。
我还发现了跟踪事件格式 [3],它描述了跟踪文件中的一些字段,但它最后一次更新是在 2016 年,并且不包含对 nodeId 或 layerId 的引用。
虽然与 chrome 没有直接关系,但我发现的一个 WebKit 文件 [4] 包含所有这些引用,并包括诸如阴影树、合成树和可访问性结构之类的附加内容。
欢迎任何帮助。
- https://chromedevtools.github.io/devtools-protocol/
- https://chromium.googlesource.com/devtools/devtools-frontend/+/af7ba130f6fe898ebe08c15e29438b83e7c40d7d/front_end/models/timeline_model/TimelineModel.ts
- https://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU/preview
- https://raw.githubusercontent.com/WebKit/WebKit/main/Source/WebInspectorUI/Versions/Inspector-iOS-13.0.json
解决方案
推荐阅读
- java - 在java中展平3级嵌套JSON字符串
- c# - 为什么 JObject 不转换 JSON 字符串?
- websphere - 如何在 WebSphere 上开始安装 ear?
- ios - 当我受到限制时,为什么 webview 屏幕会超出设备区域?
- amazon-ec2 - 如何将密钥对从另一个系统导出到 ssh EC2
- webpack - 在 webpack-server dist 文件夹外运行 index.html(开发模式)
- java - 如何以清晰易读的方式根据参数创建数组?
- java - 如何分别在一个循环中分别记录每个输入?(爪哇)
- php - Laravel 从 url 中删除 public 并在 .htaccess 中强制 https
- awk - bash 从四列中删除重复项,其中顺序无关紧要