Signed-off-by: lifansheng <lifansheng1@huawei.com>

On branch OpenHarmony-3.0-LTS
 Your branch is up to date with 'origin/OpenHarmony-3.0-LTS'.

 Changes to be committed:
	modified:   convertxml/BUILD.gn
	modified:   convertxml/native_module_convertxml.cpp
	modified:   uri/BUILD.gn
	modified:   uri/native_module_uri.cpp
	modified:   url/BUILD.gn
	modified:   url/native_module_url.cpp
This commit is contained in:
lifansheng
2021-09-26 20:37:50 +08:00
parent e2baadf8d2
commit 668d1c01bd
6 changed files with 147 additions and 9 deletions
+36
View File
@@ -11,16 +11,51 @@
# See the License for the specific language governing permissions and
# limitations under the License.
import("//ark/ts2abc/ts2panda/ts2abc_config.gni")
import("//build/ohos.gni")
import("//build/ohos/ace/ace.gni")
import("//foundation/ace/ace_engine/ace_config.gni")
# compile .js to .abc.
action("gen_convertxml_abc") {
visibility = [ ":*" ]
script = "//ark/ts2abc/ts2panda/scripts/generate_js_bytecode.py"
args = [
"--src-js",
rebase_path(
"//base/compileruntime/js_api_module/convertxml/js_convertxml.js"),
"--dst-file",
rebase_path(target_out_dir + "/convertxml.abc"),
"--node",
rebase_path("${node_path}"),
"--frontend-tool-path",
rebase_path("${ts2abc_build_path}"),
"--node-modules",
rebase_path("${node_modules}"),
]
deps = [ "//ark/ts2abc/ts2panda:ark_ts2abc_build" ]
inputs = [ "//base/compileruntime/js_api_module/convertxml/js_convertxml.js" ]
outputs = [ target_out_dir + "/convertxml.abc" ]
}
base_output_path = get_label_info(":js_convertxml", "target_out_dir")
js_xml_obj_path = base_output_path + "/convertxml.o"
gen_js_obj("js_convertxml") {
input = "//base/compileruntime/js_api_module/convertxml/js_convertxml.js"
output = js_xml_obj_path
}
abc_output_path = get_label_info(":convertxml_abc", "target_out_dir")
convertxml_abc_obj_path = abc_output_path + "/convertxml_abc.o"
gen_js_obj("convertxml_abc") {
input = "$target_out_dir/convertxml.abc"
output = convertxml_abc_obj_path
dep = ":gen_convertxml_abc"
}
ohos_shared_library("convertxml") {
include_dirs = [
"//third_party/icu/icu4c/source/common",
@@ -36,6 +71,7 @@ ohos_shared_library("convertxml") {
]
deps = [
":convertxml_abc",
":js_convertxml",
"//base/compileruntime/js_api_module/convertxml/:js_convertxml",
"//foundation/ace/napi/:ace_napi",
+12
View File
@@ -19,6 +19,8 @@
extern const char _binary_js_convertxml_js_start[];
extern const char _binary_js_convertxml_js_end[];
extern const char _binary_convertxml_abc_start[];
extern const char _binary_convertxml_abc_end[];
static napi_value ConvertXmlConstructor(napi_env env, napi_callback_info info)
{
@@ -95,6 +97,16 @@ __attribute__((visibility("default"))) void NAPI_convertxml_GetJSCode(const char
*bufLen = _binary_js_convertxml_js_end - _binary_js_convertxml_js_start;
}
}
extern "C"
__attribute__((visibility("default"))) void NAPI_convertxml_GetABCCode(const char** buf, int* buflen)
{
if (buf != nullptr) {
*buf = _binary_convertxml_abc_start;
}
if (buflen != nullptr) {
*buflen = _binary_convertxml_abc_end - _binary_convertxml_abc_start;
}
}
static napi_module ConvertXmlModule = {
.nm_version = 1,
+34 -1
View File
@@ -10,9 +10,41 @@
# 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("//ark/ts2abc/ts2panda/ts2abc_config.gni")
import("//build/ohos.gni")
import("//build/ohos/ace/ace.gni")
import("//foundation/ace/ace_engine/ace_config.gni")
# compile .js to .abc.
action("gen_uri_abc") {
visibility = [ ":*" ]
script = "//ark/ts2abc/ts2panda/scripts/generate_js_bytecode.py"
args = [
"--src-js",
rebase_path("//base/compileruntime/js_api_module/uri/js_uri.js"),
"--dst-file",
rebase_path(target_out_dir + "/uri.abc"),
"--node",
rebase_path("${node_path}"),
"--frontend-tool-path",
rebase_path("${ts2abc_build_path}"),
"--node-modules",
rebase_path("${node_modules}"),
]
deps = [ "//ark/ts2abc/ts2panda:ark_ts2abc_build"]
inputs = [ "//base/compileruntime/js_api_module/uri/js_uri.js" ]
outputs = [ target_out_dir + "/uri.abc" ]
}
abc_output_path = get_label_info(":uri_abc", "target_out_dir")
uri_abc_obj_path = abc_output_path + "/uri_abc.o"
gen_js_obj("uri_abc") {
input = "$target_out_dir/uri.abc"
output = uri_abc_obj_path
dep = ":gen_uri_abc"
}
base_output_path = get_label_info(":js_uri", "target_out_dir")
js_uri_obj_path = base_output_path + "/uri.o"
@@ -35,6 +67,7 @@ ohos_shared_library("uri") {
]
deps = [
":uri_abc",
":js_uri",
"//base/compileruntime/js_api_module/uri/:js_uri",
"//foundation/ace/napi/:ace_napi",
+12
View File
@@ -21,6 +21,8 @@
extern const char _binary_js_uri_js_start[];
extern const char _binary_js_uri_js_end[];
extern const char _binary_uri_abc_start[];
extern const char _binary_uri_abc_end[];
namespace OHOS::Uri {
static napi_value UriConstructor(napi_env env, napi_callback_info info)
{
@@ -283,6 +285,16 @@ namespace OHOS::Uri {
*bufLen = _binary_js_uri_js_end - _binary_js_uri_js_start;
}
}
extern "C"
__attribute__((visibility("default"))) void NAPI_uri_GetABCCode(const char** buf, int* buflen)
{
if (buf != nullptr) {
*buf = _binary_uri_abc_start;
}
if (buflen != nullptr) {
*buflen = _binary_uri_abc_end - _binary_uri_abc_start;
}
}
static napi_module UriModule = {
.nm_version = 1,
+34 -1
View File
@@ -10,9 +10,41 @@
# 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("//ark/ts2abc/ts2panda/ts2abc_config.gni")
import("//build/ohos.gni")
import("//build/ohos/ace/ace.gni")
import("//foundation/ace/ace_engine/ace_config.gni")
# compile .js to .abc.
action("gen_url_abc") {
visibility = [ ":*" ]
script = "//ark/ts2abc/ts2panda/scripts/generate_js_bytecode.py"
args = [
"--src-js",
rebase_path("//base/compileruntime/js_api_module/url/js_url.js"),
"--dst-file",
rebase_path(target_out_dir + "/url.abc"),
"--node",
rebase_path("${node_path}"),
"--frontend-tool-path",
rebase_path("${ts2abc_build_path}"),
"--node-modules",
rebase_path("${node_modules}"),
]
deps = [ "//ark/ts2abc/ts2panda:ark_ts2abc_build"]
inputs = [ "//base/compileruntime/js_api_module/url/js_url.js" ]
outputs = [ target_out_dir + "/url.abc" ]
}
abc_output_path = get_label_info(":url_abc", "target_out_dir")
url_abc_obj_path = abc_output_path + "/url_abc.o"
gen_js_obj("url_abc") {
input = "$target_out_dir/url.abc"
output = url_abc_obj_path
dep = ":gen_url_abc"
}
base_output_path = get_label_info(":js_url", "target_out_dir")
js_url_obj_path = base_output_path + "/url.o"
@@ -35,6 +67,7 @@ ohos_shared_library("url") {
]
deps = [
":url_abc",
":js_url",
"//base/compileruntime/js_api_module/url/:js_url",
"//foundation/ace/napi/:ace_napi",
+19 -7
View File
@@ -20,6 +20,8 @@
extern const char _binary_js_url_js_start[];
extern const char _binary_js_url_js_end[];
extern const char _binary_url_abc_start[];
extern const char _binary_url_abc_end[];
namespace OHOS::Url {
static void UrlStructor(napi_env &env, napi_callback_info &info, URL *&object)
{
@@ -29,8 +31,8 @@ namespace OHOS::Url {
void *data = nullptr;
napi_get_cb_info(env, info, &argc, nullptr, &thisVar, &data);
napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
napi_valuetype valuetype1 = napi_null;
napi_valuetype valuetype2 = napi_null;
napi_valuetype valuetype1;
napi_valuetype valuetype2;
std::string input = "";
napi_typeof(env, argv[0], &valuetype1);
if (valuetype1 == napi_string) {
@@ -80,7 +82,7 @@ namespace OHOS::Url {
if (argc == 1) {
std::string input = "";
NAPI_CALL(env, napi_get_cb_info(env, info, &argc, argv, &thisVar, &data));
napi_valuetype valuetype = napi_null;
napi_valuetype valuetype;
NAPI_CALL(env, napi_typeof(env, argv[0], &valuetype));
if (valuetype == napi_string) {
char *type = nullptr;
@@ -102,9 +104,9 @@ namespace OHOS::Url {
napi_wrap(
env, thisVar, object,
[](napi_env env, void *data, void *hint) {
auto obj = (URL*)data;
if (obj != nullptr) {
delete obj;
auto object = (URL*)data;
if (object != nullptr) {
delete object;
}
},
nullptr, nullptr);
@@ -884,7 +886,7 @@ namespace OHOS::Url {
DECLARE_NAPI_GETTER("GetIsIpv6", GetIsIpv6),
};
NAPI_CALL(env, napi_define_class(env, urlClassName, strlen(urlClassName), UrlConstructor,
nullptr, sizeof(UrlDesc) / sizeof(UrlDesc[0]), UrlDesc, &urlClass));
nullptr, sizeof(UrlDesc) / sizeof(UrlDesc[0]), UrlDesc, &urlClass));
static napi_property_descriptor desc[] = {
DECLARE_NAPI_PROPERTY("Url", urlClass)
};
@@ -914,6 +916,16 @@ namespace OHOS::Url {
*bufLen = _binary_js_url_js_end - _binary_js_url_js_start;
}
}
extern "C"
__attribute__((visibility("default"))) void NAPI_url_GetABCCode(const char** buf, int* buflen)
{
if (buf != nullptr) {
*buf = _binary_url_abc_start;
}
if (buflen != nullptr) {
*buflen = _binary_url_abc_end - _binary_url_abc_start;
}
}
static napi_module UrlModule = {
.nm_version = 1,