From 6cc123b367ee62859bbfe78d363ed6cee0573b94 Mon Sep 17 00:00:00 2001 From: DDDDD Date: Mon, 3 Nov 2025 20:45:14 +0800 Subject: [PATCH] =?UTF-8?q?sample=E5=90=8C=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: DDDDD --- ArkWebKit/UseSameLayerRender/.gitignore | 12 + .../UseSameLayerRender/AppScope/app.json5 | 25 ++ .../resources/base/element/string.json | 8 + .../resources/base/media/app_icon.png | Bin 0 -> 2777 bytes ArkWebKit/UseSameLayerRender/README.md | 104 +++++++ .../UseSameLayerRender/build-profile.json5 | 51 ++++ .../UseSameLayerRender/code-linter.json5 | 35 +++ ArkWebKit/UseSameLayerRender/entry/.gitignore | 6 + .../entry/build-profile.json5 | 43 +++ .../UseSameLayerRender/entry/hvigorfile.ts | 21 ++ .../entry/obfuscation-rules.txt | 23 ++ .../UseSameLayerRender/entry/oh-package.json5 | 25 ++ .../main/ets/entryability/EntryAbility.ets | 56 ++++ .../entrybackupability/EntryBackupAbility.ets | 27 ++ .../src/main/ets/pages/DrawXCompAVPBtn.ets | 252 ++++++++++++++++ .../entry/src/main/ets/pages/Index.ets | 42 +++ .../src/main/ets/pages/NativeEmbedOverlay.ets | 264 +++++++++++++++++ .../entry/src/main/ets/pages/PlayerDemo.ets | 103 +++++++ .../ets/pages/RenderTxtBoxSameLayer_one.ets | 246 ++++++++++++++++ .../ets/pages/RenderTxtBoxSameLayer_two.ets | 272 ++++++++++++++++++ .../entry/src/main/module.json5 | 74 +++++ .../main/resources/base/element/color.json | 8 + .../main/resources/base/element/string.json | 16 ++ .../main/resources/base/media/background.png | Bin 0 -> 57364 bytes .../main/resources/base/media/foreground.png | Bin 0 -> 12430 bytes .../resources/base/media/layered_image.json | 7 + .../main/resources/base/media/startIcon.png | Bin 0 -> 20093 bytes .../resources/base/profile/backup_config.json | 3 + .../resources/base/profile/main_pages.json | 9 + .../main/resources/en_US/element/string.json | 16 ++ .../src/main/resources/rawfile/test1.html | 33 +++ .../src/main/resources/rawfile/test2.html | 33 +++ .../src/main/resources/rawfile/test3.html | 29 ++ .../src/main/resources/rawfile/test4.html | 33 +++ .../main/resources/zh_CN/element/string.json | 16 ++ .../entry/src/mock/mock-config.json5 | 17 ++ .../src/ohosTest/ets/test/Ability.test.ets | 122 ++++++++ .../entry/src/ohosTest/ets/test/List.test.ets | 20 ++ .../entry/src/ohosTest/module.json5 | 27 ++ .../entry/src/test/List.test.ets | 20 ++ .../entry/src/test/LocalUnit.test.ets | 48 ++++ .../hvigor/hvigor-config.json5 | 37 +++ ArkWebKit/UseSameLayerRender/hvigorfile.ts | 21 ++ ArkWebKit/UseSameLayerRender/oh-package.json5 | 25 ++ ArkWebKit/UseSameLayerRender/ohosTest.md | 18 ++ .../screenshots/DrawXCompAVPBtn.png | Bin 0 -> 32528 bytes .../screenshots/RenderTxtBoxSameLayer_one.png | Bin 0 -> 29452 bytes .../screenshots/RenderTxtBoxSameLayer_two.png | Bin 0 -> 30352 bytes ArkWebKit/WebRenderLayout/.gitignore | 12 + ArkWebKit/WebRenderLayout/AppScope/app.json5 | 25 ++ .../resources/base/element/string.json | 8 + .../resources/base/media/app_icon.png | Bin 0 -> 2777 bytes ArkWebKit/WebRenderLayout/README.md | 78 +++++ ArkWebKit/WebRenderLayout/build-profile.json5 | 51 ++++ ArkWebKit/WebRenderLayout/code-linter.json5 | 35 +++ ArkWebKit/WebRenderLayout/entry/.gitignore | 6 + .../WebRenderLayout/entry/build-profile.json5 | 43 +++ ArkWebKit/WebRenderLayout/entry/hvigorfile.ts | 21 ++ .../entry/obfuscation-rules.txt | 23 ++ .../WebRenderLayout/entry/oh-package.json5 | 25 ++ .../main/ets/entryability/EntryAbility.ets | 56 ++++ .../entrybackupability/EntryBackupAbility.ets | 27 ++ .../src/main/ets/pages/FitPageContent.ets | 50 ++++ .../entry/src/main/ets/pages/Index.ets | 35 +++ .../entry/src/main/ets/pages/RenderMode.ets | 34 +++ .../entry/src/main/module.json5 | 71 +++++ .../main/resources/base/element/color.json | 8 + .../main/resources/base/element/string.json | 24 ++ .../main/resources/base/media/background.png | Bin 0 -> 57364 bytes .../main/resources/base/media/foreground.png | Bin 0 -> 12430 bytes .../resources/base/media/layered_image.json | 7 + .../main/resources/base/media/startIcon.png | Bin 0 -> 20093 bytes .../resources/base/profile/backup_config.json | 3 + .../resources/base/profile/main_pages.json | 7 + .../main/resources/en_US/element/string.json | 16 ++ .../main/resources/rawfile/fit_content.html | 63 ++++ .../main/resources/zh_CN/element/string.json | 16 ++ .../entry/src/mock/mock-config.json5 | 17 ++ .../src/ohosTest/ets/test/Ability.test.ets | 97 +++++++ .../entry/src/ohosTest/ets/test/List.test.ets | 20 ++ .../entry/src/ohosTest/module.json5 | 27 ++ .../entry/src/test/List.test.ets | 20 ++ .../entry/src/test/LocalUnit.test.ets | 48 ++++ .../hvigor/hvigor-config.json5 | 37 +++ ArkWebKit/WebRenderLayout/hvigorfile.ts | 21 ++ ArkWebKit/WebRenderLayout/oh-package.json5 | 25 ++ ArkWebKit/WebRenderLayout/ohosTest.md | 12 + .../screenshots/FitPageContent.png | Bin 0 -> 147653 bytes .../screenshots/RenderModeWebComp.png | Bin 0 -> 42910 bytes 89 files changed, 3315 insertions(+) create mode 100644 ArkWebKit/UseSameLayerRender/.gitignore create mode 100644 ArkWebKit/UseSameLayerRender/AppScope/app.json5 create mode 100644 ArkWebKit/UseSameLayerRender/AppScope/resources/base/element/string.json create mode 100644 ArkWebKit/UseSameLayerRender/AppScope/resources/base/media/app_icon.png create mode 100644 ArkWebKit/UseSameLayerRender/README.md create mode 100644 ArkWebKit/UseSameLayerRender/build-profile.json5 create mode 100644 ArkWebKit/UseSameLayerRender/code-linter.json5 create mode 100644 ArkWebKit/UseSameLayerRender/entry/.gitignore create mode 100644 ArkWebKit/UseSameLayerRender/entry/build-profile.json5 create mode 100644 ArkWebKit/UseSameLayerRender/entry/hvigorfile.ts create mode 100644 ArkWebKit/UseSameLayerRender/entry/obfuscation-rules.txt create mode 100644 ArkWebKit/UseSameLayerRender/entry/oh-package.json5 create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/main/ets/entryability/EntryAbility.ets create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/main/ets/entrybackupability/EntryBackupAbility.ets create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/main/ets/pages/DrawXCompAVPBtn.ets create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/main/ets/pages/Index.ets create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/main/ets/pages/NativeEmbedOverlay.ets create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/main/ets/pages/PlayerDemo.ets create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/main/ets/pages/RenderTxtBoxSameLayer_one.ets create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/main/ets/pages/RenderTxtBoxSameLayer_two.ets create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/main/module.json5 create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/main/resources/base/element/color.json create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/main/resources/base/element/string.json create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/main/resources/base/media/background.png create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/main/resources/base/media/foreground.png create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/main/resources/base/media/layered_image.json create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/main/resources/base/media/startIcon.png create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/main/resources/base/profile/backup_config.json create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/main/resources/base/profile/main_pages.json create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/main/resources/en_US/element/string.json create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/main/resources/rawfile/test1.html create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/main/resources/rawfile/test2.html create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/main/resources/rawfile/test3.html create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/main/resources/rawfile/test4.html create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/main/resources/zh_CN/element/string.json create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/mock/mock-config.json5 create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/ohosTest/ets/test/Ability.test.ets create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/ohosTest/ets/test/List.test.ets create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/ohosTest/module.json5 create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/test/List.test.ets create mode 100644 ArkWebKit/UseSameLayerRender/entry/src/test/LocalUnit.test.ets create mode 100644 ArkWebKit/UseSameLayerRender/hvigor/hvigor-config.json5 create mode 100644 ArkWebKit/UseSameLayerRender/hvigorfile.ts create mode 100644 ArkWebKit/UseSameLayerRender/oh-package.json5 create mode 100644 ArkWebKit/UseSameLayerRender/ohosTest.md create mode 100644 ArkWebKit/UseSameLayerRender/screenshots/DrawXCompAVPBtn.png create mode 100644 ArkWebKit/UseSameLayerRender/screenshots/RenderTxtBoxSameLayer_one.png create mode 100644 ArkWebKit/UseSameLayerRender/screenshots/RenderTxtBoxSameLayer_two.png create mode 100644 ArkWebKit/WebRenderLayout/.gitignore create mode 100644 ArkWebKit/WebRenderLayout/AppScope/app.json5 create mode 100644 ArkWebKit/WebRenderLayout/AppScope/resources/base/element/string.json create mode 100644 ArkWebKit/WebRenderLayout/AppScope/resources/base/media/app_icon.png create mode 100644 ArkWebKit/WebRenderLayout/README.md create mode 100644 ArkWebKit/WebRenderLayout/build-profile.json5 create mode 100644 ArkWebKit/WebRenderLayout/code-linter.json5 create mode 100644 ArkWebKit/WebRenderLayout/entry/.gitignore create mode 100644 ArkWebKit/WebRenderLayout/entry/build-profile.json5 create mode 100644 ArkWebKit/WebRenderLayout/entry/hvigorfile.ts create mode 100644 ArkWebKit/WebRenderLayout/entry/obfuscation-rules.txt create mode 100644 ArkWebKit/WebRenderLayout/entry/oh-package.json5 create mode 100644 ArkWebKit/WebRenderLayout/entry/src/main/ets/entryability/EntryAbility.ets create mode 100644 ArkWebKit/WebRenderLayout/entry/src/main/ets/entrybackupability/EntryBackupAbility.ets create mode 100644 ArkWebKit/WebRenderLayout/entry/src/main/ets/pages/FitPageContent.ets create mode 100644 ArkWebKit/WebRenderLayout/entry/src/main/ets/pages/Index.ets create mode 100644 ArkWebKit/WebRenderLayout/entry/src/main/ets/pages/RenderMode.ets create mode 100644 ArkWebKit/WebRenderLayout/entry/src/main/module.json5 create mode 100644 ArkWebKit/WebRenderLayout/entry/src/main/resources/base/element/color.json create mode 100644 ArkWebKit/WebRenderLayout/entry/src/main/resources/base/element/string.json create mode 100644 ArkWebKit/WebRenderLayout/entry/src/main/resources/base/media/background.png create mode 100644 ArkWebKit/WebRenderLayout/entry/src/main/resources/base/media/foreground.png create mode 100644 ArkWebKit/WebRenderLayout/entry/src/main/resources/base/media/layered_image.json create mode 100644 ArkWebKit/WebRenderLayout/entry/src/main/resources/base/media/startIcon.png create mode 100644 ArkWebKit/WebRenderLayout/entry/src/main/resources/base/profile/backup_config.json create mode 100644 ArkWebKit/WebRenderLayout/entry/src/main/resources/base/profile/main_pages.json create mode 100644 ArkWebKit/WebRenderLayout/entry/src/main/resources/en_US/element/string.json create mode 100644 ArkWebKit/WebRenderLayout/entry/src/main/resources/rawfile/fit_content.html create mode 100644 ArkWebKit/WebRenderLayout/entry/src/main/resources/zh_CN/element/string.json create mode 100644 ArkWebKit/WebRenderLayout/entry/src/mock/mock-config.json5 create mode 100644 ArkWebKit/WebRenderLayout/entry/src/ohosTest/ets/test/Ability.test.ets create mode 100644 ArkWebKit/WebRenderLayout/entry/src/ohosTest/ets/test/List.test.ets create mode 100644 ArkWebKit/WebRenderLayout/entry/src/ohosTest/module.json5 create mode 100644 ArkWebKit/WebRenderLayout/entry/src/test/List.test.ets create mode 100644 ArkWebKit/WebRenderLayout/entry/src/test/LocalUnit.test.ets create mode 100644 ArkWebKit/WebRenderLayout/hvigor/hvigor-config.json5 create mode 100644 ArkWebKit/WebRenderLayout/hvigorfile.ts create mode 100644 ArkWebKit/WebRenderLayout/oh-package.json5 create mode 100644 ArkWebKit/WebRenderLayout/ohosTest.md create mode 100644 ArkWebKit/WebRenderLayout/screenshots/FitPageContent.png create mode 100644 ArkWebKit/WebRenderLayout/screenshots/RenderModeWebComp.png diff --git a/ArkWebKit/UseSameLayerRender/.gitignore b/ArkWebKit/UseSameLayerRender/.gitignore new file mode 100644 index 000000000..d2ff20141 --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/.gitignore @@ -0,0 +1,12 @@ +/node_modules +/oh_modules +/local.properties +/.idea +**/build +/.hvigor +.cxx +/.clangd +/.clang-format +/.clang-tidy +**/.test +/.appanalyzer \ No newline at end of file diff --git a/ArkWebKit/UseSameLayerRender/AppScope/app.json5 b/ArkWebKit/UseSameLayerRender/AppScope/app.json5 new file mode 100644 index 000000000..5b18054bf --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/AppScope/app.json5 @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ + "app": { + "bundleName": "com.samples.usesamelayerrender", + "vendor": "example", + "versionCode": 1000000, + "versionName": "1.0.0", + "icon": "$media:app_icon", + "label": "$string:app_name" + } +} diff --git a/ArkWebKit/UseSameLayerRender/AppScope/resources/base/element/string.json b/ArkWebKit/UseSameLayerRender/AppScope/resources/base/element/string.json new file mode 100644 index 000000000..030dffd09 --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/AppScope/resources/base/element/string.json @@ -0,0 +1,8 @@ +{ + "string": [ + { + "name": "app_name", + "value": "UseSameLayerRender" + } + ] +} diff --git a/ArkWebKit/UseSameLayerRender/AppScope/resources/base/media/app_icon.png b/ArkWebKit/UseSameLayerRender/AppScope/resources/base/media/app_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a39445dc87828b76fed6d2ec470dd455c45319e3 GIT binary patch literal 2777 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 literal 0 HcmV?d00001 diff --git a/ArkWebKit/UseSameLayerRender/README.md b/ArkWebKit/UseSameLayerRender/README.md new file mode 100644 index 000000000..df13f5876 --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/README.md @@ -0,0 +1,104 @@ +# 同层渲染 + +### 介绍 + +2. 本工程主要实现了对以下指南文档中 https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/web/web-same-layer.md 示例代码片段的工程化,主要目标是实现指南中示例代码需要与sample工程文件同源。 + +### RenderTxtBoxSameLayer_one + +#### 介绍 + +1. 本示例主要介绍Web页面中同层渲染输入框,在Web页面中,可以使用ArkUI原生的TextInput组件进行同层渲染。同层渲染支持/两种标签。type类型可任意指定,两个字符串参数均不区分大小写,ArkWeb内核将会统一转换为小写。其中,tag字符串使用全字符串匹配,type使用字符串前缀匹配。 + +#### 效果预览 + +| 主页 | +| ------------------------------------------------------------ | +| | + +使用说明 + +1. 在应用侧通过enableNativeEmbedMode来开启同层渲染功能,展示在对应区域的原生组件。 +1. 调用onNativeEmbedLifecycleChange来监听同层渲染的生命周期变化。 +1. 调用onNativeEmbedGestureEvent来监听同层渲染同层渲染区域的手势事件。 + +### RenderTxtBoxSameLayer_two + +#### 介绍 + +1. 本示例主要介绍Web页面中同层渲染输入框,在Web页面中,可以使用ArkUI原生的TextInput组件进行同层渲染。同层渲染支持/两种标签。type类型可任意指定,两个字符串参数均不区分大小写,ArkWeb内核将会统一转换为小写。其中,tag字符串使用全字符串匹配,type使用字符串前缀匹配。 + +#### 效果预览 + +| 主页 | +| ------------------------------------------------------------ | +| | + +使用说明 + +1. 在应用侧通过enableNativeEmbedMode来开启同层渲染功能,展示在对应区域的原生组件。 +1. 调用onNativeEmbedLifecycleChange来监听同层渲染的生命周期变化。 +1. 调用onNativeEmbedGestureEvent来监听同层渲染同层渲染区域的手势事件。 + +### DrawXCompAVPBtn + +#### 介绍 + +1. 本示例主要介绍同层渲染。通过enableNativeEmbedMode()控制同层渲染开关。Html文件中需要显式使用embed标签,并且embed标签内type必须以“native/”开头。同层标签对应的元素区域的背景为透明。 + +#### 效果预览 + +| 主页 | +| ------------------------------------------------------------ | +| | + +使用说明 + +1. 绘制 XComponent、AVPlayer 和 Button 组件。 + +### 工程目录 + +``` +entry/src/main/ +|---ets +|---|---entryability +|---|---|---EntryAbility.ets +|---|---pages +|---|---|---DrawXCompAVPBtn.ets +|---|---|---Index.ets // 首页 +|---|---|---PlayerDemo.ets +|---|---|---RenderTxtBoxSameLayer_one.ets +|---|---|---RenderTxtBoxSameLayer_two.ets +|---resources // 静态资源 +|---ohosTest +|---|---ets +|---|---|---tests +|---|---|---|---Ability.test.ets // 自动化测试用例 +``` + + +### 相关权限 + +[ohos.permission.INTERNET](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/security/AccessToken/permissions-for-all.md#ohospermissioninternet) + +### 依赖 + +不涉及。 + +### 约束与限制 + +1. 本示例仅支持标准系统上运行,支持设备:RK3568。 +2. 本示例支持API14版本SDK,SDK版本号(API Version 14 Release)。 +3. 本示例需要使用DevEco Studio 版本号(5.0.1Release)才可编译运行。 + +### 下载 + +如需单独下载本工程,执行如下命令: + +``` +git init +git config core.sparsecheckout true +echo code/DocsSample/ArkWeb/UseSameLayerRender > .git/info/sparse-checkout +git remote add origin https://gitee.com/openharmony/applications_app_samples.git +git pull origin master +``` \ No newline at end of file diff --git a/ArkWebKit/UseSameLayerRender/build-profile.json5 b/ArkWebKit/UseSameLayerRender/build-profile.json5 new file mode 100644 index 000000000..9c284a291 --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/build-profile.json5 @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ + "app": { + "signingConfigs": [], + "products": [ + { + "name": "default", + "signingConfig": "default", + "compatibleSdkVersion": "5.0.2(14)", + "targetSdkVersion": "5.0.2(14)", + "runtimeOS": "HarmonyOS", + } + ], + "buildModeSet": [ + { + "name": "debug", + }, + { + "name": "release" + } + ] + }, + "modules": [ + { + "name": "entry", + "srcPath": "./entry", + "targets": [ + { + "name": "default", + "applyToProducts": [ + "default" + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/ArkWebKit/UseSameLayerRender/code-linter.json5 b/ArkWebKit/UseSameLayerRender/code-linter.json5 new file mode 100644 index 000000000..28586467e --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/code-linter.json5 @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ + "files": [ + "**/*.ets" + ], + "ignore": [ + "**/src/ohosTest/**/*", + "**/src/test/**/*", + "**/src/mock/**/*", + "**/node_modules/**/*", + "**/oh_modules/**/*", + "**/build/**/*", + "**/.preview/**/*" + ], + "ruleSet": [ + "plugin:@performance/recommended", + "plugin:@typescript-eslint/recommended" + ], + "rules": { + } +} \ No newline at end of file diff --git a/ArkWebKit/UseSameLayerRender/entry/.gitignore b/ArkWebKit/UseSameLayerRender/entry/.gitignore new file mode 100644 index 000000000..e2713a277 --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/.gitignore @@ -0,0 +1,6 @@ +/node_modules +/oh_modules +/.preview +/build +/.cxx +/.test \ No newline at end of file diff --git a/ArkWebKit/UseSameLayerRender/entry/build-profile.json5 b/ArkWebKit/UseSameLayerRender/entry/build-profile.json5 new file mode 100644 index 000000000..e7569e305 --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/build-profile.json5 @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ + "apiType": "stageMode", + "buildOption": { + }, + "buildOptionSet": [ + { + "name": "release", + "arkOptions": { + "obfuscation": { + "ruleOptions": { + "enable": false, + "files": [ + "./obfuscation-rules.txt" + ] + } + } + } + }, + ], + "targets": [ + { + "name": "default" + }, + { + "name": "ohosTest", + } + ] +} \ No newline at end of file diff --git a/ArkWebKit/UseSameLayerRender/entry/hvigorfile.ts b/ArkWebKit/UseSameLayerRender/entry/hvigorfile.ts new file mode 100644 index 000000000..98d52319c --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/hvigorfile.ts @@ -0,0 +1,21 @@ +/* +* Copyright (c) 2025 Huawei Device Co., Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +import { hapTasks } from '@ohos/hvigor-ohos-plugin'; + +export default { + system: hapTasks, /* Built-in plugin of Hvigor. It cannot be modified. */ + plugins:[] /* Custom plugin to extend the functionality of Hvigor. */ +} diff --git a/ArkWebKit/UseSameLayerRender/entry/obfuscation-rules.txt b/ArkWebKit/UseSameLayerRender/entry/obfuscation-rules.txt new file mode 100644 index 000000000..272efb6ca --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/obfuscation-rules.txt @@ -0,0 +1,23 @@ +# Define project specific obfuscation rules here. +# You can include the obfuscation configuration files in the current module's build-profile.json5. +# +# For more details, see +# https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/source-obfuscation-V5 + +# Obfuscation options: +# -disable-obfuscation: disable all obfuscations +# -enable-property-obfuscation: obfuscate the property names +# -enable-toplevel-obfuscation: obfuscate the names in the global scope +# -compact: remove unnecessary blank spaces and all line feeds +# -remove-log: remove all console.* statements +# -print-namecache: print the name cache that contains the mapping from the old names to new names +# -apply-namecache: reuse the given cache file + +# Keep options: +# -keep-property-name: specifies property names that you want to keep +# -keep-global-name: specifies names that you want to keep in the global scope + +-enable-property-obfuscation +-enable-toplevel-obfuscation +-enable-filename-obfuscation +-enable-export-obfuscation \ No newline at end of file diff --git a/ArkWebKit/UseSameLayerRender/entry/oh-package.json5 b/ArkWebKit/UseSameLayerRender/entry/oh-package.json5 new file mode 100644 index 000000000..c9cb6c817 --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/oh-package.json5 @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ + "name": "entry", + "version": "1.0.0", + "description": "Please describe the basic information.", + "main": "", + "author": "", + "license": "", + "dependencies": {} +} + diff --git a/ArkWebKit/UseSameLayerRender/entry/src/main/ets/entryability/EntryAbility.ets b/ArkWebKit/UseSameLayerRender/entry/src/main/ets/entryability/EntryAbility.ets new file mode 100644 index 000000000..0f2f8b94a --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/src/main/ets/entryability/EntryAbility.ets @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { AbilityConstant, UIAbility, Want } from '@kit.AbilityKit'; +import { hilog } from '@kit.PerformanceAnalysisKit'; +import { window } from '@kit.ArkUI'; + +export default class EntryAbility extends UIAbility { + onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate'); + } + + onDestroy(): void { + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy'); + } + + onWindowStageCreate(windowStage: window.WindowStage): void { + // Main window is created, set main page for this ability + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); + + windowStage.loadContent('pages/Index', (err) => { + if (err.code) { + hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); + return; + } + hilog.info(0x0000, 'testTag', 'Succeeded in loading the content.'); + }); + } + + onWindowStageDestroy(): void { + // Main window is destroyed, release UI related resources + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); + } + + onForeground(): void { + // Ability has brought to foreground + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground'); + } + + onBackground(): void { + // Ability has back to background + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground'); + } +} diff --git a/ArkWebKit/UseSameLayerRender/entry/src/main/ets/entrybackupability/EntryBackupAbility.ets b/ArkWebKit/UseSameLayerRender/entry/src/main/ets/entrybackupability/EntryBackupAbility.ets new file mode 100644 index 000000000..b1e212947 --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/src/main/ets/entrybackupability/EntryBackupAbility.ets @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { hilog } from '@kit.PerformanceAnalysisKit'; +import { BackupExtensionAbility, BundleVersion } from '@kit.CoreFileKit'; + +export default class EntryBackupAbility extends BackupExtensionAbility { + async onBackup() { + hilog.info(0x0000, 'testTag', 'onBackup ok'); + } + + async onRestore(bundleVersion: BundleVersion) { + hilog.info(0x0000, 'testTag', 'onRestore ok %{public}s', JSON.stringify(bundleVersion)); + } +} \ No newline at end of file diff --git a/ArkWebKit/UseSameLayerRender/entry/src/main/ets/pages/DrawXCompAVPBtn.ets b/ArkWebKit/UseSameLayerRender/entry/src/main/ets/pages/DrawXCompAVPBtn.ets new file mode 100644 index 000000000..be8b12bc1 --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/src/main/ets/pages/DrawXCompAVPBtn.ets @@ -0,0 +1,252 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// [Start draw_x_component_av_player_button] +// 创建NodeController +import { webview } from '@kit.ArkWeb'; +import { UIContext, NodeController, BuilderNode, NodeRenderType, FrameNode } from '@kit.ArkUI'; +import { AVPlayerDemo } from './PlayerDemo'; + +@Observed +declare class Params { + public textOne : string + public textTwo : string + public width : number + public height : number +} + +declare class NodeControllerParams { + public surfaceId : string + public type : string + public renderType : NodeRenderType + public embedId : string + public width : number + public height : number +} + +// 用于控制和反馈对应的NodeContainer上的节点的行为,需要与NodeContainer一起使用。 +class MyNodeController extends NodeController { + private rootNode: BuilderNode<[Params]> | undefined | null; + private embedId_ : string = ''; + private surfaceId_ : string = ''; + private renderType_ :NodeRenderType = NodeRenderType.RENDER_TYPE_DISPLAY; + private width_ : number = 0; + private height_ : number = 0; + private type_ : string = ''; + private isDestroy_ : boolean = false; + + setRenderOption(params : NodeControllerParams) { + this.surfaceId_ = params.surfaceId; + this.renderType_ = params.renderType; + this.embedId_ = params.embedId; + this.width_ = params.width; + this.height_ = params.height; + this.type_ = params.type; + } + // 必须要重写的方法,用于构建节点数、返回节点数挂载在对应NodeContainer中。 + // 在对应NodeContainer创建的时候调用、或者通过rebuild方法调用刷新。 + makeNode(uiContext: UIContext): FrameNode | null{ + if (this.isDestroy_) { // rootNode为null。 + return null; + } + if (!this.rootNode) { // rootNode 为undefined时。 + this.rootNode = new BuilderNode(uiContext, { surfaceId: this.surfaceId_, type: this.renderType_}); + if (this.type_ === 'native/video') { + this.rootNode.build( + wrapBuilder(videoBuilder), {textOne: 'myButton', width : this.width_, height : this.height_}); + } else { + // other + } + } + // 返回FrameNode节点。 + return this.rootNode.getFrameNode(); + } + + updateNode(arg: Object): void { + this.rootNode?.update(arg); + } + getEmbedId() : string { + return this.embedId_; + } + + setDestroy(isDestroy : boolean) : void { + this.isDestroy_ = isDestroy; + if (this.isDestroy_) { + this.rootNode = null; + } + } + + postEvent(event: TouchEvent | undefined) : boolean { + return this.rootNode?.postTouchEvent(event) as boolean; + } + + postInputEvent(event: MouseEvent | undefined): boolean { + return this.rootNode?.postInputEvent(event) as boolean; + } +} + +@Component +struct VideoComponent { + @ObjectLink params: Params; + @State bkColor: Color = Color.Red; + mXComponentController: XComponentController = new XComponentController(); + @State playerChanged: boolean = false; + player?: AVPlayerDemo; + + build() { + Column() { + Button(this.params.textOne); + + XComponent({ id: 'video_player_id', type: XComponentType.SURFACE, controller: this.mXComponentController}) + .border({width: 1, color: Color.Red}) + .onLoad(() => { + this.player = new AVPlayerDemo(); + this.player.setSurfaceID(this.mXComponentController.getXComponentSurfaceId()); + this.playerChanged = !this.playerChanged; + this.player.avPlayerLiveDemo(); + }) + .width(300) + .height(200) + } + //自定义组件中的最外层容器组件宽高应该为同层标签的宽高。 + .width(this.params.width) + .height(this.params.height) + } +} +// @Builder中为动态组件的具体组件内容。 +@Builder +function videoBuilder(params: Params) { + VideoComponent({ params: params }) + .backgroundColor(Color.Gray) +} + +@Entry +@Component +struct WebIndex { + browserTabController: WebviewController = new webview.WebviewController() + private nodeControllerMap: Map = new Map(); + @State componentIdArr: Array = []; + @State widthMap: Map = new Map(); + @State heightMap: Map = new Map(); + @State positionMap: Map = new Map(); + @State edges: Edges = {}; + uiContext: UIContext = this.getUIContext(); + + aboutToAppear() { + // 配置web开启调试模式。 + webview.WebviewController.setWebDebuggingAccess(true); + } + + build(){ + Row() { + Column() { + Stack() { + ForEach(this.componentIdArr, (componentId: string) => { + NodeContainer(this.nodeControllerMap.get(componentId)) + .position(this.positionMap.get(componentId)) + .width(this.widthMap.get(componentId)) + .height(this.heightMap.get(componentId)) + }, (embedId: string) => embedId) + // Web组件加载本地test.html页面。 + Web({ src: $rawfile('test3.html'), controller: this.browserTabController }) + // 配置同层渲染开关开启。 + .enableNativeEmbedMode(true) + // 获取标签的生命周期变化数据。 + .onNativeEmbedLifecycleChange((embed) => { + console.info('NativeEmbed surfaceId' + embed.surfaceId); + // 1. 如果使用embed.info.id作为映射nodeController的key,请在h5页面显式指定id。 + const componentId = embed.info?.id?.toString() as string + if (embed.status == NativeEmbedStatus.CREATE) { + console.info('NativeEmbed create' + JSON.stringify(embed.info)); + // 创建节点控制器,设置参数并rebuild。 + let nodeController = new MyNodeController() + // 1. embed.info.width和embed.info.height单位是px格式,需要转换成ets侧的默认单位vp。 + nodeController.setRenderOption({ + surfaceId : embed.surfaceId as string, type : embed.info?.type as string, + renderType : NodeRenderType.RENDER_TYPE_TEXTURE, embedId : embed.embedId as string, + width : this.uiContext.px2vp(embed.info?.width), height : this.uiContext.px2vp(embed.info?.height)}); + this.edges = {left: `${embed.info?.position?.x as number}px`, top: `${embed.info?.position?.y as number}px`}; + nodeController.setDestroy(false); + // 根据web传入的embed的id属性作为key,将nodeController存入map。 + this.nodeControllerMap.set(componentId, nodeController); + this.widthMap.set(componentId, this.uiContext.px2vp(embed.info?.width)); + this.heightMap.set(componentId, this.uiContext.px2vp(embed.info?.height)); + this.positionMap.set(componentId, this.edges); + // 将web传入的embed的id属性存入@State状态数组变量中,用于动态创建nodeContainer节点容器,需要将push动作放在set之后。 + this.componentIdArr.push(componentId) + } else if (embed.status == NativeEmbedStatus.UPDATE) { + let nodeController = this.nodeControllerMap.get(componentId); + this.edges = {left: `${embed.info?.position?.x as number}px`, top: `${embed.info?.position?.y as number}px`} + this.positionMap.set(componentId, this.edges); + this.widthMap.set(componentId, this.uiContext.px2vp(embed.info?.width)); + this.heightMap.set(componentId, this.uiContext.px2vp(embed.info?.height)); + nodeController?.updateNode({ + textOne: 'update', width: this.uiContext.px2vp(embed.info?.width), height: this.uiContext.px2vp(embed.info?.height)} as ESObject); + } else if (embed.status == NativeEmbedStatus.DESTROY) { + let nodeController = this.nodeControllerMap.get(componentId); + nodeController?.setDestroy(true); + this.nodeControllerMap.delete(componentId); + this.positionMap.delete(componentId); + this.widthMap.delete(componentId); + this.heightMap.delete(componentId); + this.componentIdArr = this.componentIdArr.filter((value: string) => value != componentId); + } else { + console.info('NativeEmbed status' + embed.status); + } + })// 获取同层渲染组件触摸事件信息。 + .onNativeEmbedGestureEvent((touch) => { + console.info('NativeEmbed onNativeEmbedGestureEvent' + JSON.stringify(touch.touchEvent)); + this.componentIdArr.forEach((componentId: string) => { + let nodeController = this.nodeControllerMap.get(componentId) + // 将获取到的同层区域的事件发送到该区域embedId对应的nodeController上。 + if (nodeController?.getEmbedId() === touch.embedId) { + let ret = nodeController?.postEvent(touch.touchEvent) + if (ret) { + console.info('onNativeEmbedGestureEvent success ' + componentId); + } else { + console.info('onNativeEmbedGestureEvent fail ' + componentId); + } + if (touch.result) { + // 通知Web组件手势事件消费结果。 + touch.result.setGestureEventResult(ret); + } + } + }) + }) + .onNativeEmbedMouseEvent((mouse) => { + console.info('NativeEmbed onNativeEmbedMouseEvent' + JSON.stringify(mouse.mouseEvent)); + this.componentIdArr.forEach((componentId: string) => { + let nodeController = this.nodeControllerMap.get(componentId); + // 将获取到的同层区域的事件发送到该区域embedId对应的nodeController上。 + if(nodeController?.getEmbedId() == mouse.embedId) { + let ret = nodeController?.postInputEvent(mouse.mouseEvent) + if(ret) { + console.info('onNativeEmbedMouseEvent success ' + componentId); + } else { + console.info('onNativeEmbedMouseEvent fail ' + componentId); + } + if(mouse.result) { + // 通知Web组件鼠标事件消费结果。 + mouse.result.setMouseEventResult(ret); + } + } + }) + }) + } + } + } + } +} +// [End draw_x_component_av_player_button] diff --git a/ArkWebKit/UseSameLayerRender/entry/src/main/ets/pages/Index.ets b/ArkWebKit/UseSameLayerRender/entry/src/main/ets/pages/Index.ets new file mode 100644 index 000000000..7ffa76c89 --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/src/main/ets/pages/Index.ets @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { router } from '@kit.ArkUI'; + +@Entry +@Component +struct Index { + build() { + Column({ space: 10 }) { + Button('RenderTxtBoxSameLayer_one') + .onClick(() => { + router.pushUrl({ url: 'pages/RenderTxtBoxSameLayer_one' }); + }) + Button('RenderTxtBoxSameLayer_two') + .onClick(() => { + router.pushUrl({ url: 'pages/RenderTxtBoxSameLayer_two' }); + }) + Button('DrawXCompAVPBtn') + .onClick(() => { + router.pushUrl({ url: 'pages/DrawXCompAVPBtn' }); + }) + Button('NativeEmbedOverlay') + .onClick(() => { + router.pushUrl({ url: 'pages/NativeEmbedOverlay' }); + }) + }.height('100%') + .width('100%') + } +} \ No newline at end of file diff --git a/ArkWebKit/UseSameLayerRender/entry/src/main/ets/pages/NativeEmbedOverlay.ets b/ArkWebKit/UseSameLayerRender/entry/src/main/ets/pages/NativeEmbedOverlay.ets new file mode 100644 index 000000000..9978a6fe1 --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/src/main/ets/pages/NativeEmbedOverlay.ets @@ -0,0 +1,264 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// [Start native_embed_overlay] +import { webview } from '@kit.ArkWeb'; +import { UIContext } from '@kit.ArkUI'; +import { NodeController, BuilderNode, NodeRenderType, FrameNode } from '@kit.ArkUI'; + +@Observed +declare class Params{ + public elementId: string + public textOne: string + public textTwo: string + public width: number + public height: number +} + +declare class NodeControllerParams { + public surfaceId: string + public type: string + public renderType: NodeRenderType + public embedId: string + public width: number + public height: number +} + +// 用于控制和反馈对应的NodeContainer上的节点的行为,需要与NodeContainer一起使用。 +class MyNodeController extends NodeController { + private rootNode: BuilderNode<[Params]> | undefined | null; + private embedId_: string = ''; + private surfaceId_: string = ''; + private renderType_: NodeRenderType = NodeRenderType.RENDER_TYPE_DISPLAY; + private width_: number = 0; + private height_: number = 0; + private type_: string = ''; + private isDestroy_: boolean = false; + + setRenderOption(params: NodeControllerParams) { + this.surfaceId_ = params.surfaceId; + this.renderType_ = params.renderType; + this.embedId_ = params.embedId; + this.width_ = params.width; + this.height_ = params.height; + this.type_ = params.type; + } + + // 必须要重写的方法,用于构建节点数、返回节点数挂载在对应NodeContainer中。 + // 在对应NodeContainer创建的时候调用、或者通过rebuild方法调用刷新。 + makeNode(uiContext: UIContext): FrameNode | null { + if (this.isDestroy_) { // rootNode为null。 + return null; + } + if (!this.rootNode) {// rootNode 为undefined时。 + this.rootNode = new BuilderNode(uiContext, { surfaceId: this.surfaceId_, type: this.renderType_ }); + if (this.type_ == 'native/view1') { + this.rootNode.build( + wrapBuilder(textInputBuilder1), { textOne: 'myTextInput', width: this.width_, height: this.height_ }); + return this.rootNode.getFrameNode(); + } else if (this.type_ == 'native/view2') { + this.rootNode.build( + wrapBuilder(textInputBuilder2), { textOne: 'myTextInput', width: this.width_, height: this.height_ }); + return this.rootNode.getFrameNode(); + } else{ + return null; + } + } + // 返回FrameNode节点。 + return this.rootNode.getFrameNode(); + } + + updateNode(arg: Object): void { + this.rootNode?.update(arg); + } + + getEmbedId(): string { + return this.embedId_; + } + + setDestroy(isDestroy: boolean): void { + this.isDestroy_ = isDestroy; + if (this.isDestroy_) { + this.rootNode = null; + } + } + + postEvent(event: TouchEvent | undefined): boolean { + return this.rootNode?.postTouchEvent(event) as boolean + } +} + +@Component +struct TextInputComponent1 { + @Prop params: Params; + @State bkColor: Color = Color.White; + + build() { + Column() { + Text('display:overlay-infinity') + TextInput({text: '', placeholder: 'please input your word...'}) + .placeholderColor(Color.Gray) + .id(this.params?.elementId) + .placeholderFont({size: 13, weight: 400}) + .caretColor(Color.Gray) + .fontSize(14) + .fontColor(Color.Black) + } + // 自定义组件中的最外层容器组件宽高应该为同层标签的宽高。 + .width(this.params.width) + .height(this.params.height) + } +} + +// @Builder中为动态组件的具体组件内容。 +@Builder +function textInputBuilder1(params:Params) { + TextInputComponent1({params: params}) + .width(params.width) + .height(params.height) + .backgroundColor(Color.Pink) +} + +@Component +struct TextInputComponent2 { + @Prop params: Params; + @State bkColor: Color = Color.White; + + build() { + Column() { + Text('display:overlay') + TextInput({text: '', placeholder: 'please input your word...'}) + .placeholderColor(Color.Gray) + .id(this.params?.elementId) + .placeholderFont({size: 13, weight: 400}) + .caretColor(Color.Gray) + .fontSize(14) + .fontColor(Color.Black) + } + // 自定义组件中的最外层容器组件宽高应该为同层标签的宽高。 + .width(this.params.width) + .height(this.params.height) + } +} + + +// @Builder中为动态组件的具体组件内容。 +@Builder +function textInputBuilder2(params:Params) { + TextInputComponent2({params: params}) + .width(params.width) + .height(params.height) + .backgroundColor(Color.Gray) +} + +@Entry +@Component +struct Page{ + browserTabController: webview.WebviewController = new webview.WebviewController(); + private nodeControllerMap: Map = new Map(); + @State componentIdArr: Array = []; + @State widthMap: Map = new Map(); + @State heightMap: Map = new Map(); + @State positionMap: Map = new Map(); + @State edges: Edges = {}; + uiContext: UIContext = this.getUIContext(); + + build() { + Row() { + Column() { + Stack() { + ForEach(this.componentIdArr, (componentId: string) => { + NodeContainer(this.nodeControllerMap.get(componentId)) + .position(this.positionMap.get(componentId)) + .width(this.widthMap.get(componentId)) + .height(this.heightMap.get(componentId)) + }, (embedId: string) => embedId) + // Web组件加载本地test4.html页面。 + Web({src: $rawfile('test4.html'), controller: this.browserTabController}) + // 配置同层渲染开关开启。 + .enableNativeEmbedMode(true) + // 获取标签的生命周期变化数据。 + .onNativeEmbedLifecycleChange((embed) => { + console.info('NativeEmbed surfaceId' + embed.surfaceId); + // 如果使用embed.info.id作为映射nodeController的key,请在h5页面显式指定id。 + const componentId = embed.info?.id?.toString() as string + if (embed.status == NativeEmbedStatus.CREATE) { + console.info('NativeEmbed create' + JSON.stringify(embed.info)); + // 创建节点控制器、设置参数并rebuild。 + let nodeController = new MyNodeController() + // embed.info.width和embed.info.height单位是px格式,需要转换成ets侧的默认单位vp。 + nodeController.setRenderOption({surfaceId : embed.surfaceId as string, + type : embed.info?.type as string, + renderType : NodeRenderType.RENDER_TYPE_TEXTURE, + embedId : embed.embedId as string, + width : this.uiContext.px2vp(embed.info?.width), + height : this.uiContext.px2vp(embed.info?.height)}) + this.edges = {left: `${embed.info?.position?.x as number}px`, top: `${embed.info?.position?.y as number}px`} + nodeController.setDestroy(false); + // 根据web传入的embed的id属性作为key,将nodeController存入Map。 + this.nodeControllerMap.set(componentId, nodeController); + this.widthMap.set(componentId, this.uiContext.px2vp(embed.info?.width)); + this.heightMap.set(componentId, this.uiContext.px2vp(embed.info?.height)); + this.positionMap.set(componentId, this.edges); + // 将web传入的embed的id属性存入@State状态数组变量中,用于动态创建nodeContainer节点容器,需要将push动作放在set之后。 + this.componentIdArr.push(componentId) + } else if (embed.status == NativeEmbedStatus.UPDATE) { + let nodeController = this.nodeControllerMap.get(componentId); + console.info('NativeEmbed update' + JSON.stringify(embed)); + this.edges = {left: `${embed.info?.position?.x as number}px`, top: `${embed.info?.position?.y as number}px`} + this.positionMap.set(componentId, this.edges); + this.widthMap.set(componentId, this.uiContext.px2vp(embed.info?.width)); + this.heightMap.set(componentId, this.uiContext.px2vp(embed.info?.height)); + nodeController?.updateNode({textOne: 'update', width: this.uiContext.px2vp(embed.info?.width), height: this.uiContext.px2vp(embed.info?.height)} as ESObject) + } else if (embed.status == NativeEmbedStatus.DESTROY) { + console.info('NativeEmbed destroy' + JSON.stringify(embed)); + let nodeController = this.nodeControllerMap.get(componentId); + nodeController?.setDestroy(true); + this.nodeControllerMap.delete(componentId); + this.positionMap.delete(componentId); + this.widthMap.delete(componentId); + this.heightMap.delete(componentId); + this.componentIdArr = this.componentIdArr.filter((value: string) => value != componentId); + } else { + console.info('NativeEmbed status' + embed.status); + } + })// 获取同层渲染组件触摸事件信息。 + .onNativeEmbedGestureEvent((touch) => { + console.info('NativeEmbed onNativeEmbedGestureEvent' + JSON.stringify(touch.touchEvent)); + this.componentIdArr.forEach((componentId: string) => { + let nodeController = this.nodeControllerMap.get(componentId); + // 将获取到的同层区域的事件发送到该区域embedId对应的nodeController上。 + if (nodeController?.getEmbedId() == touch.embedId) { + let ret = nodeController?.postEvent(touch.touchEvent) + if (ret) { + console.info('onNativeEmbedGestureEvent success ' + componentId); + } else { + console.info('onNativeEmbedGestureEvent fail ' + componentId); + } + if (touch.result) { + // 通知Web组件手势事件消费结果。 + touch.result.setGestureEventResult(ret); + } + } + }) + }) + .border({width: 2, color: Color.Gray}) + .height('50%') + } + } + } + } +} +// [End native_embed_overlay] \ No newline at end of file diff --git a/ArkWebKit/UseSameLayerRender/entry/src/main/ets/pages/PlayerDemo.ets b/ArkWebKit/UseSameLayerRender/entry/src/main/ets/pages/PlayerDemo.ets new file mode 100644 index 000000000..ea11cf135 --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/src/main/ets/pages/PlayerDemo.ets @@ -0,0 +1,103 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// [Start mp4_player_example] +import { media } from '@kit.MediaKit'; +import { BusinessError } from '@ohos.base'; + +export class AVPlayerDemo { + private count: number = 0; + private surfaceId: string = ''; // surfaceId用于播放画面显示,具体的值需要通过Xcomponent接口获取,相关文档链接见上面Xcomponent创建方法。 + private isSeek: boolean = true; // 用于区分模式是否支持seek操作。 + + setSurfaceID(id: string){ + console.log('setSurfaceID : ' + id); + this.surfaceId = id; + } + // 注册avplayer回调函数。 + setAVPlayerCallback(avPlayer: media.AVPlayer) { + // seek操作结果回调函数。 + avPlayer.on('seekDone', (seekDoneTime: number) => { + console.info(`AVPlayer seek succeeded, seek time is ${seekDoneTime}`); + }) + // error回调监听函数,当avplayer在操作过程中出现错误时,调用reset接口触发重置流程。 + avPlayer.on('error', (err: BusinessError) => { + console.error(`Invoke avPlayer failed, code is ${err.code}, message is ${err.message}`); + avPlayer.reset(); + }) + // 状态机变化回调函数。 + avPlayer.on('stateChange', async (state: string, reason: media.StateChangeReason) => { + switch (state) { + case 'idle': // 成功调用reset接口后触发该状态机上报。 + console.info('AVPlayer state idle called.'); + avPlayer.release(); // 调用release接口销毁实例对象。 + break; + case 'initialized': // avplayer 设置播放源后触发该状态上报。 + console.info('AVPlayer state initialized called.'); + avPlayer.surfaceId = this.surfaceId; // 设置显示画面,当播放的资源为纯音频时无需设置。 + avPlayer.prepare(); + break; + case 'prepared': // prepared调用成功后上报该状态机。 + console.info('AVPlayer state prepared called.'); + avPlayer.play(); // 调用播放接口开始播放。 + break; + case 'playing': // play成功调用后触发该状态机上报。 + console.info('AVPlayer state playing called.'); + if(this.count !== 0) { + if (this.isSeek) { + console.info('AVPlayer start to seek.'); + avPlayer.seek(avPlayer.duration); // seek到视频末尾。 + } else { + // 当播放模式不支持seek操作时继续播放到结尾。 + console.info('AVPlayer wait to play end.'); + } + } else { + avPlayer.pause(); // 调用暂停接口暂停播放。 + } + this.count++; + break; + case 'paused': // pause成功调用后触发该状态机上报。 + console.info('AVPlayer state paused called.'); + avPlayer.play(); // 再次播放接口开始播放。 + break; + case 'completed': //播放接口后触发该状态机上报。 + console.info('AVPlayer state completed called.'); + avPlayer.stop(); // 调用播放接口。 + break; + case 'stopped': // stop接口后触发该状态机上报。 + console.info('AVPlayer state stopped called.'); + avPlayer.reset(); // 调用reset接口初始化avplayer状态。 + break; + case 'released': //播放接口后触发该状态机上报。 + console.info('AVPlayer state released called.'); + break; + default: + break; + } + }) + } + + // 通过url设置网络地址来实现播放直播码流。 + async avPlayerLiveDemo(){ + // 创建avPlayer实例对象。 + let avPlayer: media.AVPlayer = await media.createAVPlayer(); + // 创建状态机变化回调函数。 + this.setAVPlayerCallback(avPlayer); + this.isSeek = false; // 不支持seek操作。 + // 使用时需要自行替换视频链接。 + avPlayer.url = 'xxx/demo.mp4'; + } +} +// [End mp4_player_example] diff --git a/ArkWebKit/UseSameLayerRender/entry/src/main/ets/pages/RenderTxtBoxSameLayer_one.ets b/ArkWebKit/UseSameLayerRender/entry/src/main/ets/pages/RenderTxtBoxSameLayer_one.ets new file mode 100644 index 000000000..2b0681250 --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/src/main/ets/pages/RenderTxtBoxSameLayer_one.ets @@ -0,0 +1,246 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { webview } from '@kit.ArkWeb'; +import { UIContext } from '@kit.ArkUI'; +import { NodeController, BuilderNode, NodeRenderType, FrameNode } from '@kit.ArkUI'; + +@Observed +declare class Params{ + public elementId: string + public textOne: string + public textTwo: string + public width: number + public height: number +} + +declare class NodeControllerParams { + public surfaceId: string + public type: string + public renderType: NodeRenderType + public embedId: string + public width: number + public height: number +} + +// 用于控制和反馈对应的NodeContainer上的节点的行为,需要与NodeContainer一起使用。 +class MyNodeController extends NodeController { + private rootNode: BuilderNode<[Params]> | undefined | null; + private embedId_: string = ''; + private surfaceId_: string = ''; + private renderType_: NodeRenderType = NodeRenderType.RENDER_TYPE_DISPLAY; + private width_: number = 0; + private height_: number = 0; + private type_: string = ''; + private isDestroy_: boolean = false; + + setRenderOption(params: NodeControllerParams) { + this.surfaceId_ = params.surfaceId; + this.renderType_ = params.renderType; + this.embedId_ = params.embedId; + this.width_ = params.width; + this.height_ = params.height; + this.type_ = params.type; + } + + // 必须要重写的方法,用于构建节点数、返回节点数挂载在对应NodeContainer中。 + // 在对应NodeContainer创建的时候调用、或者通过rebuild方法调用刷新。 + makeNode(uiContext: UIContext): FrameNode | null { + if (this.isDestroy_) { // rootNode为null。 + return null; + } + if (!this.rootNode) {// rootNode 为undefined时。 + this.rootNode = new BuilderNode(uiContext, { surfaceId: this.surfaceId_, type: this.renderType_ }); + if(this.rootNode) { + this.rootNode.build( + wrapBuilder(textInputBuilder), { textOne: 'myTextInput', width: this.width_, height: this.height_ }); + return this.rootNode.getFrameNode(); + }else{ + return null; + } + } + // 返回FrameNode节点。 + return this.rootNode.getFrameNode(); + } + + updateNode(arg: Object): void { + this.rootNode?.update(arg); + } + + getEmbedId(): string { + return this.embedId_; + } + + setDestroy(isDestroy: boolean): void { + this.isDestroy_ = isDestroy; + if (this.isDestroy_) { + this.rootNode = null; + } + } + + postEvent(event: TouchEvent | undefined): boolean { + return this.rootNode?.postTouchEvent(event) as boolean; + } + + postInputEvent(event: MouseEvent | undefined): boolean { + return this.rootNode?.postInputEvent(event) as boolean; + } +} + +@Component +struct TextInputComponent { + @Prop params: Params; + @State bkColor: Color = Color.White; + + build() { + Column() { + TextInput({text: '', placeholder: 'please input your word...'}) + .placeholderColor(Color.Gray) + .id(this.params?.elementId) + .placeholderFont({size: 13, weight: 400}) + .caretColor(Color.Gray) + .fontSize(14) + .fontColor(Color.Black) + } + //自定义组件中的最外层容器组件宽高应该为同层标签的宽高。 + .width(this.params.width) + .height(this.params.height) + } +} + +// @Builder中为动态组件的具体组件内容。 +@Builder +function textInputBuilder(params:Params) { + TextInputComponent({params: params}) + .width(params.width) + .height(params.height) + .backgroundColor(Color.White) +} + +@Entry +@Component +struct Page{ + browserTabController: WebviewController = new webview.WebviewController(); + private nodeControllerMap: Map = new Map(); + @State componentIdArr: Array = []; + @State widthMap: Map = new Map(); + @State heightMap: Map = new Map(); + @State positionMap: Map = new Map(); + @State edges: Edges = {}; + uiContext: UIContext = this.getUIContext(); + + build() { + Row() { + Column() { + Stack() { + ForEach(this.componentIdArr, (componentId: string) => { + NodeContainer(this.nodeControllerMap.get(componentId)) + .position(this.positionMap.get(componentId)) + .width(this.widthMap.get(componentId)) + .height(this.heightMap.get(componentId)) + }, (embedId: string) => embedId) + // Web组件加载本地test1.html页面。 + Web({src: $rawfile('test1.html'), controller: this.browserTabController}) + // 配置同层渲染开关开启。 + .enableNativeEmbedMode(true) + // 获取标签的生命周期变化数据。 + .onNativeEmbedLifecycleChange((embed) => { + console.info('NativeEmbed surfaceId' + embed.surfaceId); + // 如果使用embed.info.id作为映射nodeController的key,请在h5页面显式指定id。 + const componentId = embed.info?.id?.toString() as string; + if (embed.status == NativeEmbedStatus.CREATE) { + console.info('NativeEmbed create' + JSON.stringify(embed.info)); + // 创建节点控制器、设置参数并rebuild。 + let nodeController = new MyNodeController(); + // embed.info.width和embed.info.height单位是px格式,需要转换成ets侧的默认单位vp。 + nodeController.setRenderOption({surfaceId : embed.surfaceId as string, + type : embed.info?.type as string, + renderType : NodeRenderType.RENDER_TYPE_TEXTURE, + embedId : embed.embedId as string, + width : this.uiContext.px2vp(embed.info?.width), + height : this.uiContext.px2vp(embed.info?.height)}); + this.edges = {left: `${embed.info?.position?.x as number}px`, top: `${embed.info?.position?.y as number}px`}; + nodeController.setDestroy(false); + //根据web传入的embed的id属性作为key,将nodeController存入Map。 + this.nodeControllerMap.set(componentId, nodeController); + this.widthMap.set(componentId, this.uiContext.px2vp(embed.info?.width)); + this.heightMap.set(componentId, this.uiContext.px2vp(embed.info?.height)); + this.positionMap.set(componentId, this.edges); + // 将web传入的embed的id属性存入@State状态数组变量中,用于动态创建nodeContainer节点容器,需要将push动作放在set之后。 + this.componentIdArr.push(componentId); + } else if (embed.status == NativeEmbedStatus.UPDATE) { + let nodeController = this.nodeControllerMap.get(componentId); + console.info('NativeEmbed update' + JSON.stringify(embed)); + this.edges = {left: `${embed.info?.position?.x as number}px`, top: `${embed.info?.position?.y as number}px`} + this.positionMap.set(componentId, this.edges); + this.widthMap.set(componentId, this.uiContext.px2vp(embed.info?.width)); + this.heightMap.set(componentId, this.uiContext.px2vp(embed.info?.height)); + nodeController?.updateNode({textOne: 'update', width: this.uiContext.px2vp(embed.info?.width), height: this.uiContext.px2vp(embed.info?.height)} as ESObject) + } else if (embed.status == NativeEmbedStatus.DESTROY) { + console.info('NativeEmbed destroy' + JSON.stringify(embed)); + let nodeController = this.nodeControllerMap.get(componentId); + nodeController?.setDestroy(true); + this.nodeControllerMap.delete(componentId); + this.positionMap.delete(componentId); + this.widthMap.delete(componentId); + this.heightMap.delete(componentId); + this.componentIdArr = this.componentIdArr.filter((value: string) => value != componentId); + } else { + console.info('NativeEmbed status' + embed.status); + } + })// 获取同层渲染组件触摸事件信息。 + .onNativeEmbedGestureEvent((touch) => { + console.info('NativeEmbed onNativeEmbedGestureEvent' + JSON.stringify(touch.touchEvent)); + this.componentIdArr.forEach((componentId: string) => { + let nodeController = this.nodeControllerMap.get(componentId); + // 将获取到的同层区域的事件发送到该区域embedId对应的nodeController上。 + if (nodeController?.getEmbedId() == touch.embedId) { + let ret = nodeController?.postEvent(touch.touchEvent); + if (ret) { + console.info('onNativeEmbedGestureEvent success ' + componentId); + } else { + console.info('onNativeEmbedGestureEvent fail ' + componentId); + } + if (touch.result) { + // 通知Web组件手势事件消费结果。 + touch.result.setGestureEventResult(ret); + } + } + }) + }) + .onNativeEmbedMouseEvent((mouse) => { + console.info('NativeEmbed onNativeEmbedMouseEvent' + JSON.stringify(mouse.mouseEvent)); + this.componentIdArr.forEach((componentId: string) => { + let nodeController = this.nodeControllerMap.get(componentId); + // 将获取到的同层区域的事件发送到该区域embedId对应的nodeController上。 + if (nodeController?.getEmbedId() == mouse.embedId) { + let ret = nodeController?.postInputEvent(mouse.mouseEvent) + if (ret) { + console.info('onNativeEmbedMouseEvent success ' + componentId); + } else { + console.info('onNativeEmbedMouseEvent fail ' + componentId); + } + if (mouse.result) { + // 通知Web组件鼠标事件消费结果。 + mouse.result.setMouseEventResult(ret); + } + } + }) + }) + } + } + } + } +} \ No newline at end of file diff --git a/ArkWebKit/UseSameLayerRender/entry/src/main/ets/pages/RenderTxtBoxSameLayer_two.ets b/ArkWebKit/UseSameLayerRender/entry/src/main/ets/pages/RenderTxtBoxSameLayer_two.ets new file mode 100644 index 000000000..0b307990a --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/src/main/ets/pages/RenderTxtBoxSameLayer_two.ets @@ -0,0 +1,272 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// [Start set_web_peer_render] +import { webview } from '@kit.ArkWeb'; +import { UIContext } from '@kit.ArkUI'; +import { NodeController, BuilderNode, NodeRenderType, FrameNode } from '@kit.ArkUI'; + +@Observed +declare class Params{ + public elementId: string + public textOne: string + public textTwo: string + public width: number + public height: number +} + +declare class NodeControllerParams { + public surfaceId: string + public type: string + public renderType: NodeRenderType + public embedId: string + public width: number + public height: number +} + +// 用于控制和反馈对应的NodeContainer上的节点的行为,需要与NodeContainer一起使用。 +// [Start control_reflect_node_container] +class MyNodeController extends NodeController { + private rootNode: BuilderNode<[Params]> | undefined | null; + private embedId_: string = ''; + private surfaceId_: string = ''; + private renderType_: NodeRenderType = NodeRenderType.RENDER_TYPE_DISPLAY; + private width_: number = 0; + private height_: number = 0; + private type_: string = ''; + private isDestroy_: boolean = false; + + setRenderOption(params: NodeControllerParams) { + this.surfaceId_ = params.surfaceId; + this.renderType_ = params.renderType; + this.embedId_ = params.embedId; + this.width_ = params.width; + this.height_ = params.height; + this.type_ = params.type; + } + + // 必须要重写的方法,用于构建节点数、返回节点数挂载在对应NodeContainer中。 + // 在对应NodeContainer创建的时候调用、或者通过rebuild方法调用刷新。 + makeNode(uiContext: UIContext): FrameNode | null { + if (this.isDestroy_) { // rootNode为null。 + return null; + } + if (!this.rootNode) { // rootNode 为undefined时。 + this.rootNode = new BuilderNode(uiContext, { surfaceId: this.surfaceId_, type: this.renderType_ }); + if (this.rootNode) { + this.rootNode.build( + wrapBuilder(textInputBuilder), { textOne: 'myTextInput', width: this.width_, height: this.height_ }); + return this.rootNode.getFrameNode(); + }else{ + return null; + } + } + // 返回FrameNode节点。 + return this.rootNode.getFrameNode(); + } + + updateNode(arg: Object): void { + this.rootNode?.update(arg); + } + + getEmbedId(): string { + return this.embedId_; + } + + setDestroy(isDestroy: boolean): void { + this.isDestroy_ = isDestroy; + if (this.isDestroy_) { + this.rootNode = null; + } + } + + postEvent(event: TouchEvent | undefined): boolean { + return this.rootNode?.postTouchEvent(event) as boolean; + } + + postInputEvent(event: MouseEvent | undefined): boolean { + return this.rootNode?.postInputEvent(event) as boolean; + } +} +// [End control_reflect_node_container] + +// [Start create_custom_module] +@Component +struct TextInputComponent { + @Prop params: Params; + @State bkColor: Color = Color.White; + + build() { + Column() { + TextInput({text: '', placeholder: 'please input your word...'}) + .placeholderColor(Color.Gray) + .id(this.params?.elementId) + .placeholderFont({size: 13, weight: 400}) + .caretColor(Color.Gray) + .fontSize(14) + .fontColor(Color.Black) + } + //自定义组件中的最外层容器组件宽高应该为同层标签的宽高。 + .width(this.params.width) + .height(this.params.height) + } +} + +// @Builder中为动态组件的具体组件内容。 +@Builder +function textInputBuilder(params:Params) { + TextInputComponent({params: params}) + .width(params.width) + .height(params.height) + .backgroundColor(Color.White) +} +// [End create_custom_module] + +@Entry +@Component +struct Page{ + browserTabController: WebviewController = new webview.WebviewController() + private nodeControllerMap: Map = new Map(); + @State componentIdArr: Array = []; + @State widthMap: Map = new Map(); + @State heightMap: Map = new Map(); + @State positionMap: Map = new Map(); + @State edges: Edges = {}; + uiContext: UIContext = this.getUIContext(); + + // [Start listen_peer_renders_life_cycle] + // [Start peer_renders_gesture_event] + // [Start peer_renders_mouse_event] + build() { + Row() { + Column() { + Stack() { + ForEach(this.componentIdArr, (componentId: string) => { + NodeContainer(this.nodeControllerMap.get(componentId)) + .position(this.positionMap.get(componentId)) + .width(this.widthMap.get(componentId)) + .height(this.heightMap.get(componentId)) + }, (embedId: string) => embedId) + // Web组件加载本地test2.html页面。 + // [Start register_object_label] + Web({src: $rawfile('test2.html'), controller: this.browserTabController}) + // 注册同层标签为'object',类型为'test'前缀 + .registerNativeEmbedRule('object', 'test') + // [End register_object_label] + // 配置同层渲染开关开启。 + .enableNativeEmbedMode(true) + // 获取embed标签的生命周期变化数据。 + .onNativeEmbedLifecycleChange((embed) => { + // [StartExclude peer_renders_gesture_event] + console.info('NativeEmbed surfaceId' + embed.surfaceId); + // 如果使用embed.info.id作为映射nodeController的key,请在h5页面显式指定id。 + const componentId = embed.info?.id?.toString() as string; + if (embed.status == NativeEmbedStatus.CREATE) { + console.info('NativeEmbed create' + JSON.stringify(embed.info)); + // 创建节点控制器、设置参数并rebuild。 + let nodeController = new MyNodeController(); + // embed.info.width和embed.info.height单位是px格式,需要转换成ets侧的默认单位vp。 + nodeController.setRenderOption({surfaceId : embed.surfaceId as string, + type : embed.info?.type as string, + renderType : NodeRenderType.RENDER_TYPE_TEXTURE, + embedId : embed.embedId as string, + width : this.uiContext.px2vp(embed.info?.width), + height : this.uiContext.px2vp(embed.info?.height)}) + this.edges = { + left: `${embed.info?.position?.x as number}px`, + top: `${embed.info?.position?.y as number}px` + }; + nodeController.setDestroy(false); + //根据web传入的embed的id属性作为key,将nodeController存入Map。 + this.nodeControllerMap.set(componentId, nodeController); + this.widthMap.set(componentId, this.uiContext.px2vp(embed.info?.width)); + this.heightMap.set(componentId, this.uiContext.px2vp(embed.info?.height)); + this.positionMap.set(componentId, this.edges); + // 将web传入的embed的id属性存入@State状态数组变量中,用于动态创建nodeContainer节点容器,需要将push动作放在set之后。 + this.componentIdArr.push(componentId); + } else if (embed.status == NativeEmbedStatus.UPDATE) { + let nodeController = this.nodeControllerMap.get(componentId); + console.info('NativeEmbed update' + JSON.stringify(embed)); + this.edges = {left: `${embed.info?.position?.x as number}px`, top: `${embed.info?.position?.y as number}px`} + this.positionMap.set(componentId, this.edges); + this.widthMap.set(componentId, this.uiContext.px2vp(embed.info?.width)); + this.heightMap.set(componentId, this.uiContext.px2vp(embed.info?.height)); + nodeController?.updateNode({textOne: 'update', width: this.uiContext.px2vp(embed.info?.width), height: this.uiContext.px2vp(embed.info?.height)} as ESObject) + } else if (embed.status == NativeEmbedStatus.DESTROY) { + console.info('NativeEmbed destroy' + JSON.stringify(embed)); + let nodeController = this.nodeControllerMap.get(componentId); + nodeController?.setDestroy(true); + this.nodeControllerMap.delete(componentId); + this.positionMap.delete(componentId); + this.widthMap.delete(componentId); + this.heightMap.delete(componentId); + this.componentIdArr = this.componentIdArr.filter((value: string) => value != componentId); + } else { + console.info('NativeEmbed status' + embed.status); + } + // [EndExclude peer_renders_gesture_event] + }) + // [StartExclude listen_peer_renders_life_cycle] + // 获取同层渲染组件触摸事件信息。 + .onNativeEmbedGestureEvent((touch) => { + console.info('NativeEmbed onNativeEmbedGestureEvent' + JSON.stringify(touch.touchEvent)); + this.componentIdArr.forEach((componentId: string) => { + let nodeController = this.nodeControllerMap.get(componentId); + // 将获取到的同层区域的事件发送到该区域embedId对应的nodeController上。 + if (nodeController?.getEmbedId() == touch.embedId) { + let ret = nodeController?.postEvent(touch.touchEvent); + if (ret) { + console.info('onNativeEmbedGestureEvent success ' + componentId); + } else { + console.info('onNativeEmbedGestureEvent fail ' + componentId); + } + if (touch.result) { + // 通知Web组件手势事件消费结果。 + touch.result.setGestureEventResult(ret); + } + } + }) + }) + // [EndExclude listen_peer_renders_life_cycle] + // [StartExclude listen_peer_renders_mouse_event] + .onNativeEmbedMouseEvent((mouse) => { + console.info('NativeEmbed onNativeEmbedMouseEvent' + JSON.stringify(mouse.mouseEvent)); + this.componentIdArr.forEach((componentId: string) => { + let nodeController = this.nodeControllerMap.get(componentId); + // 将获取到的同层区域的事件发送到该区域embedId对应的nodeController上。 + if (nodeController?.getEmbedId() == mouse.embedId) { + let ret = nodeController?.postInputEvent(mouse.mouseEvent); + if (ret) { + console.info('onNativeEmbedMouseEvent success ' + componentId); + } else { + console.info('onNativeEmbedMouseEvent fail ' + componentId); + } + if (mouse.result) { + // 通知Web组件鼠标事件消费结果。 + mouse.result.setMouseEventResult(ret); + } + } + }) + }) + // [EndExclude listen_peer_renders_mouse_event] + } + } + } + } + // [End peer_renders_mouse_event] + // [End peer_renders_gesture_event] + // [End listen_peer_renders_life_cycle] +} +// [End set_web_peer_render] diff --git a/ArkWebKit/UseSameLayerRender/entry/src/main/module.json5 b/ArkWebKit/UseSameLayerRender/entry/src/main/module.json5 new file mode 100644 index 000000000..6596c6e68 --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/src/main/module.json5 @@ -0,0 +1,74 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ + "module": { + "name": "entry", + "type": "entry", + "description": "$string:module_desc", + "mainElement": "EntryAbility", + "deviceTypes": [ + "default", + "tablet" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:main_pages", + "abilities": [ + { + "name": "EntryAbility", + "srcEntry": "./ets/entryability/EntryAbility.ets", + "description": "$string:EntryAbility_desc", + "icon": "$media:layered_image", + "label": "$string:EntryAbility_label", + "startWindowIcon": "$media:startIcon", + "startWindowBackground": "$color:start_window_background", + "exported": true, + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ] + } + ], + "extensionAbilities": [ + { + "name": "EntryBackupAbility", + "srcEntry": "./ets/entrybackupability/EntryBackupAbility.ets", + "type": "backup", + "exported": false, + "metadata": [ + { + "name": "ohos.extension.backup", + "resource": "$profile:backup_config" + } + ] + } + ], + // [Start request_permissions] + "requestPermissions":[ + { + "name" : "ohos.permission.INTERNET" + } + ], + // [End request_permissions] + + } +} \ No newline at end of file diff --git a/ArkWebKit/UseSameLayerRender/entry/src/main/resources/base/element/color.json b/ArkWebKit/UseSameLayerRender/entry/src/main/resources/base/element/color.json new file mode 100644 index 000000000..3c712962d --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/src/main/resources/base/element/color.json @@ -0,0 +1,8 @@ +{ + "color": [ + { + "name": "start_window_background", + "value": "#FFFFFF" + } + ] +} \ No newline at end of file diff --git a/ArkWebKit/UseSameLayerRender/entry/src/main/resources/base/element/string.json b/ArkWebKit/UseSameLayerRender/entry/src/main/resources/base/element/string.json new file mode 100644 index 000000000..191baf03d --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/src/main/resources/base/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "module description" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "UseSameLayerRender" + } + ] +} \ No newline at end of file diff --git a/ArkWebKit/UseSameLayerRender/entry/src/main/resources/base/media/background.png b/ArkWebKit/UseSameLayerRender/entry/src/main/resources/base/media/background.png new file mode 100644 index 0000000000000000000000000000000000000000..f939c9fa8cc8914832e602198745f592a0dfa34d GIT binary patch literal 57364 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 A4*&oF literal 0 HcmV?d00001 diff --git a/ArkWebKit/UseSameLayerRender/entry/src/main/resources/base/media/foreground.png b/ArkWebKit/UseSameLayerRender/entry/src/main/resources/base/media/foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..4483ddad1f079e1089d685bd204ee1cfe1d01902 GIT binary patch literal 12430 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 cSLciz6AsI{U0tD9;7S&f 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

