/*
 * Copyright (c) 2018 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/.
 */
using SafeExamBrowser.Contracts.UserInterface.Browser.Events;
namespace SafeExamBrowser.Contracts.UserInterface.Browser
{
	/// 
	/// Defines the functionality of a browser control (i.e. an instance of the browser resp. its user interface) and is normally embedded
	/// within an .
	/// 
	public interface IBrowserControl
	{
		/// 
		/// Event fired when the address of the browser control changes.
		/// 
		event AddressChangedEventHandler AddressChanged;
		/// 
		/// Event fired when the loading state of the browser control changes.
		/// 
		event LoadingStateChangedEventHandler LoadingStateChanged;
		/// 
		/// Event fired when the current page (and thus the title) of the browser control changes.
		/// 
		event TitleChangedEventHandler TitleChanged;
		/// 
		/// Navigates to the previous page in the browser control history.
		/// 
		void NavigateBackwards();
		/// 
		/// Navigates to the next page in the browser control history.
		/// 
		void NavigateForwards();
		/// 
		/// Navigates to the specified web address.
		/// 
		void NavigateTo(string address);
		/// 
		/// Reloads the current web page.
		/// 
		void Reload();
	}
}