diff --git a/.gitattributes b/.gitattributes
index 38f7e4a05f8bbf9b10de0237cc0274faff4f94c2..a24ab2a4efe1b867f9034e867f50efd35e9b02ab 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,2 +1,2 @@
-ohos_nweb/prebuilts/arm/NWeb.hap filter=lfs diff=lfs merge=lfs -text
-ohos_nweb/prebuilts/arm64/NWeb.hap filter=lfs diff=lfs merge=lfs -text
+ohos_nweb/prebuilts/arm/ArkWebCore.hap filter=lfs diff=lfs merge=lfs -text
+ohos_nweb/prebuilts/arm64/ArkWebCore.hap filter=lfs diff=lfs merge=lfs -text
diff --git a/OAT.xml b/OAT.xml
index 4aa4f7addfb3f9df242edad160a3b0c4a0d033c1..71e70d97cdaaa5ccd0d99e2abf5110975db4e3d9 100644
--- a/OAT.xml
+++ b/OAT.xml
@@ -64,6 +64,7 @@ Note:If the text contains special characters, please escape them according to th
+
diff --git a/README.md b/README.md
index e98529330f03c4dc5e460522c4ea64d1cc840711..c892749a26224ce02236dc8f36872c99a07060ee 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@ Below is the software architecture.
.
├── ohos_nweb # OpenHarmony adaptation code
│ ├── include
-│ ├── prebuilts # NWeb.hap, built based on the third_party_chromium source code repository
+│ ├── prebuilts # ArkWebCore.hap, built based on the third_party_chromium source code repository
│ └── src
└── test # nwebview test code
```
diff --git a/README_ZH.md b/README_ZH.md
index 1361813fd6f97bb3bce97e7ed6d9b4e3d8ef4b7e..9b72a303ef7a8ee3cc560750b2787ee9cf1aeabc 100644
--- a/README_ZH.md
+++ b/README_ZH.md
@@ -4,7 +4,7 @@
- [相关仓](#相关仓)
## 简介
### 内容介绍
-nweb是OpenHarmony webview组件的Native引擎,基于Chromium和CEF构建。
+arkweb是OpenHarmony webview组件的Native引擎,基于Chromium和CEF构建。
### 软件架构
软件架构说明

@@ -17,7 +17,7 @@ nweb是OpenHarmony webview组件的Native引擎,基于Chromium和CEF构建。
.
├── ohos_nweb # openharmony适配代码
│ ├── include
-│ ├── prebuilts # NWeb.hap,基于third_party_chromium源码仓构建
+│ ├── prebuilts # ArkWebCore.hap,基于third_party_chromium源码仓构建
│ └── src
└── test # nwebview测试代码
```
diff --git a/bundle.json b/bundle.json
index 068d0402b2a09b04371314a2a7b7362189057e92..8396495d0c06a28a8004b6f862b7a81a8f32f67f 100644
--- a/bundle.json
+++ b/bundle.json
@@ -31,6 +31,7 @@
"access_token",
"ace_engine",
"app_file_service",
+ "appspawn",
"audio_framework",
"av_codec",
"av_session",
@@ -70,28 +71,29 @@
"print_fwk",
"relational_store",
"resource_schedule_service",
+ "safwk",
"samgr",
+ "sensor",
"soc_perf",
"time_service",
"window_manager",
"netstack",
"protobuf",
- "libxml2"
-
+ "libxml2",
+ "openssl"
],
"third_party": [
"chromium",
- "cef"
+ "cef"
]
},
"build": {
"sub_component": [
- "//base/web/webview/interfaces/inner_api:web_inner_kit",
"//base/web/webview/interfaces/kits/cj:cj_webview_ffi",
"//base/web/webview/interfaces/kits/napi:webview_napi",
"//base/web/webview/interfaces/kits/napi:neterrorlist_napi",
"//base/web/webview/interfaces/native:webview_ndk",
- "//base/web/webview/ohos_nweb:chrome_crashpad_handler",
+ "//base/web/webview/ohos_nweb:chrome_crashpad_handler",
"//base/web/webview/ohos_nweb:libnweb",
"//base/web/webview/ohos_nweb:nweb_hap",
"//base/web/webview/ohos_adapter:nweb_ohos_adapter",
@@ -120,15 +122,6 @@
},
"name": "//base/web/webview/ohos_nweb:libnweb"
},
- {
- "header": {
- "header_files": [
- "web_clipboard_controller.h"
- ],
- "header_base": "//base/web/webview/interfaces/inner_api/include"
- },
- "name": "//base/web/webview/interfaces/inner_api:web_inner_kit"
- },
{
"header": {
"header_files": [
@@ -162,13 +155,28 @@
"//base/web/webview/test/fuzztest/ontouchrelease_fuzzer:fuzztest",
"//base/web/webview/test/fuzztest/registerarkjsfunction_fuzzer:fuzztest",
"//base/web/webview/test/fuzztest/zoom_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/camera_adapter/formatadapter_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/camera_adapter/videocapturerangeadapter_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/camera_adapter/videocontrolsupportadapter_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/camera_adapter/videodevicedescriptoradapter_fuzzer:fuzztest",
"//base/web/webview/test/fuzztest/putbackgroundcolor_fuzzer:fuzztest",
"//base/web/webview/test/fuzztest/unregisterarkjsfunction_fuzzer:fuzztest",
"//base/web/webview/test/fuzztest/sendkeyevent_fuzzer:fuzztest",
"//base/web/webview/test/fuzztest/ohos_adapter/aafwk_adapter/aafwkrenderscheduler_fuzzer:fuzztest",
"//base/web/webview/test/fuzztest/ohos_adapter/aafwk_adapter/aafwkstartrender_fuzzer:fuzztest",
"//base/web/webview/test/fuzztest/ohos_adapter/aafwk_adapter/aafwkattachrender_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/aafwk_adapter/aafwkbrowserclientadapter_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/aafwk_adapter/aafwkbrowserhost_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/accesstoken_fuzzer:fuzztest",
"//base/web/webview/test/fuzztest/ohos_adapter/audio_adapter:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/resschedadapter_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/backgroundtask_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/datashareadapter_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/datetimeformat_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/enterprisedevicemanagement_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/eventhandler_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/printmanager_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/setandgetrunwebinitedcallback_fuzzer:fuzztest",
"//base/web/webview/test/fuzztest/ohos_adapter/interfaces/createaafwk_fuzzer:fuzztest",
"//base/web/webview/test/fuzztest/ohos_adapter/interfaces/createpowerclient_fuzzer:fuzztest",
"//base/web/webview/test/fuzztest/ohos_adapter/interfaces/createdisplaymgr_fuzzer:fuzztest",
@@ -210,6 +218,12 @@
"//base/web/webview/test/fuzztest/ohos_adapter/distributeddatamgr_adapter/webdatabase/savehttpauthcredentials_fuzzer:fuzztest",
"//base/web/webview/test/fuzztest/ohos_adapter/distributeddatamgr_adapter/webdatabase/setpermissionbyorigin_fuzzer:fuzztest",
"//base/web/webview/test/fuzztest/ohos_adapter/power_mgr_adapter:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/keystore_adapter/keystoreadapterimpl_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/location_adapter/createlocationproxyadapter_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/ohosimageadapter_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/graphic_adapter/nativeimageadapter_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/graphic_adapter/vsyncadapter_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/flowbufferadapter_fuzzer:fuzztest",
"//base/web/webview/test/fuzztest/ohos_adapter/multimodalinput_adapter/getdeviceids_fuzzer:fuzztest",
"//base/web/webview/test/fuzztest/ohos_adapter/multimodalinput_adapter/getkeyboardtype_fuzzer:fuzztest",
"//base/web/webview/test/fuzztest/ohos_adapter/multimodalinput_adapter/ondeviceadded_fuzzer:fuzztest",
@@ -234,7 +248,17 @@
"//base/web/webview/test/fuzztest/ohos_adapter/pasteboard_adapter/removepasteboardchangedobserver_fuzzer:fuzztest",
"//base/web/webview/test/fuzztest/ohos_adapter/cert_mgr_adapter/getcertmaxsize_fuzzer:fuzztest",
"//base/web/webview/test/fuzztest/ohos_adapter/cert_mgr_adapter/getusercertdata_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/media_adapter/bufferinfoadapterimpl_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/media_adapter/capabilitydataadapterimpl_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/media_adapter/codecformatadapterimpl_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/media_adapter/mediaavsessionadapterimpl_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/media_adapter/mediacodecdecoderadapterimpl_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/media_adapter/mediacodecencoderadapterimpl_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/media_adapter/mediacodeclistadapterimpl_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/media_adapter/ohosbufferadapterimpl_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/media_adapter/playerframeworkadapterimpl_fuzzer:fuzztest",
"//base/web/webview/test/fuzztest/ohos_adapter/ashmemcreate_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_adapter/systemproperties_fuzzer:fuzztest",
"//base/web/webview/test/fuzztest/ohos_nweb/loadlib_fuzzer:fuzztest",
"//base/web/webview/test/fuzztest/ohos_nweb/getcookiemanager_fuzzer:fuzztest",
"//base/web/webview/test/fuzztest/ohos_nweb/getnweb_fuzzer:fuzztest",
@@ -245,6 +269,10 @@
"//base/web/webview/test/fuzztest/ohos_nweb/flushbuffer_fuzzer:fuzztest",
"//base/web/webview/test/fuzztest/ohos_nweb/sethttpdns_fuzzer:fuzztest",
"//base/web/webview/test/fuzztest/ohos_nweb/selectcertrequest_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_nweb/napi_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_nweb/initandrun_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_nweb/nwebhelper_fuzzer:fuzztest",
+ "//base/web/webview/test/fuzztest/ohos_nweb/hisysevent_fuzzer:fuzztest",
"//base/web/webview/test/unittest/nweb_value_test:unittest",
"//base/web/webview/test/unittest/display_manager_adapter_impl_test:unittest",
"//base/web/webview/test/unittest/net_connect_adapter_test:unittest",
@@ -261,6 +289,7 @@
"//base/web/webview/test/unittest/ohos_adapter/res_sched_adapter_impl_test:unittest",
"//base/web/webview/test/unittest/ohos_adapter/web_data_base_adapter_impl_test:unittest",
"//base/web/webview/test/unittest/ohos_adapter/ohos_resource_adapter_test:unittest",
+ "//base/web/webview/test/unittest/ohos_adapter/ohos_image_adapter:unittest",
"//base/web/webview/test/unittest/ohos_adapter/graphic_adapter_test:unittest",
"//base/web/webview/test/unittest/ohos_adapter/datashare_adapter_impl_test:unittest",
"//base/web/webview/test/unittest/ohos_adapter/ohos_init_web_adapter:unittest",
@@ -286,7 +315,7 @@
"//base/web/webview/test/unittest/ohos_adapter/imf_adapter_test:unittest",
"//base/web/webview/test/unittest/ohos_adapter/media_adapter_test:unittest",
"//base/web/webview/test/unittest/ohos_adapter/flowbuffer_adapter_impl_test:unittest",
- "//base/web/webview/test/unittest/inner_api_test/clipboard_controller_test:unittest"
+ "//base/web/webview/test/unittest/ohos_adapter/sensor_adapter_impl_test:unittest"
]
}
}
diff --git a/config.gni b/config.gni
index cd08c73099ef4895e139c54cafea6c0faac24c82..efdafbae1a9d238be91ce75277736d7280b9ab3d 100644
--- a/config.gni
+++ b/config.gni
@@ -24,6 +24,8 @@ declare_args() {
webview_print_enable = true
webview_enterprise_device_manager_enable = true
webview_media_avsession_enable = true
+ webview_sensors_sensor_enable = true
+ webview_graphic_2d_ext_enable = true
if (defined(global_parts_info) &&
!defined(global_parts_info.resourceschedule_soc_perf)) {
@@ -75,4 +77,24 @@ declare_args() {
!defined(global_parts_info.multimedia_av_session)) {
webview_media_avsession_enable = false
}
+ if (defined(global_parts_info) &&
+ !defined(global_parts_info.sensors_sensor)) {
+ webview_sensors_sensor_enable = false
+ }
+ if (defined(global_parts_info) &&
+ !defined(global_parts_info.graphic_graphic_2d_ext)) {
+ webview_graphic_2d_ext_enable = false
+ }
}
+
+webview_package_name = "com.ohos.arkwebcore"
+webview_hap_path =
+ "/module_update/ArkWebCore/app/${webview_package_name}/ArkWebCore.hap"
+webview_sandbox_path = "/data/storage/el1/bundle/arkwebcore/"
+webview_sandbox_hap_path = "${webview_sandbox_path}entry.hap"
+webview_sandbox_lib_path = "${webview_sandbox_path}libs/${target_cpu}"
+webview_sandbox_relative_lib_path = "arkwebcore/libs/${target_cpu}"
+webview_crashpad_handler_so = "libarkweb_crashpad_handler.so"
+webview_engine_so = "libarkweb_engine.so"
+webview_app_hap_path = "/system/app/ArkWeb/ArkWebCore.hap"
+webview_app_hap_path2 = "/system/app/${webview_package_name}/ArkWebCore.hap"
diff --git a/interfaces/inner_api/src/web_clipboard_controller.cpp b/interfaces/inner_api/src/web_clipboard_controller.cpp
deleted file mode 100644
index 754fc1f9304a39cf567a60a52150353263f3d79d..0000000000000000000000000000000000000000
--- a/interfaces/inner_api/src/web_clipboard_controller.cpp
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * Copyright (C) 2023 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.
- */
-
-#include "web_clipboard_controller.h"
-
-#include
-
-#include "nweb_log.h"
-
-namespace {
-const std::string IMG_TAG_PATTERN = "";
-const std::string IMG_TAG_SRC_PATTERN = "src=(['\"])(.*?)\\1";
-const std::string IMG_TAG_SRC_HEAD = "src=\"";
-const std::string IMG_LOCAL_URI = "file:///";
-const std::string IMG_LOCAL_PATH = "://";
-constexpr uint32_t FOUR_BYTES = 4;
-constexpr uint32_t EIGHT_BIT = 8;
-
-struct Cmp {
- bool operator()(const uint32_t& lhs, const uint32_t& rhs) const
- {
- return lhs > rhs;
- }
-};
-} // namespace
-
-namespace OHOS {
-namespace NWeb {
-
-// static
-WebClipboardController& WebClipboardController::GetInstance()
-{
- static WebClipboardController instance;
- return instance;
-}
-
-std::shared_ptr WebClipboardController::SplitHtml(std::shared_ptr html) noexcept
-{
- std::vector> matchVec = SplitHtmlWithImgLabel(html);
- std::map> imgSrcMap = SplitHtmlWithImgSrcLabel(matchVec);
- std::shared_ptr pasteData = BuildPasteData(html, imgSrcMap);
- return pasteData;
-}
-
-std::shared_ptr WebClipboardController::RebuildHtml(
- std::shared_ptr pasteData) noexcept
-{
- std::vector> pasteDataRecords = pasteData->AllRecords();
- std::shared_ptr htmlData;
- std::map, Cmp> replaceUris;
-
- for (auto& item : pasteDataRecords) {
- std::shared_ptr html = item->GetHtmlText();
- if (html) {
- htmlData = html;
- }
- std::shared_ptr uri = item->GetUri();
- std::shared_ptr customData = item->GetCustomData();
- if (!uri || !customData) {
- continue;
- }
- std::map> customItemData = customData->GetItemData();
- for (auto& itemData : customItemData) {
- for (uint32_t i = 0; i < itemData.second.size(); i += FOUR_BYTES) {
- uint32_t offset = static_cast(itemData.second[i]) |
- static_cast(itemData.second[i + 1] << 8) |
- static_cast(itemData.second[i + 2] << 16) |
- static_cast(itemData.second[i + 3] << 24);
- replaceUris[offset] = std::make_pair(uri->ToString(), itemData.first);
- }
- }
- }
-
- RemoveAllRecord(pasteData);
- for (auto& replaceUri : replaceUris) {
- htmlData->replace(replaceUri.first, replaceUri.second.second.size(), replaceUri.second.first);
- }
- pasteData->AddHtmlRecord(*htmlData);
- return htmlData;
-}
-
-std::vector> WebClipboardController::SplitHtmlWithImgLabel(
- const std::shared_ptr html) noexcept
-{
- std::smatch results;
- std::string pattern(IMG_TAG_PATTERN);
- std::regex r(pattern);
- std::string::const_iterator iterStart = html->begin();
- std::string::const_iterator iterEnd = html->end();
- std::vector> matchVec;
-
- while (std::regex_search(iterStart, iterEnd, results, r)) {
- std::string tmp = results[0];
- iterStart = results[0].second;
- uint32_t offset = static_cast(results[0].first - html->begin());
-
- matchVec.emplace_back(std::make_pair(tmp, offset));
- }
-
- return matchVec;
-}
-
-std::map> WebClipboardController::SplitHtmlWithImgSrcLabel(
- const std::vector>& matchVec) noexcept
-{
- std::map> res;
- std::smatch match;
- std::regex re(IMG_TAG_SRC_PATTERN);
- for (auto& node : matchVec) {
- std::string::const_iterator iterStart = node.first.begin();
- std::string::const_iterator iterEnd = node.first.end();
-
- while (std::regex_search(iterStart, iterEnd, match, re)) {
- std::string tmp = match[0];
- iterStart = match[0].second;
- uint32_t offset = static_cast(match[0].first - node.first.begin());
- tmp = tmp.substr(IMG_TAG_SRC_HEAD.size());
- tmp.pop_back();
- if (!IsLocalURI(tmp)) {
- continue;
- }
- offset += IMG_TAG_SRC_HEAD.size() + node.second;
- for (uint32_t i = 0; i < FOUR_BYTES; i++) {
- res[tmp].emplace_back((offset >> (EIGHT_BIT * i)) & 0xff);
- }
- }
- }
- return res;
-}
-
-std::shared_ptr WebClipboardController::BuildPasteData(
- std::shared_ptr html, const std::map>& imgSrcMap) noexcept
-{
- std::shared_ptr pasteData = std::make_shared();
- pasteData->AddHtmlRecord(*html);
- for (auto& item : imgSrcMap) {
- MiscServices::PasteDataRecord::Builder builder(MiscServices::MIMETYPE_TEXT_URI);
- auto uri = std::make_shared(item.first);
- builder.SetUri(uri);
- auto customData = std::make_shared();
-
- customData->AddItemData(item.first, item.second);
- builder.SetCustomData(customData);
- auto record = builder.Build();
- pasteData->AddRecord(record);
- }
- return pasteData;
-}
-
-void WebClipboardController::RemoveAllRecord(std::shared_ptr pasteData) noexcept
-{
- std::size_t recordCount = pasteData->GetRecordCount();
- for (uint32_t i = 0; i < recordCount; i++) {
- if (!pasteData->RemoveRecordAt(0)) {
- WVLOG_E("WebClipboardController RemoveRecord filed, i=%{public}u", i);
- }
- }
-}
-
-bool WebClipboardController::IsLocalURI(std::string& uri) noexcept
-{
- return uri.substr(0, IMG_LOCAL_URI.size()) == IMG_LOCAL_URI || uri.find(IMG_LOCAL_PATH) == std::string::npos;
-}
-} // namespace NWeb
-} // namespace OHOS
diff --git a/interfaces/kits/cj/BUILD.gn b/interfaces/kits/cj/BUILD.gn
index 3603933fbc87c3859fe961c564af806ead333112..22acdd416eaaff74d3ca9be709aa3a3279cb7753 100644
--- a/interfaces/kits/cj/BUILD.gn
+++ b/interfaces/kits/cj/BUILD.gn
@@ -17,6 +17,7 @@ config("cj_web_public_config") {
visibility = [ ":*" ]
include_dirs = [
"include",
+ "$target_gen_dir/../napi/protos",
"../../native",
]
}
@@ -33,7 +34,15 @@ ohos_shared_library("cj_webview_ffi") {
if (product_name != "ohos-sdk") {
sources = [
+ "$target_gen_dir/../napi/protos/web_download.pb.cc",
+ "$target_gen_dir/../napi/protos/web_download.pb.h",
+ "src/geolocation_permission.cpp",
+ "src/native_media_player_impl.cpp",
"src/web_cookie_manager.cpp",
+ "src/web_data_base.cpp",
+ "src/web_download_delegate_impl.cpp",
+ "src/web_download_item_impl.cpp",
+ "src/web_download_manager_impl.cpp",
"src/webview_controller_impl.cpp",
"src/webview_ffi.cpp",
"src/webview_javascript_execute_callback.cpp",
@@ -45,6 +54,7 @@ ohos_shared_library("cj_webview_ffi") {
"../../../ohos_adapter:nweb_ohos_adapter",
"../../../ohos_nweb:libnweb",
"../../native:ohweb",
+ "../napi/protos:proto_gen",
]
external_deps = [
@@ -60,6 +70,7 @@ ohos_shared_library("cj_webview_ffi") {
"napi:ace_napi",
"napi:cj_bind_ffi",
"napi:cj_bind_native",
+ "protobuf:protobuf_lite",
]
} else {
defines += [ "PREVIEWER" ]
diff --git a/interfaces/inner_api/include/web_clipboard_controller.h b/interfaces/kits/cj/include/geolocation_permission.h
similarity index 33%
rename from interfaces/inner_api/include/web_clipboard_controller.h
rename to interfaces/kits/cj/include/geolocation_permission.h
index 11059948d32b8012e19bb1057fcd4039ce313aa1..27f9d21b1a6aabf1707b5eb13e7e66afb273dfaa 100644
--- a/interfaces/inner_api/include/web_clipboard_controller.h
+++ b/interfaces/kits/cj/include/geolocation_permission.h
@@ -1,56 +1,52 @@
-/*
- * Copyright (C) 2023 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.
- */
-
-#ifndef WEB_CLIPBORD_CONTROLLER_H
-#define WEB_CLIPBORD_CONTROLLER_H
-
-#include