c)ijgxDm}8EsRXFt3h@+Ufr7@DN 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 literal 0 HcmV?d00001 diff --git a/ArkWebKit/UseSameLayerRender/entry/src/main/resources/base/profile/backup_config.json b/ArkWebKit/UseSameLayerRender/entry/src/main/resources/base/profile/backup_config.json new file mode 100644 index 000000000..78f40ae7c --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/src/main/resources/base/profile/backup_config.json @@ -0,0 +1,3 @@ +{ + "allowToBackupRestore": true +} \ No newline at end of file diff --git a/ArkWebKit/UseSameLayerRender/entry/src/main/resources/base/profile/main_pages.json b/ArkWebKit/UseSameLayerRender/entry/src/main/resources/base/profile/main_pages.json new file mode 100644 index 000000000..5caaa45a9 --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/src/main/resources/base/profile/main_pages.json @@ -0,0 +1,9 @@ +{ + "src": [ + "pages/Index", + "pages/RenderTxtBoxSameLayer_one", + "pages/RenderTxtBoxSameLayer_two", + "pages/DrawXCompAVPBtn", + "pages/NativeEmbedOverlay" + ] +} diff --git a/ArkWebKit/UseSameLayerRender/entry/src/main/resources/en_US/element/string.json b/ArkWebKit/UseSameLayerRender/entry/src/main/resources/en_US/element/string.json new file mode 100644 index 000000000..191baf03d --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/src/main/resources/en_US/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "module description" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "UseSameLayerRender" + } + ] +} \ No newline at end of file diff --git a/ArkWebKit/UseSameLayerRender/entry/src/main/resources/rawfile/test1.html b/ArkWebKit/UseSameLayerRender/entry/src/main/resources/rawfile/test1.html new file mode 100644 index 000000000..0417d261e --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/src/main/resources/rawfile/test1.html @@ -0,0 +1,33 @@ + + + + + + + 同层渲染测试html + + + + + + + + + + + + + diff --git a/ArkWebKit/UseSameLayerRender/entry/src/main/resources/rawfile/test2.html b/ArkWebKit/UseSameLayerRender/entry/src/main/resources/rawfile/test2.html new file mode 100644 index 000000000..a87df3456 --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/src/main/resources/rawfile/test2.html @@ -0,0 +1,33 @@ + + + + + + + 同层渲染测试html + + + + + + + + + + + + + diff --git a/ArkWebKit/UseSameLayerRender/entry/src/main/resources/rawfile/test3.html b/ArkWebKit/UseSameLayerRender/entry/src/main/resources/rawfile/test3.html new file mode 100644 index 000000000..641bb291f --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/src/main/resources/rawfile/test3.html @@ -0,0 +1,29 @@ + + + + + + 同层渲染测试html + + + +
+
+ +
+
+ + \ No newline at end of file diff --git a/ArkWebKit/UseSameLayerRender/entry/src/main/resources/rawfile/test4.html b/ArkWebKit/UseSameLayerRender/entry/src/main/resources/rawfile/test4.html new file mode 100644 index 000000000..820ede2ca --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/src/main/resources/rawfile/test4.html @@ -0,0 +1,33 @@ + + + + + + 同层渲染html + + + +
+
+ z-index: 9999 +
+ + + + +
+ + \ No newline at end of file diff --git a/ArkWebKit/UseSameLayerRender/entry/src/main/resources/zh_CN/element/string.json b/ArkWebKit/UseSameLayerRender/entry/src/main/resources/zh_CN/element/string.json new file mode 100644 index 000000000..901c1ae3e --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/src/main/resources/zh_CN/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "模块描述" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "UseSameLayerRender" + } + ] +} \ No newline at end of file diff --git a/ArkWebKit/UseSameLayerRender/entry/src/mock/mock-config.json5 b/ArkWebKit/UseSameLayerRender/entry/src/mock/mock-config.json5 new file mode 100644 index 000000000..b9a78e201 --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/src/mock/mock-config.json5 @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ +} \ No newline at end of file diff --git a/ArkWebKit/UseSameLayerRender/entry/src/ohosTest/ets/test/Ability.test.ets b/ArkWebKit/UseSameLayerRender/entry/src/ohosTest/ets/test/Ability.test.ets new file mode 100644 index 000000000..9e68c25ca --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/src/ohosTest/ets/test/Ability.test.ets @@ -0,0 +1,122 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium'; +import { abilityDelegatorRegistry, Driver, ON } from '@kit.TestKit'; +import { UIAbility, Want } from '@kit.AbilityKit'; + +const delegator: abilityDelegatorRegistry.AbilityDelegator = abilityDelegatorRegistry.getAbilityDelegator(); +const bundleName = abilityDelegatorRegistry.getArguments().bundleName; +export default function abilityTest() { + describe('ActsAbilityTest', () => { + // Defines a test suite. Two parameters are supported: test suite name and test suite function. + beforeAll(() => { + // Presets an action, which is performed only once before all test cases of the test suite start. + // This API supports only one parameter: preset action function. + }) + beforeEach(() => { + // Presets an action, which is performed before each unit test case starts. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: preset action function. + }) + afterEach(() => { + // Presets a clear action, which is performed after each unit test case ends. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: clear action function. + }) + afterAll(() => { + // Presets a clear action, which is performed after all test cases of the test suite end. + // This API supports only one parameter: clear action function. + }) + + /* + * 打开应用,点击 RenderTxtBoxSameLayer_one 按钮 + * 采用标签同层渲染输入框 + */ + it('RenderTxtBoxSameLayer_one',0, async (done: Function) => { + console.info('uitest: RenderTxtBoxSameLayer_one begin'); + const want: Want = { + bundleName: bundleName, + abilityName: 'EntryAbility' + }; + await delegator.startAbility(want); + const driver = Driver.create(); + await driver.delayMs(1000); + const ability: UIAbility = await delegator.getCurrentTopAbility(); + console.info('get top ability'); + expect(ability.context.abilityInfo.name).assertEqual('EntryAbility'); + await driver.delayMs(3000); + + const button1 = await driver.findComponent(ON.text('RenderTxtBoxSameLayer_one')); + await button1.click(); + await driver.delayMs(1000); + + const web1 = await driver.findComponent(ON.type('Web')); + let src: string = await web1.getText(); + expect(src).assertContain('test1.html'); + + await driver.pressBack(); + console.info('uitest: RenderTxtBoxSameLayer_one end'); + done(); + }); + + /* + * 点击 RenderTxtBoxSameLayer_two 按钮 + * 采用标签同层渲染输入框 + */ + it('RenderTxtBoxSameLayer_two', 0, async (done: Function) => { + console.info('uitest: RenderTxtBoxSameLayer_two begin'); + const driver = Driver.create(); + await driver.delayMs(1000); + + const button1 = await driver.findComponent(ON.text('RenderTxtBoxSameLayer_two')); + await button1.click(); + await driver.delayMs(1000); + + const web1 = await driver.findComponent(ON.type('Web')); + let src: string = await web1.getText(); + expect(src).assertContain('test2.html'); + + await driver.pressBack(); + console.info('uitest: RenderTxtBoxSameLayer_two end'); + done(); + }); + + /* + * 点击 DrawXCompAVPBtn 按钮 + * 通过 enableNativeEmbedMode 控制同层渲染开关,显式使用embed标签 + */ + it('DrawXCompAVPBtn', 0, async (done: Function) => { + console.info('uitest: DrawXCompAVPBtn begin'); + const driver = Driver.create(); + await driver.delayMs(1000); + + const button1 = await driver.findComponent(ON.text('DrawXCompAVPBtn')); + await button1.click(); + await driver.delayMs(1000); + + const button2 = await driver.findComponent(ON.type('Button')); + await button2.click(); + await driver.delayMs(1000); + + const web1 = await driver.findComponent(ON.type('Web')); + let src: string = await web1.getText(); + expect(src).assertContain('test3.html'); + + console.info('uitest: DrawXCompAVPBtn end'); + done(); + }); + }) +} \ No newline at end of file diff --git a/ArkWebKit/UseSameLayerRender/entry/src/ohosTest/ets/test/List.test.ets b/ArkWebKit/UseSameLayerRender/entry/src/ohosTest/ets/test/List.test.ets new file mode 100644 index 000000000..1eac52fce --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/src/ohosTest/ets/test/List.test.ets @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import abilityTest from './Ability.test'; + +export default function testsuite() { + abilityTest(); +} \ No newline at end of file diff --git a/ArkWebKit/UseSameLayerRender/entry/src/ohosTest/module.json5 b/ArkWebKit/UseSameLayerRender/entry/src/ohosTest/module.json5 new file mode 100644 index 000000000..c3fd9dda3 --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/src/ohosTest/module.json5 @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ + "module": { + "name": "entry_test", + "type": "feature", + "deviceTypes": [ + "default", + "tablet" + ], + "deliveryWithInstall": true, + "installationFree": false + } +} diff --git a/ArkWebKit/UseSameLayerRender/entry/src/test/List.test.ets b/ArkWebKit/UseSameLayerRender/entry/src/test/List.test.ets new file mode 100644 index 000000000..f1186b1f5 --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/src/test/List.test.ets @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import localUnitTest from './LocalUnit.test'; + +export default function testsuite() { + localUnitTest(); +} \ No newline at end of file diff --git a/ArkWebKit/UseSameLayerRender/entry/src/test/LocalUnit.test.ets b/ArkWebKit/UseSameLayerRender/entry/src/test/LocalUnit.test.ets new file mode 100644 index 000000000..7fc57c77d --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/entry/src/test/LocalUnit.test.ets @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium'; + +export default function localUnitTest() { + describe('localUnitTest', () => { + // Defines a test suite. Two parameters are supported: test suite name and test suite function. + beforeAll(() => { + // Presets an action, which is performed only once before all test cases of the test suite start. + // This API supports only one parameter: preset action function. + }); + beforeEach(() => { + // Presets an action, which is performed before each unit test case starts. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: preset action function. + }); + afterEach(() => { + // Presets a clear action, which is performed after each unit test case ends. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: clear action function. + }); + afterAll(() => { + // Presets a clear action, which is performed after all test cases of the test suite end. + // This API supports only one parameter: clear action function. + }); + it('assertContain', 0, () => { + // Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function. + let a = 'abc'; + let b = 'b'; + // Defines a variety of assertion methods, which are used to declare expected boolean conditions. + expect(a).assertContain(b); + expect(a).assertEqual(a); + }); + }); +} \ No newline at end of file diff --git a/ArkWebKit/UseSameLayerRender/hvigor/hvigor-config.json5 b/ArkWebKit/UseSameLayerRender/hvigor/hvigor-config.json5 new file mode 100644 index 000000000..43beb743c --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/hvigor/hvigor-config.json5 @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ + "modelVersion": "5.0.0", + "dependencies": { + }, + "execution": { + // "analyze": "normal", /* Define the build analyze mode. Value: [ "normal" | "advanced" | false ]. Default: "normal" */ + // "daemon": true, /* Enable daemon compilation. Value: [ true | false ]. Default: true */ + // "incremental": true, /* Enable incremental compilation. Value: [ true | false ]. Default: true */ + // "parallel": true, /* Enable parallel compilation. Value: [ true | false ]. Default: true */ + // "typeCheck": false, /* Enable typeCheck. Value: [ true | false ]. Default: false */ + }, + "logging": { + // "level": "info" /* Define the log level. Value: [ "debug" | "info" | "warn" | "error" ]. Default: "info" */ + }, + "debugging": { + // "stacktrace": false /* Disable stacktrace compilation. Value: [ true | false ]. Default: false */ + }, + "nodeOptions": { + // "maxOldSpaceSize": 8192 /* Enable nodeOptions maxOldSpaceSize compilation. Unit M. Used for the daemon process. Default: 8192*/ + // "exposeGC": true /* Enable to trigger garbage collection explicitly. Default: true*/ + } +} diff --git a/ArkWebKit/UseSameLayerRender/hvigorfile.ts b/ArkWebKit/UseSameLayerRender/hvigorfile.ts new file mode 100644 index 000000000..1307c0330 --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/hvigorfile.ts @@ -0,0 +1,21 @@ +/* +* Copyright (c) 2025 Huawei Device Co., Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +import { appTasks } from '@ohos/hvigor-ohos-plugin'; + +export default { + system: appTasks, /* Built-in plugin of Hvigor. It cannot be modified. */ + plugins:[] /* Custom plugin to extend the functionality of Hvigor. */ +} diff --git a/ArkWebKit/UseSameLayerRender/oh-package.json5 b/ArkWebKit/UseSameLayerRender/oh-package.json5 new file mode 100644 index 000000000..93f097993 --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/oh-package.json5 @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ + "modelVersion": "5.0.0", + "description": "Please describe the basic information.", + "dependencies": { + }, + "devDependencies": { + "@ohos/hypium": "1.0.19", + "@ohos/hamock": "1.0.0" + } +} diff --git a/ArkWebKit/UseSameLayerRender/ohosTest.md b/ArkWebKit/UseSameLayerRender/ohosTest.md new file mode 100644 index 000000000..31d7c5f6a --- /dev/null +++ b/ArkWebKit/UseSameLayerRender/ohosTest.md @@ -0,0 +1,18 @@ +#### RenderTxtBoxSameLayer_one + +| 测试功能 | 预置条件 | 输入 | 预期输出 | 是否自动 | 测试结果 | +| -------- | ------------ | ------------ | --------------------------------------- | -------- | -------- | +| 同层渲染 | 设备运转正常 | 应用启动成功 | 利用同层渲染展示三个标签的输入框 | Yes | Pass | + +#### RenderTxtBoxSameLayer_two + +| 测试功能 | 预置条件 | 输入 | 预期输出 | 是否自动 | 测试结果 | +| -------- | ------------ | ------------ | ---------------------------------------- | -------- | -------- | +| 同层渲染 | 设备运转正常 | 应用启动成功 | 利用同层渲染展示三个标签的输入框 | Yes | Pass | + +#### DrawXCompAVPBtn + +| 测试功能 | 预置条件 | 输入 | 预期输出 | 是否自动 | 测试结果 | +| -------- | ------------ | ------------ | ---------------------------------------- | -------- | -------- | +| 同层渲染 | 设备运转正常 | 应用启动成功 | 绘制 XComponent、AVPlayer 和 Button 组件 | Yes | Pass | + diff --git a/ArkWebKit/UseSameLayerRender/screenshots/DrawXCompAVPBtn.png b/ArkWebKit/UseSameLayerRender/screenshots/DrawXCompAVPBtn.png new file mode 100644 index 0000000000000000000000000000000000000000..1f07c365c79f7796ffa17005c987de9bfe2b23e1 GIT binary patch literal 32528 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 QklZho`uG2)(eO$2H{;5fhX4Qo literal 0 HcmV?d00001 diff --git a/ArkWebKit/UseSameLayerRender/screenshots/RenderTxtBoxSameLayer_two.png b/ArkWebKit/UseSameLayerRender/screenshots/RenderTxtBoxSameLayer_two.png new file mode 100644 index 0000000000000000000000000000000000000000..986d1c0de0236ef3aa64e54f168dfab147800f2e GIT binary patch literal 30352 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%0D! z$L&sqxR~|^w)*B2!7uRtU4;WpIv%G{U5XcHlt7U%^l{&w4H`&p;NnD19w>3ry$UJf z(ga=1W$d9!nWA2ls4VqP!Sz83Uw^DKeyf%MTBz>%zvv|G46g7onssVK5=EgI0@bv@ALpw>O z)0uO;&nBKd=XmFMvvyynz0o7KdIE?&H2ql2WF1d?bvh({C~L)K;)9cthfryp>$=?Y z;Se(Agc9n1i!`l!9IIZ%)#u+KUj`S0VH&n!;Wf#js2maa-o=`1O-+Joh^X-8KwciI z3Vv0^p}tl#m!*=LV_L^Tr4}DFqEr<*yW$SD^HHjuuBxe_V)V<89~ej&WZ`vpRm#op zb}j8l=BA_l6ec#%#+?-RfInx}!~Rr-j8nwIkbgDy=>*omoCLw)Dpt)A!Lhw*zo!rpj(||;NVFSRPsPn|OarYs z-4F&3TTnta^H{#m(X_T;l%+FEbk%)N>|yp{vfskFA8ASz?zB%=P&jLm)}Xx@}~F(hOK)0#j3;A#gByG}E{uHhlsa0CQhY{@`S1-#ANqaw{(;Fcgme~;G7 z8oD!EmTZso{A8ijzgg+R5nXddh)+u-|JozA)~Bd1CCTVk){+MLSvKYO|9+%l}3`K_BYeH2%wbl=%0JGiVXdD4&X zWWA7HI%!2UX=6;yEX@9@f*`VX1dBKs5nR{!GEn0WJ|KM%!f%w_8ZEB66f5kAz8_i>{oX+|Z_M)}sNju{hCzP4P{-WxLRw?e27vBE-mhD(cs|ejsD) zYz8FSuWfVWRv8XPS~LnBCEZFuRz>kRPDID0y~h$3i5yE^nT*&BixbjBs@7+Z%q+l$ zU=zBlv(9!qc~tF`rdUquP3`vpoY8u}l}0-8+WJ=R@M=qM87%SHs8PXhp6<%dTe+*c zUKchXRhl*EEPU$*M{P}Vs_|?tE_b`SCM>yr667l{MF%SmE>)<~>p{(FLcTax%QqR8 zRTodjVudAdt(tJklgVb>MhB^E0v({2v|!T1^ai| z5EtqQ9kdRI>TQ#9(8}G8YG8Fjw<|}1brCid7){(JBo=AdagNs|8U}@2=pN^5#Ovaw zx%$s2yNYT~9gm`KsSyLJP86bHIP*~z3I9)xx#U~D`mY~5Jeg5TW+nvi*kH{9xnB+k z<84L83}q?X8Pict8H>Z610;#FW(I1+Lzd0uz{VWIFf~vTjjOH(OhiO*PfO6(S{nVu z!k7_s12frOy$8#ctXWoTyCCXEUug4C2_zWE7f zx3Omi60B^bm$}XQIKr7VS%Zv6B#TEr5MVaNTk`ncLtKe&^>3f3SLydu6(k*F5HqZ$ zh^;B@bRF}UCegUeBd~MKH@7N9#-7KoLF$!sVtT&!l+lWqiija^4d(9WL!;ruEB85e zMlG)Op@y>Lx3fjkN?1j0#DycZO(j0qml#zf3LCk)^X@7siTJ!gyY4Bie_3(j=g-JvF!jWY)LioD1Y?cKBZ|lw4 zOlGi}1ZHcCuKdTDA4i$7Fv0U=r?@4fZ5HY~?iQEXbf<8L z)kYV^-)aB1CW&I>bjf0ZX;@WNle1G3#O+saTz zjTQR)oX9Yd@XB6R4m9G=ZVG*)7^2)Ai!bg;@d-S1!jEMMz9FtFQxp2r{Pj7mY>Fhy45cF8?fPyNJAVgtb=Q>P~izDl> zDvDzmRl?R>8ZU0t38AzC@NrR^>9H~k+zlgqyAVbNReHM^ED9WCAZOOhd>c{NH&5o~ zu>M#10y-~w7_pr?MO{wRmm@1zNy{Rh5Sdz^$eCQ@AvPkDA#QolKU?E7KZJbEsGclt z5#o&Oa~0=6k!UfK+3FKz${|P;!-;rez%z2N@e6OZr}P|H4lQwH051{1ISLA@yQ%Ld1Xo4&5FmH-fVcMr3SZONI5um-1e+5b}&o%t?@q; z)7mOTKBD(}XnH55O$Oz(+)A_{o0hQaIbKiAGa%4|oN`G{!;W(DOtUHd_bMUlKW6_4 zh2%d5|B2bxIJN2S(%2CFpXJrRY4JzJ{eP^DzeR2SV=-L1H@UGzevP$0;jdCiopLT= zHuADU`NTAkRLzg?&yv?Zg{^_FjsgGmpIzs#F7$XrRKwrGN0jiNwBmnHHpE^T$bIus zQ6uDGBv(sHf-%V%cle~jpl9JH{l1`SIb(qobZ+`a_j5{Ro`uYO73$YtBzLT_$tp^2 zIoV{*)g#zqXVwjs&8_u|lSnq5ZHWgj&K4on*v2Qs=WV{JO{)z!q|CD){LvwiJH-04 z$AYf-*AC175j!mFz*oNVi&`}TTw6)Vnv%@Jcrt+=er1wZ!UI*S;s`0?{9g{0!t}LA z{924(x!Rf9QQyu4txpfs*HrC`4VgQE?6Xm>K>0U?5dutd6S6dw8G>86>8sT>K6ks& zxu8_YY~FTHwxLz}W@$9CqAVc4%oO*+v9yXI?MOpMKF+cV?zo_+WgdLpQ-uUnELSWO ziU26(nCsnJdD2`GCK#d~3PBy8h%!$CjOM!z^UOfheJH1WzD)yz zYfSiGFonA%o_B6%?^(hxkLdOLi!O3dPuM&WliW?qcZ&165)0;O5nP)F!-BLZ z*eiSi7r@aV<-`#LaENq?m^9%HG0Z~p`{Jt$vQs}U9bkQmEA*#HHT>8x_uf&X+kC&a z-%_mj6OF}RcoiOU!(JUMM)F7fg{JK%PcBQuFa5s}<{AOIIPJu> zO`H2qru6>eGHT%eM?wDgVoPb+C=`?FZuwj=H#VM+)mFm^ZX05ig{~2_Rg*Nv4=P2G zF7N15G9_~B%7Az-(l(6A*X{GJ z2(~1N$PAC{9QJqX@|@HM|Lix;#eR{C$^?^cfI^E}&++&{c0=cQThTfZKjyUD0Gj(h z`7fA+fAyeQGTr6N_;Js9d~1#t+yl<@I{x7u5wCN+0`Dov*ok*p%h0zqIgKcC$!saZ zSMkQ$ZA~8@eXuPS48%B298kHX(|;Gk+;U!r$GaG|Z7Hk1Elp-#=XHNd@hoVClR>jb zaXyf?zERhP(gwl?1ox!Km6DrJ>sdtTu+N*ie;;L0liG^R1TvHElqbyY7x)jN`r(u5 zuG(qX+ZvW78D1Q<>*STmLLVSY{m~?cysBaD9*I2cVjrrND7Zj*xk4?I>G3`p*ra+U zqw>k}%hLf~hE>rTvA)Y^ThXqQF&%c?YZ^TC%ZpAZskf6^I`%6r;(YNsxvGhMvFbJ? z6EIriz7-*kX<|eEr|)plrZt6nYcVzVFfuqyvx>YYWO6ymRiK(34q{=dBPe8TcGoqm z^e`|G>K6YNZIdHaG*a3*A`fVfUPAh!Dq3rm?DN-$K`K|j)&^&Zt0?=*e_MrKgoEt` zuyP2^{s0C|S%$IFySkLtY=Vh&ZD=Gb(G60g$^3P=J(Lnt#8opr&augqs2^9PaJf+@ zf;k(;PE8nnSI>lNX}l*XNl^8*CG7R;t)NzYs1H`X+G)jAUpKX>ZxPd*JAaHR$#H== z5xcEC?-d`jL%iKcN~vKu8VVM90H7}sf8}H;9G0x+pp)FQs*(3}4smcBltlyw*g9RU zJQeSajD-gGSEdXXRL0fX57Rh^+IyAE7LVDJiA5GGzN;*~U2FhH^<;TzKN;yBl`IYG zDFd3%##0qIx2oDn$;QR3<&}*ml)H^E$@kF<>U7P@t#lGGBT8}_8Dg++7lMG{8YPk8 z3W<SoW-pSCQN*vrc0b~lwIFDsE>=!Fe~7Q2VZ zY5jdV9S)-y&PTmO2+aZ`QA&qhr#+yDD?MLr@DvRA8B7`AxA^1;bK2q+8<3+m}hXmUqO zdUuCS>2IfIFFWvq;5Y6K9KQFqh9s!F_ebjsC2d-FrW9H$#sa=0g;!EGg*l34id*?g z)YBre5IU@1s$5B818?nUi*j2K7ZB}DDPG91;x%&6wvvFVj(d^Fy+$It+J67kK1F{fUA~gt#FiWN@v-hL9EfRek8Nb`R#>6 zWp10ZfYWWg2S;j_2jlqKhwM~-78Gph_{kl3jl4(Sm*uDeU%K{AU+caX56~$sL#dT` zHcBay6(kro*Zt_hXls>Wqdixx)SJtu+AMi`>`g zgB&;Kc$Gq1KTle)IZrf-3983UbR#I)6k{c1xYo6^f}!J4_Y(27fS{*g2=$ni9PP)g z$wa-d4;9-EToVHEP- z&02HKgP!lSA$T0=DwWaaF8|J)yW3kOL%fQGKk!|<*`vyWNjIZ`BHg#y{n0*Cw(~ol zSQGiT;SLNJ3t601oySZ?j`FY*e1RMNnViYCEkvQ(X3Eo}60ZHuMGBOR_7Kl(-Bd3I zqgn=+Mqf`4-BWrZn26uTT}y5?4w#Y&*URpOe_QZ?!_cs)iub00Df6f8Fic0>#L~gK zI#PQ*Z-!39Ma{W2i|~dOul=M!hhEe@C6XzV$y60Pxl|X;l|j25W_2^g$hS=(L&9Di z_GC3H4Sk})?6$A%{Fb3po$&xvG^=V{QBNX+)-~NC4L~s`wKJ!=2+a+Goa%GDAYrOQ z9oxRCSniQV$Orp_UViuuoboqIxQ}CQ4C_tijwlUxVGh*ghx26uY#FUBj=pt8-wrWT zJbFWE+T8XzA{0D6EznioEG|5FXAlS_hE|N^@vh?Vk~@k{NR>kXph?8LK_B?4qR6M( zV)jXBR9Ly`-t#-osRm=M?n?;j@(DR6U#FC{BmdyRZ+PJWc|kHpX`Nkf$Dnl|=T6Pz z{r-V~gLHBwB6}%iR&_WD%Zvcp@zZ`n039e4=r}#VZ&3inB3lGJ1PrSB8pdUy%LyY| z#yAZZaGH14(#{tcytq78%;yqMYEoK>>ZdN5m{Qs_z;N=V;DlJFDrp>i!Vh@GqKb3h z(�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 literal 0 HcmV?d00001 diff --git a/ArkWebKit/WebRenderLayout/README.md b/ArkWebKit/WebRenderLayout/README.md new file mode 100644 index 000000000..15a85277b --- /dev/null +++ b/ArkWebKit/WebRenderLayout/README.md @@ -0,0 +1,78 @@ +# Web组件渲染模式 + +## RenderMode + +### 介绍 + +1. 实现对以下指南文档中 https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/web/web-render-mode.md 示例代码片段的工程化,保证指南中示例代码与sample工程文件同源。 + +### 效果预览 + +| 主页 | +| ------------------------------------------------------------ | +| | + +使用说明 + +1. 使用renderMode设置渲染模式为 ASYNC_RENDER (同步渲染模式)。 +# Web组件大小自适应页面内容布局 + +## FitPageContent + +### 介绍 + +1. 实现对以下指南文档中 https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/web/web-fit-content.md 示例代码片段的工程化,保证指南中示例代码与sample工程文件同源。 + +### 效果预览 + +| 主页 | +| --------------------------------------------------------- | +| | + +使用说明 + +1. 使用Web组件大小自适应页面内容布局模式layoutMode(WebLayoutMode.FIT_CONTENT)时,能使Web组件的大小根据页面内容自适应变化。 + +## 工程目录 + +``` +entry/src/main/ +|---ets +|---|---entryability +|---|---|---EntryAbility.ets +|---|---pages +|---|---|---Index.ets // 首页 +|---|---|---FitPageContent.ets +|---|---|---RenderMode.ets +|---resources // 静态资源 +|---ohosTest +|---|---ets +|---|---|---tests +|---|---|---|---Ability.test.ets // 自动化测试用例 +``` + +## 相关权限 + +[ohos.permission.INTERNET](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/security/AccessToken/permissions-for-all.md#ohospermissioninternet) + +## 依赖 + +不涉及。 + +## 约束与限制 + +1. 本示例仅支持标准系统上运行,支持设备:RK3568。 +2. 本示例支持API14版本SDK,SDK版本号(API Version 14 Release)。 +3. 本示例需要使用DevEco Studio 版本号(5.0.1Release)才可编译运行。 + +## 下载 + +如需单独下载本工程,执行如下命令: + +``` +git init +git config core.sparsecheckout true +echo code/DocsSample/ArkWeb/WebRenderLayout > .git/info/sparse-checkout +git remote add origin https://gitee.com/openharmony/applications_app_samples.git +git pull origin master +``` \ No newline at end of file diff --git a/ArkWebKit/WebRenderLayout/build-profile.json5 b/ArkWebKit/WebRenderLayout/build-profile.json5 new file mode 100644 index 000000000..9c284a291 --- /dev/null +++ b/ArkWebKit/WebRenderLayout/build-profile.json5 @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ + "app": { + "signingConfigs": [], + "products": [ + { + "name": "default", + "signingConfig": "default", + "compatibleSdkVersion": "5.0.2(14)", + "targetSdkVersion": "5.0.2(14)", + "runtimeOS": "HarmonyOS", + } + ], + "buildModeSet": [ + { + "name": "debug", + }, + { + "name": "release" + } + ] + }, + "modules": [ + { + "name": "entry", + "srcPath": "./entry", + "targets": [ + { + "name": "default", + "applyToProducts": [ + "default" + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/ArkWebKit/WebRenderLayout/code-linter.json5 b/ArkWebKit/WebRenderLayout/code-linter.json5 new file mode 100644 index 000000000..28586467e --- /dev/null +++ b/ArkWebKit/WebRenderLayout/code-linter.json5 @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ + "files": [ + "**/*.ets" + ], + "ignore": [ + "**/src/ohosTest/**/*", + "**/src/test/**/*", + "**/src/mock/**/*", + "**/node_modules/**/*", + "**/oh_modules/**/*", + "**/build/**/*", + "**/.preview/**/*" + ], + "ruleSet": [ + "plugin:@performance/recommended", + "plugin:@typescript-eslint/recommended" + ], + "rules": { + } +} \ No newline at end of file diff --git a/ArkWebKit/WebRenderLayout/entry/.gitignore b/ArkWebKit/WebRenderLayout/entry/.gitignore new file mode 100644 index 000000000..e2713a277 --- /dev/null +++ b/ArkWebKit/WebRenderLayout/entry/.gitignore @@ -0,0 +1,6 @@ +/node_modules +/oh_modules +/.preview +/build +/.cxx +/.test \ No newline at end of file diff --git a/ArkWebKit/WebRenderLayout/entry/build-profile.json5 b/ArkWebKit/WebRenderLayout/entry/build-profile.json5 new file mode 100644 index 000000000..e7569e305 --- /dev/null +++ b/ArkWebKit/WebRenderLayout/entry/build-profile.json5 @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ + "apiType": "stageMode", + "buildOption": { + }, + "buildOptionSet": [ + { + "name": "release", + "arkOptions": { + "obfuscation": { + "ruleOptions": { + "enable": false, + "files": [ + "./obfuscation-rules.txt" + ] + } + } + } + }, + ], + "targets": [ + { + "name": "default" + }, + { + "name": "ohosTest", + } + ] +} \ No newline at end of file diff --git a/ArkWebKit/WebRenderLayout/entry/hvigorfile.ts b/ArkWebKit/WebRenderLayout/entry/hvigorfile.ts new file mode 100644 index 000000000..98d52319c --- /dev/null +++ b/ArkWebKit/WebRenderLayout/entry/hvigorfile.ts @@ -0,0 +1,21 @@ +/* +* Copyright (c) 2025 Huawei Device Co., Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +import { hapTasks } from '@ohos/hvigor-ohos-plugin'; + +export default { + system: hapTasks, /* Built-in plugin of Hvigor. It cannot be modified. */ + plugins:[] /* Custom plugin to extend the functionality of Hvigor. */ +} diff --git a/ArkWebKit/WebRenderLayout/entry/obfuscation-rules.txt b/ArkWebKit/WebRenderLayout/entry/obfuscation-rules.txt new file mode 100644 index 000000000..272efb6ca --- /dev/null +++ b/ArkWebKit/WebRenderLayout/entry/obfuscation-rules.txt @@ -0,0 +1,23 @@ +# Define project specific obfuscation rules here. +# You can include the obfuscation configuration files in the current module's build-profile.json5. +# +# For more details, see +# https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/source-obfuscation-V5 + +# Obfuscation options: +# -disable-obfuscation: disable all obfuscations +# -enable-property-obfuscation: obfuscate the property names +# -enable-toplevel-obfuscation: obfuscate the names in the global scope +# -compact: remove unnecessary blank spaces and all line feeds +# -remove-log: remove all console.* statements +# -print-namecache: print the name cache that contains the mapping from the old names to new names +# -apply-namecache: reuse the given cache file + +# Keep options: +# -keep-property-name: specifies property names that you want to keep +# -keep-global-name: specifies names that you want to keep in the global scope + +-enable-property-obfuscation +-enable-toplevel-obfuscation +-enable-filename-obfuscation +-enable-export-obfuscation \ No newline at end of file diff --git a/ArkWebKit/WebRenderLayout/entry/oh-package.json5 b/ArkWebKit/WebRenderLayout/entry/oh-package.json5 new file mode 100644 index 000000000..c9cb6c817 --- /dev/null +++ b/ArkWebKit/WebRenderLayout/entry/oh-package.json5 @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ + "name": "entry", + "version": "1.0.0", + "description": "Please describe the basic information.", + "main": "", + "author": "", + "license": "", + "dependencies": {} +} + diff --git a/ArkWebKit/WebRenderLayout/entry/src/main/ets/entryability/EntryAbility.ets b/ArkWebKit/WebRenderLayout/entry/src/main/ets/entryability/EntryAbility.ets new file mode 100644 index 000000000..0f2f8b94a --- /dev/null +++ b/ArkWebKit/WebRenderLayout/entry/src/main/ets/entryability/EntryAbility.ets @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { AbilityConstant, UIAbility, Want } from '@kit.AbilityKit'; +import { hilog } from '@kit.PerformanceAnalysisKit'; +import { window } from '@kit.ArkUI'; + +export default class EntryAbility extends UIAbility { + onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate'); + } + + onDestroy(): void { + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy'); + } + + onWindowStageCreate(windowStage: window.WindowStage): void { + // Main window is created, set main page for this ability + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); + + windowStage.loadContent('pages/Index', (err) => { + if (err.code) { + hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); + return; + } + hilog.info(0x0000, 'testTag', 'Succeeded in loading the content.'); + }); + } + + onWindowStageDestroy(): void { + // Main window is destroyed, release UI related resources + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); + } + + onForeground(): void { + // Ability has brought to foreground + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground'); + } + + onBackground(): void { + // Ability has back to background + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground'); + } +} diff --git a/ArkWebKit/WebRenderLayout/entry/src/main/ets/entrybackupability/EntryBackupAbility.ets b/ArkWebKit/WebRenderLayout/entry/src/main/ets/entrybackupability/EntryBackupAbility.ets new file mode 100644 index 000000000..b1e212947 --- /dev/null +++ b/ArkWebKit/WebRenderLayout/entry/src/main/ets/entrybackupability/EntryBackupAbility.ets @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { hilog } from '@kit.PerformanceAnalysisKit'; +import { BackupExtensionAbility, BundleVersion } from '@kit.CoreFileKit'; + +export default class EntryBackupAbility extends BackupExtensionAbility { + async onBackup() { + hilog.info(0x0000, 'testTag', 'onBackup ok'); + } + + async onRestore(bundleVersion: BundleVersion) { + hilog.info(0x0000, 'testTag', 'onRestore ok %{public}s', JSON.stringify(bundleVersion)); + } +} \ No newline at end of file diff --git a/ArkWebKit/WebRenderLayout/entry/src/main/ets/pages/FitPageContent.ets b/ArkWebKit/WebRenderLayout/entry/src/main/ets/pages/FitPageContent.ets new file mode 100644 index 000000000..bc3c291a5 --- /dev/null +++ b/ArkWebKit/WebRenderLayout/entry/src/main/ets/pages/FitPageContent.ets @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// [Start a_page_that_contains_a_webview_and_text_in_the_comment_section] +import { webview } from '@kit.ArkWeb'; + +@Entry +@Component +struct WebHeightPage { + private webviewController: WebviewController = new webview.WebviewController(); + private scroller: Scroller = new Scroller(); + + build() { + Navigation() { + Column() { + Scroll(this.scroller) { + Column() { + Web({ + src: $rawfile('fit_content.html'), + controller: this.webviewController, + renderMode: RenderMode.SYNC_RENDER // 设置为同步渲染模式 + }) + .layoutMode(WebLayoutMode.FIT_CONTENT) // 设置为Web组件大小自适应页面内容 + .overScrollMode(OverScrollMode.NEVER) // 设置过滚动模式为关闭状态 + Text('Comments') + .fontSize(28) + .fontColor('#FF0F0F') + .height(100) + .width('100%') + .backgroundColor('#f89f0f') + } + } + } + } + .title('Title') + } +} +// [End a_page_that_contains_a_webview_and_text_in_the_comment_section] \ No newline at end of file diff --git a/ArkWebKit/WebRenderLayout/entry/src/main/ets/pages/Index.ets b/ArkWebKit/WebRenderLayout/entry/src/main/ets/pages/Index.ets new file mode 100644 index 000000000..df919e917 --- /dev/null +++ b/ArkWebKit/WebRenderLayout/entry/src/main/ets/pages/Index.ets @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { router } from '@kit.ArkUI'; +import { webview } from '@kit.ArkWeb'; + +@Entry +@Component +struct Index { + build() { + Column({ space: 10 }) { + Button('RenderMode') + .onClick(() => { + router.pushUrl({ url: 'pages/RenderMode' }); + }) + Button('FitPageContent') + .onClick(() => { + router.pushUrl({ url: 'pages/FitPageContent' }); + }) + }.height('100%') + .width('100%') + } +} \ No newline at end of file diff --git a/ArkWebKit/WebRenderLayout/entry/src/main/ets/pages/RenderMode.ets b/ArkWebKit/WebRenderLayout/entry/src/main/ets/pages/RenderMode.ets new file mode 100644 index 000000000..fa5b59c77 --- /dev/null +++ b/ArkWebKit/WebRenderLayout/entry/src/main/ets/pages/RenderMode.ets @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// [Start web_component_rendering_mode] +import { webview } from '@kit.ArkWeb'; + +@Entry +@Component +struct WebHeightPage { + private webviewController: WebviewController = new webview.WebviewController() + + build() { + Column() { + Web({ + src: 'www.example.com', + controller: this.webviewController, + renderMode: RenderMode.ASYNC_RENDER // 设置渲染模式 + }) + } + } +} +// [End web_component_rendering_mode] \ No newline at end of file diff --git a/ArkWebKit/WebRenderLayout/entry/src/main/module.json5 b/ArkWebKit/WebRenderLayout/entry/src/main/module.json5 new file mode 100644 index 000000000..e9db80c0a --- /dev/null +++ b/ArkWebKit/WebRenderLayout/entry/src/main/module.json5 @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ + "module": { + "name": "entry", + "type": "entry", + "description": "$string:module_desc", + "mainElement": "EntryAbility", + "deviceTypes": [ + "default", + "tablet" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:main_pages", + "abilities": [ + { + "name": "EntryAbility", + "srcEntry": "./ets/entryability/EntryAbility.ets", + "description": "$string:EntryAbility_desc", + "icon": "$media:layered_image", + "label": "$string:EntryAbility_label", + "startWindowIcon": "$media:startIcon", + "startWindowBackground": "$color:start_window_background", + "exported": true, + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ] + } + ], + "extensionAbilities": [ + { + "name": "EntryBackupAbility", + "srcEntry": "./ets/entrybackupability/EntryBackupAbility.ets", + "type": "backup", + "exported": false, + "metadata": [ + { + "name": "ohos.extension.backup", + "resource": "$profile:backup_config" + } + ] + } + ], + "requestPermissions": [ + { + "name": "ohos.permission.INTERNET" + } + ] + } +} \ No newline at end of file diff --git a/ArkWebKit/WebRenderLayout/entry/src/main/resources/base/element/color.json b/ArkWebKit/WebRenderLayout/entry/src/main/resources/base/element/color.json new file mode 100644 index 000000000..3c712962d --- /dev/null +++ b/ArkWebKit/WebRenderLayout/entry/src/main/resources/base/element/color.json @@ -0,0 +1,8 @@ +{ + "color": [ + { + "name": "start_window_background", + "value": "#FFFFFF" + } + ] +} \ No newline at end of file diff --git a/ArkWebKit/WebRenderLayout/entry/src/main/resources/base/element/string.json b/ArkWebKit/WebRenderLayout/entry/src/main/resources/base/element/string.json new file mode 100644 index 000000000..6e797f7e8 --- /dev/null +++ b/ArkWebKit/WebRenderLayout/entry/src/main/resources/base/element/string.json @@ -0,0 +1,24 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "module description" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "WebRenderLayout" + }, + { + "name": "Title_bar", + "value": "标题栏" + }, + { + "name": "Comment_area", + "value": "评论区" + } + ] +} \ No newline at end of file diff --git a/ArkWebKit/WebRenderLayout/entry/src/main/resources/base/media/background.png b/ArkWebKit/WebRenderLayout/entry/src/main/resources/base/media/background.png new file mode 100644 index 0000000000000000000000000000000000000000..f939c9fa8cc8914832e602198745f592a0dfa34d GIT binary patch literal 57364 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 A4*&oF literal 0 HcmV?d00001 diff --git a/ArkWebKit/WebRenderLayout/entry/src/main/resources/base/media/foreground.png b/ArkWebKit/WebRenderLayout/entry/src/main/resources/base/media/foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..4483ddad1f079e1089d685bd204ee1cfe1d01902 GIT binary patch literal 12430 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 cSLciz6AsI{U0tD9;7S&f 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

c)ijgxDm}8EsRXFt3h@+Ufr7@DN z^55r2UpdZvo*$)c`MJ_3zXBARbH%T}ifygzYy6g*WBtspGU<*Ccb`wpyW!Ui$gZ}y zo>MwK`K>f-62KfvO2{S zXF|ni6T=gB=C>=mF~5ojWS?I%DBt!ouB^&}v*S8G>5&(6>bM<0W9)PIeSXbv;v2lq zgZx&0)nJZqzUPEz=3RZouldy~VSciFe9|fxrs_KoD#u$hYz3BTu8Twxs@yt>*lp{< zm_XbpVEfL5#v}%x;+@AY<0*cV$ZF-248A&7CXCUG-9e@z7Va=V8J*&{q4I$n{~M-~K{qUmg-Y{N~tC__Y!6wZ`uS zAN=8SKnb`wARia}P{>}4q*mFJ2rt$xz9z}40>2@prKgMpJ4y?1MK zsu;8LLY(s8tNKp-L`??i35r}^567PuI=u8S&*EdFoy9Nf;48%{S#m8d=h|q*N!*Hw zE&QzCc2jn4u4(uar*pTPKCQ7DC)&Cs49?>3$7+X~)XJA`!=HT>p7`~r%@S~FvIWT% zL)t28t$h|BY!xpHnSQNXihG*>p${(0U;hi2mrwZcOUrZh0ee^UiT1oYO{3$5Hop*u zLXEN0l1qM=vD`rN)XOLJdon_5oHz3`AzpsrE1f=|*Mk1={U^)6{EcJ3kodUYZmX=p z&l4~2a)h&L*mG4|<3d+3_?Prr)`vgu$Y1U7EWIl2?@iUEd5K>;n9zxxlFNU^0vTLl zH@o9AcfQkuuVr{d?>6N1tv`70$?|*eKGqA1!uC8^rS(s+P1LOQ9lYFac+7nk_^^=}_9|LQHrRm;gm z#jgtmwd-2xd;fSm;rGSZd-@wbDeXS|)%sP&lv@b1qs`Sf43!0V?3qvsHeeF4^Q(*h z^}o7zxuRcU@`@_U0N4FIMxo}rPTLvJc{K#}XhYWmowJJ2$Yjbl`u)zkPnNIv?#GvR zeQ>x@oZ)FOm|m&l>_ivC(ek;URCk@4f5BINBIPcJedSknv#$7sL09O4r%@qb_M zz2et2d?)PSD|vhJv?jf^coe^7;*5D_(i{GoNjc@GFgNZjMJ5=HK91L-#6s_k5ZsDS zGS%RQ&sF+5eNE*3{W~3);ByDsjH9O)4$S@$?yR>?gy?){V`EPI$n>{$7kZJt&E|jq z@9tl&>KhB0wjiX?fvux_ph<@^P`xU#l~@YcVmvoP|52 zFCDST=db-|m-UT`(xE24+%n&4gZ%FnLi&Yo)!)!<`8*?XqEn@~PlG4oI{hPQc|SBA-3UqQo@Ok7n} zIAZ21l@78Rn`X^sw|ukiJP&AnypS?sjm)BYgRrvd_2vm*-zj>cKd@`Ab&91Yp=>6{)F%4)7auKu@lUJhnvWozKNZb^uG+`E@Y3=U zeK~|@uUf1nf;jWRpXQgYuqA_|MTZQJmcB;TNR^GlS{T8}iC6rO{IH|tWqO{uY5h}C zK^05FmfvX7IMk$1hE*ehH{+tKyHIa1DdB;;rJvHi z@XysN8q8vy7k-&z&tLr~zqICPT-#vO+|kk)bI{UP%}!$rHS^6TDD1uXt~a|@W*~+c z8vo^wJW;Rw34f4ZJkG`2_D~Yj%WRNd2O^Mwn=s<$0*s{9@EYCPT5v)bA~e(n|~6M0EUxGtnrcN&$s(s zzN8S(XWAcol9+ za@NCPqQw`HsBTqo#8>DWj&U^~+CTP~&69^IHqX$ty#E|%_>m7|XO7~asM|V+|Xy_l(fh&fm#RNST>VcoN?=6S_DPi%0~BG=sQt4-78)-@|b)lahBHa~PL<9jHj zNE~dl9PG02qUPM@QPu+cEDu-Af8%z}zB%Ihfge*{9Wd$&G+)E(=&9+o!^CjO`cwNdjVRH+WU`h_MXAOitJp5x3ifW{$igPf9iBj$(b=HI#x==`-hy-E&gI#->XR(BW&pMdcoR19-nNcPkY4s2bR7uK27u z;T-wi{Jv$d3tg^Khr|3zu!D-f$3GV1rd-BjB{h8+psmB&uHFO}3e<>-KnIym}P_oSC zslstp61Dm&1NiV|^pEbaNt}ZX!rh1GA<@OoA~K`yhAgd{@foOROsg!`F}gM(u1!jB zP-&PeM7Vk8W1#d^)-p1e`o(13g|c~w?dj`;4_bZu^_E|g3d=E{cLES;rdxmDH283uG=7WUKG<2~ea{IxU4q0( zBCeM((XD0e;O571>R|^u&Ev*jpsQGwzvm-2(K$^ICifY)?_e`E(umG-isbY(H;sFS z_TV{-u;uIR9OWMt?$V=eCxZbQ9k$3lC>2^A@xz~@XvD&(_uWN31AO=Zpf(=jB!lHh zOT3|j8)NsuFr00(J`~5*Aa@-yCcZDeY#2MK^7+byjE?yuYo4B|14zoWZPTeh8BIOF zi#LZ9-0pPpQq1&2arSg`YF@vQoGhb26RLwnlb*1L_^M-Vlx>giHItHpV-y+pt6ZEK z556G7lZ4?GS?qbNp_S;OAM&IlDs9+mIL@;^vinA)D6z3H9OHAVWxzHP_n^luSJ#<< zbsIty2lS^g(Tp%sL>_Jx%DMrbLPR&IRuN*2au@Mv3b3wQaDyVnmOp4Ma3Q*l1@}l- z7!@6xqcC>X;&3#^WC@2>d~Pt-WCFI;DSS*he8-yHfN>hl!&k7gZRoJWX*}IU_<3Dv zFh%O=_d;$wPTu#$88_QzeaYlJH`gOD^~u}%0AtVi0{v!P<5awgzdH2uJ`V|wUL*2lawezA2~fq&{P;mfB?8T6HUC*4h6A&Uoa8O-j$RT~z$aZBVg6 zzF?cyl6N zdHw?sJ7Tp$XXHMr#>SS7hWS(q4Vv|F6FxR`qoAKa__u1W&%AQI4T^VKan^IyU>zfs zE|$R$NQPNwnbWKcmi{dLjG5%b9r@2i8f!K??SvY4H+*lPY@EblJRiC1P#E;CqroIW z@amJ2xy(A56v{9|GuaTpMMj+DK>H#%Xah4-!k=}#^ zneQH-ALI49-brtya+(0Rs?MoH;W4xa=7q~HKFb7Z1nBuy5&@vrkTKXDY=saRII;oP z3R%&P2^nF-NYearIVR*J3O2Ys934KH3%!qF8Ezacu`vg0S*Oab^yt!p+xLq-xy5gM z#Kw5jI=`XA!CkZ&zAqE&VEj1=NFmPhl*4MSO=PEas`~e2-T71-1sApc|fu*Q}= zsYFnC_DZcy+zSDb@&j)&>t^-n;oK7;%>Y=GI zf;q6^#lf=W>#ky4S#ll)lVVQT_DO*_|C(c%5cIB9nT$1w zdZdwu#x~{=-+@S!Al?*`YqRX_$W)w|mL<42l`iKk-%cwYqIN?eH8`i)kL=}d1?JZx ztLCs2KGwvGug#(X==ud4yo;s5T!B+uNNV9YMyc!;d~C+efEeaJa{IVw7aDzJFOkR6 zSlJt<<>?A3vyx@)YW!;#RD~3cJ<+yt$FWi*K*_8K6|i@y5t3Ja zJ+H|ads>I+vjj95MRGK=^x>=qv2joEMXBp_IFN4`AdHaye#ZCSN+T3ki zEEWhGJ-%>&Q^eAnKgqhuJba{|Jl+AxddOr{Cxi+(@50!IbHi4?hjyY5LQ=XVPTEpb zyqVjwx1@vOf~d3GC@cCi=V6PSGqd|Ua>`SZ|JP5mkUUL?=|EPi{@-nlH?JLkAw z*sMbLgtgvL+o_1?*wJfZjcXpC5>GR~M4yu?y`l7N54Pg1hB01ME2+8Z!14qfU-Yz@ zpP&@C_lf&Q^@(4j;1EbkPV$`KhCay2t@XoalE&DO(HG;)bGsV$(1$|8a365@r{WKw zNW$FkEp^Sm<|7b9uV3Ad{N#D~L@0goVuYqx6L^T_<{Zg#=0otZT7J0Sg93< zJ_mX2IquB#Bm6s#^rsweb>du#$y5q2icb}=oNpi;{UA7T{^iK)*yGw5d6=pq_?*D>mRC&iQRDaItw;A9 zUwyN}YMcO55)^&3H9%p>YklyFuHBgRqrZ5o{^}Fg-RyE2Q&BkPr4P7!;2dsBBY5kZ z6MOo=-HSke#!JD&S`O^!e_!8v^T8YV)+p1?{L!gB{K1puy1vT%sWe=-JBLXqC(&~o zh8QdS8g_rYT88wPo<6+$(H>5CKO8#&q^#c>*j4hprAvR9e{%Kyt8YGf`?u>?8Tz14 zS1k!Et{sV(!ehcu#U^0M9yMmukRS`=W<1D5*Xuj%0?f#3B#i1AuV%Dk0a#p(np`Z z@Ny<>{{ZDV5+@v)mOs>&&;9Vv>-)pHaOkS3YygE%;ePHnZ!h`bKx(H9HZuLnZ`piM z2ii=ClLN3rsu>=c{+jNjKd(=0rLpid^!u4*y(mWJPG6kjm0Yv8i=0jt@0q$c?3SO6 zo`T_+i0(Myt98b;JQvD(PJ8@c_^spR4R6xbATVp;gA^fWJoolt6Viy=aHkR(bL6>a z0*u#QIOR-CHs#1eI_@gp{LgMJH~1i?ZcMM{ufkCb2He+@V%l*Br$@ccN`(OGk)9u)8Cl^IS$70>cnNtJOD;^adIv1mfzOH@{j*A zpUGT+)Iu&-&YD8$81J|E-`Afpo?Sod(=~-f1KG?W4N<>A4H|trX(W)6k{Oa&+m(#9NV~FpO<-jgq5FpLo=R80h%`t-tc094&kfl2?<-(g>J|r?=r^r}OA> zmp&f(`pX~wSI3@L@|*kMoPV!t)up3lQ3afNHGkNJ?ukAA%&S+P!*d|=aQo0Nz5YfK zKR4s_UId|>uzYyqbjJt5=GTt(Ez-yS$U9G{Cqm(9+ajN> zgT~ide(a0*RMefm>R_qQXttNTKUJiWa#G(o>gibbxL(-&eO>l^>-4Yw{;}#f=Ndog zTpjgwLr5GKkp=Bm^VjU9%39U~*@|iCk3RCfSN<|`f4G7d?}tSDTy`AIwQL?;#$97+ ztSvnwvYK=4p}Io0?fv>@g@5oyeJpBc$rtZF^xS26hCWZ4#Yok->p2VeHu^YSPUGG2k^A|XtmgmW>+a9E=9)4OCk5TSW^(Rd;pI_JfySLre zQLOv*sbCN46V?6wuS}=FN|eBT_p(bFq*`MXpIA`Vg(EMp(umI{;a4t?=!xmyYV?&H2P7PMKv=d+vjRBWh(As6Lj0Qcn$#3?!%y6`&&<3aj!!;n$@xk0 z*`QFf2~yb7*ZgYBR84)J;s=KZ&x_vE!tWtII60`G5(@|IFyHPr=5zVG<@(X_<1hTc z_kGCwAo)o&!Uw+XL*A!{f;S*LxN;y5=0e-ZrK)pdNED2liw(!iVbw-%n7!XMpG8kA zGUJMmr0RBj5-MyJddQOpL{O*s7%s{`6u+WXrgQwlI?smCIg$&Q{AYgqCt0wKb7$_% zm%{TugWsEv_{Fa|uJO;}cZ_9uLpG0)>jq*Vhu`WPlbLjiH(IU~Fm-o{X+n|rIebs+ zBK*FBMohVN%r4@=_@qH>4)KXqe5CL#cK)Tu;+Dei@z-rsKEYOe;uO{W-~*^lGv{e} zg4af91r84J?WZul<4pXy&Q9bMAD7uEiayKu@j6WtFdw~+#;%<5b$dDfR;X#?4us;} z-~EhV6zs>~=Rof`?o~=VM~9%M_?8J+n!&AcCV)?AP=;fE71{~UeEA>#S{QucDki=r zzHybu$j{hvT>Nr&n2+r=zY;+&dlw*cHh$KbFJ$UN=-6jIG7AR2vDH_c$iN1FmhpRt z?{%2s!?BZglURd~-k|DP8~&9Flv)o?mLI$Jz3h>-Z8i{UeJRS<(K9vL#!-~$F*1Sp z9>4-|wb7EC2gB>kF9$2`EI#_O(HBeOdGZy+=Ze2BPH_+Mi?qgP47=j(>kB=mJ%oMS z9r<0iE@an9F`Z)KGra&4x%#2EIrCiSSMf=2pI?~4w>$UPbpC{gT;8zlrl=Bb2 zc!MuoiVfHWSDf^|NDlF(^ZW;&*`LSHX6X1EeyW$cIeN{P*pA<}=H;OUB#~>P2l%!Y z!u69#KlsSz*U2UJ{M*;+{q-Mwz4pdlJGFtZ-+TGiS1Ql<#B&y|xO2F8BP#-G95X!= zS3AtF&0v5*jT?Lk8~!j1%0_T}otooBko6is#Sgz&6@Aj7$ONp`$^7Ks*zOGN$=Vl+ z!3WfQyRB%BY(65Ff(S*v1=yWtyJ{I0gB$4W-~OP!g>&~BlI$ss{JeWJ0Y~lvE4La}LgwmJ{B^=-^LrxrR*K+!NY34Y z%M z<9FfUS32e(gAJbEtbl5ub8iasSIo+HYW6cI2(;PPCVrX9hj6>)HIID%gYPzH@6^%v zv^{*@-@5)2n!;y#NN$bBu|)+fn^0}89(_q=8AGE|lG!A3qm}-*G$sPd@g2 zSN`*ry_F8$fdaX8yu3>5_^=Mm3a>SxDq|(W496V3gthog+!l-+gI^0x3>K~U0B9_I z@g1v9#%%cbQY(J<)|7{e%NhR$c6@0R)3;{wt|Y5hT-qAn?23((Ie*Is_;P_4Gx3j1 z3^!RMCcZ=O#~*wM_}}BBm6H6+W|(D1K9`SA_)O&v{7zZehxLm7tBQH}eC`H%|3AL+ zwv$WC=ZSiwBbOHn*aasRMW->jDp-wcQfvqt$sDPv&GGOq`KuGkd^o;c>O`@?JJE_` zdU788%6;TNa;;()znFK!uf=i(n|UXb!}$}T5F5S&N6!Fu`(`Au^2Zij=Z|V?HNBZ# z{Jg_J&>P3Qlh3>HhAVHIXs5)?*?J{TB9TPPY-Gp32p`^F3!lv=`TY2MT!#Dn_EX5YDwXjm4@%zo zyA%j0dpPZ8aUi>rp!dHqyG~d+l6Q>+x9T-*oC&4dQmFv;TYcH~Spj>DJ0esIt zzWNO+#A`{>E5i(Xk;Z0`sjgNLsQM^ePYfMu`tZTDpWqGSgiZetwnduxeT7P8ynTsi zel~9SC}kpn5&t6m<~Z?*-@e9Xw_7%@1cxGiwOUv!*ZAgV{^YpI;WyoHSsAi`#H6j9 zt$aSe;%xY&tQ7Q@%CCLw|GfH*c7B0V=63;TLHuy07aBFXpK@e@kz6>#YSGcv3{ghz zzVXF3=^Q@()T&z5KP7&Q>i!XZTNu&$kfkNQnO!8-_aDL+?R~C8sjF4t! z6x@c9tB)3F@nK85F<=By?G&Gi4}X@LiXJ2XmM&tvDMDVeZJcH{s6W+y1bgFn`9~ZXTFjEjziZ(}(o3vn z`%X>ZGshK%2W48h%Jnqix>9=bSGbGC-{Va~Hp{r_k-l2)R5e=9GXJFTue#GuTPtHLO_kpoE;{;<|N8ou=yCIP zN<{A~WY5T@7mLhsKlK)EER*b9LF?v{dT-&+=Hpvd_~PVB{13->Hs|DD_AU++MKR^? zVbs#s_)ceV^X6!`7vaB08NBAP@4xarcZzYI{jMLv_MN@||G4r!x9+?3(b^}k&qm0m zIJo%3!Mf<)XVROminu6NX7e>E)#+h2O$}L)eu$)~=3}XaGUgyZ_V8KMnK#)7zjPHp z_Ts=j%wK(OAJ%4maf|Pa51wLAKZDR6(r+-k<@J}An;-pDHxE9y+0Rj)g#6$aUwirP zX!kYxQ0mVy-QN2yL-92;)+QS*i|kvrv|fAPK+-?Jmin%y1ZS6N0LGw(w2!|y(vgZ*y#F}>^b>-1db)Nj=f;xC|Ft8@YI zMIq1nn~#0+?)d1{!hey9e+8a5izk@{Oplez2GHqrSUlSN&@^wrvVyP!giSlmuO%9r zW`jOGD83?gYTjdlCEZT%G_f_YKb`yp!)N?Qcc8y6-5c~LFW-9YpKRX@b^v?Vs?#fW z*DlT`JnOH$|Jl3C_q|fP=kqnu&(d`7^YSrkS5(VraZMu&zIv_2t3qXyto_-1d=_pk z^vbJk!~$p|XLVszAW2V_Pv+Y=r{jaEb~--#@C&o@YkYyT{(x!uak=@SdyXFer}KN5 zFTlMk$hvZOMZ0@2f4q3@#*LTjFKs?eK|fUioJEMtmjUO-<02&yOE|p|V-%X=6Xv@X(oCxjr1jf2;npdQ$tQM<2QW z=azp~pZ|S`@O0`r&8O4l#eLPLy7n@?{`u15<>(>(HP?sj)ax^gp0C0^Q@=iWK*f2c zD)fL#sXs~F-K&MVM;neWi6M8@tERwteOT%%cv{JMqtu2a&-F?ld~arKwAH@y=LKKw z#h-2EA?L&VSjQ(K-_mq$Dl8u&b4}hKRXUGo8jtD{dqj15STlZy(C<7sI)2CQ_~fnE k9@EG3{4s5ok?kb>|H;3ubeVRY^#A|>07*qoM6N<$f~C=$asU7T literal 0 HcmV?d00001 diff --git a/ArkWebKit/WebRenderLayout/entry/src/main/resources/base/profile/backup_config.json b/ArkWebKit/WebRenderLayout/entry/src/main/resources/base/profile/backup_config.json new file mode 100644 index 000000000..78f40ae7c --- /dev/null +++ b/ArkWebKit/WebRenderLayout/entry/src/main/resources/base/profile/backup_config.json @@ -0,0 +1,3 @@ +{ + "allowToBackupRestore": true +} \ No newline at end of file diff --git a/ArkWebKit/WebRenderLayout/entry/src/main/resources/base/profile/main_pages.json b/ArkWebKit/WebRenderLayout/entry/src/main/resources/base/profile/main_pages.json new file mode 100644 index 000000000..a632b71f1 --- /dev/null +++ b/ArkWebKit/WebRenderLayout/entry/src/main/resources/base/profile/main_pages.json @@ -0,0 +1,7 @@ +{ + "src": [ + "pages/Index", + "pages/FitPageContent", + "pages/RenderMode" + ] +} diff --git a/ArkWebKit/WebRenderLayout/entry/src/main/resources/en_US/element/string.json b/ArkWebKit/WebRenderLayout/entry/src/main/resources/en_US/element/string.json new file mode 100644 index 000000000..f618771a1 --- /dev/null +++ b/ArkWebKit/WebRenderLayout/entry/src/main/resources/en_US/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "module description" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "WebRenderLayout" + } + ] +} \ No newline at end of file diff --git a/ArkWebKit/WebRenderLayout/entry/src/main/resources/rawfile/fit_content.html b/ArkWebKit/WebRenderLayout/entry/src/main/resources/rawfile/fit_content.html new file mode 100644 index 000000000..46c149ed8 --- /dev/null +++ b/ArkWebKit/WebRenderLayout/entry/src/main/resources/rawfile/fit_content.html @@ -0,0 +1,63 @@ + + + + + + + + Fit-Content + + +
+

使用场景

+

ArkWeb(方舟Web)提供了Web组件,用于在应用程序中显示Web页面内容。常见使用场景包括:

+
    +
  • + 应用集成Web页面:应用可以在页面中使用Web组件,嵌入Web页面内容,以降低开发成本,提升开发、运营效率。

    +
  • +
  • + 浏览器网页浏览场景:浏览器类应用可以使用Web组件,打开三方网页,使用无痕模式浏览Web页面,设置广告拦截等。

    +
  • +
  • 小程序:小程序类宿主应用可以使用Web组件,渲染小程序的页面。

  • +
+
+

能力范围

+

Web组件为开发者提供了丰富的控制Web页面能力。包括:

+
    +
  • Web页面加载:声明式加载Web页面和离屏加载Web页面等。

  • +
  • 生命周期管理:组件生命周期状态变化,通知Web页面的加载状态变化等。

  • +
  • 常用属性与事件:UserAgent管理、Cookie与存储管理、字体与深色模式管理、权限管理等。

    +
  • +
  • + 与应用界面交互:自定义文本选择菜单、上下文菜单、文件上传界面等与应用界面交互能力。

    +
  • +
  • App通过JavaScriptProxy,与Web页面进行JavaScript交互。

  • +
  • 安全与隐私:无痕浏览模式、广告拦截、坚盾守护模式等。

  • +
  • 维测能力:DevTools工具调试能力,使用crashpad收集Web组件崩溃信息。 +

  • +
  • + 其他高阶能力:与原生组件同层渲染、Web组件的网络托管、Web组件的媒体播放托管、Web组件输入框拉起自定义输入法、等。

    +
  • +
+
+

约束与限制

+
    +
  • Web内核版本:ArkWeb基于谷歌Chromium内核开发,使用的Chromium版本为M114。
  • +
+
+
+ + diff --git a/ArkWebKit/WebRenderLayout/entry/src/main/resources/zh_CN/element/string.json b/ArkWebKit/WebRenderLayout/entry/src/main/resources/zh_CN/element/string.json new file mode 100644 index 000000000..8b827c36e --- /dev/null +++ b/ArkWebKit/WebRenderLayout/entry/src/main/resources/zh_CN/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "模块描述" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "WebRenderLayout" + } + ] +} \ No newline at end of file diff --git a/ArkWebKit/WebRenderLayout/entry/src/mock/mock-config.json5 b/ArkWebKit/WebRenderLayout/entry/src/mock/mock-config.json5 new file mode 100644 index 000000000..b9a78e201 --- /dev/null +++ b/ArkWebKit/WebRenderLayout/entry/src/mock/mock-config.json5 @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ +} \ No newline at end of file diff --git a/ArkWebKit/WebRenderLayout/entry/src/ohosTest/ets/test/Ability.test.ets b/ArkWebKit/WebRenderLayout/entry/src/ohosTest/ets/test/Ability.test.ets new file mode 100644 index 000000000..1375e7a47 --- /dev/null +++ b/ArkWebKit/WebRenderLayout/entry/src/ohosTest/ets/test/Ability.test.ets @@ -0,0 +1,97 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium'; +import { abilityDelegatorRegistry, Driver, ON } from '@kit.TestKit'; +import { UIAbility, Want } from '@kit.AbilityKit'; + +const delegator: abilityDelegatorRegistry.AbilityDelegator = abilityDelegatorRegistry.getAbilityDelegator(); +const bundleName = abilityDelegatorRegistry.getArguments().bundleName; +export default function abilityTest() { + describe('ActsAbilityTest', () => { + // Defines a test suite. Two parameters are supported: test suite name and test suite function. + beforeAll(() => { + // Presets an action, which is performed only once before all test cases of the test suite start. + // This API supports only one parameter: preset action function. + }) + beforeEach(() => { + // Presets an action, which is performed before each unit test case starts. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: preset action function. + }) + afterEach(() => { + // Presets a clear action, which is performed after each unit test case ends. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: clear action function. + }) + afterAll(() => { + // Presets a clear action, which is performed after all test cases of the test suite end. + // This API supports only one parameter: clear action function. + }) + + /* + * 打开应用,点击 RenderMode 按钮 + * 使用renderMode设置渲染模式为同步渲染模式 + */ + it('RenderMode',0, async (done: Function) => { + console.info('uitest: RenderMode begin'); + const want: Want = { + bundleName: bundleName, + abilityName: 'EntryAbility' + }; + await delegator.startAbility(want); + const driver = Driver.create(); + await driver.delayMs(1000); + const ability: UIAbility = await delegator.getCurrentTopAbility(); + console.info('get top ability'); + expect(ability.context.abilityInfo.name).assertEqual('EntryAbility'); + await driver.delayMs(5000); + + const button1 = await driver.findComponent(ON.text('RenderMode')); + await button1.click(); + await driver.delayMs(1000); + + const web1 = await driver.findComponent(ON.type('Web')); + let src: string = await web1.getText(); + expect(src).assertContain('www.example.com'); + + await driver.pressBack(); + console.info('uitest: RenderMode end'); + done(); + }); + + /* + * 点击 FitPageContent 按钮 + * 使用Web组件大小自适应页面内容布局模式使Web组件的大小根据页面内容自适应变化 + */ + it('FitPageContent',0, async (done: Function) => { + console.info('uitest: FitPageContent begin'); + const driver = Driver.create(); + await driver.delayMs(1000); + + const button1 = await driver.findComponent(ON.text('FitPageContent')); + await button1.click(); + await driver.delayMs(1000); + + const web1 = await driver.findComponent(ON.type('Web')); + let src: string = await web1.getText(); + expect(src).assertContain('fit_content.html'); + + await driver.pressBack(); + console.info('uitest: FitPageContent end'); + done(); + }); + }) +} diff --git a/ArkWebKit/WebRenderLayout/entry/src/ohosTest/ets/test/List.test.ets b/ArkWebKit/WebRenderLayout/entry/src/ohosTest/ets/test/List.test.ets new file mode 100644 index 000000000..1eac52fce --- /dev/null +++ b/ArkWebKit/WebRenderLayout/entry/src/ohosTest/ets/test/List.test.ets @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import abilityTest from './Ability.test'; + +export default function testsuite() { + abilityTest(); +} \ No newline at end of file diff --git a/ArkWebKit/WebRenderLayout/entry/src/ohosTest/module.json5 b/ArkWebKit/WebRenderLayout/entry/src/ohosTest/module.json5 new file mode 100644 index 000000000..c3fd9dda3 --- /dev/null +++ b/ArkWebKit/WebRenderLayout/entry/src/ohosTest/module.json5 @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ + "module": { + "name": "entry_test", + "type": "feature", + "deviceTypes": [ + "default", + "tablet" + ], + "deliveryWithInstall": true, + "installationFree": false + } +} diff --git a/ArkWebKit/WebRenderLayout/entry/src/test/List.test.ets b/ArkWebKit/WebRenderLayout/entry/src/test/List.test.ets new file mode 100644 index 000000000..f1186b1f5 --- /dev/null +++ b/ArkWebKit/WebRenderLayout/entry/src/test/List.test.ets @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import localUnitTest from './LocalUnit.test'; + +export default function testsuite() { + localUnitTest(); +} \ No newline at end of file diff --git a/ArkWebKit/WebRenderLayout/entry/src/test/LocalUnit.test.ets b/ArkWebKit/WebRenderLayout/entry/src/test/LocalUnit.test.ets new file mode 100644 index 000000000..7fc57c77d --- /dev/null +++ b/ArkWebKit/WebRenderLayout/entry/src/test/LocalUnit.test.ets @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium'; + +export default function localUnitTest() { + describe('localUnitTest', () => { + // Defines a test suite. Two parameters are supported: test suite name and test suite function. + beforeAll(() => { + // Presets an action, which is performed only once before all test cases of the test suite start. + // This API supports only one parameter: preset action function. + }); + beforeEach(() => { + // Presets an action, which is performed before each unit test case starts. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: preset action function. + }); + afterEach(() => { + // Presets a clear action, which is performed after each unit test case ends. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: clear action function. + }); + afterAll(() => { + // Presets a clear action, which is performed after all test cases of the test suite end. + // This API supports only one parameter: clear action function. + }); + it('assertContain', 0, () => { + // Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function. + let a = 'abc'; + let b = 'b'; + // Defines a variety of assertion methods, which are used to declare expected boolean conditions. + expect(a).assertContain(b); + expect(a).assertEqual(a); + }); + }); +} \ No newline at end of file diff --git a/ArkWebKit/WebRenderLayout/hvigor/hvigor-config.json5 b/ArkWebKit/WebRenderLayout/hvigor/hvigor-config.json5 new file mode 100644 index 000000000..43beb743c --- /dev/null +++ b/ArkWebKit/WebRenderLayout/hvigor/hvigor-config.json5 @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ + "modelVersion": "5.0.0", + "dependencies": { + }, + "execution": { + // "analyze": "normal", /* Define the build analyze mode. Value: [ "normal" | "advanced" | false ]. Default: "normal" */ + // "daemon": true, /* Enable daemon compilation. Value: [ true | false ]. Default: true */ + // "incremental": true, /* Enable incremental compilation. Value: [ true | false ]. Default: true */ + // "parallel": true, /* Enable parallel compilation. Value: [ true | false ]. Default: true */ + // "typeCheck": false, /* Enable typeCheck. Value: [ true | false ]. Default: false */ + }, + "logging": { + // "level": "info" /* Define the log level. Value: [ "debug" | "info" | "warn" | "error" ]. Default: "info" */ + }, + "debugging": { + // "stacktrace": false /* Disable stacktrace compilation. Value: [ true | false ]. Default: false */ + }, + "nodeOptions": { + // "maxOldSpaceSize": 8192 /* Enable nodeOptions maxOldSpaceSize compilation. Unit M. Used for the daemon process. Default: 8192*/ + // "exposeGC": true /* Enable to trigger garbage collection explicitly. Default: true*/ + } +} diff --git a/ArkWebKit/WebRenderLayout/hvigorfile.ts b/ArkWebKit/WebRenderLayout/hvigorfile.ts new file mode 100644 index 000000000..1307c0330 --- /dev/null +++ b/ArkWebKit/WebRenderLayout/hvigorfile.ts @@ -0,0 +1,21 @@ +/* +* Copyright (c) 2025 Huawei Device Co., Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +import { appTasks } from '@ohos/hvigor-ohos-plugin'; + +export default { + system: appTasks, /* Built-in plugin of Hvigor. It cannot be modified. */ + plugins:[] /* Custom plugin to extend the functionality of Hvigor. */ +} diff --git a/ArkWebKit/WebRenderLayout/oh-package.json5 b/ArkWebKit/WebRenderLayout/oh-package.json5 new file mode 100644 index 000000000..93f097993 --- /dev/null +++ b/ArkWebKit/WebRenderLayout/oh-package.json5 @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ + "modelVersion": "5.0.0", + "description": "Please describe the basic information.", + "dependencies": { + }, + "devDependencies": { + "@ohos/hypium": "1.0.19", + "@ohos/hamock": "1.0.0" + } +} diff --git a/ArkWebKit/WebRenderLayout/ohosTest.md b/ArkWebKit/WebRenderLayout/ohosTest.md new file mode 100644 index 000000000..adb0630d5 --- /dev/null +++ b/ArkWebKit/WebRenderLayout/ohosTest.md @@ -0,0 +1,12 @@ +#### renderMode + +| 测试功能 | 预置条件 | 输入 | 预期输出 | 是否自动 | 测试结果 | +| --------------- | ------------ | ------------ | -------------------------- | -------- | -------- | +| Web组件渲染模式 | 设备运转正常 | 应用启动成功 | 设置渲染模式为同步渲染模式 | Yes | Pass | + +#### FitPageContent + +| 测试功能 | 预置条件 | 输入 | 预期输出 | 是否自动 | 测试结果 | +| ----------------------------- | ------------ | ------------ | ------------------------------------- | -------- | -------- | +| Web组件大小自适应页面内容布局 | 设备运转正常 | 应用启动成功 | 使Web组件的大小根据页面内容自适应变化 | Yes | Pass | + diff --git a/ArkWebKit/WebRenderLayout/screenshots/FitPageContent.png b/ArkWebKit/WebRenderLayout/screenshots/FitPageContent.png new file mode 100644 index 0000000000000000000000000000000000000000..9adcb9f829555ac56fb968df666af85a404fff83 GIT binary patch literal 147653 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 z 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%0D`LCz%XdIE{kzyK`&5fy75*h&31!(~_Hi@*D*f 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 literal 0 HcmV?d00001 -- Gitee