1 /*
2  * Copyright (c) 2024 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include "ohos_nweb/bridge/ark_web_context_menu_params_wrapper.h"
17 
18 #include "base/bridge/ark_web_bridge_macros.h"
19 
20 namespace OHOS::ArkWeb {
21 
ArkWebContextMenuParamsWrapper(ArkWebRefPtr<ArkWebContextMenuParams> ark_web_context_menu_params)22 ArkWebContextMenuParamsWrapper::ArkWebContextMenuParamsWrapper(
23     ArkWebRefPtr<ArkWebContextMenuParams> ark_web_context_menu_params)
24     : ark_web_context_menu_params_(ark_web_context_menu_params)
25 {}
26 
GetXCoord()27 int32_t ArkWebContextMenuParamsWrapper::GetXCoord()
28 {
29     return ark_web_context_menu_params_->GetXCoord();
30 }
31 
GetYCoord()32 int32_t ArkWebContextMenuParamsWrapper::GetYCoord()
33 {
34     return ark_web_context_menu_params_->GetYCoord();
35 }
36 
IsEditable()37 bool ArkWebContextMenuParamsWrapper::IsEditable()
38 {
39     return ark_web_context_menu_params_->IsEditable();
40 }
41 
GetLinkUrl()42 std::string ArkWebContextMenuParamsWrapper::GetLinkUrl()
43 {
44     ArkWebString stLinkUrl = ark_web_context_menu_params_->GetLinkUrl();
45 
46     std::string objLinkUrl = ArkWebStringStructToClass(stLinkUrl);
47     ArkWebStringStructRelease(stLinkUrl);
48     return objLinkUrl;
49 }
50 
GetPageUrl()51 std::string ArkWebContextMenuParamsWrapper::GetPageUrl()
52 {
53     ArkWebString stPageUrl = ark_web_context_menu_params_->GetPageUrl();
54 
55     std::string objPageUrl = ArkWebStringStructToClass(stPageUrl);
56     ArkWebStringStructRelease(stPageUrl);
57     return objPageUrl;
58 }
59 
GetSourceUrl()60 std::string ArkWebContextMenuParamsWrapper::GetSourceUrl()
61 {
62     ArkWebString stSourceUrl = ark_web_context_menu_params_->GetSourceUrl();
63 
64     std::string objSourceUrl = ArkWebStringStructToClass(stSourceUrl);
65     ArkWebStringStructRelease(stSourceUrl);
66     return objSourceUrl;
67 }
68 
GetTitleText()69 std::string ArkWebContextMenuParamsWrapper::GetTitleText()
70 {
71     ArkWebString stTitleText = ark_web_context_menu_params_->GetTitleText();
72 
73     std::string objTitleText = ArkWebStringStructToClass(stTitleText);
74     ArkWebStringStructRelease(stTitleText);
75     return objTitleText;
76 }
77 
GetSelectionText()78 std::string ArkWebContextMenuParamsWrapper::GetSelectionText()
79 {
80     ArkWebString stSelectionText = ark_web_context_menu_params_->GetSelectionText();
81 
82     std::string objSelectionText = ArkWebStringStructToClass(stSelectionText);
83     ArkWebStringStructRelease(stSelectionText);
84     return objSelectionText;
85 }
86 
GetMediaType()87 ArkWebMediaType ArkWebContextMenuParamsWrapper::GetMediaType()
88 {
89     return static_cast<ArkWebMediaType>(ark_web_context_menu_params_->GetMediaType());
90 }
91 
GetSourceType()92 ArkWebSourceType ArkWebContextMenuParamsWrapper::GetSourceType()
93 {
94     return static_cast<ArkWebSourceType>(ark_web_context_menu_params_->GetSourceType());
95 }
96 
GetInputFieldType()97 ArkWebInputFieldType ArkWebContextMenuParamsWrapper::GetInputFieldType()
98 {
99     return static_cast<ArkWebInputFieldType>(ark_web_context_menu_params_->GetInputFieldType());
100 }
101 
HasImageContents()102 bool ArkWebContextMenuParamsWrapper::HasImageContents()
103 {
104     return ark_web_context_menu_params_->HasImageContents();
105 }
106 
GetEditStateFlags()107 int32_t ArkWebContextMenuParamsWrapper::GetEditStateFlags()
108 {
109     return ark_web_context_menu_params_->GetEditStateFlags();
110 }
111 
GetUnfilteredLinkUrl()112 std::string ArkWebContextMenuParamsWrapper::GetUnfilteredLinkUrl()
113 {
114     ArkWebString stUnfilteredLinkUrl = ark_web_context_menu_params_->GetUnfilteredLinkUrl();
115 
116     std::string objUnfilteredLinkUrl = ArkWebStringStructToClass(stUnfilteredLinkUrl);
117     ArkWebStringStructRelease(stUnfilteredLinkUrl);
118     return objUnfilteredLinkUrl;
119 }
120 
GetContextMenuTypeFlags()121 int32_t ArkWebContextMenuParamsWrapper::GetContextMenuTypeFlags()
122 {
123     return ark_web_context_menu_params_->GetContextMenuTypeFlags();
124 }
125 
GetImageRect(int & x,int & y,int & w,int & h)126 void ArkWebContextMenuParamsWrapper::GetImageRect(int& x, int& y, int& w, int& h)
127 {
128     ark_web_context_menu_params_->GetImageRect(x, y, w, h);
129 }
130 
131 } // namespace OHOS::ArkWeb
132