Update Safe Exam Browser Patch to 3.10.0.826

This commit is contained in:
2025-09-16 16:32:31 +02:00
parent 4827ae1afc
commit dd82d45ed8
320 changed files with 8445 additions and 5295 deletions

View File

@@ -64,9 +64,9 @@ namespace SafeExamBrowser.UserInterface.Contracts.Browser
void Destroy();
/// <summary>
/// Executes the given JavaScript code in the browser. An optional callback may be used to process a potential <see cref="JavaScriptResult"/>.
/// Executes the given JavaScript in the main frame of the browser. An optional callback may be used to process potential result data.
/// </summary>
void ExecuteJavaScript(string code, Action<JavaScriptResult> callback = default);
void ExecuteJavaScript(string script, Action<JavaScriptResult> callback = default);
/// <summary>
/// Attempts to find the given term on the current page according to the specified parameters.

View File

@@ -12,10 +12,10 @@ using SafeExamBrowser.Configuration.Contracts;
using SafeExamBrowser.Core.Contracts.Notifications;
using SafeExamBrowser.I18n.Contracts;
using SafeExamBrowser.Logging.Contracts;
using SafeExamBrowser.Proctoring.Contracts;
using SafeExamBrowser.Server.Contracts;
using SafeExamBrowser.Server.Contracts.Data;
using SafeExamBrowser.Settings.Browser;
using SafeExamBrowser.Settings.Proctoring;
using SafeExamBrowser.Settings.Server;
using SafeExamBrowser.Settings.UserInterface;
using SafeExamBrowser.SystemComponents.Contracts.Audio;
using SafeExamBrowser.SystemComponents.Contracts.Keyboard;
@@ -112,7 +112,7 @@ namespace SafeExamBrowser.UserInterface.Contracts
/// <summary>
/// Creates a new dialog to display the status of the proctoring finalization.
/// </summary>
IProctoringFinalizationDialog CreateProctoringFinalizationDialog();
IProctoringFinalizationDialog CreateProctoringFinalizationDialog(bool requiresPassword);
/// <summary>
/// Creates a new proctoring window loaded with the given proctoring control.
@@ -120,9 +120,9 @@ namespace SafeExamBrowser.UserInterface.Contracts
IProctoringWindow CreateProctoringWindow(IProctoringControl control);
/// <summary>
/// Creates a new notification control for the raise hand functionality of a remote proctoring session.
/// Creates a new notification control for the raise hand functionality of a server session.
/// </summary>
INotificationControl CreateRaiseHandControl(IProctoringController controller, Location location, ProctoringSettings settings);
INotificationControl CreateRaiseHandControl(IInvigilator invigilator, Location location, InvigilationSettings settings);
/// <summary>
/// Creates a new runtime window which runs on its own thread.

View File

@@ -0,0 +1,32 @@
/*
* Copyright (c) 2025 ETH Zürich, IT Services
*
* 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.UserInterface.Contracts
{
/// <summary>
/// Provides functionality to guard application windows against capturing, recording and remote control.
/// </summary>
public interface IWindowGuard
{
/// <summary>
/// Activates the guarding functionality for all previously and prospectively registered windows.
/// </summary>
void Activate();
/// <summary>
/// Deactivates the guarding functionality and clears the cache of previously registered windows.
/// </summary>
void Deactivate();
/// <summary>
/// Registers the given window for guarding (which depends on the window lifecycle and guard activation).
/// </summary>
/// <exception cref="System.ArgumentException">In case the given object is not an application window.</exception>
void Register(object window);
}
}

View File

@@ -0,0 +1,15 @@
/*
* Copyright (c) 2025 ETH Zürich, IT Services
*
* 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.UserInterface.Contracts.Proctoring.Events
{
/// <summary>
/// Indicates that the cancellation of the remaining work has been requested.
/// </summary>
public delegate void CancellationRequestedEventHandler();
}

View File

@@ -7,18 +7,25 @@
*/
using SafeExamBrowser.Proctoring.Contracts.Events;
using SafeExamBrowser.UserInterface.Contracts.Proctoring.Events;
using SafeExamBrowser.UserInterface.Contracts.Windows;
namespace SafeExamBrowser.UserInterface.Contracts.Proctoring
{
/// <summary>
/// The dialog to display the status of the proctoring finalization.
/// </summary>
public interface IProctoringFinalizationDialog
public interface IProctoringFinalizationDialog : IWindow
{
/// <summary>
/// Shows the dialog as topmost window.
/// The quit password entered by the user.
/// </summary>
void Show();
string QuitPassword { get; }
/// <summary>
/// Event fired when the cancellation of the remaining work has been requested.
/// </summary>
event CancellationRequestedEventHandler CancellationRequested;
/// <summary>
/// Updates the status of the finalization.

View File

@@ -69,6 +69,8 @@
<Compile Include="FileSystemDialog\FileSystemElement.cs" />
<Compile Include="FileSystemDialog\FileSystemOperation.cs" />
<Compile Include="FileSystemDialog\IFileSystemDialog.cs" />
<Compile Include="IWindowGuard.cs" />
<Compile Include="Proctoring\Events\CancellationRequestedEventHandler.cs" />
<Compile Include="Proctoring\Events\FullScreenChangedEventHandler.cs" />
<Compile Include="Proctoring\IProctoringControl.cs" />
<Compile Include="Proctoring\IProctoringWindow.cs" />