diff --git a/winsdkfb/winsdkfb/winsdkfb.Shared/FacebookDialog.xaml b/winsdkfb/winsdkfb/winsdkfb.Shared/FacebookDialog.xaml index d9c4bb0..1e40b20 100644 --- a/winsdkfb/winsdkfb/winsdkfb.Shared/FacebookDialog.xaml +++ b/winsdkfb/winsdkfb/winsdkfb.Shared/FacebookDialog.xaml @@ -28,7 +28,7 @@ MinWidth="0" MinHeight="0" Width="30" Height="30" Style="{StaticResource CircleWithCrossButtonKey}" Click="CloseDialogButton_OnClick" FontFamily="Segoe UI Symbol" Margin="0,0,0,5" Foreground="White" /> - + \ No newline at end of file diff --git a/winsdkfb/winsdkfb/winsdkfb.Shared/FacebookDialog.xaml.cpp b/winsdkfb/winsdkfb/winsdkfb.Shared/FacebookDialog.xaml.cpp index 381af95..8912d21 100644 --- a/winsdkfb/winsdkfb/winsdkfb.Shared/FacebookDialog.xaml.cpp +++ b/winsdkfb/winsdkfb/winsdkfb.Shared/FacebookDialog.xaml.cpp @@ -604,6 +604,17 @@ void FacebookDialog::dialogWebView_NavCompleted( } } +void winsdkfb::FacebookDialog::dialogWebBrowser_CancelClosedRedirects( + Windows::UI::Xaml::Controls::WebView^ sender, + Windows::UI::Xaml::Controls::WebViewNavigationStartingEventArgs^ args + ) +{ + if (!_popup || !_popup->IsOpen) { // ignore if Facebook tries to redirect webview after we have been closed + args->Cancel = true; + } +} + + void FacebookDialog::CloseDialogButton_OnClick( Object^ sender, RoutedEventArgs^ e diff --git a/winsdkfb/winsdkfb/winsdkfb.Shared/FacebookDialog.xaml.h b/winsdkfb/winsdkfb/winsdkfb.Shared/FacebookDialog.xaml.h index 59b3000..317c9bc 100644 --- a/winsdkfb/winsdkfb/winsdkfb.Shared/FacebookDialog.xaml.h +++ b/winsdkfb/winsdkfb/winsdkfb.Shared/FacebookDialog.xaml.h @@ -128,6 +128,11 @@ namespace winsdkfb Windows::UI::Xaml::Controls::WebViewNavigationCompletedEventArgs^ e ); + void dialogWebBrowser_CancelClosedRedirects( + Windows::UI::Xaml::Controls::WebView^ sender, + Windows::UI::Xaml::Controls::WebViewNavigationStartingEventArgs^ args + ); + void CloseDialogButton_OnClick( Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e @@ -161,5 +166,5 @@ namespace winsdkfb Windows::UI::Xaml::Controls::Grid^ _grid; Windows::UI::Xaml::Controls::Primitives::Popup^ _popup; concurrency::task_completion_event _dialogResponse; - }; +}; }