Compare commits

...

2 commits

2 changed files with 30 additions and 8 deletions

View file

@ -33,6 +33,11 @@ namespace SafeExamBrowser.Browser.Handlers
// reactivated. See https://bitbucket.org/chromiumembedded/cef/issues/2622 for the current status of development. // reactivated. See https://bitbucket.org/chromiumembedded/cef/issues/2622 for the current status of development.
// AppendCustomUserAgent(request); // AppendCustomUserAgent(request);
if (IsMailtoUrl(request.Url))
{
return CefReturnValue.Cancel;
}
ReplaceCustomScheme(request); ReplaceCustomScheme(request);
return base.OnBeforeResourceLoad(browserControl, browser, frame, request, callback); return base.OnBeforeResourceLoad(browserControl, browser, frame, request, callback);
@ -47,17 +52,25 @@ namespace SafeExamBrowser.Browser.Handlers
request.Headers = headers; request.Headers = headers;
} }
private bool IsMailtoUrl(string url)
{
return url.StartsWith(Uri.UriSchemeMailto);
}
private void ReplaceCustomScheme(IRequest request) private void ReplaceCustomScheme(IRequest request)
{ {
var uri = new Uri(request.Url); if (Uri.IsWellFormedUriString(request.Url, UriKind.RelativeOrAbsolute))
{
var uri = new Uri(request.Url);
if (uri.Scheme == appConfig.SebUriScheme) if (uri.Scheme == appConfig.SebUriScheme)
{ {
request.Url = new UriBuilder(uri) { Scheme = Uri.UriSchemeHttp }.Uri.AbsoluteUri; request.Url = new UriBuilder(uri) { Scheme = Uri.UriSchemeHttp }.Uri.AbsoluteUri;
} }
else if (uri.Scheme == appConfig.SebUriSchemeSecure) else if (uri.Scheme == appConfig.SebUriSchemeSecure)
{ {
request.Url = new UriBuilder(uri) { Scheme = Uri.UriSchemeHttps }.Uri.AbsoluteUri; request.Url = new UriBuilder(uri) { Scheme = Uri.UriSchemeHttps }.Uri.AbsoluteUri;
}
} }
} }
} }

View file

@ -247,6 +247,15 @@ namespace SafeExamBrowser.UserInterface.Mobile
ReloadButton.Visibility = WindowSettings.AllowReloading ? Visibility.Visible : Visibility.Collapsed; ReloadButton.Visibility = WindowSettings.AllowReloading ? Visibility.Visible : Visibility.Collapsed;
UrlTextBox.Visibility = WindowSettings.AllowAddressBar ? Visibility.Visible : Visibility.Hidden; UrlTextBox.Visibility = WindowSettings.AllowAddressBar ? Visibility.Visible : Visibility.Hidden;
if (!WindowSettings.AllowAddressBar)
{
BackwardButton.Height = 35;
ForwardButton.Height = 35;
ReloadButton.Height = 35;
UrlTextBox.Height = 20;
MenuButton.Height = 35;
}
} }
private void InitializeBounds() private void InitializeBounds()