SEBWIN-414: Implemented new feature to control displaying and logging of URLs in browser.
This commit is contained in:
parent
3a23cec2c2
commit
68decb740c
21 changed files with 1282 additions and 1024 deletions
|
@ -16,6 +16,7 @@ using SafeExamBrowser.Browser.Contracts.Events;
|
|||
using SafeExamBrowser.Browser.Handlers;
|
||||
using SafeExamBrowser.Configuration.Contracts;
|
||||
using SafeExamBrowser.Logging.Contracts;
|
||||
using SafeExamBrowser.Settings.Browser;
|
||||
using SafeExamBrowser.UserInterface.Contracts.Browser.Data;
|
||||
using BrowserSettings = SafeExamBrowser.Settings.Browser.BrowserSettings;
|
||||
|
||||
|
@ -25,18 +26,20 @@ namespace SafeExamBrowser.Browser.UnitTests.Handlers
|
|||
public class DownloadHandlerTests
|
||||
{
|
||||
private AppConfig appConfig;
|
||||
private BrowserSettings settings;
|
||||
private Mock<ILogger> logger;
|
||||
private BrowserSettings settings;
|
||||
private WindowSettings windowSettings;
|
||||
private DownloadHandler sut;
|
||||
|
||||
[TestInitialize]
|
||||
public void Initialize()
|
||||
{
|
||||
appConfig = new AppConfig();
|
||||
settings = new BrowserSettings();
|
||||
logger = new Mock<ILogger>();
|
||||
settings = new BrowserSettings();
|
||||
windowSettings = new WindowSettings();
|
||||
|
||||
sut = new DownloadHandler(appConfig, settings, logger.Object);
|
||||
sut = new DownloadHandler(appConfig, logger.Object, settings, windowSettings);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
|
|
|
@ -14,6 +14,7 @@ using SafeExamBrowser.Browser.Handlers;
|
|||
using SafeExamBrowser.Configuration.Contracts;
|
||||
using SafeExamBrowser.I18n.Contracts;
|
||||
using SafeExamBrowser.Logging.Contracts;
|
||||
using SafeExamBrowser.Settings.Browser;
|
||||
using SafeExamBrowser.Settings.Browser.Filter;
|
||||
using SafeExamBrowser.Settings.Browser.Proxy;
|
||||
using BrowserSettings = SafeExamBrowser.Settings.Browser.BrowserSettings;
|
||||
|
@ -29,6 +30,7 @@ namespace SafeExamBrowser.Browser.UnitTests.Handlers
|
|||
private Mock<IRequestFilter> filter;
|
||||
private Mock<ILogger> logger;
|
||||
private BrowserSettings settings;
|
||||
private WindowSettings windowSettings;
|
||||
private ResourceHandler resourceHandler;
|
||||
private Mock<IText> text;
|
||||
private TestableRequestHandler sut;
|
||||
|
@ -40,10 +42,11 @@ namespace SafeExamBrowser.Browser.UnitTests.Handlers
|
|||
filter = new Mock<IRequestFilter>();
|
||||
logger = new Mock<ILogger>();
|
||||
settings = new BrowserSettings();
|
||||
windowSettings = new WindowSettings();
|
||||
text = new Mock<IText>();
|
||||
resourceHandler = new ResourceHandler(appConfig, settings, filter.Object, logger.Object, text.Object);
|
||||
resourceHandler = new ResourceHandler(appConfig, filter.Object, logger.Object, settings, windowSettings, text.Object);
|
||||
|
||||
sut = new TestableRequestHandler(appConfig, filter.Object, logger.Object, settings, resourceHandler, text.Object);
|
||||
sut = new TestableRequestHandler(appConfig, filter.Object, logger.Object, resourceHandler, settings, windowSettings, text.Object);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
|
@ -201,9 +204,10 @@ namespace SafeExamBrowser.Browser.UnitTests.Handlers
|
|||
AppConfig appConfig,
|
||||
IRequestFilter filter,
|
||||
ILogger logger,
|
||||
BrowserSettings settings,
|
||||
ResourceHandler resourceHandler,
|
||||
IText text) : base(appConfig, filter, logger, settings, resourceHandler, text)
|
||||
BrowserSettings settings,
|
||||
WindowSettings windowSettings,
|
||||
IText text) : base(appConfig, filter, logger, resourceHandler, settings, windowSettings, text)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@ using SafeExamBrowser.Browser.Contracts.Filters;
|
|||
using SafeExamBrowser.Configuration.Contracts;
|
||||
using SafeExamBrowser.I18n.Contracts;
|
||||
using SafeExamBrowser.Logging.Contracts;
|
||||
using SafeExamBrowser.Settings.Browser;
|
||||
using SafeExamBrowser.Settings.Browser.Filter;
|
||||
using BrowserSettings = SafeExamBrowser.Settings.Browser.BrowserSettings;
|
||||
using Request = SafeExamBrowser.Browser.Contracts.Filters.Request;
|
||||
|
@ -27,9 +28,10 @@ namespace SafeExamBrowser.Browser.UnitTests.Handlers
|
|||
public class ResourceHandlerTests
|
||||
{
|
||||
private AppConfig appConfig;
|
||||
private BrowserSettings settings;
|
||||
private Mock<IRequestFilter> filter;
|
||||
private Mock<ILogger> logger;
|
||||
private BrowserSettings settings;
|
||||
private WindowSettings windowSettings;
|
||||
private Mock<IText> text;
|
||||
private TestableResourceHandler sut;
|
||||
|
||||
|
@ -37,12 +39,13 @@ namespace SafeExamBrowser.Browser.UnitTests.Handlers
|
|||
public void Initialize()
|
||||
{
|
||||
appConfig = new AppConfig();
|
||||
settings = new BrowserSettings();
|
||||
filter = new Mock<IRequestFilter>();
|
||||
logger = new Mock<ILogger>();
|
||||
settings = new BrowserSettings();
|
||||
windowSettings = new WindowSettings();
|
||||
text = new Mock<IText>();
|
||||
|
||||
sut = new TestableResourceHandler(appConfig, settings, filter.Object, logger.Object, text.Object);
|
||||
sut = new TestableResourceHandler(appConfig, filter.Object, logger.Object, settings, windowSettings, text.Object);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
|
@ -156,7 +159,13 @@ namespace SafeExamBrowser.Browser.UnitTests.Handlers
|
|||
|
||||
private class TestableResourceHandler : ResourceHandler
|
||||
{
|
||||
internal TestableResourceHandler(AppConfig appConfig, BrowserSettings settings, IRequestFilter filter, ILogger logger, IText text) : base(appConfig, settings, filter, logger, text)
|
||||
internal TestableResourceHandler(
|
||||
AppConfig appConfig,
|
||||
IRequestFilter filter,
|
||||
ILogger logger,
|
||||
BrowserSettings settings,
|
||||
WindowSettings windowSettings,
|
||||
IText text) : base(appConfig, filter, logger, settings, windowSettings, text)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@ using SafeExamBrowser.Browser.Events;
|
|||
using SafeExamBrowser.Configuration.Contracts;
|
||||
using SafeExamBrowser.I18n.Contracts;
|
||||
using SafeExamBrowser.Logging.Contracts;
|
||||
using SafeExamBrowser.Settings.Browser;
|
||||
using SafeExamBrowser.Settings.Browser.Proxy;
|
||||
using SafeExamBrowser.Settings.Logging;
|
||||
using SafeExamBrowser.UserInterface.Contracts;
|
||||
|
@ -339,7 +340,7 @@ namespace SafeExamBrowser.Browser
|
|||
|
||||
private void Instance_PopupRequested(PopupRequestedEventArgs args)
|
||||
{
|
||||
logger.Info($"Received request to create new instance for '{args.Url}'...");
|
||||
logger.Info($"Received request to create new instance{(settings.AdditionalWindow.UrlPolicy.CanLog() ? $" for '{args.Url}'" : "")}...");
|
||||
CreateNewInstance(args.Url);
|
||||
}
|
||||
|
||||
|
|
|
@ -123,13 +123,13 @@ namespace SafeExamBrowser.Browser
|
|||
var dialogHandler = new DialogHandler();
|
||||
var displayHandler = new DisplayHandler();
|
||||
var downloadLogger = logger.CloneFor($"{nameof(DownloadHandler)} #{Id}");
|
||||
var downloadHandler = new DownloadHandler(appConfig, settings, downloadLogger);
|
||||
var downloadHandler = new DownloadHandler(appConfig, downloadLogger, settings, WindowSettings);
|
||||
var keyboardHandler = new KeyboardHandler();
|
||||
var lifeSpanHandler = new LifeSpanHandler();
|
||||
var requestFilter = new RequestFilter();
|
||||
var requestLogger = logger.CloneFor($"{nameof(RequestHandler)} #{Id}");
|
||||
var resourceHandler = new ResourceHandler(appConfig, settings, requestFilter, logger, text);
|
||||
var requestHandler = new RequestHandler(appConfig, requestFilter, requestLogger, settings, resourceHandler, text);
|
||||
var resourceHandler = new ResourceHandler(appConfig, requestFilter, logger, settings, WindowSettings, text);
|
||||
var requestHandler = new RequestHandler(appConfig, requestFilter, requestLogger, resourceHandler, settings, WindowSettings, text);
|
||||
|
||||
Icon = new BrowserIconResource();
|
||||
|
||||
|
@ -191,7 +191,7 @@ namespace SafeExamBrowser.Browser
|
|||
rule.Initialize(new FilterRuleSettings { Expression = settings.StartUrl, Result = FilterResult.Allow });
|
||||
requestFilter.Load(rule);
|
||||
|
||||
logger.Debug($"Automatically created filter rule to allow start URL '{settings.StartUrl}'.");
|
||||
logger.Debug($"Automatically created filter rule to allow start URL{(WindowSettings.UrlPolicy.CanLog() ? $" '{settings.StartUrl}'" : "")}.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -219,30 +219,37 @@ namespace SafeExamBrowser.Browser
|
|||
|
||||
private void Control_AddressChanged(string address)
|
||||
{
|
||||
logger.Debug($"Navigated to '{address}'.");
|
||||
logger.Debug($"Navigated{(WindowSettings.UrlPolicy.CanLog() ? $" to '{address}'" : "")}.");
|
||||
window.UpdateAddress(address);
|
||||
|
||||
if (WindowSettings.UrlPolicy == UrlPolicy.Always || WindowSettings.UrlPolicy == UrlPolicy.BeforeTitle)
|
||||
{
|
||||
Title = address;
|
||||
window.UpdateTitle(address);
|
||||
TitleChanged?.Invoke(address);
|
||||
}
|
||||
}
|
||||
|
||||
private void Control_LoadFailed(int errorCode, string errorText, string url)
|
||||
{
|
||||
if (errorCode == (int) CefErrorCode.None)
|
||||
{
|
||||
logger.Info($"Request for '{url}' was successful.");
|
||||
logger.Info($"Request{(WindowSettings.UrlPolicy.CanLog() ? $" for '{url}'" : "")} was successful.");
|
||||
}
|
||||
else if (errorCode == (int) CefErrorCode.Aborted)
|
||||
{
|
||||
logger.Info($"Request for '{url}' was aborted.");
|
||||
logger.Info($"Request{(WindowSettings.UrlPolicy.CanLog() ? $" for '{url}'" : "")} was aborted.");
|
||||
}
|
||||
else if (errorCode == (int) CefErrorCode.UnknownUrlScheme)
|
||||
{
|
||||
logger.Info($"Request for '{url}' contains unknown URL scheme and will be handled by the OS.");
|
||||
logger.Info($"Request{(WindowSettings.UrlPolicy.CanLog() ? $" for '{url}'" : "")} contains unknown URL scheme and will be handled by the OS.");
|
||||
}
|
||||
else
|
||||
{
|
||||
var title = text.Get(TextKey.Browser_LoadErrorTitle);
|
||||
var message = text.Get(TextKey.Browser_LoadErrorMessage).Replace("%%URL%%", url) + $" {errorText} ({errorCode})";
|
||||
var message = text.Get(TextKey.Browser_LoadErrorMessage).Replace("%%URL%%", WindowSettings.UrlPolicy.CanLogError() ? url : "") + $" {errorText} ({errorCode})";
|
||||
|
||||
logger.Warn($"Request for '{url}' failed: {errorText} ({errorCode}).");
|
||||
logger.Warn($"Request{(WindowSettings.UrlPolicy.CanLogError() ? $" for '{url}'" : "")} failed: {errorText} ({errorCode}).");
|
||||
|
||||
Task.Run(() => messageBox.Show(message, title, icon: MessageBoxIcon.Error, parent: window)).ContinueWith(_ => control.NavigateBackwards());
|
||||
}
|
||||
|
@ -256,11 +263,14 @@ namespace SafeExamBrowser.Browser
|
|||
}
|
||||
|
||||
private void Control_TitleChanged(string title)
|
||||
{
|
||||
if (WindowSettings.UrlPolicy != UrlPolicy.Always)
|
||||
{
|
||||
Title = title;
|
||||
window.UpdateTitle(Title);
|
||||
TitleChanged?.Invoke(Title);
|
||||
}
|
||||
}
|
||||
|
||||
private void DialogHandler_DialogRequested(DialogRequestedEventArgs args)
|
||||
{
|
||||
|
@ -374,20 +384,20 @@ namespace SafeExamBrowser.Browser
|
|||
{
|
||||
case PopupPolicy.Allow:
|
||||
case PopupPolicy.AllowSameHost when sameHost:
|
||||
logger.Debug($"Forwarding request to open new window for '{args.Url}'...");
|
||||
logger.Debug($"Forwarding request to open new window{(WindowSettings.UrlPolicy.CanLog() ? $" for '{args.Url}'" : "")}...");
|
||||
PopupRequested?.Invoke(args);
|
||||
break;
|
||||
case PopupPolicy.AllowSameWindow:
|
||||
case PopupPolicy.AllowSameHostAndWindow when sameHost:
|
||||
logger.Info($"Discarding request to open new window and loading '{args.Url}' directly...");
|
||||
logger.Info($"Discarding request to open new window and loading{(WindowSettings.UrlPolicy.CanLog() ? $" '{args.Url}'" : "")} directly...");
|
||||
control.NavigateTo(args.Url);
|
||||
break;
|
||||
case PopupPolicy.AllowSameHost when !sameHost:
|
||||
case PopupPolicy.AllowSameHostAndWindow when !sameHost:
|
||||
logger.Info($"Blocked request to open new window for '{args.Url}' as it targets a different host.");
|
||||
logger.Info($"Blocked request to open new window{(WindowSettings.UrlPolicy.CanLog() ? $" for '{args.Url}'" : "")} as it targets a different host.");
|
||||
break;
|
||||
default:
|
||||
logger.Info($"Blocked request to open new window for '{args.Url}'.");
|
||||
logger.Info($"Blocked request to open new window{(WindowSettings.UrlPolicy.CanLog() ? $" for '{args.Url}'" : "")}.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -412,17 +422,17 @@ namespace SafeExamBrowser.Browser
|
|||
|
||||
if (terminate)
|
||||
{
|
||||
logger.Info($"User confirmed termination via quit URL '{url}', forwarding request...");
|
||||
logger.Info($"User confirmed termination via quit URL{(WindowSettings.UrlPolicy.CanLog() ? $" '{url}'" : "")}, forwarding request...");
|
||||
TerminationRequested?.Invoke();
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.Info($"User aborted termination via quit URL '{url}'.");
|
||||
logger.Info($"User aborted termination via quit URL{(WindowSettings.UrlPolicy.CanLog() ? $" '{url}'" : "")}.");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.Info($"Automatically requesting termination due to quit URL '{url}'...");
|
||||
logger.Info($"Automatically requesting termination due to quit URL{(WindowSettings.UrlPolicy.CanLog() ? $" '{url}'" : "")}...");
|
||||
TerminationRequested?.Invoke();
|
||||
}
|
||||
}
|
||||
|
@ -433,7 +443,7 @@ namespace SafeExamBrowser.Browser
|
|||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
var message = text.Get(TextKey.MessageBox_BrowserNavigationBlocked).Replace("%%URL%%", url);
|
||||
var message = text.Get(TextKey.MessageBox_BrowserNavigationBlocked).Replace("%%URL%%", WindowSettings.UrlPolicy.CanLogError() ? url : "");
|
||||
var title = text.Get(TextKey.MessageBox_BrowserNavigationBlockedTitle);
|
||||
|
||||
control.TitleChanged -= Control_TitleChanged;
|
||||
|
|
|
@ -15,6 +15,7 @@ using SafeExamBrowser.Browser.Contracts.Events;
|
|||
using SafeExamBrowser.Browser.Events;
|
||||
using SafeExamBrowser.Configuration.Contracts;
|
||||
using SafeExamBrowser.Logging.Contracts;
|
||||
using SafeExamBrowser.Settings.Browser;
|
||||
using SafeExamBrowser.UserInterface.Contracts.Browser.Data;
|
||||
using Syroot.Windows.IO;
|
||||
using BrowserSettings = SafeExamBrowser.Settings.Browser.BrowserSettings;
|
||||
|
@ -25,6 +26,7 @@ namespace SafeExamBrowser.Browser.Handlers
|
|||
{
|
||||
private AppConfig appConfig;
|
||||
private BrowserSettings settings;
|
||||
private WindowSettings windowSettings;
|
||||
private ConcurrentDictionary<int, DownloadFinishedCallback> callbacks;
|
||||
private ConcurrentDictionary<int, Guid> downloads;
|
||||
private ILogger logger;
|
||||
|
@ -32,13 +34,14 @@ namespace SafeExamBrowser.Browser.Handlers
|
|||
internal event DownloadRequestedEventHandler ConfigurationDownloadRequested;
|
||||
internal event DownloadUpdatedEventHandler DownloadUpdated;
|
||||
|
||||
internal DownloadHandler(AppConfig appConfig, BrowserSettings settings, ILogger logger)
|
||||
internal DownloadHandler(AppConfig appConfig, ILogger logger, BrowserSettings settings, WindowSettings windowSettings)
|
||||
{
|
||||
this.appConfig = appConfig;
|
||||
this.callbacks = new ConcurrentDictionary<int, DownloadFinishedCallback>();
|
||||
this.downloads = new ConcurrentDictionary<int, Guid>();
|
||||
this.logger = logger;
|
||||
this.settings = settings;
|
||||
this.windowSettings = windowSettings;
|
||||
}
|
||||
|
||||
public void OnBeforeDownload(IWebBrowser webBrowser, IBrowser browser, DownloadItem downloadItem, IBeforeDownloadCallback callback)
|
||||
|
@ -52,7 +55,7 @@ namespace SafeExamBrowser.Browser.Handlers
|
|||
isConfigurationFile |= string.Equals(appConfig.ConfigurationFileExtension, uriExtension, StringComparison.OrdinalIgnoreCase);
|
||||
isConfigurationFile |= string.Equals(appConfig.ConfigurationFileMimeType, downloadItem.MimeType, StringComparison.OrdinalIgnoreCase);
|
||||
|
||||
logger.Debug($"Detected download request for '{uri}'.");
|
||||
logger.Debug($"Detected download request{(windowSettings.UrlPolicy.CanLog() ? $" for '{uri}'" : "")}.");
|
||||
|
||||
if (isConfigurationFile)
|
||||
{
|
||||
|
@ -64,7 +67,7 @@ namespace SafeExamBrowser.Browser.Handlers
|
|||
}
|
||||
else
|
||||
{
|
||||
logger.Info($"Aborted download request for '{uri}', as downloading is not allowed.");
|
||||
logger.Info($"Aborted download request{(windowSettings.UrlPolicy.CanLog() ? $" for '{uri}'" : "")}, as downloading is not allowed.");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -88,7 +91,7 @@ namespace SafeExamBrowser.Browser.Handlers
|
|||
|
||||
if (downloadItem.IsComplete || downloadItem.IsCancelled)
|
||||
{
|
||||
logger.Debug($"Download of '{downloadItem.Url}' {(downloadItem.IsComplete ? "is complete" : "was cancelled")}.");
|
||||
logger.Debug($"Download of '{downloadItem.FullPath}' {(downloadItem.IsComplete ? "is complete" : "was cancelled")}.");
|
||||
|
||||
if (callbacks.TryRemove(downloadItem.Id, out DownloadFinishedCallback finished) && finished != null)
|
||||
{
|
||||
|
|
|
@ -14,6 +14,7 @@ using SafeExamBrowser.Browser.Events;
|
|||
using SafeExamBrowser.Configuration.Contracts;
|
||||
using SafeExamBrowser.I18n.Contracts;
|
||||
using SafeExamBrowser.Logging.Contracts;
|
||||
using SafeExamBrowser.Settings.Browser;
|
||||
using SafeExamBrowser.Settings.Browser.Filter;
|
||||
using BrowserSettings = SafeExamBrowser.Settings.Browser.BrowserSettings;
|
||||
using Request = SafeExamBrowser.Browser.Contracts.Filters.Request;
|
||||
|
@ -26,6 +27,7 @@ namespace SafeExamBrowser.Browser.Handlers
|
|||
private ILogger logger;
|
||||
private string quitUrlPattern;
|
||||
private ResourceHandler resourceHandler;
|
||||
private WindowSettings windowSettings;
|
||||
private BrowserSettings settings;
|
||||
|
||||
internal event UrlEventHandler QuitUrlVisited;
|
||||
|
@ -35,14 +37,16 @@ namespace SafeExamBrowser.Browser.Handlers
|
|||
AppConfig appConfig,
|
||||
IRequestFilter filter,
|
||||
ILogger logger,
|
||||
BrowserSettings settings,
|
||||
ResourceHandler resourceHandler,
|
||||
BrowserSettings settings,
|
||||
WindowSettings windowSettings,
|
||||
IText text)
|
||||
{
|
||||
this.filter = filter;
|
||||
this.logger = logger;
|
||||
this.settings = settings;
|
||||
this.resourceHandler = resourceHandler;
|
||||
this.settings = settings;
|
||||
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)
|
||||
|
@ -105,7 +109,7 @@ namespace SafeExamBrowser.Browser.Handlers
|
|||
|
||||
if (isQuitUrl)
|
||||
{
|
||||
logger.Debug($"Detected quit URL '{request.Url}'.");
|
||||
logger.Debug($"Detected quit URL{(windowSettings.UrlPolicy.CanLog() ? $"'{request.Url}'" : "")}.");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -123,7 +127,7 @@ namespace SafeExamBrowser.Browser.Handlers
|
|||
if (result == FilterResult.Block)
|
||||
{
|
||||
block = true;
|
||||
logger.Info($"Blocked main request for '{request.Url}' ({request.ResourceType}, {request.TransitionType}).");
|
||||
logger.Info($"Blocked main request{(windowSettings.UrlPolicy.CanLog() ? $" for '{request.Url}'" : "")} ({request.ResourceType}, {request.TransitionType}).");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -134,7 +138,7 @@ namespace SafeExamBrowser.Browser.Handlers
|
|||
if (result == FilterResult.Block)
|
||||
{
|
||||
block = true;
|
||||
logger.Info($"Blocked content request for '{request.Url}' ({request.ResourceType}, {request.TransitionType}).");
|
||||
logger.Info($"Blocked content request{(windowSettings.UrlPolicy.CanLog() ? $" for '{request.Url}'" : "")} ({request.ResourceType}, {request.TransitionType}).");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@ using SafeExamBrowser.Browser.Pages;
|
|||
using SafeExamBrowser.Configuration.Contracts;
|
||||
using SafeExamBrowser.I18n.Contracts;
|
||||
using SafeExamBrowser.Logging.Contracts;
|
||||
using SafeExamBrowser.Settings.Browser;
|
||||
using SafeExamBrowser.Settings.Browser.Filter;
|
||||
using BrowserSettings = SafeExamBrowser.Settings.Browser.BrowserSettings;
|
||||
using Request = SafeExamBrowser.Browser.Contracts.Filters.Request;
|
||||
|
@ -39,11 +40,18 @@ namespace SafeExamBrowser.Browser.Handlers
|
|||
private ILogger logger;
|
||||
private IResourceHandler pageHandler;
|
||||
private BrowserSettings settings;
|
||||
private WindowSettings windowSettings;
|
||||
private IText text;
|
||||
|
||||
internal event SessionIdentifierDetectedEventHandler SessionIdentifierDetected;
|
||||
|
||||
internal ResourceHandler(AppConfig appConfig, BrowserSettings settings, IRequestFilter filter, ILogger logger, IText text)
|
||||
internal ResourceHandler(
|
||||
AppConfig appConfig,
|
||||
IRequestFilter filter,
|
||||
ILogger logger,
|
||||
BrowserSettings settings,
|
||||
WindowSettings windowSettings,
|
||||
IText text)
|
||||
{
|
||||
this.appConfig = appConfig;
|
||||
this.algorithm = new SHA256Managed();
|
||||
|
@ -51,6 +59,7 @@ namespace SafeExamBrowser.Browser.Handlers
|
|||
this.htmlLoader = new HtmlLoader(text);
|
||||
this.logger = logger;
|
||||
this.settings = settings;
|
||||
this.windowSettings = windowSettings;
|
||||
this.text = text;
|
||||
}
|
||||
|
||||
|
@ -138,7 +147,7 @@ namespace SafeExamBrowser.Browser.Handlers
|
|||
if (result == FilterResult.Block)
|
||||
{
|
||||
block = true;
|
||||
logger.Info($"Blocked content request for '{request.Url}' ({request.ResourceType}, {request.TransitionType}).");
|
||||
logger.Info($"Blocked content request{(windowSettings.UrlPolicy.CanLog() ? $" for '{request.Url}'" : "")} ({request.ResourceType}, {request.TransitionType}).");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -183,7 +192,7 @@ namespace SafeExamBrowser.Browser.Handlers
|
|||
|
||||
if (redirect)
|
||||
{
|
||||
logger.Info($"Redirecting to '{url}' to disable PDF reader toolbar.");
|
||||
logger.Info($"Redirecting{(windowSettings.UrlPolicy.CanLog() ? $" to '{url}'" : "")} to disable PDF reader toolbar.");
|
||||
}
|
||||
|
||||
return redirect;
|
||||
|
|
|
@ -57,6 +57,9 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping
|
|||
case Keys.Browser.AdditionalWindow.ShowReloadWarning:
|
||||
MapShowReloadWarningAdditionalWindow(settings, value);
|
||||
break;
|
||||
case Keys.Browser.AdditionalWindow.UrlPolicy:
|
||||
MapUrlPolicy(settings.Browser.AdditionalWindow, value);
|
||||
break;
|
||||
case Keys.Browser.AdditionalWindow.WindowHeight:
|
||||
MapWindowHeightAdditionalWindow(settings, value);
|
||||
break;
|
||||
|
@ -102,6 +105,9 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping
|
|||
case Keys.Browser.MainWindow.ShowReloadWarning:
|
||||
MapShowReloadWarning(settings, value);
|
||||
break;
|
||||
case Keys.Browser.MainWindow.UrlPolicy:
|
||||
MapUrlPolicy(settings.Browser.MainWindow, value);
|
||||
break;
|
||||
case Keys.Browser.MainWindow.WindowHeight:
|
||||
MapWindowHeightMainWindow(settings, value);
|
||||
break;
|
||||
|
@ -434,6 +440,33 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping
|
|||
}
|
||||
}
|
||||
|
||||
private void MapUrlPolicy(WindowSettings settings, object value)
|
||||
{
|
||||
const int ALWAYS = 3;
|
||||
const int BEFORE_TITLE = 2;
|
||||
const int LOAD_ERROR = 1;
|
||||
const int NEVER = 0;
|
||||
|
||||
if (value is int policy)
|
||||
{
|
||||
switch (policy)
|
||||
{
|
||||
case ALWAYS:
|
||||
settings.UrlPolicy = UrlPolicy.Always;
|
||||
break;
|
||||
case BEFORE_TITLE:
|
||||
settings.UrlPolicy = UrlPolicy.BeforeTitle;
|
||||
break;
|
||||
case LOAD_ERROR:
|
||||
settings.UrlPolicy = UrlPolicy.LoadError;
|
||||
break;
|
||||
case NEVER:
|
||||
settings.UrlPolicy = UrlPolicy.Never;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void MapUserAgentMode(IDictionary<string, object> rawData, AppSettings settings)
|
||||
{
|
||||
const int DEFAULT = 0;
|
||||
|
|
|
@ -114,6 +114,7 @@ namespace SafeExamBrowser.Configuration.ConfigurationData
|
|||
settings.Browser.AdditionalWindow.RelativeWidth = 50;
|
||||
settings.Browser.AdditionalWindow.ShowReloadWarning = false;
|
||||
settings.Browser.AdditionalWindow.ShowToolbar = false;
|
||||
settings.Browser.AdditionalWindow.UrlPolicy = UrlPolicy.Never;
|
||||
settings.Browser.AllowConfigurationDownloads = true;
|
||||
settings.Browser.AllowCustomDownAndUploadLocation = false;
|
||||
settings.Browser.AllowDownloads = true;
|
||||
|
@ -136,6 +137,7 @@ namespace SafeExamBrowser.Configuration.ConfigurationData
|
|||
settings.Browser.MainWindow.RelativeWidth = 100;
|
||||
settings.Browser.MainWindow.ShowReloadWarning = true;
|
||||
settings.Browser.MainWindow.ShowToolbar = false;
|
||||
settings.Browser.MainWindow.UrlPolicy = UrlPolicy.Never;
|
||||
settings.Browser.PopupPolicy = PopupPolicy.Allow;
|
||||
settings.Browser.Proxy.Policy = ProxyPolicy.System;
|
||||
settings.Browser.ResetOnQuitUrl = false;
|
||||
|
|
|
@ -78,6 +78,7 @@ namespace SafeExamBrowser.Configuration.ConfigurationData
|
|||
internal const string AllowNavigation = "newBrowserWindowNavigation";
|
||||
internal const string AllowReload = "newBrowserWindowAllowReload";
|
||||
internal const string ShowReloadWarning = "newBrowserWindowShowReloadWarning";
|
||||
internal const string UrlPolicy = "newBrowserWindowShowURL";
|
||||
internal const string WindowHeight = "newBrowserWindowByLinkHeight";
|
||||
internal const string WindowWidth = "newBrowserWindowByLinkWidth";
|
||||
internal const string WindowPosition = "newBrowserWindowByLinkPositioning";
|
||||
|
@ -100,6 +101,7 @@ namespace SafeExamBrowser.Configuration.ConfigurationData
|
|||
internal const string AllowNavigation = "allowBrowsingBackForward";
|
||||
internal const string AllowReload = "browserWindowAllowReload";
|
||||
internal const string ShowReloadWarning = "showReloadWarning";
|
||||
internal const string UrlPolicy = "browserWindowShowURL";
|
||||
internal const string WindowHeight = "mainBrowserWindowHeight";
|
||||
internal const string WindowMode = "browserViewMode";
|
||||
internal const string WindowWidth = "mainBrowserWindowWidth";
|
||||
|
|
55
SafeExamBrowser.Settings/Browser/UrlPolicy.cs
Normal file
55
SafeExamBrowser.Settings/Browser/UrlPolicy.cs
Normal file
|
@ -0,0 +1,55 @@
|
|||
/*
|
||||
* Copyright (c) 2020 ETH Zürich, Educational Development and Technology (LET)
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
namespace SafeExamBrowser.Settings.Browser
|
||||
{
|
||||
/// <summary>
|
||||
/// Defines all policies for handling of URLs in the user interface and log.
|
||||
/// </summary>
|
||||
public enum UrlPolicy
|
||||
{
|
||||
/// <summary>
|
||||
/// Always show the URL of a resource instead of the title. Log URLs normally.
|
||||
/// </summary>
|
||||
Always,
|
||||
|
||||
/// <summary>
|
||||
/// Show the URL until the title of a resource is available. Log URLs normally.
|
||||
/// </summary>
|
||||
BeforeTitle,
|
||||
|
||||
/// <summary>
|
||||
/// Only show the URL on load errors, otherwise show the title of a resource. Only log URLs in error messages.
|
||||
/// </summary>
|
||||
LoadError,
|
||||
|
||||
/// <summary>
|
||||
/// Never show the URL of a resource and do not log any URLs.
|
||||
/// </summary>
|
||||
Never
|
||||
}
|
||||
|
||||
public static class UrlPolicyExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// Indicates whether URLs may be logged normally.
|
||||
/// </summary>
|
||||
public static bool CanLog(this UrlPolicy policy)
|
||||
{
|
||||
return policy == UrlPolicy.Always || policy == UrlPolicy.BeforeTitle;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Indicates whether URLs may be logged in case of an error.
|
||||
/// </summary>
|
||||
public static bool CanLogError(this UrlPolicy policy)
|
||||
{
|
||||
return policy.CanLog() || policy == UrlPolicy.LoadError;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -80,5 +80,10 @@ namespace SafeExamBrowser.Settings.Browser
|
|||
/// Determines whether the window toolbar is visible.
|
||||
/// </summary>
|
||||
public bool ShowToolbar { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Determines how URLs are handled in the user interface and log.
|
||||
/// </summary>
|
||||
public UrlPolicy UrlPolicy { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -59,6 +59,7 @@
|
|||
<Compile Include="Applications\WhitelistApplication.cs" />
|
||||
<Compile Include="Browser\FilterSettings.cs" />
|
||||
<Compile Include="Browser\BrowserSettings.cs" />
|
||||
<Compile Include="Browser\UrlPolicy.cs" />
|
||||
<Compile Include="Browser\WindowPosition.cs" />
|
||||
<Compile Include="Browser\WindowSettings.cs" />
|
||||
<Compile Include="Browser\Filter\FilterResult.cs" />
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:fa="http://schemas.fontawesome.io/icons/"
|
||||
xmlns:local="clr-namespace:SafeExamBrowser.UserInterface.Desktop.Controls"
|
||||
mc:Ignorable="d" Title="BrowserWindow" Background="#FFF0F0F0" Height="500" Width="750" MinHeight="250" MinWidth="250" Icon="../Images/SafeExamBrowser.ico">
|
||||
mc:Ignorable="d" Background="#FFF0F0F0" Height="500" Width="750" MinHeight="250" MinWidth="250" Icon="../Images/SafeExamBrowser.ico">
|
||||
<Window.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:fa="http://schemas.fontawesome.io/icons/"
|
||||
xmlns:local="clr-namespace:SafeExamBrowser.UserInterface.Mobile.Controls"
|
||||
mc:Ignorable="d" Title="BrowserWindow" Background="#FFF0F0F0" FontSize="16" Height="500" Width="750" MinHeight="250" MinWidth="250" Icon="../Images/SafeExamBrowser.ico">
|
||||
mc:Ignorable="d" Background="#FFF0F0F0" FontSize="16" Height="500" Width="750" MinHeight="250" MinWidth="250" Icon="../Images/SafeExamBrowser.ico">
|
||||
<Window.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
|
|
|
@ -145,6 +145,8 @@ namespace SebWindowsConfig
|
|||
public const String KeyNewBrowserWindowByLinkWidth = "newBrowserWindowByLinkWidth";
|
||||
public const String KeyNewBrowserWindowByLinkHeight = "newBrowserWindowByLinkHeight";
|
||||
public const String KeyNewBrowserWindowByLinkPositioning = "newBrowserWindowByLinkPositioning";
|
||||
public const String KeyNewBrowserWindowUrlPolicy = "newBrowserWindowShowURL";
|
||||
public const String KeyMainBrowserWindowUrlPolicy = "browserWindowShowURL";
|
||||
public const String KeyEnablePlugIns = "enablePlugIns";
|
||||
public const String KeyEnableJava = "enableJava";
|
||||
public const String KeyEnableJavaScript = "enableJavaScript";
|
||||
|
@ -658,7 +660,9 @@ namespace SebWindowsConfig
|
|||
SEBSettings.settingsDefault.Add(SEBSettings.KeyNewBrowserWindowByLinkWidth , "1000");
|
||||
SEBSettings.settingsDefault.Add(SEBSettings.KeyNewBrowserWindowByLinkHeight , "100%");
|
||||
SEBSettings.settingsDefault.Add(SEBSettings.KeyNewBrowserWindowByLinkPositioning , 2);
|
||||
SEBSettings.settingsDefault.Add(SEBSettings.KeyNewBrowserWindowUrlPolicy , 0);
|
||||
|
||||
SEBSettings.settingsDefault.Add(SEBSettings.KeyMainBrowserWindowUrlPolicy, 0);
|
||||
SEBSettings.settingsDefault.Add(SEBSettings.KeyEnablePlugIns , true);
|
||||
SEBSettings.settingsDefault.Add(SEBSettings.KeyEnableJava , false);
|
||||
SEBSettings.settingsDefault.Add(SEBSettings.KeyEnableJavaScript , true);
|
||||
|
|
376
SebWindowsConfig/SebWindowsConfigForm.Designer.cs
generated
376
SebWindowsConfig/SebWindowsConfigForm.Designer.cs
generated
|
@ -30,8 +30,8 @@ namespace SebWindowsConfig
|
|||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SebWindowsConfigForm));
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
this.openFileDialogSebConfigFile = new System.Windows.Forms.OpenFileDialog();
|
||||
this.saveFileDialogSebConfigFile = new System.Windows.Forms.SaveFileDialog();
|
||||
this.imageListTabIcons = new System.Windows.Forms.ImageList(this.components);
|
||||
|
@ -229,6 +229,9 @@ namespace SebWindowsConfig
|
|||
this.dataGridViewTextBoxColumn2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.checkBoxMonitorProcesses = new System.Windows.Forms.CheckBox();
|
||||
this.tabPageExam = new System.Windows.Forms.TabPage();
|
||||
this.groupBox17 = new System.Windows.Forms.GroupBox();
|
||||
this.label23 = new System.Windows.Forms.Label();
|
||||
this.checkBoxUseStartUrlQuery = new System.Windows.Forms.CheckBox();
|
||||
this.groupBox15 = new System.Windows.Forms.GroupBox();
|
||||
this.label22 = new System.Windows.Forms.Label();
|
||||
this.textBoxReconfigurationUrl = new System.Windows.Forms.TextBox();
|
||||
|
@ -275,6 +278,18 @@ namespace SebWindowsConfig
|
|||
this.checkBoxOpenDownloads = new System.Windows.Forms.CheckBox();
|
||||
this.checkBoxAllowDownUploads = new System.Windows.Forms.CheckBox();
|
||||
this.tabPageBrowser = new System.Windows.Forms.TabPage();
|
||||
this.groupBox19 = new System.Windows.Forms.GroupBox();
|
||||
this.label25 = new System.Windows.Forms.Label();
|
||||
this.comboBoxUrlPolicyNewWindow = new System.Windows.Forms.ComboBox();
|
||||
this.checkBoxAllowNavigationNewWindow = new System.Windows.Forms.CheckBox();
|
||||
this.checkBoxAllowReloadNewWindow = new System.Windows.Forms.CheckBox();
|
||||
this.checkBoxShowReloadWarningNewWindow = new System.Windows.Forms.CheckBox();
|
||||
this.groupBox18 = new System.Windows.Forms.GroupBox();
|
||||
this.label24 = new System.Windows.Forms.Label();
|
||||
this.comboBoxUrlPolicyMainWindow = new System.Windows.Forms.ComboBox();
|
||||
this.checkBoxAllowBrowsingBackForward = new System.Windows.Forms.CheckBox();
|
||||
this.checkBoxShowReloadWarning = new System.Windows.Forms.CheckBox();
|
||||
this.checkBoxAllowReload = new System.Windows.Forms.CheckBox();
|
||||
this.label12 = new System.Windows.Forms.Label();
|
||||
this.textBoxUserAgent = new System.Windows.Forms.TextBox();
|
||||
this.label11 = new System.Windows.Forms.Label();
|
||||
|
@ -299,16 +314,10 @@ namespace SebWindowsConfig
|
|||
this.groupBox11 = new System.Windows.Forms.GroupBox();
|
||||
this.checkBoxAllowFind = new System.Windows.Forms.CheckBox();
|
||||
this.checkBoxAllowPdfReaderToolbar = new System.Windows.Forms.CheckBox();
|
||||
this.checkBoxShowReloadWarningNewWindow = new System.Windows.Forms.CheckBox();
|
||||
this.checkBoxAllowReloadNewWindow = new System.Windows.Forms.CheckBox();
|
||||
this.checkBoxAllowVideoCapture = new System.Windows.Forms.CheckBox();
|
||||
this.checkBoxAllowReload = new System.Windows.Forms.CheckBox();
|
||||
this.checkBoxAllowNavigationNewWindow = new System.Windows.Forms.CheckBox();
|
||||
this.checkBoxAllowAudioCapture = new System.Windows.Forms.CheckBox();
|
||||
this.checkBoxShowReloadWarning = new System.Windows.Forms.CheckBox();
|
||||
this.checkBoxDisableLocalStorage = new System.Windows.Forms.CheckBox();
|
||||
this.checkBoxRemoveProfile = new System.Windows.Forms.CheckBox();
|
||||
this.checkBoxAllowBrowsingBackForward = new System.Windows.Forms.CheckBox();
|
||||
this.checkBoxEnablePlugIns = new System.Windows.Forms.CheckBox();
|
||||
this.checkBoxBlockPopUpWindows = new System.Windows.Forms.CheckBox();
|
||||
this.checkBoxEnableJavaScript = new System.Windows.Forms.CheckBox();
|
||||
|
@ -447,9 +456,6 @@ namespace SebWindowsConfig
|
|||
this.editDuplicateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.configureClientToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.applyAndStartSEBToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.groupBox17 = new System.Windows.Forms.GroupBox();
|
||||
this.checkBoxUseStartUrlQuery = new System.Windows.Forms.CheckBox();
|
||||
this.label23 = new System.Windows.Forms.Label();
|
||||
this.tabPageHookedKeys.SuspendLayout();
|
||||
this.groupBoxFunctionKeys.SuspendLayout();
|
||||
this.groupBoxSpecialKeys.SuspendLayout();
|
||||
|
@ -477,6 +483,7 @@ namespace SebWindowsConfig
|
|||
this.groupBoxProhibitedProcess.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dataGridViewProhibitedProcesses)).BeginInit();
|
||||
this.tabPageExam.SuspendLayout();
|
||||
this.groupBox17.SuspendLayout();
|
||||
this.groupBox15.SuspendLayout();
|
||||
this.groupBox2.SuspendLayout();
|
||||
this.groupBox9.SuspendLayout();
|
||||
|
@ -484,6 +491,8 @@ namespace SebWindowsConfig
|
|||
this.groupBox7.SuspendLayout();
|
||||
this.tabPageDownUploads.SuspendLayout();
|
||||
this.tabPageBrowser.SuspendLayout();
|
||||
this.groupBox19.SuspendLayout();
|
||||
this.groupBox18.SuspendLayout();
|
||||
this.groupBox14.SuspendLayout();
|
||||
this.groupBox13.SuspendLayout();
|
||||
this.groupBox12.SuspendLayout();
|
||||
|
@ -505,7 +514,6 @@ namespace SebWindowsConfig
|
|||
this.groupBoxExitSequence.SuspendLayout();
|
||||
this.tabControlSebWindowsConfig.SuspendLayout();
|
||||
this.menuStrip1.SuspendLayout();
|
||||
this.groupBox17.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// openFileDialogSebConfigFile
|
||||
|
@ -1820,8 +1828,8 @@ namespace SebWindowsConfig
|
|||
//
|
||||
// Type
|
||||
//
|
||||
dataGridViewCellStyle3.BackColor = System.Drawing.Color.Silver;
|
||||
this.Type.DefaultCellStyle = dataGridViewCellStyle3;
|
||||
dataGridViewCellStyle11.BackColor = System.Drawing.Color.Silver;
|
||||
this.Type.DefaultCellStyle = dataGridViewCellStyle11;
|
||||
this.Type.HeaderText = "Type";
|
||||
this.Type.Name = "Type";
|
||||
this.Type.ReadOnly = true;
|
||||
|
@ -3032,6 +3040,38 @@ namespace SebWindowsConfig
|
|||
this.tabPageExam.Text = " Exam";
|
||||
this.tabPageExam.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// groupBox17
|
||||
//
|
||||
this.groupBox17.Controls.Add(this.label23);
|
||||
this.groupBox17.Controls.Add(this.checkBoxUseStartUrlQuery);
|
||||
this.groupBox17.Location = new System.Drawing.Point(605, 471);
|
||||
this.groupBox17.Name = "groupBox17";
|
||||
this.groupBox17.Size = new System.Drawing.Size(610, 86);
|
||||
this.groupBox17.TabIndex = 124;
|
||||
this.groupBox17.TabStop = false;
|
||||
this.groupBox17.Text = "Query String Parameter";
|
||||
//
|
||||
// label23
|
||||
//
|
||||
this.label23.Location = new System.Drawing.Point(12, 24);
|
||||
this.label23.Name = "label23";
|
||||
this.label23.Size = new System.Drawing.Size(592, 27);
|
||||
this.label23.TabIndex = 1;
|
||||
this.label23.Text = resources.GetString("label23.Text");
|
||||
//
|
||||
// checkBoxUseStartUrlQuery
|
||||
//
|
||||
this.checkBoxUseStartUrlQuery.AutoSize = true;
|
||||
this.checkBoxUseStartUrlQuery.Location = new System.Drawing.Point(15, 59);
|
||||
this.checkBoxUseStartUrlQuery.Name = "checkBoxUseStartUrlQuery";
|
||||
this.checkBoxUseStartUrlQuery.Size = new System.Drawing.Size(133, 17);
|
||||
this.checkBoxUseStartUrlQuery.TabIndex = 0;
|
||||
this.checkBoxUseStartUrlQuery.Text = "Allow Query Parameter";
|
||||
this.toolTip1.SetToolTip(this.checkBoxUseStartUrlQuery, "If a seb(s):// link contains an additional query string, SEB appends it to the ex" +
|
||||
"am\'s Start URL");
|
||||
this.checkBoxUseStartUrlQuery.UseVisualStyleBackColor = true;
|
||||
this.checkBoxUseStartUrlQuery.CheckedChanged += new System.EventHandler(this.checkBoxUseStartUrlQuery_CheckedChanged);
|
||||
//
|
||||
// groupBox15
|
||||
//
|
||||
this.groupBox15.Controls.Add(this.label22);
|
||||
|
@ -3597,6 +3637,8 @@ namespace SebWindowsConfig
|
|||
//
|
||||
// tabPageBrowser
|
||||
//
|
||||
this.tabPageBrowser.Controls.Add(this.groupBox19);
|
||||
this.tabPageBrowser.Controls.Add(this.groupBox18);
|
||||
this.tabPageBrowser.Controls.Add(this.label12);
|
||||
this.tabPageBrowser.Controls.Add(this.textBoxUserAgent);
|
||||
this.tabPageBrowser.Controls.Add(this.label11);
|
||||
|
@ -3621,6 +3663,156 @@ namespace SebWindowsConfig
|
|||
this.tabPageBrowser.Text = "Browser";
|
||||
this.tabPageBrowser.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// groupBox19
|
||||
//
|
||||
this.groupBox19.Controls.Add(this.label25);
|
||||
this.groupBox19.Controls.Add(this.comboBoxUrlPolicyNewWindow);
|
||||
this.groupBox19.Controls.Add(this.checkBoxAllowNavigationNewWindow);
|
||||
this.groupBox19.Controls.Add(this.checkBoxAllowReloadNewWindow);
|
||||
this.groupBox19.Controls.Add(this.checkBoxShowReloadWarningNewWindow);
|
||||
this.groupBox19.Location = new System.Drawing.Point(281, 342);
|
||||
this.groupBox19.Name = "groupBox19";
|
||||
this.groupBox19.Size = new System.Drawing.Size(265, 108);
|
||||
this.groupBox19.TabIndex = 128;
|
||||
this.groupBox19.TabStop = false;
|
||||
this.groupBox19.Text = "Restrictions in Additional Windows";
|
||||
//
|
||||
// label25
|
||||
//
|
||||
this.label25.AutoSize = true;
|
||||
this.label25.Location = new System.Drawing.Point(38, 82);
|
||||
this.label25.Name = "label25";
|
||||
this.label25.Size = new System.Drawing.Size(64, 13);
|
||||
this.label25.TabIndex = 15;
|
||||
this.label25.Text = "Show URLs";
|
||||
this.toolTip1.SetToolTip(this.label25, "For some exam scenarios, you might want to keep URLs secret");
|
||||
//
|
||||
// comboBoxUrlPolicyNewWindow
|
||||
//
|
||||
this.comboBoxUrlPolicyNewWindow.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.comboBoxUrlPolicyNewWindow.FormattingEnabled = true;
|
||||
this.comboBoxUrlPolicyNewWindow.Location = new System.Drawing.Point(126, 79);
|
||||
this.comboBoxUrlPolicyNewWindow.Name = "comboBoxUrlPolicyNewWindow";
|
||||
this.comboBoxUrlPolicyNewWindow.Size = new System.Drawing.Size(121, 21);
|
||||
this.comboBoxUrlPolicyNewWindow.TabIndex = 14;
|
||||
this.toolTip1.SetToolTip(this.comboBoxUrlPolicyNewWindow, "For some exam scenarios, you might want to keep URLs secret");
|
||||
this.comboBoxUrlPolicyNewWindow.SelectedIndexChanged += new System.EventHandler(this.comboBoxUrlPolicyNewWindow_SelectedIndexChanged);
|
||||
//
|
||||
// checkBoxAllowNavigationNewWindow
|
||||
//
|
||||
this.checkBoxAllowNavigationNewWindow.AutoSize = true;
|
||||
this.checkBoxAllowNavigationNewWindow.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.checkBoxAllowNavigationNewWindow.Location = new System.Drawing.Point(12, 20);
|
||||
this.checkBoxAllowNavigationNewWindow.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
|
||||
this.checkBoxAllowNavigationNewWindow.Name = "checkBoxAllowNavigationNewWindow";
|
||||
this.checkBoxAllowNavigationNewWindow.Size = new System.Drawing.Size(206, 17);
|
||||
this.checkBoxAllowNavigationNewWindow.TabIndex = 8;
|
||||
this.checkBoxAllowNavigationNewWindow.Text = "Allow navigating in additional windows";
|
||||
this.toolTip1.SetToolTip(this.checkBoxAllowNavigationNewWindow, resources.GetString("checkBoxAllowNavigationNewWindow.ToolTip"));
|
||||
this.checkBoxAllowNavigationNewWindow.UseVisualStyleBackColor = true;
|
||||
this.checkBoxAllowNavigationNewWindow.CheckedChanged += new System.EventHandler(this.checkBoxAllowNavigationNewWindow_CheckedChanged);
|
||||
//
|
||||
// checkBoxAllowReloadNewWindow
|
||||
//
|
||||
this.checkBoxAllowReloadNewWindow.AutoSize = true;
|
||||
this.checkBoxAllowReloadNewWindow.Location = new System.Drawing.Point(12, 41);
|
||||
this.checkBoxAllowReloadNewWindow.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
|
||||
this.checkBoxAllowReloadNewWindow.Name = "checkBoxAllowReloadNewWindow";
|
||||
this.checkBoxAllowReloadNewWindow.Size = new System.Drawing.Size(186, 17);
|
||||
this.checkBoxAllowReloadNewWindow.TabIndex = 12;
|
||||
this.checkBoxAllowReloadNewWindow.Text = "Allow reload in additional windows";
|
||||
this.toolTip1.SetToolTip(this.checkBoxAllowReloadNewWindow, "Allow reloading additional windows with F5 or reload button (if displayed)");
|
||||
this.checkBoxAllowReloadNewWindow.UseVisualStyleBackColor = true;
|
||||
this.checkBoxAllowReloadNewWindow.CheckedChanged += new System.EventHandler(this.checkBoxAllowReloadNewWindow_CheckedChanged);
|
||||
//
|
||||
// checkBoxShowReloadWarningNewWindow
|
||||
//
|
||||
this.checkBoxShowReloadWarningNewWindow.AutoSize = true;
|
||||
this.checkBoxShowReloadWarningNewWindow.Location = new System.Drawing.Point(12, 60);
|
||||
this.checkBoxShowReloadWarningNewWindow.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
|
||||
this.checkBoxShowReloadWarningNewWindow.Name = "checkBoxShowReloadWarningNewWindow";
|
||||
this.checkBoxShowReloadWarningNewWindow.Size = new System.Drawing.Size(228, 17);
|
||||
this.checkBoxShowReloadWarningNewWindow.TabIndex = 13;
|
||||
this.checkBoxShowReloadWarningNewWindow.Text = "Show reload warning in additional windows";
|
||||
this.toolTip1.SetToolTip(this.checkBoxShowReloadWarningNewWindow, "User has to confirm reloading a web page with F5 or reload button");
|
||||
this.checkBoxShowReloadWarningNewWindow.UseVisualStyleBackColor = true;
|
||||
this.checkBoxShowReloadWarningNewWindow.CheckedChanged += new System.EventHandler(this.checkBoxShowReloadWarningNewWindow_CheckedChanged);
|
||||
//
|
||||
// groupBox18
|
||||
//
|
||||
this.groupBox18.Controls.Add(this.label24);
|
||||
this.groupBox18.Controls.Add(this.comboBoxUrlPolicyMainWindow);
|
||||
this.groupBox18.Controls.Add(this.checkBoxAllowBrowsingBackForward);
|
||||
this.groupBox18.Controls.Add(this.checkBoxShowReloadWarning);
|
||||
this.groupBox18.Controls.Add(this.checkBoxAllowReload);
|
||||
this.groupBox18.Location = new System.Drawing.Point(24, 342);
|
||||
this.groupBox18.Name = "groupBox18";
|
||||
this.groupBox18.Size = new System.Drawing.Size(239, 108);
|
||||
this.groupBox18.TabIndex = 127;
|
||||
this.groupBox18.TabStop = false;
|
||||
this.groupBox18.Text = "Restrictions in Exam Window";
|
||||
//
|
||||
// label24
|
||||
//
|
||||
this.label24.AutoSize = true;
|
||||
this.label24.Location = new System.Drawing.Point(21, 82);
|
||||
this.label24.Name = "label24";
|
||||
this.label24.Size = new System.Drawing.Size(64, 13);
|
||||
this.label24.TabIndex = 11;
|
||||
this.label24.Text = "Show URLs";
|
||||
this.toolTip1.SetToolTip(this.label24, "For some exam scenarios, you might want to keep URLs secret");
|
||||
//
|
||||
// comboBoxUrlPolicyMainWindow
|
||||
//
|
||||
this.comboBoxUrlPolicyMainWindow.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.comboBoxUrlPolicyMainWindow.FormattingEnabled = true;
|
||||
this.comboBoxUrlPolicyMainWindow.Location = new System.Drawing.Point(102, 80);
|
||||
this.comboBoxUrlPolicyMainWindow.Name = "comboBoxUrlPolicyMainWindow";
|
||||
this.comboBoxUrlPolicyMainWindow.Size = new System.Drawing.Size(121, 21);
|
||||
this.comboBoxUrlPolicyMainWindow.TabIndex = 10;
|
||||
this.toolTip1.SetToolTip(this.comboBoxUrlPolicyMainWindow, "For some exam scenarios, you might want to keep URLs secret");
|
||||
this.comboBoxUrlPolicyMainWindow.SelectedIndexChanged += new System.EventHandler(this.comboBoxUrlPolicyMainWindow_SelectedIndexChanged);
|
||||
//
|
||||
// checkBoxAllowBrowsingBackForward
|
||||
//
|
||||
this.checkBoxAllowBrowsingBackForward.AutoSize = true;
|
||||
this.checkBoxAllowBrowsingBackForward.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.checkBoxAllowBrowsingBackForward.Location = new System.Drawing.Point(14, 20);
|
||||
this.checkBoxAllowBrowsingBackForward.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
|
||||
this.checkBoxAllowBrowsingBackForward.Name = "checkBoxAllowBrowsingBackForward";
|
||||
this.checkBoxAllowBrowsingBackForward.Size = new System.Drawing.Size(209, 17);
|
||||
this.checkBoxAllowBrowsingBackForward.TabIndex = 4;
|
||||
this.checkBoxAllowBrowsingBackForward.Text = "Allow navigating back/forward in exam";
|
||||
this.toolTip1.SetToolTip(this.checkBoxAllowBrowsingBackForward, resources.GetString("checkBoxAllowBrowsingBackForward.ToolTip"));
|
||||
this.checkBoxAllowBrowsingBackForward.UseVisualStyleBackColor = true;
|
||||
this.checkBoxAllowBrowsingBackForward.CheckedChanged += new System.EventHandler(this.checkBoxAllowBrowsingBackForward_CheckedChanged);
|
||||
//
|
||||
// checkBoxShowReloadWarning
|
||||
//
|
||||
this.checkBoxShowReloadWarning.AutoSize = true;
|
||||
this.checkBoxShowReloadWarning.Location = new System.Drawing.Point(14, 59);
|
||||
this.checkBoxShowReloadWarning.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
|
||||
this.checkBoxShowReloadWarning.Name = "checkBoxShowReloadWarning";
|
||||
this.checkBoxShowReloadWarning.Size = new System.Drawing.Size(164, 17);
|
||||
this.checkBoxShowReloadWarning.TabIndex = 5;
|
||||
this.checkBoxShowReloadWarning.Text = "Show reload warning in exam";
|
||||
this.toolTip1.SetToolTip(this.checkBoxShowReloadWarning, "User has to confirm reloading a web page with F5 or reload button");
|
||||
this.checkBoxShowReloadWarning.UseVisualStyleBackColor = true;
|
||||
this.checkBoxShowReloadWarning.CheckedChanged += new System.EventHandler(this.checkBoxShowReloadWarning_CheckedChanged);
|
||||
//
|
||||
// checkBoxAllowReload
|
||||
//
|
||||
this.checkBoxAllowReload.AutoSize = true;
|
||||
this.checkBoxAllowReload.Location = new System.Drawing.Point(14, 40);
|
||||
this.checkBoxAllowReload.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
|
||||
this.checkBoxAllowReload.Name = "checkBoxAllowReload";
|
||||
this.checkBoxAllowReload.Size = new System.Drawing.Size(122, 17);
|
||||
this.checkBoxAllowReload.TabIndex = 9;
|
||||
this.checkBoxAllowReload.Text = "Allow reload in exam";
|
||||
this.toolTip1.SetToolTip(this.checkBoxAllowReload, "Allow reload in the exam window with F5 or reload button (if displayed)");
|
||||
this.checkBoxAllowReload.UseVisualStyleBackColor = true;
|
||||
this.checkBoxAllowReload.CheckedChanged += new System.EventHandler(this.checkBoxAllowReload_CheckedChanged);
|
||||
//
|
||||
// label12
|
||||
//
|
||||
this.label12.AutoSize = true;
|
||||
|
@ -3891,23 +4083,17 @@ namespace SebWindowsConfig
|
|||
//
|
||||
this.groupBox11.Controls.Add(this.checkBoxAllowFind);
|
||||
this.groupBox11.Controls.Add(this.checkBoxAllowPdfReaderToolbar);
|
||||
this.groupBox11.Controls.Add(this.checkBoxShowReloadWarningNewWindow);
|
||||
this.groupBox11.Controls.Add(this.checkBoxAllowReloadNewWindow);
|
||||
this.groupBox11.Controls.Add(this.checkBoxAllowVideoCapture);
|
||||
this.groupBox11.Controls.Add(this.checkBoxAllowReload);
|
||||
this.groupBox11.Controls.Add(this.checkBoxAllowNavigationNewWindow);
|
||||
this.groupBox11.Controls.Add(this.checkBoxAllowAudioCapture);
|
||||
this.groupBox11.Controls.Add(this.checkBoxShowReloadWarning);
|
||||
this.groupBox11.Controls.Add(this.checkBoxDisableLocalStorage);
|
||||
this.groupBox11.Controls.Add(this.checkBoxRemoveProfile);
|
||||
this.groupBox11.Controls.Add(this.checkBoxAllowBrowsingBackForward);
|
||||
this.groupBox11.Controls.Add(this.checkBoxEnablePlugIns);
|
||||
this.groupBox11.Controls.Add(this.checkBoxBlockPopUpWindows);
|
||||
this.groupBox11.Controls.Add(this.checkBoxEnableJavaScript);
|
||||
this.groupBox11.Controls.Add(this.checkBoxEnableJava);
|
||||
this.groupBox11.Location = new System.Drawing.Point(24, 202);
|
||||
this.groupBox11.Name = "groupBox11";
|
||||
this.groupBox11.Size = new System.Drawing.Size(522, 187);
|
||||
this.groupBox11.Size = new System.Drawing.Size(522, 113);
|
||||
this.groupBox11.TabIndex = 71;
|
||||
this.groupBox11.TabStop = false;
|
||||
this.groupBox11.Text = "Browser security";
|
||||
|
@ -3915,7 +4101,7 @@ namespace SebWindowsConfig
|
|||
// checkBoxAllowFind
|
||||
//
|
||||
this.checkBoxAllowFind.AutoSize = true;
|
||||
this.checkBoxAllowFind.Location = new System.Drawing.Point(14, 81);
|
||||
this.checkBoxAllowFind.Location = new System.Drawing.Point(14, 24);
|
||||
this.checkBoxAllowFind.Name = "checkBoxAllowFind";
|
||||
this.checkBoxAllowFind.Size = new System.Drawing.Size(106, 17);
|
||||
this.checkBoxAllowFind.TabIndex = 15;
|
||||
|
@ -3926,7 +4112,7 @@ namespace SebWindowsConfig
|
|||
// checkBoxAllowPdfReaderToolbar
|
||||
//
|
||||
this.checkBoxAllowPdfReaderToolbar.AutoSize = true;
|
||||
this.checkBoxAllowPdfReaderToolbar.Location = new System.Drawing.Point(14, 114);
|
||||
this.checkBoxAllowPdfReaderToolbar.Location = new System.Drawing.Point(14, 49);
|
||||
this.checkBoxAllowPdfReaderToolbar.Name = "checkBoxAllowPdfReaderToolbar";
|
||||
this.checkBoxAllowPdfReaderToolbar.Size = new System.Drawing.Size(485, 17);
|
||||
this.checkBoxAllowPdfReaderToolbar.TabIndex = 14;
|
||||
|
@ -3935,32 +4121,6 @@ namespace SebWindowsConfig
|
|||
this.checkBoxAllowPdfReaderToolbar.UseVisualStyleBackColor = true;
|
||||
this.checkBoxAllowPdfReaderToolbar.CheckedChanged += new System.EventHandler(this.checkBoxAllowPdfReaderToolbar_CheckedChanged);
|
||||
//
|
||||
// checkBoxShowReloadWarningNewWindow
|
||||
//
|
||||
this.checkBoxShowReloadWarningNewWindow.AutoSize = true;
|
||||
this.checkBoxShowReloadWarningNewWindow.Location = new System.Drawing.Point(259, 59);
|
||||
this.checkBoxShowReloadWarningNewWindow.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
|
||||
this.checkBoxShowReloadWarningNewWindow.Name = "checkBoxShowReloadWarningNewWindow";
|
||||
this.checkBoxShowReloadWarningNewWindow.Size = new System.Drawing.Size(228, 17);
|
||||
this.checkBoxShowReloadWarningNewWindow.TabIndex = 13;
|
||||
this.checkBoxShowReloadWarningNewWindow.Text = "Show reload warning in additional windows";
|
||||
this.toolTip1.SetToolTip(this.checkBoxShowReloadWarningNewWindow, "User has to confirm reloading a web page with F5 or reload button");
|
||||
this.checkBoxShowReloadWarningNewWindow.UseVisualStyleBackColor = true;
|
||||
this.checkBoxShowReloadWarningNewWindow.CheckedChanged += new System.EventHandler(this.checkBoxShowReloadWarningNewWindow_CheckedChanged);
|
||||
//
|
||||
// checkBoxAllowReloadNewWindow
|
||||
//
|
||||
this.checkBoxAllowReloadNewWindow.AutoSize = true;
|
||||
this.checkBoxAllowReloadNewWindow.Location = new System.Drawing.Point(259, 40);
|
||||
this.checkBoxAllowReloadNewWindow.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
|
||||
this.checkBoxAllowReloadNewWindow.Name = "checkBoxAllowReloadNewWindow";
|
||||
this.checkBoxAllowReloadNewWindow.Size = new System.Drawing.Size(186, 17);
|
||||
this.checkBoxAllowReloadNewWindow.TabIndex = 12;
|
||||
this.checkBoxAllowReloadNewWindow.Text = "Allow reload in additional windows";
|
||||
this.toolTip1.SetToolTip(this.checkBoxAllowReloadNewWindow, "Allow reloading additional windows with F5 or reload button (if displayed)");
|
||||
this.checkBoxAllowReloadNewWindow.UseVisualStyleBackColor = true;
|
||||
this.checkBoxAllowReloadNewWindow.CheckedChanged += new System.EventHandler(this.checkBoxAllowReloadNewWindow_CheckedChanged);
|
||||
//
|
||||
// checkBoxAllowVideoCapture
|
||||
//
|
||||
this.checkBoxAllowVideoCapture.AutoSize = true;
|
||||
|
@ -3976,33 +4136,6 @@ namespace SebWindowsConfig
|
|||
this.checkBoxAllowVideoCapture.Visible = false;
|
||||
this.checkBoxAllowVideoCapture.CheckedChanged += new System.EventHandler(this.checkBoxAllowVideoCapture_CheckedChanged);
|
||||
//
|
||||
// checkBoxAllowReload
|
||||
//
|
||||
this.checkBoxAllowReload.AutoSize = true;
|
||||
this.checkBoxAllowReload.Location = new System.Drawing.Point(14, 40);
|
||||
this.checkBoxAllowReload.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
|
||||
this.checkBoxAllowReload.Name = "checkBoxAllowReload";
|
||||
this.checkBoxAllowReload.Size = new System.Drawing.Size(122, 17);
|
||||
this.checkBoxAllowReload.TabIndex = 9;
|
||||
this.checkBoxAllowReload.Text = "Allow reload in exam";
|
||||
this.toolTip1.SetToolTip(this.checkBoxAllowReload, "Allow reload in the exam window with F5 or reload button (if displayed)");
|
||||
this.checkBoxAllowReload.UseVisualStyleBackColor = true;
|
||||
this.checkBoxAllowReload.CheckedChanged += new System.EventHandler(this.checkBoxAllowReload_CheckedChanged);
|
||||
//
|
||||
// checkBoxAllowNavigationNewWindow
|
||||
//
|
||||
this.checkBoxAllowNavigationNewWindow.AutoSize = true;
|
||||
this.checkBoxAllowNavigationNewWindow.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.checkBoxAllowNavigationNewWindow.Location = new System.Drawing.Point(259, 19);
|
||||
this.checkBoxAllowNavigationNewWindow.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
|
||||
this.checkBoxAllowNavigationNewWindow.Name = "checkBoxAllowNavigationNewWindow";
|
||||
this.checkBoxAllowNavigationNewWindow.Size = new System.Drawing.Size(206, 17);
|
||||
this.checkBoxAllowNavigationNewWindow.TabIndex = 8;
|
||||
this.checkBoxAllowNavigationNewWindow.Text = "Allow navigating in additional windows";
|
||||
this.toolTip1.SetToolTip(this.checkBoxAllowNavigationNewWindow, resources.GetString("checkBoxAllowNavigationNewWindow.ToolTip"));
|
||||
this.checkBoxAllowNavigationNewWindow.UseVisualStyleBackColor = true;
|
||||
this.checkBoxAllowNavigationNewWindow.CheckedChanged += new System.EventHandler(this.checkBoxAllowNavigationNewWindow_CheckedChanged);
|
||||
//
|
||||
// checkBoxAllowAudioCapture
|
||||
//
|
||||
this.checkBoxAllowAudioCapture.AutoSize = true;
|
||||
|
@ -4018,19 +4151,6 @@ namespace SebWindowsConfig
|
|||
this.checkBoxAllowAudioCapture.Visible = false;
|
||||
this.checkBoxAllowAudioCapture.CheckedChanged += new System.EventHandler(this.checkBoxAllowAudioCapture_CheckedChanged);
|
||||
//
|
||||
// checkBoxShowReloadWarning
|
||||
//
|
||||
this.checkBoxShowReloadWarning.AutoSize = true;
|
||||
this.checkBoxShowReloadWarning.Location = new System.Drawing.Point(14, 59);
|
||||
this.checkBoxShowReloadWarning.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
|
||||
this.checkBoxShowReloadWarning.Name = "checkBoxShowReloadWarning";
|
||||
this.checkBoxShowReloadWarning.Size = new System.Drawing.Size(164, 17);
|
||||
this.checkBoxShowReloadWarning.TabIndex = 5;
|
||||
this.checkBoxShowReloadWarning.Text = "Show reload warning in exam";
|
||||
this.toolTip1.SetToolTip(this.checkBoxShowReloadWarning, "User has to confirm reloading a web page with F5 or reload button");
|
||||
this.checkBoxShowReloadWarning.UseVisualStyleBackColor = true;
|
||||
this.checkBoxShowReloadWarning.CheckedChanged += new System.EventHandler(this.checkBoxShowReloadWarning_CheckedChanged);
|
||||
//
|
||||
// checkBoxDisableLocalStorage
|
||||
//
|
||||
this.checkBoxDisableLocalStorage.AutoSize = true;
|
||||
|
@ -4049,7 +4169,7 @@ namespace SebWindowsConfig
|
|||
//
|
||||
// checkBoxRemoveProfile
|
||||
//
|
||||
this.checkBoxRemoveProfile.Location = new System.Drawing.Point(14, 137);
|
||||
this.checkBoxRemoveProfile.Location = new System.Drawing.Point(14, 66);
|
||||
this.checkBoxRemoveProfile.Name = "checkBoxRemoveProfile";
|
||||
this.checkBoxRemoveProfile.Size = new System.Drawing.Size(481, 36);
|
||||
this.checkBoxRemoveProfile.TabIndex = 6;
|
||||
|
@ -4059,20 +4179,6 @@ namespace SebWindowsConfig
|
|||
this.checkBoxRemoveProfile.UseVisualStyleBackColor = true;
|
||||
this.checkBoxRemoveProfile.CheckedChanged += new System.EventHandler(this.checkBoxRemoveProfile_CheckedChanged);
|
||||
//
|
||||
// checkBoxAllowBrowsingBackForward
|
||||
//
|
||||
this.checkBoxAllowBrowsingBackForward.AutoSize = true;
|
||||
this.checkBoxAllowBrowsingBackForward.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.checkBoxAllowBrowsingBackForward.Location = new System.Drawing.Point(14, 20);
|
||||
this.checkBoxAllowBrowsingBackForward.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
|
||||
this.checkBoxAllowBrowsingBackForward.Name = "checkBoxAllowBrowsingBackForward";
|
||||
this.checkBoxAllowBrowsingBackForward.Size = new System.Drawing.Size(209, 17);
|
||||
this.checkBoxAllowBrowsingBackForward.TabIndex = 4;
|
||||
this.checkBoxAllowBrowsingBackForward.Text = "Allow navigating back/forward in exam";
|
||||
this.toolTip1.SetToolTip(this.checkBoxAllowBrowsingBackForward, resources.GetString("checkBoxAllowBrowsingBackForward.ToolTip"));
|
||||
this.checkBoxAllowBrowsingBackForward.UseVisualStyleBackColor = true;
|
||||
this.checkBoxAllowBrowsingBackForward.CheckedChanged += new System.EventHandler(this.checkBoxAllowBrowsingBackForward_CheckedChanged);
|
||||
//
|
||||
// checkBoxEnablePlugIns
|
||||
//
|
||||
this.checkBoxEnablePlugIns.AutoSize = true;
|
||||
|
@ -4150,7 +4256,7 @@ namespace SebWindowsConfig
|
|||
// labelUseSEBWithoutBrowser
|
||||
//
|
||||
this.labelUseSEBWithoutBrowser.AutoSize = true;
|
||||
this.labelUseSEBWithoutBrowser.Location = new System.Drawing.Point(55, 435);
|
||||
this.labelUseSEBWithoutBrowser.Location = new System.Drawing.Point(55, 497);
|
||||
this.labelUseSEBWithoutBrowser.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.labelUseSEBWithoutBrowser.Name = "labelUseSEBWithoutBrowser";
|
||||
this.labelUseSEBWithoutBrowser.Size = new System.Drawing.Size(436, 13);
|
||||
|
@ -4161,7 +4267,7 @@ namespace SebWindowsConfig
|
|||
// checkBoxUseSebWithoutBrowser
|
||||
//
|
||||
this.checkBoxUseSebWithoutBrowser.AutoSize = true;
|
||||
this.checkBoxUseSebWithoutBrowser.Location = new System.Drawing.Point(38, 415);
|
||||
this.checkBoxUseSebWithoutBrowser.Location = new System.Drawing.Point(38, 477);
|
||||
this.checkBoxUseSebWithoutBrowser.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
|
||||
this.checkBoxUseSebWithoutBrowser.Name = "checkBoxUseSebWithoutBrowser";
|
||||
this.checkBoxUseSebWithoutBrowser.Size = new System.Drawing.Size(185, 17);
|
||||
|
@ -4189,11 +4295,11 @@ namespace SebWindowsConfig
|
|||
this.checkBoxBlockLinksHTML.Location = new System.Drawing.Point(281, 40);
|
||||
this.checkBoxBlockLinksHTML.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
|
||||
this.checkBoxBlockLinksHTML.Name = "checkBoxBlockLinksHTML";
|
||||
this.checkBoxBlockLinksHTML.Size = new System.Drawing.Size(248, 17);
|
||||
this.checkBoxBlockLinksHTML.Size = new System.Drawing.Size(218, 17);
|
||||
this.checkBoxBlockLinksHTML.TabIndex = 1;
|
||||
this.checkBoxBlockLinksHTML.Text = "block when directing to a different server (Mac)";
|
||||
this.toolTip1.SetToolTip(this.checkBoxBlockLinksHTML, "Hyperlinks which direct to a different host than the one of the current main page" +
|
||||
" will be ignored.");
|
||||
this.checkBoxBlockLinksHTML.Text = "block when directing to a different server";
|
||||
this.toolTip1.SetToolTip(this.checkBoxBlockLinksHTML, "Links which direct to a different host than the one of the current main page will" +
|
||||
" be ignored.");
|
||||
this.checkBoxBlockLinksHTML.UseVisualStyleBackColor = true;
|
||||
this.checkBoxBlockLinksHTML.CheckedChanged += new System.EventHandler(this.checkBoxBlockLinksHTML_CheckedChanged);
|
||||
//
|
||||
|
@ -4420,8 +4526,8 @@ namespace SebWindowsConfig
|
|||
// spellCheckerDictionaryFilesColumn
|
||||
//
|
||||
this.spellCheckerDictionaryFilesColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
|
||||
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.spellCheckerDictionaryFilesColumn.DefaultCellStyle = dataGridViewCellStyle4;
|
||||
dataGridViewCellStyle12.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.spellCheckerDictionaryFilesColumn.DefaultCellStyle = dataGridViewCellStyle12;
|
||||
this.spellCheckerDictionaryFilesColumn.HeaderText = "Files";
|
||||
this.spellCheckerDictionaryFilesColumn.Name = "spellCheckerDictionaryFilesColumn";
|
||||
this.spellCheckerDictionaryFilesColumn.ReadOnly = true;
|
||||
|
@ -5818,38 +5924,6 @@ namespace SebWindowsConfig
|
|||
this.applyAndStartSEBToolStripMenuItem.Visible = false;
|
||||
this.applyAndStartSEBToolStripMenuItem.Click += new System.EventHandler(this.applyAndStartSEBToolStripMenuItem_Click);
|
||||
//
|
||||
// groupBox17
|
||||
//
|
||||
this.groupBox17.Controls.Add(this.label23);
|
||||
this.groupBox17.Controls.Add(this.checkBoxUseStartUrlQuery);
|
||||
this.groupBox17.Location = new System.Drawing.Point(605, 471);
|
||||
this.groupBox17.Name = "groupBox17";
|
||||
this.groupBox17.Size = new System.Drawing.Size(610, 86);
|
||||
this.groupBox17.TabIndex = 124;
|
||||
this.groupBox17.TabStop = false;
|
||||
this.groupBox17.Text = "Query String Parameter";
|
||||
//
|
||||
// checkBoxUseStartUrlQuery
|
||||
//
|
||||
this.checkBoxUseStartUrlQuery.AutoSize = true;
|
||||
this.checkBoxUseStartUrlQuery.Location = new System.Drawing.Point(15, 59);
|
||||
this.checkBoxUseStartUrlQuery.Name = "checkBoxUseStartUrlQuery";
|
||||
this.checkBoxUseStartUrlQuery.Size = new System.Drawing.Size(133, 17);
|
||||
this.checkBoxUseStartUrlQuery.TabIndex = 0;
|
||||
this.checkBoxUseStartUrlQuery.Text = "Allow Query Parameter";
|
||||
this.toolTip1.SetToolTip(this.checkBoxUseStartUrlQuery, "If a seb(s):// link contains an additional query string, SEB appends it to the ex" +
|
||||
"am\'s Start URL");
|
||||
this.checkBoxUseStartUrlQuery.UseVisualStyleBackColor = true;
|
||||
this.checkBoxUseStartUrlQuery.CheckedChanged += new System.EventHandler(this.checkBoxUseStartUrlQuery_CheckedChanged);
|
||||
//
|
||||
// label23
|
||||
//
|
||||
this.label23.Location = new System.Drawing.Point(12, 24);
|
||||
this.label23.Name = "label23";
|
||||
this.label23.Size = new System.Drawing.Size(592, 27);
|
||||
this.label23.TabIndex = 1;
|
||||
this.label23.Text = resources.GetString("label23.Text");
|
||||
//
|
||||
// SebWindowsConfigForm
|
||||
//
|
||||
this.AllowDrop = true;
|
||||
|
@ -5917,6 +5991,8 @@ namespace SebWindowsConfig
|
|||
((System.ComponentModel.ISupportInitialize)(this.dataGridViewProhibitedProcesses)).EndInit();
|
||||
this.tabPageExam.ResumeLayout(false);
|
||||
this.tabPageExam.PerformLayout();
|
||||
this.groupBox17.ResumeLayout(false);
|
||||
this.groupBox17.PerformLayout();
|
||||
this.groupBox15.ResumeLayout(false);
|
||||
this.groupBox15.PerformLayout();
|
||||
this.groupBox2.ResumeLayout(false);
|
||||
|
@ -5931,6 +6007,10 @@ namespace SebWindowsConfig
|
|||
this.tabPageDownUploads.PerformLayout();
|
||||
this.tabPageBrowser.ResumeLayout(false);
|
||||
this.tabPageBrowser.PerformLayout();
|
||||
this.groupBox19.ResumeLayout(false);
|
||||
this.groupBox19.PerformLayout();
|
||||
this.groupBox18.ResumeLayout(false);
|
||||
this.groupBox18.PerformLayout();
|
||||
this.groupBox14.ResumeLayout(false);
|
||||
this.groupBox14.PerformLayout();
|
||||
this.groupBox13.ResumeLayout(false);
|
||||
|
@ -5969,8 +6049,6 @@ namespace SebWindowsConfig
|
|||
this.tabControlSebWindowsConfig.ResumeLayout(false);
|
||||
this.menuStrip1.ResumeLayout(false);
|
||||
this.menuStrip1.PerformLayout();
|
||||
this.groupBox17.ResumeLayout(false);
|
||||
this.groupBox17.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
|
@ -6397,6 +6475,12 @@ namespace SebWindowsConfig
|
|||
private System.Windows.Forms.GroupBox groupBox17;
|
||||
private System.Windows.Forms.Label label23;
|
||||
private System.Windows.Forms.CheckBox checkBoxUseStartUrlQuery;
|
||||
private System.Windows.Forms.GroupBox groupBox19;
|
||||
private System.Windows.Forms.Label label25;
|
||||
private System.Windows.Forms.ComboBox comboBoxUrlPolicyNewWindow;
|
||||
private System.Windows.Forms.GroupBox groupBox18;
|
||||
private System.Windows.Forms.Label label24;
|
||||
private System.Windows.Forms.ComboBox comboBoxUrlPolicyMainWindow;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -527,6 +527,9 @@ namespace SebWindowsConfig
|
|||
checkBoxSetVolumeLevel.Checked = ((bool) SEBSettings.settingsCurrent[SEBSettings.KeyAudioSetVolumeLevel]);
|
||||
trackBarVolumeLevel.Value = ((int) SEBSettings.settingsCurrent[SEBSettings.KeyAudioVolumeLevel]);
|
||||
|
||||
comboBoxUrlPolicyMainWindow.SelectedIndex = (int) SEBSettings.settingsCurrent[SEBSettings.KeyMainBrowserWindowUrlPolicy];
|
||||
comboBoxUrlPolicyNewWindow.SelectedIndex = (int) SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowUrlPolicy];
|
||||
|
||||
// Group "Down/Uploads"
|
||||
checkBoxAllowDownUploads.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowDownUploads];
|
||||
checkBoxAllowCustomDownloadLocation.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowCustomDownUploadLocation];
|
||||
|
@ -4614,5 +4617,15 @@ namespace SebWindowsConfig
|
|||
{
|
||||
SEBSettings.settingsCurrent[SEBSettings.KeyUseStartUrlQuery] = checkBoxUseStartUrlQuery.Checked;
|
||||
}
|
||||
|
||||
private void comboBoxUrlPolicyMainWindow_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
SEBSettings.settingsCurrent[SEBSettings.KeyMainBrowserWindowUrlPolicy] = comboBoxUrlPolicyMainWindow.SelectedIndex;
|
||||
}
|
||||
|
||||
private void comboBoxUrlPolicyNewWindow_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowUrlPolicy] = comboBoxUrlPolicyNewWindow.SelectedIndex;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -437,6 +437,16 @@ namespace SebWindowsConfig
|
|||
comboBoxNewBrowserWindowHeight .Items.AddRange(StringWindowHeight);
|
||||
listBoxNewBrowserWindowPositioning .Items.AddRange(StringWindowPositioning);
|
||||
|
||||
comboBoxUrlPolicyMainWindow.Items.Add("Never");
|
||||
comboBoxUrlPolicyMainWindow.Items.Add("OnlyLoadError");
|
||||
comboBoxUrlPolicyMainWindow.Items.Add("BeforeTitle");
|
||||
comboBoxUrlPolicyMainWindow.Items.Add("Always");
|
||||
|
||||
comboBoxUrlPolicyNewWindow.Items.Add("Never");
|
||||
comboBoxUrlPolicyNewWindow.Items.Add("OnlyLoadError");
|
||||
comboBoxUrlPolicyNewWindow.Items.Add("BeforeTitle");
|
||||
comboBoxUrlPolicyNewWindow.Items.Add("Always");
|
||||
|
||||
comboBoxTaskBarHeight.Items.AddRange(StringTaskBarHeight);
|
||||
|
||||
listBoxOpenLinksHTML.Items.AddRange(StringPolicyLinkOpening);
|
||||
|
|
Loading…
Add table
Reference in a new issue