From 343e2e29f05b4ff39375a06a3eb0e8f1962f1567 Mon Sep 17 00:00:00 2001 From: MuHong Byun Date: Wed, 24 Nov 2021 12:17:20 +0900 Subject: [PATCH] [webview_flutter] Apply PlatformView API changes Signed-off-by: MuHong Byun --- packages/webview_flutter/CHANGELOG.md | 3 +++ packages/webview_flutter/README.md | 2 +- packages/webview_flutter/pubspec.yaml | 2 +- packages/webview_flutter/tizen/src/webview.cc | 3 ++- packages/webview_flutter/tizen/src/webview.h | 1 + packages/webview_flutter/tizen/src/webview_factory.cc | 7 +++++-- packages/webview_flutter/tizen/src/webview_factory.h | 4 +++- .../tizen/src/webview_flutter_tizen_plugin.cc | 6 ++++-- 8 files changed, 20 insertions(+), 8 deletions(-) diff --git a/packages/webview_flutter/CHANGELOG.md b/packages/webview_flutter/CHANGELOG.md index 20779d6d3..01ba8aeac 100644 --- a/packages/webview_flutter/CHANGELOG.md +++ b/packages/webview_flutter/CHANGELOG.md @@ -50,3 +50,6 @@ ## 0.3.9 * Update LWE binary (6bae13cb915bd41c5aac4aaaae72865f20924c03) + +## 0.3.10 +* Apply PlatformView, PlatformViewFactory APIs change diff --git a/packages/webview_flutter/README.md b/packages/webview_flutter/README.md index 5ce1a28ef..e3d97246b 100644 --- a/packages/webview_flutter/README.md +++ b/packages/webview_flutter/README.md @@ -22,7 +22,7 @@ This package is not an _endorsed_ implementation of `webview_flutter`. Therefore ```yaml dependencies: - webview_flutter_tizen: ^0.3.8 + webview_flutter_tizen: ^0.3.10 ``` ## Example diff --git a/packages/webview_flutter/pubspec.yaml b/packages/webview_flutter/pubspec.yaml index 9d70b6701..99f250e8a 100644 --- a/packages/webview_flutter/pubspec.yaml +++ b/packages/webview_flutter/pubspec.yaml @@ -2,7 +2,7 @@ name: webview_flutter_tizen description: Tizen implementation of the webview plugin homepage: https://github.com/flutter-tizen/plugins repository: https://github.com/flutter-tizen/plugins/tree/master/packages/webview_flutter -version: 0.3.9 +version: 0.3.10 environment: sdk: ">=2.14.0 <3.0.0" diff --git a/packages/webview_flutter/tizen/src/webview.cc b/packages/webview_flutter/tizen/src/webview.cc index e20f0ed14..9e3168659 100644 --- a/packages/webview_flutter/tizen/src/webview.cc +++ b/packages/webview_flutter/tizen/src/webview.cc @@ -157,7 +157,8 @@ WebView::WebView(flutter::PluginRegistrar* registrar, int viewId, has_navigation_delegate_(false), has_progress_tracking_(false), context_(nullptr), - texture_variant_(nullptr) { + texture_variant_(nullptr), + platform_window_(platform_window) { tbm_pool_ = std::make_unique(width, height); texture_variant_ = new flutter::TextureVariant(flutter::GpuBufferTexture( [this](size_t width, size_t height) -> const FlutterDesktopGpuBuffer* { diff --git a/packages/webview_flutter/tizen/src/webview.h b/packages/webview_flutter/tizen/src/webview.h index ad7a8f420..08fd73ed5 100644 --- a/packages/webview_flutter/tizen/src/webview.h +++ b/packages/webview_flutter/tizen/src/webview.h @@ -80,6 +80,7 @@ class WebView : public PlatformView { flutter::TextureVariant* texture_variant_; std::mutex mutex_; std::unique_ptr tbm_pool_; + void* platform_window_; }; #endif // FLUTTER_PLUGIN_WEBVIEW_FLUTTER_TIZEN_WEVIEW_H_ diff --git a/packages/webview_flutter/tizen/src/webview_factory.cc b/packages/webview_flutter/tizen/src/webview_factory.cc index 99b2d94eb..0177ef9bf 100644 --- a/packages/webview_flutter/tizen/src/webview_factory.cc +++ b/packages/webview_flutter/tizen/src/webview_factory.cc @@ -21,8 +21,11 @@ #include "webview_flutter_tizen_plugin.h" WebViewFactory::WebViewFactory(flutter::PluginRegistrar* registrar, - flutter::TextureRegistrar* texture_registrar) - : PlatformViewFactory(registrar), texture_registrar_(texture_registrar) { + flutter::TextureRegistrar* texture_registrar, + void* platform_window) + : PlatformViewFactory(registrar), + texture_registrar_(texture_registrar), + platform_window_(platform_window) { char* path = app_get_data_path(); std::string path_string; if (!path || strlen(path) == 0) { diff --git a/packages/webview_flutter/tizen/src/webview_factory.h b/packages/webview_flutter/tizen/src/webview_factory.h index fa426fcb3..9af82e4da 100644 --- a/packages/webview_flutter/tizen/src/webview_factory.h +++ b/packages/webview_flutter/tizen/src/webview_factory.h @@ -9,7 +9,8 @@ class WebViewFactory : public PlatformViewFactory { public: WebViewFactory(flutter::PluginRegistrar* registrar, - flutter::TextureRegistrar* textureRegistrar); + flutter::TextureRegistrar* textureRegistrar, + void* platform_window); virtual void Dispose() override; virtual PlatformView* Create( int viewId, double width, double height, @@ -17,6 +18,7 @@ class WebViewFactory : public PlatformViewFactory { private: flutter::TextureRegistrar* texture_registrar_; + void* platform_window_; }; #endif // FLUTTER_PLUGIN_WEBVIEW_FLUTTER_TIZEN_WEVIEW_FACTORY_H_ diff --git a/packages/webview_flutter/tizen/src/webview_flutter_tizen_plugin.cc b/packages/webview_flutter/tizen/src/webview_flutter_tizen_plugin.cc index 681a66791..bb705e06c 100644 --- a/packages/webview_flutter/tizen/src/webview_flutter_tizen_plugin.cc +++ b/packages/webview_flutter/tizen/src/webview_flutter_tizen_plugin.cc @@ -6,6 +6,7 @@ #include +#include "flutter_tizen.h" #include "webview_factory.h" static constexpr char kViewType[] = "plugins.flutter.io/webview"; @@ -26,7 +27,8 @@ void WebviewFlutterTizenPluginRegisterWithRegistrar( flutter::PluginRegistrarManager::GetInstance() ->GetRegistrar(registrar); auto factory = std::make_unique( - core_registrar, core_registrar->texture_registrar()); - FlutterRegisterViewFactory(registrar, kViewType, std::move(factory)); + core_registrar, core_registrar->texture_registrar(), + FlutterDesktopGetWindow(registrar)); + FlutterDesktopRegisterViewFactory(registrar, kViewType, std::move(factory)); WebviewFlutterTizenPlugin::RegisterWithRegistrar(core_registrar); }