暂无描述
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
zidl管控owner变更 Signed-off-by: rookiiie <quzhihao1@huawei.com> | 1 年前 | |
删除无用代码 Signed-off-by: Peng fafu <pengfafu@h-partners.com> | 1 年前 | |
Merge branch 'master' of git@gitcode.com:chenjunliang26/window_window_manager2.git into 'master' # Conflicts: # conflict dm/test/unittest/display_manager_test.cpp | 6 个月前 | |
!18583 merge handle_cfi into master build: 添加 cfi_policy = "adaptive" 到BUILD.gn 文件 Created-by: shenshensun Commit-by: shenshensun Merged-by: openharmony_ci Description: **Description:** **Issue number:** **Test & Result:** **CodeCheck:** <table> <tr> <th>类型</th><th>自检项</th><th>自检结果</th> </tr> <tr> <td rowspan="2">多线程相关</td><td>在类的成员变量中定义了vector/map/list等容器类型,且在多个成员函数中有操作时,需要加锁保护</td><td>自检结果:</td> </tr> <tr> <td>定义全局变量,在多个函数中都有操作时,需要加锁保护</td><td>自检结果:</td> </tr> <tr> <td rowspan="4">内存相关</td><td>调用外部接口时,确认是否对返回值做了判断,尤其外部接口返回了nullptr的情况,避免进程崩溃</td><td>自检结果:</td> </tr> <tr> <td>调用安全函数时,如memcpy_s等,是否检查其返回值</td><td>自检结果:</td> </tr> <tr> <td>检查函数中是否涉及了内存或资源申请(如文件句柄),注意每个异常退出流程,是否都已经将资源释放(推荐使用RAII)</td><td>自检结果:</td> </tr> </tr> <tr> <td>隐式内存分配场景:realpath、ReadParcelable序列化、cJSON相关函数时等,需主动释放或使用智能指针</td><td>自检结果:</td> </tr> <tr> <td rowspan="4">校验外部输入</td><td>使用nlohmann:json解析外部输入时,需判断参数类型是否符合预期</td><td>自检结果:</td> </tr> <tr> <td>所有外部输入均不可信,需判断外部输入是否直接作为内存分配的大小,数组下标、循环条件、SQL查询等</td><td>自检结果:</td> </tr> <tr> <td>外部输入的路径不可信,需使用realpath做标准化处理,并判断路径的合法性</td><td>自检结果:</td> </tr> <tr> <td>外部输入包括对外提供的接口,IPC的proxy/stub接口,序列化/反序列化接口等</td><td>自检结果:</td> </tr> </tr> <tr> <td rowspan="3">数学运算</td><td>代码中是否混合了加减乘除等运算,需检查是否可能导致整数溢出或符号翻转</td><td>自检结果:</td> </tr> <tr> <td>需检查代码是否有高精度数字转换为低精度的操作,如果必须,建议使用C++安全类型转换接口</td><td>自检结果:</td> </tr> <tr> <td>检查代码在计算时是否有除零操作(包括除数是计算出来的结果可能为0的情况)</td><td>自检结果:</td> </tr> </tr> <tr> <td rowspan="2">权限相关</td><td>作为系统服务对外提供了接口,是否做了权限保护和校验(如需要),只允许申请了权限的应用访问</td><td>自检结果:</td> </tr> <tr> <td>提供给其他系统服务的接口默认需要做SA服务校验</td><td>自检结果:</td> </tr> <tr> <td rowspan="2">跨进程通信</td><td>优先使用异步IPC,若必须使用同步IPC需要考虑对端卡死或高延时影响</td><td>自检结果:</td> </tr> <tr> <td>序列化/反序列化中数据读写顺序要严格对齐</td><td>自检结果:</td> </tr> </table> See merge request: openharmony/window_window_manager!18583 | 6 个月前 | |
!18583 merge handle_cfi into master build: 添加 cfi_policy = "adaptive" 到BUILD.gn 文件 Created-by: shenshensun Commit-by: shenshensun Merged-by: openharmony_ci Description: **Description:** **Issue number:** **Test & Result:** **CodeCheck:** <table> <tr> <th>类型</th><th>自检项</th><th>自检结果</th> </tr> <tr> <td rowspan="2">多线程相关</td><td>在类的成员变量中定义了vector/map/list等容器类型,且在多个成员函数中有操作时,需要加锁保护</td><td>自检结果:</td> </tr> <tr> <td>定义全局变量,在多个函数中都有操作时,需要加锁保护</td><td>自检结果:</td> </tr> <tr> <td rowspan="4">内存相关</td><td>调用外部接口时,确认是否对返回值做了判断,尤其外部接口返回了nullptr的情况,避免进程崩溃</td><td>自检结果:</td> </tr> <tr> <td>调用安全函数时,如memcpy_s等,是否检查其返回值</td><td>自检结果:</td> </tr> <tr> <td>检查函数中是否涉及了内存或资源申请(如文件句柄),注意每个异常退出流程,是否都已经将资源释放(推荐使用RAII)</td><td>自检结果:</td> </tr> </tr> <tr> <td>隐式内存分配场景:realpath、ReadParcelable序列化、cJSON相关函数时等,需主动释放或使用智能指针</td><td>自检结果:</td> </tr> <tr> <td rowspan="4">校验外部输入</td><td>使用nlohmann:json解析外部输入时,需判断参数类型是否符合预期</td><td>自检结果:</td> </tr> <tr> <td>所有外部输入均不可信,需判断外部输入是否直接作为内存分配的大小,数组下标、循环条件、SQL查询等</td><td>自检结果:</td> </tr> <tr> <td>外部输入的路径不可信,需使用realpath做标准化处理,并判断路径的合法性</td><td>自检结果:</td> </tr> <tr> <td>外部输入包括对外提供的接口,IPC的proxy/stub接口,序列化/反序列化接口等</td><td>自检结果:</td> </tr> </tr> <tr> <td rowspan="3">数学运算</td><td>代码中是否混合了加减乘除等运算,需检查是否可能导致整数溢出或符号翻转</td><td>自检结果:</td> </tr> <tr> <td>需检查代码是否有高精度数字转换为低精度的操作,如果必须,建议使用C++安全类型转换接口</td><td>自检结果:</td> </tr> <tr> <td>检查代码在计算时是否有除零操作(包括除数是计算出来的结果可能为0的情况)</td><td>自检结果:</td> </tr> </tr> <tr> <td rowspan="2">权限相关</td><td>作为系统服务对外提供了接口,是否做了权限保护和校验(如需要),只允许申请了权限的应用访问</td><td>自检结果:</td> </tr> <tr> <td>提供给其他系统服务的接口默认需要做SA服务校验</td><td>自检结果:</td> </tr> <tr> <td rowspan="2">跨进程通信</td><td>优先使用异步IPC,若必须使用同步IPC需要考虑对端卡死或高延时影响</td><td>自检结果:</td> </tr> <tr> <td>序列化/反序列化中数据读写顺序要严格对齐</td><td>自检结果:</td> </tr> </table> See merge request: openharmony/window_window_manager!18583 | 6 个月前 | |
1. add architectures in README. 2. add ai-agents files:AGENTS.md、CodeStyle.md、Testing.md, used to guide development and test. Signed-off-by: zhuxiaowen <zhuxiaowen4@huawei.com> Co-Authored-By: Agent | 6 个月前 | |
代码一致 Signed-off-by: fwg5587 <fanweiguo@h-partners.com> | 8 个月前 | |
隔离windowMangaerlite Signed-off-by: 18 <zhuchunjie2@huawei.com> | 7 个月前 | |
build: 添加 cfi_policy = "adaptive" 到所有 BUILD.gn 文件 - 为所有共享库和静态库添加 cfi_policy = "adaptive" 配置 - 覆盖 dm, dm_lite, dmserver, extension, interfaces, product, snapshot, utils, window_scene, wm, wmserver 等模块 - 使用自适应 CFI 策略以提高安全性和性能 Co-Authored-By: Agent Signed-off-by: shenshensun <sunshenshen1@h-partners.com> | 6 个月前 | |
!18793 merge master into master 修复UT Created-by: yangyibo6 Commit-by: yangyibo6 Merged-by: openharmony_ci Description: **Description:** [#14238](https://gitcode.com/openharmony/window_window_manager/issues/14238) **Issue number:** **Test & Result:** **CodeCheck:** <table> <tr> <th>类型</th><th>自检项</th><th>自检结果</th> </tr> <tr> <td rowspan="2">多线程相关</td><td>在类的成员变量中定义了vector/map/list等容器类型,且在多个成员函数中有操作时,需要加锁保护</td><td>自检结果:ok</td> </tr> <tr> <td>定义全局变量,在多个函数中都有操作时,需要加锁保护</td><td>自检结果:ok</td> </tr> <tr> <td rowspan="4">内存相关</td><td>调用外部接口时,确认是否对返回值做了判断,尤其外部接口返回了nullptr的情况,避免进程崩溃</td><td>自检结果:ok</td> </tr> <tr> <td>调用安全函数时,如memcpy_s等,是否检查其返回值</td><td>自检结果:ok</td> </tr> <tr> <td>检查函数中是否涉及了内存或资源申请(如文件句柄),注意每个异常退出流程,是否都已经将资源释放(推荐使用RAII)</td><td>自检结果:ok</td> </tr> </tr> <tr> <td>隐式内存分配场景:realpath、ReadParcelable序列化、cJSON相关函数时等,需主动释放或使用智能指针</td><td>自检结果:ok</td> </tr> <tr> <td rowspan="4">校验外部输入</td><td>使用nlohmann:json解析外部输入时,需判断参数类型是否符合预期</td><td>自检结果:ok</td> </tr> <tr> <td>所有外部输入均不可信,需判断外部输入是否直接作为内存分配的大小,数组下标、循环条件、SQL查询等</td><td>自检结果:ok</td> </tr> <tr> <td>外部输入的路径不可信,需使用realpath做标准化处理,并判断路径的合法性</td><td>自检结果:ok</td> </tr> <tr> <td>外部输入包括对外提供的接口,IPC的proxy/stub接口,序列化/反序列化接口等</td><td>自检结果:ok</td> </tr> </tr> <tr> <td rowspan="3">数学运算</td><td>代码中是否混合了加减乘除等运算,需检查是否可能导致整数溢出或符号翻转</td><td>自检结果:ok</td> </tr> <tr> <td>需检查代码是否有高精度数字转换为低精度的操作,如果必须,建议使用C++安全类型转换接口</td><td>自检结果:ok</td> </tr> <tr> <td>检查代码在计算时是否有除零操作(包括除数是计算出来的结果可能为0的情况)</td><td>自检结果:ok</td> </tr> </tr> <tr> <td rowspan="2">权限相关</td><td>作为系统服务对外提供了接口,是否做了权限保护和校验(如需要),只允许申请了权限的应用访问</td><td>自检结果:ok</td> </tr> <tr> <td>提供给其他系统服务的接口默认需要做SA服务校验</td><td>自检结果:ok</td> </tr> <tr> <td rowspan="2">跨进程通信</td><td>优先使用异步IPC,若必须使用同步IPC需要考虑对端卡死或高延时影响</td><td>自检结果:ok</td> </tr> <tr> <td>序列化/反序列化中数据读写顺序要严格对齐</td><td>自检结果:ok</td> </tr> </table> See merge request: openharmony/window_window_manager!18793 | 6 个月前 | |
!18613 merge AR into master Feature: Add TYPE_FLOAT_NAVIGATION Avoid Area Created-by: tanhon Commit-by: tanhon Merged-by: openharmony_ci Description: Feature: Add TYPE_FLOAT_NAVIGATION Avoid Area --- **Description:** Feature: Add TYPE_FLOAT_NAVIGATION Avoid Area **Issue number:** https://gitcode.com/openharmony/window_window_manager/issues/14091 **Test & Result:** pass **CodeCheck:** <table> <tr> <th>类型</th><th>自检项</th><th>自检结果</th> </tr> <tr> <td rowspan="2">多线程相关</td><td>在类的成员变量中定义了vector/map/list等容器类型,且在多个成员函数中有操作时,需要加锁保护</td><td>自检结果:pass</td> </tr> <tr> <td>定义全局变量,在多个函数中都有操作时,需要加锁保护</td><td>自检结果:pass</td> </tr> <tr> <td rowspan="4">内存相关</td><td>调用外部接口时,确认是否对返回值做了判断,尤其外部接口返回了nullptr的情况,避免进程崩溃</td><td>自检结果:pass</td> </tr> <tr> <td>调用安全函数时,如memcpy_s等,是否检查其返回值</td><td>自检结果:pass</td> </tr> <tr> <td>检查函数中是否涉及了内存或资源申请(如文件句柄),注意每个异常退出流程,是否都已经将资源释放(推荐使用RAII)</td><td>自检结果:pass</td> </tr> </tr> <tr> <td>隐式内存分配场景:realpath、ReadParcelable序列化、cJSON相关函数时等,需主动释放或使用智能指针</td><td>自检结果:pass</td> </tr> <tr> <td rowspan="4">校验外部输入</td><td>使用nlohmann:json解析外部输入时,需判断参数类型是否符合预期</td><td>自检结果:pass</td> </tr> <tr> <td>所有外部输入均不可信,需判断外部输入是否直接作为内存分配的大小,数组下标、循环条件、SQL查询等</td><td>自检结果:pass</td> </tr> <tr> <td>外部输入的路径不可信,需使用realpath做标准化处理,并判断路径的合法性</td><td>自检结果:pass</td> </tr> <tr> <td>外部输入包括对外提供的接口,IPC的proxy/stub接口,序列化/反序列化接口等</td><td>自检结果:pass</td> </tr> </tr> <tr> <td rowspan="3">数学运算</td><td>代码中是否混合了加减乘除等运算,需检查是否可能导致整数溢出或符号翻转</td><td>自检结果:pass</td> </tr> <tr> <td>需检查代码是否有高精度数字转换为低精度的操作,如果必须,建议使用C++安全类型转换接口</td><td>自检结果:pass</td> </tr> <tr> <td>检查代码在计算时是否有除零操作(包括除数是计算出来的结果可能为0的情况)</td><td>自检结果:pass</td> </tr> </tr> <tr> <td rowspan="2">权限相关</td><td>作为系统服务对外提供了接口,是否做了权限保护和校验(如需要),只允许申请了权限的应用访问</td><td>自检结果:pass</td> </tr> <tr> <td>提供给其他系统服务的接口默认需要做SA服务校验</td><td>自检结果:pass</td> </tr> <tr> <td rowspan="2">跨进程通信</td><td>优先使用异步IPC,若必须使用同步IPC需要考虑对端卡死或高延时影响</td><td>自检结果:pass</td> </tr> <tr> <td>序列化/反序列化中数据读写顺序要严格对齐</td><td>自检结果:pass</td> </tr> </table> See merge request: openharmony/window_window_manager!18613 | 6 个月前 | |
折叠开合适配 Signed-off-by: chenjunliang26 <chenjunliang26@h-partners.com> | 6 个月前 | |
Revert "Signed-off-by: z30045483 <zhangzhongqing2@huawei.com>" This reverts commit 57d053375b397d7a64bd8527059477deeb646643. | 8 个月前 | |
add min hdi Signed-off-by: logn <zhaoliang50@huawei.com> | 10 个月前 | |
部件依赖 Signed-off-by: lpf <liaopengfei@h-partners.com> | 1 年前 | |
build: 添加 cfi_policy = "adaptive" 到所有 BUILD.gn 文件 - 为所有共享库和静态库添加 cfi_policy = "adaptive" 配置 - 覆盖 dm, dm_lite, dmserver, extension, interfaces, product, snapshot, utils, window_scene, wm, wmserver 等模块 - 使用自适应 CFI 策略以提高安全性和性能 Co-Authored-By: Agent Signed-off-by: shenshensun <sunshenshen1@h-partners.com> | 6 个月前 | |
!18696 merge systemtest into master system TDD 修复 Created-by: wang_Q_Q Commit-by: 王青青 Merged-by: openharmony_ci Description: **Description:** **Issue number:** https://gitcode.com/openharmony/window_window_manager/issues/14157 **Test & Result:** **CodeCheck:** <table> <tr> <th>类型</th><th>自检项</th><th>自检结果</th> </tr> <tr> <td rowspan="2">多线程相关</td><td>在类的成员变量中定义了vector/map/list等容器类型,且在多个成员函数中有操作时,需要加锁保护</td><td>自检结果:</td> </tr> <tr> <td>定义全局变量,在多个函数中都有操作时,需要加锁保护</td><td>自检结果:</td> </tr> <tr> <td rowspan="4">内存相关</td><td>调用外部接口时,确认是否对返回值做了判断,尤其外部接口返回了nullptr的情况,避免进程崩溃</td><td>自检结果:</td> </tr> <tr> <td>调用安全函数时,如memcpy_s等,是否检查其返回值</td><td>自检结果:</td> </tr> <tr> <td>检查函数中是否涉及了内存或资源申请(如文件句柄),注意每个异常退出流程,是否都已经将资源释放(推荐使用RAII)</td><td>自检结果:</td> </tr> </tr> <tr> <td>隐式内存分配场景:realpath、ReadParcelable序列化、cJSON相关函数时等,需主动释放或使用智能指针</td><td>自检结果:</td> </tr> <tr> <td rowspan="4">校验外部输入</td><td>使用nlohmann:json解析外部输入时,需判断参数类型是否符合预期</td><td>自检结果:</td> </tr> <tr> <td>所有外部输入均不可信,需判断外部输入是否直接作为内存分配的大小,数组下标、循环条件、SQL查询等</td><td>自检结果:</td> </tr> <tr> <td>外部输入的路径不可信,需使用realpath做标准化处理,并判断路径的合法性</td><td>自检结果:</td> </tr> <tr> <td>外部输入包括对外提供的接口,IPC的proxy/stub接口,序列化/反序列化接口等</td><td>自检结果:</td> </tr> </tr> <tr> <td rowspan="3">数学运算</td><td>代码中是否混合了加减乘除等运算,需检查是否可能导致整数溢出或符号翻转</td><td>自检结果:</td> </tr> <tr> <td>需检查代码是否有高精度数字转换为低精度的操作,如果必须,建议使用C++安全类型转换接口</td><td>自检结果:</td> </tr> <tr> <td>检查代码在计算时是否有除零操作(包括除数是计算出来的结果可能为0的情况)</td><td>自检结果:</td> </tr> </tr> <tr> <td rowspan="2">权限相关</td><td>作为系统服务对外提供了接口,是否做了权限保护和校验(如需要),只允许申请了权限的应用访问</td><td>自检结果:</td> </tr> <tr> <td>提供给其他系统服务的接口默认需要做SA服务校验</td><td>自检结果:</td> </tr> <tr> <td rowspan="2">跨进程通信</td><td>优先使用异步IPC,若必须使用同步IPC需要考虑对端卡死或高延时影响</td><td>自检结果:</td> </tr> <tr> <td>序列化/反序列化中数据读写顺序要严格对齐</td><td>自检结果:</td> </tr> </table> See merge request: openharmony/window_window_manager!18696 | 6 个月前 | |
controller 互斥 Signed-off-by: 罗堡文 <847194217@qq.com> Co-Authored-By: Agent | 6 个月前 | |
pc模式最大化时隐藏标题栏 Signed-off-by: yangliuzhu <yangliuzhu1@huawei.com> | 6 个月前 | |
!18700 merge master into master pc模式最大化时隐藏标题栏 Created-by: yangliuzhu Commit-by: yangliuzhu Merged-by: openharmony_ci Description: **Description:** **Issue number:** **Test & Result:** **CodeCheck:** <table> <tr> <th>类型</th><th>自检项</th><th>自检结果</th> </tr> <tr> <td rowspan="2">多线程相关</td><td>在类的成员变量中定义了vector/map/list等容器类型,且在多个成员函数中有操作时,需要加锁保护</td><td>自检结果:</td> </tr> <tr> <td>定义全局变量,在多个函数中都有操作时,需要加锁保护</td><td>自检结果:</td> </tr> <tr> <td rowspan="4">内存相关</td><td>调用外部接口时,确认是否对返回值做了判断,尤其外部接口返回了nullptr的情况,避免进程崩溃</td><td>自检结果:</td> </tr> <tr> <td>调用安全函数时,如memcpy_s等,是否检查其返回值</td><td>自检结果:</td> </tr> <tr> <td>检查函数中是否涉及了内存或资源申请(如文件句柄),注意每个异常退出流程,是否都已经将资源释放(推荐使用RAII)</td><td>自检结果:</td> </tr> </tr> <tr> <td>隐式内存分配场景:realpath、ReadParcelable序列化、cJSON相关函数时等,需主动释放或使用智能指针</td><td>自检结果:</td> </tr> <tr> <td rowspan="4">校验外部输入</td><td>使用nlohmann:json解析外部输入时,需判断参数类型是否符合预期</td><td>自检结果:</td> </tr> <tr> <td>所有外部输入均不可信,需判断外部输入是否直接作为内存分配的大小,数组下标、循环条件、SQL查询等</td><td>自检结果:</td> </tr> <tr> <td>外部输入的路径不可信,需使用realpath做标准化处理,并判断路径的合法性</td><td>自检结果:</td> </tr> <tr> <td>外部输入包括对外提供的接口,IPC的proxy/stub接口,序列化/反序列化接口等</td><td>自检结果:</td> </tr> </tr> <tr> <td rowspan="3">数学运算</td><td>代码中是否混合了加减乘除等运算,需检查是否可能导致整数溢出或符号翻转</td><td>自检结果:</td> </tr> <tr> <td>需检查代码是否有高精度数字转换为低精度的操作,如果必须,建议使用C++安全类型转换接口</td><td>自检结果:</td> </tr> <tr> <td>检查代码在计算时是否有除零操作(包括除数是计算出来的结果可能为0的情况)</td><td>自检结果:</td> </tr> </tr> <tr> <td rowspan="2">权限相关</td><td>作为系统服务对外提供了接口,是否做了权限保护和校验(如需要),只允许申请了权限的应用访问</td><td>自检结果:</td> </tr> <tr> <td>提供给其他系统服务的接口默认需要做SA服务校验</td><td>自检结果:</td> </tr> <tr> <td rowspan="2">跨进程通信</td><td>优先使用异步IPC,若必须使用同步IPC需要考虑对端卡死或高延时影响</td><td>自检结果:</td> </tr> <tr> <td>序列化/反序列化中数据读写顺序要严格对齐</td><td>自检结果:</td> </tr> </table> See merge request: openharmony/window_window_manager!18700 | 6 个月前 | |
!18666 merge warning-fix into master race condition fix Created-by: jjoel Commit-by: jjoel Merged-by: openharmony_ci Description: **Description:** **Issue number:** **Test & Result:** **CodeCheck:** <table> <tr> <th>类型</th><th>自检项</th><th>自检结果</th> </tr> <tr> <td rowspan="2">多线程相关</td><td>在类的成员变量中定义了vector/map/list等容器类型,且在多个成员函数中有操作时,需要加锁保护</td><td>自检结果:</td> </tr> <tr> <td>定义全局变量,在多个函数中都有操作时,需要加锁保护</td><td>自检结果:</td> </tr> <tr> <td rowspan="4">内存相关</td><td>调用外部接口时,确认是否对返回值做了判断,尤其外部接口返回了nullptr的情况,避免进程崩溃</td><td>自检结果:</td> </tr> <tr> <td>调用安全函数时,如memcpy_s等,是否检查其返回值</td><td>自检结果:</td> </tr> <tr> <td>检查函数中是否涉及了内存或资源申请(如文件句柄),注意每个异常退出流程,是否都已经将资源释放(推荐使用RAII)</td><td>自检结果:</td> </tr> </tr> <tr> <td>隐式内存分配场景:realpath、ReadParcelable序列化、cJSON相关函数时等,需主动释放或使用智能指针</td><td>自检结果:</td> </tr> <tr> <td rowspan="4">校验外部输入</td><td>使用nlohmann:json解析外部输入时,需判断参数类型是否符合预期</td><td>自检结果:</td> </tr> <tr> <td>所有外部输入均不可信,需判断外部输入是否直接作为内存分配的大小,数组下标、循环条件、SQL查询等</td><td>自检结果:</td> </tr> <tr> <td>外部输入的路径不可信,需使用realpath做标准化处理,并判断路径的合法性</td><td>自检结果:</td> </tr> <tr> <td>外部输入包括对外提供的接口,IPC的proxy/stub接口,序列化/反序列化接口等</td><td>自检结果:</td> </tr> </tr> <tr> <td rowspan="3">数学运算</td><td>代码中是否混合了加减乘除等运算,需检查是否可能导致整数溢出或符号翻转</td><td>自检结果:</td> </tr> <tr> <td>需检查代码是否有高精度数字转换为低精度的操作,如果必须,建议使用C++安全类型转换接口</td><td>自检结果:</td> </tr> <tr> <td>检查代码在计算时是否有除零操作(包括除数是计算出来的结果可能为0的情况)</td><td>自检结果:</td> </tr> </tr> <tr> <td rowspan="2">权限相关</td><td>作为系统服务对外提供了接口,是否做了权限保护和校验(如需要),只允许申请了权限的应用访问</td><td>自检结果:</td> </tr> <tr> <td>提供给其他系统服务的接口默认需要做SA服务校验</td><td>自检结果:</td> </tr> <tr> <td rowspan="2">跨进程通信</td><td>优先使用异步IPC,若必须使用同步IPC需要考虑对端卡死或高延时影响</td><td>自检结果:</td> </tr> <tr> <td>序列化/反序列化中数据读写顺序要严格对齐</td><td>自检结果:</td> </tr> </table> See merge request: openharmony/window_window_manager!18666 | 6 个月前 | |
使用clang-format格式化文档 Signed-off-by: lpf <liaopengfei@h-partners.com> | 1 年前 | |
1. add architectures in README. 2. add ai-agents files:AGENTS.md、CodeStyle.md、Testing.md, used to guide development and test. Signed-off-by: zhuxiaowen <zhuxiaowen4@huawei.com> Co-Authored-By: Agent | 6 个月前 | |
add LICENSE and OAT.xml Signed-off-by: maojiangping <maojiangping@huawei.com> Change-Id: I9e37a5ffa4704253d641c3332ef8f79de7c94f6e | 4 年前 | |
1. add architectures in README. 2. add ai-agents files:AGENTS.md、CodeStyle.md、Testing.md, used to guide development and test. Signed-off-by: zhuxiaowen <zhuxiaowen4@huawei.com> Co-Authored-By: Agent | 6 个月前 | |
1. add architectures in README. 2. add ai-agents files:AGENTS.md、CodeStyle.md、Testing.md, used to guide development and test. Signed-off-by: zhuxiaowen <zhuxiaowen4@huawei.com> Co-Authored-By: Agent | 6 个月前 | |
1. add architectures in README. 2. add ai-agents files:AGENTS.md、CodeStyle.md、Testing.md, used to guide development and test. Signed-off-by: zhuxiaowen <zhuxiaowen4@huawei.com> Co-Authored-By: Agent | 6 个月前 | |
delete redundant code Signed-off-by: wulong <wulong7@huawei.com> | 7 个月前 | |
session_state类型修改为UINT32 Signed-off-by: 陈树山 <css353929243@163.com> | 1 年前 | |
feature_fix Signed-off-by: l30031422 <liwei769@huawei.com> Change-Id: I43751c1ffedcd80bc7969f079de0de6a59976429 | 2 年前 | |
window_manager解耦依赖 Signed-off-by: LfSeanDragon1 <lfseandragon@126.com> | 1 年前 |
window_manager
简介
窗口子系统 提供窗口管理和Display管理的基础能力,是系统图形界面显示所需的基础子系统。
其主要的结构如下图所示:

-
Window Manager Client
应用进程窗口管理接口层,提供窗口对对象抽象和窗口管理接口,对接原能力和UI框架。
-
Display Manager Client
应用进程Display管理接口层,提供Display信息抽象和Display管理接口。
-
Window Manager Server
窗口管理服务,提供窗口布局、Z序控制、窗口树结构、窗口拖拽、窗口快照等能力,并提供窗口布局和焦点窗口给多模输入
-
Display Manager Server
Display管理服务,提供Display信息、屏幕截图、屏幕亮灭和亮度处理控制,并处理Display与Screen映射关系
架构说明
当前部件,即window_manager,同时包含了窗口管理服务的两种架构,分别称为“分离架构”和“合一架构”。
主要区别如下图:

-
分离架构 桌面相关的系统应用,例如桌面、壁纸等,均位于应用层,且各自独立进程。因此在这种架构下,应用的启动退出等管理过程就包含了桌面相关的系统应用到系统服务、系统服务到应用的多次IPC通信过程。
-
合一架构 桌面相关的系统应用,和窗口管理服务进程合一,不再是以独立的进程运行,而是转变为一个个系统窗口控件。因此,窗口管理子系统提供了窗口控件,用于实现窗口的控件化管理和窗口控件的布局管理。 此外,也提供了屏幕控件用于屏幕的控件化管理。
切换方式
分离架构和合一架构可以通过全局特性配置项 window_manager_use_sceneboard 实现切换。
具体配置方式,请参考:特性配置规则
不同架构的关键区别
一方面窗口的管理方式转变为通过窗口控件完成,另一方面桌面相关的系统应用转变为系统窗口控件,所以二者在启动退出等任务管理流程上发生了关键性改变。
-
分离架构

-
合一架构

目录
foundation/window/window_manager/
├── dm # Dislplay Manager Client实现代码
├── dmserver # Dislplay Manager Service实现代码
├── extension # Ability Component 窗口相关代码实现目录
│ ├── extension_connection # Ability Component 嵌入部分
│ └── window_extension # Ability Component 被嵌入部分
├── interfaces # 对外接口存放目录
│ ├── innerkits # native接口存放目录
│ └── kits # js/napi接口存放目录
├── previewer # IDE轻量模拟器窗口代码实现目录
├── resources # 框架使用资源文件存放目录
├── sa_profile # 系统服务配置文件
├── snapshot # 截屏命令行工具实现代码
├── test # Fuzz测试和系统测试用例存放目录
├── utils # 工具类存放目录
├── window_scene # 合一架构 Window Manager Service实现代码
├── wm # Window Manager Client实现代码
└── wmserver # 分离架构 Window Manager Service实现代码
约束
- 语言版本
- C++11或以上