SEBWIN-514: Fixed bug leading to crash when mailto-URL is HTML encoded.
This commit is contained in:
parent
e14aa4b96c
commit
d6c4c69745
1 changed files with 28 additions and 6 deletions
|
@ -52,7 +52,16 @@ namespace SafeExamBrowser.Browser.Handlers
|
||||||
this.windowSettings = windowSettings;
|
this.windowSettings = windowSettings;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override bool GetAuthCredentials(IWebBrowser webBrowser, IBrowser browser, string originUrl, bool isProxy, string host, int port, string realm, string scheme, IAuthCallback callback)
|
protected override bool GetAuthCredentials(
|
||||||
|
IWebBrowser webBrowser,
|
||||||
|
IBrowser browser,
|
||||||
|
string originUrl,
|
||||||
|
bool isProxy,
|
||||||
|
string host,
|
||||||
|
int port,
|
||||||
|
string realm,
|
||||||
|
string scheme,
|
||||||
|
IAuthCallback callback)
|
||||||
{
|
{
|
||||||
if (isProxy)
|
if (isProxy)
|
||||||
{
|
{
|
||||||
|
@ -70,7 +79,15 @@ namespace SafeExamBrowser.Browser.Handlers
|
||||||
return base.GetAuthCredentials(webBrowser, browser, originUrl, isProxy, host, port, realm, scheme, callback);
|
return base.GetAuthCredentials(webBrowser, browser, originUrl, isProxy, host, port, realm, scheme, callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override IResourceRequestHandler GetResourceRequestHandler(IWebBrowser webBrowser, IBrowser browser, IFrame frame, IRequest request, bool isNavigation, bool isDownload, string requestInitiator, ref bool disableDefaultHandling)
|
protected override IResourceRequestHandler GetResourceRequestHandler(
|
||||||
|
IWebBrowser webBrowser,
|
||||||
|
IBrowser browser,
|
||||||
|
IFrame frame,
|
||||||
|
IRequest request,
|
||||||
|
bool isNavigation,
|
||||||
|
bool isDownload,
|
||||||
|
string requestInitiator,
|
||||||
|
ref bool disableDefaultHandling)
|
||||||
{
|
{
|
||||||
return resourceHandler;
|
return resourceHandler;
|
||||||
}
|
}
|
||||||
|
@ -104,7 +121,13 @@ namespace SafeExamBrowser.Browser.Handlers
|
||||||
return base.OnBeforeBrowse(webBrowser, browser, frame, request, userGesture, isRedirect);
|
return base.OnBeforeBrowse(webBrowser, browser, frame, request, userGesture, isRedirect);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override bool OnOpenUrlFromTab(IWebBrowser webBrowser, IBrowser browser, IFrame frame, string targetUrl, WindowOpenDisposition targetDisposition, bool userGesture)
|
protected override bool OnOpenUrlFromTab(
|
||||||
|
IWebBrowser webBrowser,
|
||||||
|
IBrowser browser,
|
||||||
|
IFrame frame,
|
||||||
|
string targetUrl,
|
||||||
|
WindowOpenDisposition targetDisposition,
|
||||||
|
bool userGesture)
|
||||||
{
|
{
|
||||||
switch (targetDisposition)
|
switch (targetDisposition)
|
||||||
{
|
{
|
||||||
|
@ -120,9 +143,8 @@ namespace SafeExamBrowser.Browser.Handlers
|
||||||
|
|
||||||
private bool IsConfigurationFile(IRequest request, out string downloadUrl)
|
private bool IsConfigurationFile(IRequest request, out string downloadUrl)
|
||||||
{
|
{
|
||||||
var uri = new Uri(request.Url);
|
var isValidUri = Uri.TryCreate(request.Url, UriKind.RelativeOrAbsolute, out var uri);
|
||||||
var uriExtension = Path.GetExtension(uri.AbsolutePath);
|
var isConfigurationFile = isValidUri && string.Equals(appConfig.ConfigurationFileExtension, Path.GetExtension(uri.AbsolutePath), StringComparison.OrdinalIgnoreCase);
|
||||||
var isConfigurationFile = string.Equals(appConfig.ConfigurationFileExtension, uriExtension, StringComparison.OrdinalIgnoreCase);
|
|
||||||
|
|
||||||
downloadUrl = request.Url;
|
downloadUrl = request.Url;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue