Files
react-native-webview/windows/WebViewBridgeComponent/WebBridge.h
T
Tero Paananen b930e25a8f feat(windows): JS-WebView messaging bridge & multiple WebViews fixes (#1617)
* Manage to build webview using Visual Studio

* WebView in content of UserControl

* Destructor not needed

* Example app tested

* Add messagingEnabled prop

* WebViewBridge

* Message posting

* Store bridge as instance variable

* Use bridge if messagingEnabled

* Free event delegate

* PostMessage api uses string message

* script.notify() usage removed

* Debug log removed

* Bridge reference added

* Base for web allowed object implemented c++/winrt

* Bribge works

* "Microsoft.Windows.CppWinRT" version="2.0.200729.8"

* Update bridge implementation

* version changes

* Reference fix

* WebView prj builds

* yarn lock update

* Platfrom version update

* NuGet package reference updated

* Messaging test added into example app

* Typo fix

* try_as() to as() calls

* WebView.PostMessage() not supported anymore, use injectJavaScript

* Fix WebView.postMessage to work using injectJavascript

* Eval postMessage fix

* postMessage via injectJavascript

* Example fixed to handle postMessage call
2020-10-26 14:01:40 +01:00

25 lines
670 B
C++

#pragma once
#include "WebBridge.g.h"
namespace winrt::WebViewBridgeComponent::implementation
{
struct WebBridge : WebBridgeT<WebBridge>
{
WebBridge() = default;
void PostMessage(hstring const& message);
winrt::event_token MessagePostEvent(Windows::Foundation::EventHandler<hstring> const& handler);
void MessagePostEvent(winrt::event_token const& token) noexcept;
private:
winrt::event<Windows::Foundation::EventHandler<winrt::hstring>> m_messageEvent;
};
}
namespace winrt::WebViewBridgeComponent::factory_implementation
{
struct WebBridge : WebBridgeT<WebBridge, implementation::WebBridge>
{
};
}