diff --git a/QuickLook.Plugin/QuickLook.Plugin.HtmlViewer/JsDialogHandler.cs b/QuickLook.Plugin/QuickLook.Plugin.HtmlViewer/JsDialogHandler.cs new file mode 100644 index 0000000..01644d7 --- /dev/null +++ b/QuickLook.Plugin/QuickLook.Plugin.HtmlViewer/JsDialogHandler.cs @@ -0,0 +1,36 @@ +// Copyright © 2010-2017 The CefSharp Authors. All rights reserved. +// +// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. + +using CefSharp; + +namespace QuickLook.Plugin.HtmlViewer +{ + public class JsDialogHandler : IJsDialogHandler + { + public bool OnJSDialog(IWebBrowser browserControl, IBrowser browser, string originUrl, + CefJsDialogType dialogType, string messageText, string defaultPromptText, IJsDialogCallback callback, + ref bool suppressMessage) + { + return true; + } + + public bool OnJSBeforeUnload(IWebBrowser browserControl, IBrowser browser, string message, bool isReload, + IJsDialogCallback callback) + { + //NOTE: No need to execute the callback if you return false + // callback.Continue(true); + + //NOTE: Returning false will trigger the default behaviour, you need to return true to handle yourself. + return true; + } + + public void OnResetDialogState(IWebBrowser browserControl, IBrowser browser) + { + } + + public void OnDialogClosed(IWebBrowser browserControl, IBrowser browser) + { + } + } +} \ No newline at end of file diff --git a/QuickLook.Plugin/QuickLook.Plugin.HtmlViewer/QuickLook.Plugin.HtmlViewer.csproj b/QuickLook.Plugin/QuickLook.Plugin.HtmlViewer/QuickLook.Plugin.HtmlViewer.csproj index 92dbfa5..1bfa254 100644 --- a/QuickLook.Plugin/QuickLook.Plugin.HtmlViewer/QuickLook.Plugin.HtmlViewer.csproj +++ b/QuickLook.Plugin/QuickLook.Plugin.HtmlViewer/QuickLook.Plugin.HtmlViewer.csproj @@ -63,6 +63,7 @@ Properties\GitVersion.cs + diff --git a/QuickLook.Plugin/QuickLook.Plugin.HtmlViewer/WebkitPanel.xaml.cs b/QuickLook.Plugin/QuickLook.Plugin.HtmlViewer/WebkitPanel.xaml.cs index b2846f7..d03678c 100644 --- a/QuickLook.Plugin/QuickLook.Plugin.HtmlViewer/WebkitPanel.xaml.cs +++ b/QuickLook.Plugin/QuickLook.Plugin.HtmlViewer/WebkitPanel.xaml.cs @@ -36,6 +36,7 @@ namespace QuickLook.Plugin.HtmlViewer browser.RequestHandler = new RequestHandler(); browser.MenuHandler = new MenuHandler(); + browser.JsDialogHandler = new JsDialogHandler(); } public void Dispose()