新增 Browser.setContentsSize DevTools API
Minor
提交哈希:
6bb5e25045a6fa9b8f61220aa41fbf9f161c13ea
提交时间: 2025-07-09 08:27:28+00:00
影响等级: Minor
生成工具: webview2-upstream-sentry
上游审核链接:
查看上游审核 🔗
📋 摘要
本次提交为 Chrome DevTools Protocol 添加了新的 Browser.setContentsSize API,允许开发者直接设置浏览器内容区域的大小(innerWidth/innerHeight),而不是现有的 Browser.setWindowBounds API 设置的外部窗口大小(outerWidth/outerHeight)。该 API 在设置内容区域大小时会自动调整外部浏览器窗口大小以适应平台相关的 UI 元素几何结构。此变更涉及协议定义文件的更新、Chrome 和 Headless 模式下的处理器实现,以及相应的测试用例添加。
🎯 影响分析
**对终端用户的影响:**
- **无直接影响**:此 API 主要面向开发者和自动化工具,终端用户在正常浏览过程中不会感知到这个变更
- **间接改善**:使用此 API 的开发工具和自动化测试可能提供更精确的页面渲染和测试结果,间接提升用户体验
**对开发者的影响:**
- **功能增强**:提供了更精确的窗口尺寸控制能力,开发者可以直接设置页面内容区域大小,而无需计算平台相关的 UI 元素尺寸
- **自动化测试改进**:特别有利于需要精确控制视口大小的自动化测试场景,如响应式设计测试、截图测试等
- **跨平台一致性**:解决了不同平台下浏览器 UI 元素几何结构差异导致的设置困难
- **DevTools 扩展**:为开发者工具扩展提供了新的窗口管理能力
- **向后兼容**:不会影响现有的 Browser.setWindowBounds API,保持向后兼容性
- **无直接影响**:此 API 主要面向开发者和自动化工具,终端用户在正常浏览过程中不会感知到这个变更
- **间接改善**:使用此 API 的开发工具和自动化测试可能提供更精确的页面渲染和测试结果,间接提升用户体验
**对开发者的影响:**
- **功能增强**:提供了更精确的窗口尺寸控制能力,开发者可以直接设置页面内容区域大小,而无需计算平台相关的 UI 元素尺寸
- **自动化测试改进**:特别有利于需要精确控制视口大小的自动化测试场景,如响应式设计测试、截图测试等
- **跨平台一致性**:解决了不同平台下浏览器 UI 元素几何结构差异导致的设置困难
- **DevTools 扩展**:为开发者工具扩展提供了新的窗口管理能力
- **向后兼容**:不会影响现有的 Browser.setWindowBounds API,保持向后兼容性
受影响的类:
BrowserHandler
BrowserHandlerAndroid
HeadlessBrowserHandler