!2105 修改webview为nweb

Merge pull request !2105 from wuwei798085169/localwuwei
This commit is contained in:
openharmony_ci
2022-03-30 07:28:33 +00:00
committed by Gitee
4 changed files with 88 additions and 88 deletions
@@ -153,9 +153,9 @@ void WebClientImpl::OnGeolocationShow(const std::string& origin,
delegate->OnGeolocationPermissionsShowPrompt(origin, callback);
}
void WebClientImpl::SetNWeb(std::shared_ptr<OHOS::NWeb::NWeb> webview)
void WebClientImpl::SetNWeb(std::shared_ptr<OHOS::NWeb::NWeb> nweb)
{
webviewWeak_ = webview;
webviewWeak_ = nweb;
}
void WebClientImpl::OnProxyDied()
@@ -50,7 +50,7 @@ public:
explicit WebClientImpl(int32_t instanceId) : instanceId_(instanceId) {}
~WebClientImpl() = default;
void SetNWeb(std::shared_ptr<OHOS::NWeb::NWeb> webview) override;
void SetNWeb(std::shared_ptr<OHOS::NWeb::NWeb> nweb) override;
void OnProxyDied() override;
void OnRouterPush(const std::string& param) override;
bool OnConsoleLog(const OHOS::NWeb::NWebConsoleLog& message) override;
@@ -219,8 +219,8 @@ void WebDelegate::LoadUrl(const std::string& url, const std::map<std::string, st
if (!delegate) {
return;
}
if (delegate->webview_) {
delegate->webview_->Load(
if (delegate->nweb_) {
delegate->nweb_->Load(
const_cast<std::string&>(url), const_cast<std::map<std::string, std::string>&>(httpHeaders));
}
},
@@ -242,8 +242,8 @@ void WebDelegate::Backward()
LOGE("Get delegate failed, it is null.");
return;
}
if (delegate->webview_) {
delegate->webview_->NavigateBack();
if (delegate->nweb_) {
delegate->nweb_->NavigateBack();
}
},
TaskExecutor::TaskType::PLATFORM);
@@ -263,8 +263,8 @@ void WebDelegate::Forward()
LOGE("Get delegate failed, it is null.");
return;
}
if (delegate->webview_) {
delegate->webview_->NavigateForward();
if (delegate->nweb_) {
delegate->nweb_->NavigateForward();
}
},
TaskExecutor::TaskType::PLATFORM);
@@ -277,8 +277,8 @@ bool WebDelegate::AccessStep(int32_t step)
LOGE("Get delegate failed, it is null.");
return false;
}
if (delegate->webview_) {
return delegate->webview_->CanNavigateBackOrForward(step);
if (delegate->nweb_) {
return delegate->nweb_->CanNavigateBackOrForward(step);
}
return false;
}
@@ -290,8 +290,8 @@ bool WebDelegate::AccessBackward()
LOGE("Get delegate failed, it is null.");
return false;
}
if (delegate->webview_) {
return delegate->webview_->IsNavigatebackwardAllowed();
if (delegate->nweb_) {
return delegate->nweb_->IsNavigatebackwardAllowed();
}
return false;
}
@@ -303,8 +303,8 @@ bool WebDelegate::AccessForward()
LOGE("Get delegate failed, it is null.");
return false;
}
if (delegate->webview_) {
return delegate->webview_->IsNavigateForwardAllowed();
if (delegate->nweb_) {
return delegate->nweb_->IsNavigateForwardAllowed();
}
return false;
}
@@ -323,7 +323,7 @@ void WebDelegate::ExecuteTypeScript(const std::string& jscode, const std::functi
if (!delegate) {
return;
}
if (delegate->webview_) {
if (delegate->nweb_) {
auto callbackImpl = std::make_shared<WebJavaScriptExecuteCallBack>(Container::CurrentId());
if (callbackImpl && callback) {
callbackImpl->SetCallBack([weak, func = std::move(callback)](std::string result) {
@@ -339,7 +339,7 @@ void WebDelegate::ExecuteTypeScript(const std::string& jscode, const std::functi
}
});
}
delegate->webview_->ExecuteJavaScript(jscode, callbackImpl);
delegate->nweb_->ExecuteJavaScript(jscode, callbackImpl);
}
},
TaskExecutor::TaskType::PLATFORM);
@@ -358,11 +358,11 @@ void WebDelegate::LoadDataWithBaseUrl(const std::string& baseUrl, const std::str
if (!delegate) {
return;
}
if (delegate->webview_) {
if (delegate->nweb_) {
if (baseUrl.empty() && historyUrl.empty()) {
delegate->webview_->LoadWithData(data, mimeType, encoding);
delegate->nweb_->LoadWithData(data, mimeType, encoding);
} else {
delegate->webview_->LoadWithDataAndBaseUrl(baseUrl, data, mimeType, encoding, historyUrl);
delegate->nweb_->LoadWithDataAndBaseUrl(baseUrl, data, mimeType, encoding, historyUrl);
}
}
},
@@ -381,8 +381,8 @@ void WebDelegate::LoadDataWithRichText(const std::string& data)
if (!delegate) {
return;
}
if (delegate->webview_) {
delegate->webview_->LoadWithDataAndBaseUrl("", data, "", "", "");
if (delegate->nweb_) {
delegate->nweb_->LoadWithDataAndBaseUrl("", data, "", "", "");
}
},
TaskExecutor::TaskType::PLATFORM);
@@ -400,8 +400,8 @@ void WebDelegate::Refresh()
if (!delegate) {
return;
}
if (delegate->webview_) {
delegate->webview_->Reload();
if (delegate->nweb_) {
delegate->nweb_->Reload();
}
},
TaskExecutor::TaskType::PLATFORM);
@@ -419,8 +419,8 @@ void WebDelegate::StopLoading()
if (!delegate) {
return;
}
if (delegate->webview_) {
delegate->webview_->Stop();
if (delegate->nweb_) {
delegate->nweb_->Stop();
}
},
TaskExecutor::TaskType::PLATFORM);
@@ -438,8 +438,8 @@ void WebDelegate::AddJavascriptInterface(const std::string& objectName, const st
if (!delegate) {
return;
}
if (delegate->webview_) {
delegate->webview_->RegisterArkJSfunction(objectName, methodList);
if (delegate->nweb_) {
delegate->nweb_->RegisterArkJSfunction(objectName, methodList);
}
},
TaskExecutor::TaskType::PLATFORM);
@@ -456,8 +456,8 @@ void WebDelegate::RemoveJavascriptInterface(const std::string& objectName, const
if (!delegate) {
return;
}
if (delegate->webview_) {
delegate->webview_->UnregisterArkJSfunction(objectName, methodList);
if (delegate->nweb_) {
delegate->nweb_->UnregisterArkJSfunction(objectName, methodList);
}
},
TaskExecutor::TaskType::PLATFORM);
@@ -474,7 +474,7 @@ void WebDelegate::SetWebViewJavaScriptResultCallBack(
context->GetTaskExecutor()->PostTask(
[weak = WeakClaim(this), javaScriptCallBackImpl]() {
auto delegate = weak.Upgrade();
if (delegate == nullptr || delegate->webview_ == nullptr) {
if (delegate == nullptr || delegate->nweb_ == nullptr) {
return;
}
auto webJSResultCallBack =
@@ -482,7 +482,7 @@ void WebDelegate::SetWebViewJavaScriptResultCallBack(
if (webJSResultCallBack) {
LOGI("WebDelegate SetWebViewJavaScriptResultCallBack");
webJSResultCallBack->SetJavaScriptCallBack(std::move(javaScriptCallBackImpl));
delegate->webview_->SetNWebJavaScriptResultCallBack(webJSResultCallBack);
delegate->nweb_->SetNWebJavaScriptResultCallBack(webJSResultCallBack);
}
},
TaskExecutor::TaskType::PLATFORM);
@@ -510,8 +510,8 @@ void WebDelegate::RequestFocus()
int WebDelegate::GetHitTestResult()
{
WebHitTestType webHitType = WebHitTestType::UNKNOWN;
if (webview_) {
int hitType = webview_->GetHitTestResult().GetType();
if (nweb_) {
int hitType = nweb_->GetHitTestResult().GetType();
switch (hitType) {
case OHOS::NWeb::HitTestResult::UNKNOWN_TYPE:
webHitType = WebHitTestType::UNKNOWN;
@@ -977,9 +977,9 @@ void WebDelegate::InitWebViewWithWindow()
if (!delegate->window_) {
return;
}
delegate->webview_ =
delegate->nweb_ =
OHOS::NWeb::NWebAdapterHelper::Instance().CreateNWeb(delegate->window_.GetRefPtr(), initArgs);
if (delegate->webview_ == nullptr) {
if (delegate->nweb_ == nullptr) {
delegate->window_ = nullptr;
LOGE("fail to get webview instance");
return;
@@ -994,21 +994,21 @@ void WebDelegate::InitWebViewWithWindow()
auto webviewClient = std::make_shared<WebClientImpl>(Container::CurrentId());
webviewClient->SetWebDelegate(weak);
delegate->webview_->SetNWebHandler(webviewClient);
delegate->nweb_->SetNWebHandler(webviewClient);
// Set downloadListenerImpl
auto downloadListenerImpl = std::make_shared<DownloadListenerImpl>(Container::CurrentId());
downloadListenerImpl->SetWebDelegate(weak);
delegate->webview_->PutDownloadCallback(downloadListenerImpl);
delegate->nweb_->PutDownloadCallback(downloadListenerImpl);
std::shared_ptr<OHOS::NWeb::NWebPreference> setting = delegate->webview_->GetPreference();
std::shared_ptr<OHOS::NWeb::NWebPreference> setting = delegate->nweb_->GetPreference();
setting->PutDomStorageEnabled(true);
setting->PutIsCreateWindowsByJavaScriptAllowed(true);
setting->PutJavaScriptEnabled(isJsEnabled);
setting->PutEnableRawFileAccess(isFileAccessEnabled);
setting->PutEnableContentAccess(isContentAccessEnabled);
delegate->webview_->Load(component->GetSrc());
delegate->nweb_->Load(component->GetSrc());
delegate->window_->Show();
},
TaskExecutor::TaskType::PLATFORM);
@@ -1039,9 +1039,9 @@ void WebDelegate::InitWebViewWithSurface(sptr<Surface> surface)
LOGE("surface is nullptr or has expired");
return;
}
delegate->webview_ =
delegate->nweb_ =
OHOS::NWeb::NWebAdapterHelper::Instance().CreateNWeb(surface, initArgs);
if (delegate->webview_ == nullptr) {
if (delegate->nweb_ == nullptr) {
LOGE("fail to get webview instance");
return;
}
@@ -1056,10 +1056,10 @@ void WebDelegate::InitWebViewWithSurface(sptr<Surface> surface)
nweb_handler->SetWebDelegate(weak);
auto downloadListenerImpl = std::make_shared<DownloadListenerImpl>(Container::CurrentId());
downloadListenerImpl->SetWebDelegate(weak);
delegate->webview_->SetNWebHandler(nweb_handler);
delegate->webview_->PutDownloadCallback(downloadListenerImpl);
delegate->nweb_->SetNWebHandler(nweb_handler);
delegate->nweb_->PutDownloadCallback(downloadListenerImpl);
std::shared_ptr<OHOS::NWeb::NWebPreference> setting = delegate->webview_->GetPreference();
std::shared_ptr<OHOS::NWeb::NWebPreference> setting = delegate->nweb_->GetPreference();
setting->PutDomStorageEnabled(component->GetDomStorageAccessEnabled());
setting->PutIsCreateWindowsByJavaScriptAllowed(true);
setting->PutJavaScriptEnabled(component->GetJsEnabled());
@@ -1085,8 +1085,8 @@ void WebDelegate::UpdateUserAgent(const std::string& userAgent)
context->GetTaskExecutor()->PostTask(
[weak = WeakClaim(this), userAgent]() {
auto delegate = weak.Upgrade();
if (delegate && delegate->webview_) {
std::shared_ptr<OHOS::NWeb::NWebPreference> setting = delegate->webview_->GetPreference();
if (delegate && delegate->nweb_) {
std::shared_ptr<OHOS::NWeb::NWebPreference> setting = delegate->nweb_->GetPreference();
setting->PutUserAgent(userAgent);
}
},
@@ -1102,8 +1102,8 @@ void WebDelegate::Resize(const double& width, const double& height)
context->GetTaskExecutor()->PostTask(
[weak = WeakClaim(this), width, height] () {
auto delegate = weak.Upgrade();
if (delegate && delegate->webview_ && !delegate->window_) {
delegate->webview_->Resize(width, height);
if (delegate && delegate->nweb_ && !delegate->window_) {
delegate->nweb_->Resize(width, height);
}
},
TaskExecutor::TaskType::PLATFORM);
@@ -1118,8 +1118,8 @@ void WebDelegate::UpdateJavaScriptEnabled(const bool& isJsEnabled)
context->GetTaskExecutor()->PostTask(
[weak = WeakClaim(this), isJsEnabled]() {
auto delegate = weak.Upgrade();
if (delegate && delegate->webview_) {
std::shared_ptr<OHOS::NWeb::NWebPreference> setting = delegate->webview_->GetPreference();
if (delegate && delegate->nweb_) {
std::shared_ptr<OHOS::NWeb::NWebPreference> setting = delegate->nweb_->GetPreference();
setting->PutJavaScriptEnabled(isJsEnabled);
}
},
@@ -1135,8 +1135,8 @@ void WebDelegate::UpdateAllowFileAccess(const bool& isFileAccessEnabled)
context->GetTaskExecutor()->PostTask(
[weak = WeakClaim(this), isFileAccessEnabled]() {
auto delegate = weak.Upgrade();
if (delegate && delegate->webview_) {
std::shared_ptr<OHOS::NWeb::NWebPreference> setting = delegate->webview_->GetPreference();
if (delegate && delegate->nweb_) {
std::shared_ptr<OHOS::NWeb::NWebPreference> setting = delegate->nweb_->GetPreference();
setting->PutEnableRawFileAccess(isFileAccessEnabled);
}
},
@@ -1152,8 +1152,8 @@ void WebDelegate::UpdateBlockNetworkImage(const bool& onLineImageAccessEnabled)
context->GetTaskExecutor()->PostTask(
[weak = WeakClaim(this), onLineImageAccessEnabled]() {
auto delegate = weak.Upgrade();
if (delegate && delegate->webview_) {
std::shared_ptr<OHOS::NWeb::NWebPreference> setting = delegate->webview_->GetPreference();
if (delegate && delegate->nweb_) {
std::shared_ptr<OHOS::NWeb::NWebPreference> setting = delegate->nweb_->GetPreference();
setting->PutLoadImageFromNetworkDisabled(onLineImageAccessEnabled);
}
},
@@ -1169,8 +1169,8 @@ void WebDelegate::UpdateLoadsImagesAutomatically(const bool& isImageAccessEnable
context->GetTaskExecutor()->PostTask(
[weak = WeakClaim(this), isImageAccessEnabled]() {
auto delegate = weak.Upgrade();
if (delegate && delegate->webview_) {
std::shared_ptr<OHOS::NWeb::NWebPreference> setting = delegate->webview_->GetPreference();
if (delegate && delegate->nweb_) {
std::shared_ptr<OHOS::NWeb::NWebPreference> setting = delegate->nweb_->GetPreference();
setting->PutImageLoadingAllowed(isImageAccessEnabled);
}
},
@@ -1186,8 +1186,8 @@ void WebDelegate::UpdateMixedContentMode(const MixedModeContent& mixedMode)
context->GetTaskExecutor()->PostTask(
[weak = WeakClaim(this), mixedMode]() {
auto delegate = weak.Upgrade();
if (delegate && delegate->webview_) {
std::shared_ptr<OHOS::NWeb::NWebPreference> setting = delegate->webview_->GetPreference();
if (delegate && delegate->nweb_) {
std::shared_ptr<OHOS::NWeb::NWebPreference> setting = delegate->nweb_->GetPreference();
setting->PutAccessModeForSecureOriginLoadFromInsecure(
static_cast<OHOS::NWeb::NWebPreference::AccessMode>(mixedMode));
}
@@ -1204,8 +1204,8 @@ void WebDelegate::UpdateSupportZoom(const bool& isZoomAccessEnabled)
context->GetTaskExecutor()->PostTask(
[weak = WeakClaim(this), isZoomAccessEnabled]() {
auto delegate = weak.Upgrade();
if (delegate && delegate->webview_) {
std::shared_ptr<OHOS::NWeb::NWebPreference> setting = delegate->webview_->GetPreference();
if (delegate && delegate->nweb_) {
std::shared_ptr<OHOS::NWeb::NWebPreference> setting = delegate->nweb_->GetPreference();
setting->PutZoomingFunctionEnabled(isZoomAccessEnabled);
}
},
@@ -1220,8 +1220,8 @@ void WebDelegate::UpdateDomStorageEnabled(const bool& isDomStorageAccessEnabled)
context->GetTaskExecutor()->PostTask(
[weak = WeakClaim(this), isDomStorageAccessEnabled]() {
auto delegate = weak.Upgrade();
if (delegate && delegate->webview_) {
std::shared_ptr<OHOS::NWeb::NWebPreference> setting = delegate->webview_->GetPreference();
if (delegate && delegate->nweb_) {
std::shared_ptr<OHOS::NWeb::NWebPreference> setting = delegate->nweb_->GetPreference();
setting->PutDomStorageEnabled(isDomStorageAccessEnabled);
}
},
@@ -1236,8 +1236,8 @@ void WebDelegate::UpdateGeolocationEnabled(const bool& isGeolocationAccessEnable
context->GetTaskExecutor()->PostTask(
[weak = WeakClaim(this), isGeolocationAccessEnabled]() {
auto delegate = weak.Upgrade();
if (delegate && delegate->webview_) {
std::shared_ptr<OHOS::NWeb::NWebPreference> setting = delegate->webview_->GetPreference();
if (delegate && delegate->nweb_) {
std::shared_ptr<OHOS::NWeb::NWebPreference> setting = delegate->nweb_->GetPreference();
setting->PutGeolocationAllowed(isGeolocationAccessEnabled);
}
},
@@ -1253,8 +1253,8 @@ void WebDelegate::LoadUrl()
context->GetTaskExecutor()->PostTask(
[weak = WeakClaim(this)] () {
auto delegate = weak.Upgrade();
if (delegate && delegate->webview_) {
delegate->webview_->Load(delegate->webComponent_->GetSrc());
if (delegate && delegate->nweb_) {
delegate->nweb_->Load(delegate->webComponent_->GetSrc());
}
},
TaskExecutor::TaskType::PLATFORM);
@@ -1272,8 +1272,8 @@ void WebDelegate::OnInactive()
if (!delegate) {
return;
}
if (delegate->webview_) {
delegate->webview_->OnPause();
if (delegate->nweb_) {
delegate->nweb_->OnPause();
}
},
TaskExecutor::TaskType::PLATFORM);
@@ -1291,8 +1291,8 @@ void WebDelegate::OnActive()
if (!delegate) {
return;
}
if (delegate->webview_) {
delegate->webview_->OnContinue();
if (delegate->nweb_) {
delegate->nweb_->OnContinue();
}
},
TaskExecutor::TaskType::PLATFORM);
@@ -1312,8 +1312,8 @@ void WebDelegate::Zoom(float factor)
LOGE("Get delegate failed, it is null.");
return;
}
if (delegate->webview_) {
delegate->webview_->Zoom(factor);
if (delegate->nweb_) {
delegate->nweb_->Zoom(factor);
}
},
TaskExecutor::TaskType::PLATFORM);
@@ -1432,8 +1432,8 @@ void WebDelegate::Reload()
if (!delegate) {
return;
}
if (delegate->webview_) {
delegate->webview_->Reload();
if (delegate->nweb_) {
delegate->nweb_->Reload();
}
},
TaskExecutor::TaskType::PLATFORM);
@@ -1662,33 +1662,33 @@ void WebDelegate::OnRouterPush(const std::string& param)
#ifdef OHOS_STANDARD_SYSTEM
void WebDelegate::HandleTouchDown(const int32_t& id, const double& x, const double& y)
{
ACE_DCHECK(webview_ != nullptr);
if (webview_) {
webview_->OnTouchPress(id, x, y);
ACE_DCHECK(nweb_ != nullptr);
if (nweb_) {
nweb_->OnTouchPress(id, x, y);
}
}
void WebDelegate::HandleTouchUp(const int32_t& id, const double& x, const double& y)
{
ACE_DCHECK(webview_ != nullptr);
if (webview_) {
webview_->OnTouchRelease(id, x, y);
ACE_DCHECK(nweb_ != nullptr);
if (nweb_) {
nweb_->OnTouchRelease(id, x, y);
}
}
void WebDelegate::HandleTouchMove(const int32_t& id, const double& x, const double& y)
{
ACE_DCHECK(webview_ != nullptr);
if (webview_) {
webview_->OnTouchMove(id, x, y);
ACE_DCHECK(nweb_ != nullptr);
if (nweb_) {
nweb_->OnTouchMove(id, x, y);
}
}
void WebDelegate::HandleTouchCancel()
{
ACE_DCHECK(webview_ != nullptr);
if (webview_) {
webview_->OnTouchCancel();
ACE_DCHECK(nweb_ != nullptr);
if (nweb_) {
nweb_->OnTouchCancel();
}
}
#endif
@@ -214,7 +214,7 @@ private:
Method isPagePathInvalidMethod_;
State state_ {State::WAITINGFORSIZE};
#ifdef OHOS_STANDARD_SYSTEM
std::shared_ptr<OHOS::NWeb::NWeb> webview_;
std::shared_ptr<OHOS::NWeb::NWeb> nweb_;
sptr<Rosen::Window> window_;
bool isCreateWebView_ = false;