private void RequestConfigurationFileDownload(DownloadItem downloadItem, IBeforeDownloadCallback callback) { var args = new DownloadEventArgs(); logger.Debug($"Handling download of configuration file '{downloadItem.SuggestedFileName}'."); ConfigurationDownloadRequested?.Invoke(downloadItem.SuggestedFileName, args); if (args.AllowDownload) { if (args.Callback != null) { callbacks[downloadItem.Id] = args.Callback; } logger.Debug($"Starting download of configuration file '{downloadItem.SuggestedFileName}'..."); using (callback) { callback.Continue(args.DownloadPath, false); } } else { logger.Debug($"Download of configuration file '{downloadItem.SuggestedFileName}' was cancelled."); } }
private void DownloadHandler_ConfigurationDownloadRequested(string fileName, DownloadEventArgs args) { if (settings.AllowConfigurationDownloads) { logger.Debug($"Forwarding download request for configuration file '{fileName}'."); ConfigurationDownloadRequested?.Invoke(fileName, args); if (args.AllowDownload) { logger.Debug($"Download request for configuration file '{fileName}' was granted. Asking user to confirm the reconfiguration..."); var message = TextKey.MessageBox_ReconfigurationQuestion; var title = TextKey.MessageBox_ReconfigurationQuestionTitle; var result = messageBox.Show(message, title, MessageBoxAction.YesNo, MessageBoxIcon.Question, window); args.AllowDownload = result == MessageBoxResult.Yes; logger.Info($"The user chose to {(args.AllowDownload ? "start" : "abort")} the reconfiguration."); } else { logger.Debug($"Download request for configuration file '{fileName}' was denied."); messageBox.Show(TextKey.MessageBox_ReconfigurationDenied, TextKey.MessageBox_ReconfigurationDeniedTitle, parent: window); } } else { logger.Debug($"Discarded download request for configuration file '{fileName}'."); } }
private void DownloadHandler_ConfigurationDownloadRequested(string fileName, DownloadEventArgs args) { if (settings.AllowConfigurationDownloads) { args.BrowserWindow = window; logger.Debug($"Forwarding download request for configuration file '{fileName}'."); ConfigurationDownloadRequested?.Invoke(fileName, args); } else { logger.Debug($"Discarded download request for configuration file '{fileName}'."); } }
private void CreateNewInstance(string url = null) { var id = new BrowserInstanceIdentifier(++instanceIdCounter); var isMainInstance = instances.Count == 0; var instanceLogger = logger.CloneFor($"BrowserInstance {id}"); var startUrl = url ?? settings.StartUrl; var instance = new BrowserApplicationInstance(appConfig, settings, id, isMainInstance, messageBox, instanceLogger, text, uiFactory, startUrl); instance.ConfigurationDownloadRequested += (fileName, args) => ConfigurationDownloadRequested?.Invoke(fileName, args); instance.PopupRequested += Instance_PopupRequested; instance.Terminated += Instance_Terminated; instance.Initialize(); instances.Add(instance); InstanceStarted?.Invoke(instance); logger.Info($"Created browser instance {instance.Id}."); }
private void CreateNewInstance(string url = null) { var id = ++instanceIdCounter; var isMainInstance = instances.Count == 0; var instanceLogger = logger.CloneFor($"Browser Instance #{id}"); var startUrl = url ?? GenerateStartUrl(); var instance = new BrowserApplicationInstance(appConfig, settings, id, isMainInstance, fileSystemDialog, hashAlgorithm, messageBox, instanceLogger, text, uiFactory, startUrl); instance.ConfigurationDownloadRequested += (fileName, args) => ConfigurationDownloadRequested?.Invoke(fileName, args); instance.PopupRequested += Instance_PopupRequested; instance.ResetRequested += Instance_ResetRequested; instance.SessionIdentifierDetected += (i) => SessionIdentifierDetected?.Invoke(i); instance.Terminated += Instance_Terminated; instance.TerminationRequested += () => TerminationRequested?.Invoke(); instance.Initialize(); instances.Add(instance); logger.Info($"Created browser instance {instance.Id}."); WindowsChanged?.Invoke(); }
private void RequestConfigurationFileDownload(DownloadItem downloadItem, IBeforeDownloadCallback callback) { var args = new DownloadEventArgs(); logger.Debug($"Detected download request for configuration file '{downloadItem.Url}'."); ConfigurationDownloadRequested?.Invoke(downloadItem.SuggestedFileName, args); logger.Debug($"Download of configuration file '{downloadItem.Url}' was {(args.AllowDownload ? "granted" : "denied")}."); if (args.AllowDownload) { if (args.Callback != null) { callbacks[downloadItem.Id] = args.Callback; } using (callback) { callback.Continue(args.DownloadPath, false); } } }