diff --git a/packages/webview_flutter/CHANGELOG.md b/packages/webview_flutter/CHANGELOG.md index 929fad45a..461d08959 100644 --- a/packages/webview_flutter/CHANGELOG.md +++ b/packages/webview_flutter/CHANGELOG.md @@ -1,3 +1,8 @@ +## NEXT + +* Change ecore_evas engine for web engine. +* Remove some chromium arguments temporary. + ## 0.9.0 * Update webivew_flutter to 4.4.2. diff --git a/packages/webview_flutter/tizen/src/webview.cc b/packages/webview_flutter/tizen/src/webview.cc index 8fe79c97b..c73da63ea 100644 --- a/packages/webview_flutter/tizen/src/webview.cc +++ b/packages/webview_flutter/tizen/src/webview.cc @@ -115,7 +115,10 @@ WebView::WebView(flutter::PluginRegistrar* registrar, int view_id, })); SetTextureId(texture_registrar_->RegisterTexture(texture_variant_.get())); - InitWebView(); + if (!InitWebView()) { + LOG_ERROR("Failed to initialize webview."); + return; + } webview_channel_ = std::make_unique( GetPluginRegistrar()->messenger(), GetWebViewChannelName(), @@ -285,10 +288,11 @@ void WebView::SetDirection(int direction) { // TODO: Implement if necessary. } -void WebView::InitWebView() { +bool WebView::InitWebView() { char* chromium_argv[] = { const_cast("--disable-pinch"), const_cast("--js-flags=--expose-gc"), + const_cast("--disable-web-security"), const_cast("--single-process"), const_cast("--no-zygote"), }; @@ -298,8 +302,17 @@ void WebView::InitWebView() { ewk_init(); Ecore_Evas* evas = ecore_evas_new("wayland_egl", 0, 0, 1, 1, 0); + if (!evas) { + LOG_ERROR("Failed to create ecore evas instance."); + return false; + } webview_instance_ = ewk_view_add(ecore_evas_get(evas)); + if (!webview_instance_) { + LOG_ERROR("Failed to create ewk view instance."); + return false; + } + ecore_evas_focus_set(evas, true); ewk_view_focus_set(webview_instance_, true); EwkInternalApiBinding::GetInstance().view.OffscreenRenderingEnabledSet( @@ -346,6 +359,8 @@ void WebView::InitWebView() { evas_object_show(webview_instance_); evas_object_data_set(webview_instance_, kEwkInstance, this); + + return true; } void WebView::HandleWebViewMethodCall(const FlMethodCall& method_call, diff --git a/packages/webview_flutter/tizen/src/webview.h b/packages/webview_flutter/tizen/src/webview.h index 76eaa25bc..64b00e0d3 100644 --- a/packages/webview_flutter/tizen/src/webview.h +++ b/packages/webview_flutter/tizen/src/webview.h @@ -67,7 +67,7 @@ class WebView : public PlatformView { std::string GetWebViewControllerChannelName(); std::string GetNavigationDelegateChannelName(); - void InitWebView(); + bool InitWebView(); static void OnFrameRendered(void* data, Evas_Object* obj, void* event_info); static void OnLoadStarted(void* data, Evas_Object* obj, void* event_info);