Add project

This commit is contained in:
Diamond Creeper 2023-02-20 23:24:10 +13:00
commit 7fcb279842
961 changed files with 370491 additions and 0 deletions

30
WebBrowser/App.config Normal file
View file

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Bunifu.UI.WinForms.BunifuScrollBar" publicKeyToken="e8e24ccd28363fe9" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.3.0.0" newVersion="5.3.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Bunifu.UI.WinForms.BunifuFormDock" publicKeyToken="e8e24ccd28363fe9" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.3.0.0" newVersion="5.3.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Svg" publicKeyToken="12a0bac221edeae2" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.4.0.0" newVersion="3.4.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Fizzler" publicKeyToken="4ebff4844e382110" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.3.0.0" newVersion="1.3.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

48
WebBrowser/AppContainer.Designer.cs generated Normal file
View file

@ -0,0 +1,48 @@
namespace WebBrowser
{
partial class AppContainer
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.SuspendLayout();
//
// AppContainer
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(800, 450);
this.MinimumSize = new System.Drawing.Size(350, 150);
this.Name = "AppContainer";
this.Text = "Xero Browser";
this.ResumeLayout(false);
}
#endregion
}
}

View file

@ -0,0 +1,35 @@
using EasyTabs;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WebBrowser
{
public partial class AppContainer : TitleBarTabs
{
public AppContainer()
{
InitializeComponent();
AeroPeekEnabled = true;
TabRenderer = new ChromeTabRenderer(this);
}
public override TitleBarTab CreateTab()
{
return new TitleBarTab(this)
{
Content = new frmBrowser
{
Text = "New tab"
}
};
}
}
}

View file

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View file

@ -0,0 +1,112 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CefSharp;
using System.Threading.Tasks;
using CefSharp.Structs;
using CefSharp.Enums;
using WebBrowser;
using System.Net;
using System.Drawing;
using System.IO;
namespace DiamondCreeperBrowser
{
public class DisplayHandler : IDisplayHandler
{
public frmBrowser frmref;
public DisplayHandler(frmBrowser frm)
{
frmref = frm;
}
public static Icon BytesToIcon(byte[] bytes)
{
using (MemoryStream ms = new MemoryStream(bytes))
{
return new Icon(ms);
}
}
public void OnAddressChanged(IWebBrowser chromiumWebBrowser, AddressChangedEventArgs addressChangedArgs)
{
return;
}
public bool OnAutoResize(IWebBrowser chromiumWebBrowser, IBrowser browser, CefSharp.Structs.Size newSize)
{
return true;
}
public bool OnConsoleMessage(IWebBrowser chromiumWebBrowser, ConsoleMessageEventArgs consoleMessageArgs)
{
return true;
}
public bool OnCursorChange(IWebBrowser chromiumWebBrowser, IBrowser browser, IntPtr cursor, CursorType type, CursorInfo customCursorInfo)
{
return true;
}
public void OnFaviconUrlChange(IWebBrowser chromiumWebBrowser, IBrowser browser, IList<string> urls)
{
try
{
if (urls.Count > 0)
{
WebClient wc = new WebClient();
byte[] buffer = wc.DownloadData(urls[0]);
frmref.Icon = BytesToIcon(buffer);
frmref.Update();
frmref.ParentTabs.UpdateThumbnailPreviewIcon(frmref.ParentTabs.Tabs.Single(t => t.Content == frmref));
frmref.ParentTabs.RedrawTabs();
}
} catch (Exception){
try
{
WebClient wc = new WebClient();
Uri furi = new Uri(chromiumWebBrowser.Address);
byte[] buffer = wc.DownloadData(furi.GetLeftPart(UriPartial.Authority) +"/favicon.ico");
frmref.Icon = BytesToIcon(buffer);
frmref.Update();
frmref.ParentTabs.UpdateThumbnailPreviewIcon(frmref.ParentTabs.Tabs.Single(t => t.Content == frmref));
frmref.ParentTabs.RedrawTabs();
}
catch (Exception){
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmBrowser));
frmref.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
frmref.Update();
frmref.ParentTabs.UpdateThumbnailPreviewIcon(frmref.ParentTabs.Tabs.Single(t => t.Content == frmref));
frmref.ParentTabs.RedrawTabs();
};
};
}
public void OnFullscreenModeChange(IWebBrowser chromiumWebBrowser, IBrowser browser, bool fullscreen)
{
return;
}
public void OnLoadingProgressChange(IWebBrowser chromiumWebBrowser, IBrowser browser, double progress)
{
return;
}
public void OnStatusMessage(IWebBrowser chromiumWebBrowser, StatusMessageEventArgs statusMessageArgs)
{
return;
}
public void OnTitleChanged(IWebBrowser chromiumWebBrowser, TitleChangedEventArgs titleChangedArgs)
{
return;
}
public bool OnTooltipChanged(IWebBrowser chromiumWebBrowser, ref string text)
{
return true;
}
}
}

View file

@ -0,0 +1,94 @@
// Copyright © 2013 The CefSharp Authors. All rights reserved.
//
// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
using System;
using System.Threading.Tasks;
using WebBrowser;
using CefSharp;
using System.IO;
using System.Threading;
using System.Linq.Expressions;
using System.ComponentModel;
namespace DiamondCreeperBrowser
{
public class DownloadHandler : IDownloadHandler
{
public event EventHandler<DownloadItem> OnBeforeDownloadFired;
public event EventHandler<DownloadItem> OnDownloadUpdatedFired;
public frmBrowser frmref;
public DownloadHandler(frmBrowser frm)
{
frmref = frm;
}
public DownloadProgress downloadProgress = new DownloadProgress();
public DownloadItem downloadItem;
public void OnBeforeDownload(IWebBrowser chromiumWebBrowser, IBrowser browser, DownloadItem downloadItem, IBeforeDownloadCallback callback)
{
OnBeforeDownloadFired?.Invoke(this, downloadItem);
this.downloadItem = downloadItem;
try
{
frmref.Invoke((Action)delegate
{
downloadProgress.Show();
downloadProgress.FormClosing += DownloadProgress_FormClosing;
});
}
catch (ObjectDisposedException){};
if (!callback.IsDisposed)
{
using (callback)
{
callback.Continue(downloadItem.SuggestedFileName, showDialog: true);
}
}
}
private void DownloadProgress_FormClosing(object sender, System.Windows.Forms.FormClosingEventArgs e)
{
downloadItem.IsCancelled = true;
}
public Timer fivesecondtimer;
public void OnDownloadUpdated(IWebBrowser chromiumWebBrowser, IBrowser browser, DownloadItem downloadItem, IDownloadItemCallback callback)
{
OnDownloadUpdatedFired?.Invoke(this, downloadItem);
if (downloadItem.IsComplete)
{
fivesecondtimer = new Timer(new TimerCallback(tcallback), null, 1000 * 5, 1000 * 5);
}
frmref.Invoke((Action)delegate {
downloadProgress.ProgressBar1.Value = downloadItem.PercentComplete;
downloadProgress.ProgressPrecentage.Text = downloadItem.PercentComplete.ToString() + "% " + (downloadItem.ReceivedBytes / 0x100000).ToString() + "MB / " + (downloadItem.TotalBytes / 0x100000).ToString() + "MB";
downloadProgress.ProgressFileName.Text = Path.GetFileName(downloadItem.FullPath);
downloadProgress.Update();
try { } catch (InvalidAsynchronousStateException){};
});
}
private void tcallback(object state)
{
try {
frmref.Invoke((Action)delegate
{
downloadProgress.Close();
});
}
catch (InvalidOperationException){};
}
}
}

139
WebBrowser/DownloadProgress.Designer.cs generated Normal file
View file

@ -0,0 +1,139 @@

namespace DiamondCreeperBrowser
{
partial class DownloadProgress
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DownloadProgress));
this.ProgressBar1 = new Bunifu.UI.WinForms.BunifuProgressBar();
this.ProgressPrecentage = new Bunifu.UI.WinForms.BunifuLabel();
this.ProgressFileName = new Bunifu.UI.WinForms.BunifuLabel();
this.SuspendLayout();
//
// ProgressBar1
//
this.ProgressBar1.AllowAnimations = false;
this.ProgressBar1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.ProgressBar1.Animation = 0;
this.ProgressBar1.AnimationSpeed = 220;
this.ProgressBar1.AnimationStep = 10;
this.ProgressBar1.AutoValidate = System.Windows.Forms.AutoValidate.EnablePreventFocusChange;
this.ProgressBar1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(223)))), ((int)(((byte)(223)))), ((int)(((byte)(223)))));
this.ProgressBar1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("ProgressBar1.BackgroundImage")));
this.ProgressBar1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(223)))), ((int)(((byte)(223)))), ((int)(((byte)(223)))));
this.ProgressBar1.BorderRadius = 9;
this.ProgressBar1.BorderThickness = 1;
this.ProgressBar1.Location = new System.Drawing.Point(12, 63);
this.ProgressBar1.Maximum = 100;
this.ProgressBar1.MaximumValue = 100;
this.ProgressBar1.Minimum = 0;
this.ProgressBar1.MinimumValue = 0;
this.ProgressBar1.Name = "ProgressBar1";
this.ProgressBar1.Orientation = System.Windows.Forms.Orientation.Horizontal;
this.ProgressBar1.ProgressBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(223)))), ((int)(((byte)(223)))), ((int)(((byte)(223)))));
this.ProgressBar1.ProgressColorLeft = System.Drawing.Color.SlateGray;
this.ProgressBar1.ProgressColorRight = System.Drawing.Color.LightSlateGray;
this.ProgressBar1.Size = new System.Drawing.Size(246, 20);
this.ProgressBar1.TabIndex = 0;
this.ProgressBar1.UseWaitCursor = true;
this.ProgressBar1.Value = 0;
this.ProgressBar1.ValueByTransition = 0;
//
// ProgressPrecentage
//
this.ProgressPrecentage.AllowParentOverrides = false;
this.ProgressPrecentage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.ProgressPrecentage.AutoEllipsis = false;
this.ProgressPrecentage.AutoSize = false;
this.ProgressPrecentage.Cursor = System.Windows.Forms.Cursors.Default;
this.ProgressPrecentage.CursorType = System.Windows.Forms.Cursors.Default;
this.ProgressPrecentage.Font = new System.Drawing.Font("Segoe UI", 9F);
this.ProgressPrecentage.Location = new System.Drawing.Point(12, 42);
this.ProgressPrecentage.Name = "ProgressPrecentage";
this.ProgressPrecentage.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.ProgressPrecentage.Size = new System.Drawing.Size(246, 15);
this.ProgressPrecentage.TabIndex = 2;
this.ProgressPrecentage.Text = "%";
this.ProgressPrecentage.TextAlignment = System.Drawing.ContentAlignment.TopCenter;
this.ProgressPrecentage.TextFormat = Bunifu.UI.WinForms.BunifuLabel.TextFormattingOptions.Default;
this.ProgressPrecentage.UseWaitCursor = true;
//
// ProgressFileName
//
this.ProgressFileName.AllowParentOverrides = false;
this.ProgressFileName.AutoEllipsis = false;
this.ProgressFileName.Cursor = System.Windows.Forms.Cursors.Default;
this.ProgressFileName.CursorType = System.Windows.Forms.Cursors.Default;
this.ProgressFileName.Font = new System.Drawing.Font("Segoe UI", 9F);
this.ProgressFileName.Location = new System.Drawing.Point(12, 21);
this.ProgressFileName.Name = "ProgressFileName";
this.ProgressFileName.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.ProgressFileName.Size = new System.Drawing.Size(69, 15);
this.ProgressFileName.TabIndex = 3;
this.ProgressFileName.Text = "bunifuLabel1";
this.ProgressFileName.TextAlignment = System.Drawing.ContentAlignment.TopCenter;
this.ProgressFileName.TextFormat = Bunifu.UI.WinForms.BunifuLabel.TextFormattingOptions.Default;
this.ProgressFileName.UseWaitCursor = true;
//
// DownloadProgress
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.AutoSize = true;
this.BackColor = System.Drawing.SystemColors.Control;
this.ClientSize = new System.Drawing.Size(270, 95);
this.Controls.Add(this.ProgressFileName);
this.Controls.Add(this.ProgressPrecentage);
this.Controls.Add(this.ProgressBar1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.Name = "DownloadProgress";
this.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.ShowInTaskbar = false;
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Downloading...";
this.TopMost = true;
this.UseWaitCursor = true;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.DownloadProgress_FormClosing);
this.Load += new System.EventHandler(this.DownloadProgress_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
public Bunifu.UI.WinForms.BunifuProgressBar ProgressBar1;
public Bunifu.UI.WinForms.BunifuLabel ProgressPrecentage;
public Bunifu.UI.WinForms.BunifuLabel ProgressFileName;
}
}

View file

@ -0,0 +1,40 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace DiamondCreeperBrowser
{
public partial class DownloadProgress : Form
{
public DownloadProgress()
{
InitializeComponent();
}
private void DownloadProgress_Load(object sender, EventArgs e)
{
}
private void label1_Click(object sender, EventArgs e)
{
}
private void DownloadProgress_FormClosing(object sender, FormClosingEventArgs e)
{
}
private void bunifuLabel1_Click(object sender, EventArgs e)
{
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,61 @@
// LifeSpanHandler.cs
using CefSharp;
using EasyTabs;
using System;
using WebBrowser;
namespace DiamondCreeperBrowser
{
public class LifeSpanHandler : ILifeSpanHandler
{
// Load new URL (when clicking a link with target=_blank) in the same frame
public bool OnBeforePopup(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, string targetUrl, string targetFrameName, WindowOpenDisposition targetDisposition, bool userGesture, IPopupFeatures popupFeatures, IWindowInfo windowInfo, IBrowserSettings browserSettings, ref bool noJavascriptAccess, out IWebBrowser newBrowser)
{
Program.container.Invoke((Action)delegate
{
EasyTabs.TitleBarTab tab = new EasyTabs.TitleBarTab(Program.container)
{
Content = new frmBrowser
{
Text = "New Tab"
}
};
frmBrowser frmref = (frmBrowser)tab.Content;
frmref.chromiumWebBrowser1.Load(targetUrl);
Program.container.Tabs.Add(tab);
Program.container.SelectedTab = tab;
});
newBrowser = null;
return true;
}
// If you don't implement all of the interface members in the custom class
// you will find:
// Error CS0535 'MyCustomLifeSpanHandler' does not implement interface member 'ILifeSpanHandler.OnAfterCreated(IWebBrowser, IBrowser)'
public bool DoClose(IWebBrowser chromiumWebBrowser, IBrowser browser)
{
// throw new NotImplementedException();
if (browser.IsPopup)
{
return false;
}
return true;
}
public void OnAfterCreated(IWebBrowser chromiumWebBrowser, IBrowser browser)
{
// throw new NotImplementedException();
}
public void OnBeforeClose(IWebBrowser chromiumWebBrowser, IBrowser browser)
{
// throw new NotImplementedException();
}
}
}

82
WebBrowser/MenuHandler.cs Normal file
View file

@ -0,0 +1,82 @@
using System;
using CefSharp;
using System.Windows.Forms;
public class MenuHandler : IContextMenuHandler
{
public void OnBeforeContextMenu(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, IMenuModel model)
{
// Remove any existent option using the Clear method of the model
//
//model.Clear();
Console.WriteLine("Context menu opened !");
// You can add a separator in case that there are more items on the list
if (model.Count > 0)
{
model.AddSeparator();
}
// Add a new item to the list using the AddItem method of the model
//model.AddItem((CefMenuCommand)113, "Copy link address");
model.AddItem((CefMenuCommand)114, "Paste");
// Add a separator
//model.AddSeparator();
}
public bool OnContextMenuCommand(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags)
{
// React to the first ID (show dev tools method)
if (commandId == (CefMenuCommand)26501)
{
browser.GetHost().ShowDevTools();
return true;
}
// React to the second ID (show dev tools method)
if (commandId == (CefMenuCommand)26502)
{
browser.GetHost().CloseDevTools();
return true;
}
// Any new item should be handled through a new if statement
if ((int)commandId == 113)
{
//using System.Windows.Forms;
try
{
Clipboard.SetText(parameters.SourceUrl);
}
catch (ArgumentException) { };
}
return false;
#pragma warning disable CS0162 // Unreachable code detected
if ((int)commandId == 114)
{
//using System.Windows.Forms;
Clipboard.GetText();
}
#pragma warning restore CS0162 // Unreachable code detected
return false;
// Return false should ignore the selected option of the user !
}
public void OnContextMenuDismissed(IWebBrowser browserControl, IBrowser browser, IFrame frame)
{
}
public bool RunContextMenu(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, IMenuModel model, IRunContextMenuCallback callback)
{
return false;
}
}

65
WebBrowser/Program.cs Normal file
View file

@ -0,0 +1,65 @@
using CefSharp;
using CefSharp.WinForms;
using EasyTabs;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WebBrowser
{
public static class Program
{
public static AppContainer container;
public static TitleBarTabsApplicationContext applicationContext;
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
container = new AppContainer();
CefSettings settings = new CefSettings();
if (settings.CefCommandLineArgs.ContainsKey("enable-system-flash"))
settings.CefCommandLineArgs.Remove("enable-system-flash");
settings.CefCommandLineArgs.Add("enable-system-flash", "1");
settings.CefCommandLineArgs.Add("ppapi-flash-path", Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "pepflashplayer64_32_0_0_465.dll"));
settings.CefCommandLineArgs.Add("ppapi-flash-version", "32.0.0.465");
settings.CefCommandLineArgs["plugin-policy"] = "allow";
settings.UserAgent = "cpprestsdk/2.9.0 Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 XeroBrowser/1.0";
settings.CefCommandLineArgs.Add("enable-media-stream", "1");
Cef.EnableHighDPISupport();
settings.CachePath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + @"\CEF";
Cef.Initialize(settings);
container.Tabs.Add(
new EasyTabs.TitleBarTab(container)
{
Content = new frmBrowser
{
Text = "New Tab"
}
}
);
container.SelectedTabIndex = 0;
try {
applicationContext = new TitleBarTabsApplicationContext();
applicationContext.Start(container);
Application.Run(applicationContext);
}
catch (Exception) { };
}
}
}

View file

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("DiamondCreeperBrowser")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("DiamondCreeperBrowser")]
[assembly: AssemblyCopyright("Copyright © 2021")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("a82cd8ab-aaae-4451-bd32-f1610c9a92cb")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0")]
[assembly: AssemblyFileVersion("1.0")]

View file

@ -0,0 +1,113 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace XeroBrowser.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("XeroBrowser.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap insecure {
get {
object obj = ResourceManager.GetObject("insecure", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap insecure1 {
get {
object obj = ResourceManager.GetObject("insecure1", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap local {
get {
object obj = ResourceManager.GetObject("local", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap secure {
get {
object obj = ResourceManager.GetObject("secure", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap Xero_Browser_Ico {
get {
object obj = ResourceManager.GetObject("Xero Browser Ico", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}

View file

@ -0,0 +1,136 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="secure" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\secure.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="local" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\local.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="insecure1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\insecure1.ico;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="insecure" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\insecure.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Xero Browser Ico" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Xero Browser Ico.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View file

@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace XeroBrowser.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.1.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
}
}

View file

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

View file

@ -0,0 +1,16 @@
Bunifu.UI.WinForms.BunifuToolTip, Bunifu.UI.WinForms.BunifuToolTip, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9
Bunifu.UI.WinForms.BunifuLoader, Bunifu.UI.WinForms.BunifuLoader, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9
Bunifu.UI.WinForms.BunifuButton.BunifuButton, Bunifu.UI.WinForms.BunifuButton, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9
Bunifu.UI.WinForms.BunifuButton.BunifuIconButton, Bunifu.UI.WinForms.BunifuButton, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9
Bunifu.UI.WinForms.BunifuDropdown, Bunifu.UI.WinForms.BunifuDropdown, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9
Bunifu.UI.WinForms.BunifuTextBox, Bunifu.UI.WinForms.BunifuTextBox, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9
Bunifu.UI.WinForms.BunifuPictureBox, Bunifu.UI.WinForms.BunifuPictureBox, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9
Bunifu.UI.WinForms.BunifuButton.BunifuButton2, Bunifu.UI.WinForms.BunifuButton, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9
Bunifu.UI.WinForms.BunifuToggleSwitch2, Bunifu.UI.WinForms.BunifuToggleSwitch, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9
Bunifu.UI.WinForms.BunifuFormDock, Bunifu.UI.WinForms.BunifuFormDock, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9
Bunifu.UI.WinForms.BunifuUserControl, Bunifu.UI.WinForms.BunifuUserControl, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9
Bunifu.UI.WinForms.BunifuLabel, Bunifu.UI.WinForms.BunifuLabel, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9
Bunifu.UI.WinForms.BunifuRadioButton, Bunifu.UI.WinForms.BunifuRadioButton, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9
Bunifu.UI.WinForms.BunifuToggleSwitch, Bunifu.UI.WinForms.BunifuToggleSwitch, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9
Bunifu.UI.WinForms.BunifuImageButton, Bunifu.UI.WinForms.BunifuImageButton, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9
Bunifu.UI.WinForms.BunifuProgressBar, Bunifu.UI.WinForms.BunifuProgressBar, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9

View file

@ -0,0 +1,66 @@
using System;
using CefSharp;
using WebBrowser;
using System.Security.Cryptography.X509Certificates;
using System.Windows.Forms;
namespace DiamondCreeperBrowser
{
public class RequestHandler : IRequestHandler
{
public bool GetAuthCredentials(IWebBrowser chromiumWebBrowser, IBrowser browser, string originUrl, bool isProxy, string host, int port, string realm, string scheme, IAuthCallback callback)
{
throw new NotImplementedException();
}
public IResourceRequestHandler GetResourceRequestHandler(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, bool isNavigation, bool isDownload, string requestInitiator, ref bool disableDefaultHandling)
{
throw new NotImplementedException();
}
public bool OnBeforeBrowse(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, bool userGesture, bool isRedirect)
{
throw new NotImplementedException();
}
public bool OnCertificateError(IWebBrowser chromiumWebBrowser, IBrowser browser, CefErrorCode errorCode, string requestUrl, ISslInfo sslInfo, IRequestCallback callback)
{
throw new NotImplementedException();
}
public void OnDocumentAvailableInMainFrame(IWebBrowser chromiumWebBrowser, IBrowser browser)
{
throw new NotImplementedException();
}
public bool OnOpenUrlFromTab(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, string targetUrl, WindowOpenDisposition targetDisposition, bool userGesture)
{
throw new NotImplementedException();
}
public void OnPluginCrashed(IWebBrowser chromiumWebBrowser, IBrowser browser, string pluginPath)
{
throw new NotImplementedException();
}
public bool OnQuotaRequest(IWebBrowser chromiumWebBrowser, IBrowser browser, string originUrl, long newSize, IRequestCallback callback)
{
throw new NotImplementedException();
}
public void OnRenderProcessTerminated(IWebBrowser chromiumWebBrowser, IBrowser browser, CefTerminationStatus status)
{
throw new NotImplementedException();
}
public void OnRenderViewReady(IWebBrowser chromiumWebBrowser, IBrowser browser)
{
throw new NotImplementedException();
}
public bool OnSelectClientCertificate(IWebBrowser chromiumWebBrowser, IBrowser browser, bool isProxy, string host, int port, X509Certificate2Collection certificates, ISelectClientCertificateCallback callback)
{
throw new NotImplementedException();
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

View file

@ -0,0 +1,372 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\CefSharp.Common.87.1.132\build\CefSharp.Common.props" Condition="Exists('..\packages\CefSharp.Common.87.1.132\build\CefSharp.Common.props')" />
<Import Project="..\packages\cef.redist.x86.87.1.13\build\cef.redist.x86.props" Condition="Exists('..\packages\cef.redist.x86.87.1.13\build\cef.redist.x86.props')" />
<Import Project="..\packages\cef.redist.x64.87.1.13\build\cef.redist.x64.props" Condition="Exists('..\packages\cef.redist.x64.87.1.13\build\cef.redist.x64.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<NoWarn>0128</NoWarn>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{A82CD8AB-AAAE-4451-BD32-F1610C9A92CB}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>XeroBrowser</RootNamespace>
<AssemblyName>Xero Browser</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>browser.ico</ApplicationIcon>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="Bunifu.Licensing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=f89b4760ba7dcb6b, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.Licensing.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.1.5.3, Version=1.5.3.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.1.5.3.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuButton, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuButton.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuCheckBox, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuCheckBox.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuCircleProgress, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuCircleProgress.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuColorTransition, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuColorTransition.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuDataGridView, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuDataGridView.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuDatePicker, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuDatePicker.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuDropdown, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuDropdown.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuFormDock, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuFormDock.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuGauge, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuGauge.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuGradientPanel, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuGradientPanel.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuGroupBox, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuGroupBox.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuImageButton, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuImageButton.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuLabel, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuLabel.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuLoader, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuLoader.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuPages, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuPages.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuPanel, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuPanel.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuPictureBox, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuPictureBox.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuProgressBar, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuProgressBar.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuRadioButton, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuRadioButton.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuRating, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuRating.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuScrollBar, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuScrollBar.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuSeparator, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuSeparator.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuShadowPanel, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuShadowPanel.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuShapes, Version=5.3.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuShapes.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuSlider, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuSlider.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuSnackbar, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuSnackbar.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuTextBox, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuTextBox.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuToggleSwitch, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuToggleSwitch.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuToolTip, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuToolTip.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuTransition, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuTransition.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.BunifuUserControl, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.BunifuUserControl.dll</HintPath>
</Reference>
<Reference Include="Bunifu.UI.WinForms.Deprecated, Version=5.3.0.0, Culture=neutral, PublicKeyToken=e8e24ccd28363fe9, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.UI.WinForms.5.3.0\lib\net40\Bunifu.UI.WinForms.Deprecated.dll</HintPath>
</Reference>
<Reference Include="Bunifu.Utils, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Bunifu.Utils.1.0.6\lib\net\Bunifu.Utils.dll</HintPath>
</Reference>
<Reference Include="CefSharp, Version=87.1.132.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
<HintPath>..\packages\CefSharp.Common.87.1.132\lib\net452\CefSharp.dll</HintPath>
</Reference>
<Reference Include="CefSharp.Core, Version=87.1.132.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
<HintPath>..\packages\CefSharp.Common.87.1.132\lib\net452\CefSharp.Core.dll</HintPath>
</Reference>
<Reference Include="CefSharp.WinForms, Version=87.1.132.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
<HintPath>..\packages\CefSharp.WinForms.87.1.132\lib\net452\CefSharp.WinForms.dll</HintPath>
</Reference>
<Reference Include="EasyTabs, Version=2.0.0.39, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\EasyTabs.2.0.0\lib\net40\EasyTabs.dll</HintPath>
</Reference>
<Reference Include="Fizzler, Version=1.3.0.0, Culture=neutral, PublicKeyToken=4ebff4844e382110, processorArchitecture=MSIL">
<HintPath>..\packages\Fizzler.1.3.0\lib\netstandard2.0\Fizzler.dll</HintPath>
</Reference>
<Reference Include="Microsoft.WindowsAPICodePack, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\EasyTabs.2.0.0\lib\net40\Microsoft.WindowsAPICodePack.dll</HintPath>
</Reference>
<Reference Include="Microsoft.WindowsAPICodePack.Shell, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\EasyTabs.2.0.0\lib\net40\Microsoft.WindowsAPICodePack.Shell.dll</HintPath>
</Reference>
<Reference Include="Svg, Version=3.4.0.0, Culture=neutral, PublicKeyToken=12a0bac221edeae2, processorArchitecture=MSIL">
<HintPath>..\packages\Svg.3.4.1\lib\net461\Svg.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.ComponentModel.Composition" />
<Reference Include="System.Core" />
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Web" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="Win32Interop.Dwmapi, Version=1.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Win32Interop.Dwmapi.1.0.1\lib\Win32Interop.Dwmapi.dll</HintPath>
</Reference>
<Reference Include="Win32Interop.Gdi32, Version=1.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Win32Interop.Gdi32.1.0.1\lib\Win32Interop.Gdi32.dll</HintPath>
</Reference>
<Reference Include="Win32Interop.Kernel32, Version=1.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Win32Interop.Kernel32.1.0.1\lib\Win32Interop.Kernel32.dll</HintPath>
</Reference>
<Reference Include="Win32Interop.User32, Version=1.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Win32Interop.User32.1.0.1\lib\Win32Interop.User32.dll</HintPath>
</Reference>
<Reference Include="Win32Interop.Uxtheme, Version=1.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Win32Interop.Uxtheme.1.0.1\lib\Win32Interop.Uxtheme.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="AppContainer.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="AppContainer.Designer.cs">
<DependentUpon>AppContainer.cs</DependentUpon>
</Compile>
<Compile Include="DisplayHandler.cs" />
<Compile Include="DownloadHandler.cs" />
<Compile Include="DownloadProgress.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="DownloadProgress.Designer.cs">
<DependentUpon>DownloadProgress.cs</DependentUpon>
</Compile>
<Compile Include="frmBrowser.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmBrowser.Designer.cs">
<DependentUpon>frmBrowser.cs</DependentUpon>
</Compile>
<Compile Include="frmSettings.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmSettings.Designer.cs">
<DependentUpon>frmSettings.cs</DependentUpon>
</Compile>
<Compile Include="LifeSpanHandler.cs" />
<Compile Include="MenuHandler.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="RequestHandler.cs" />
<EmbeddedResource Include="AppContainer.resx">
<DependentUpon>AppContainer.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="DownloadProgress.resx">
<DependentUpon>DownloadProgress.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmBrowser.resx">
<DependentUpon>frmBrowser.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmSettings.resx">
<DependentUpon>frmSettings.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\licenses.licx" />
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<Content Include="browser.ico" />
<Content Include="favicon.ico" />
<None Include="Xero Browser Ico.png" />
<None Include="insecure1.ico" />
<Content Include="jquery-3.5.1.min.dc5e7f18c8.js">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="loaderror.html" />
<Content Include="script.js">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="style.css">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<None Include="insecure.png" />
<None Include="local.png" />
<Content Include="index.html">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="pepflashplayer64_32_0_0_465.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<None Include="secure.png" />
</ItemGroup>
<ItemGroup>
<Folder Include="Resources\" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.8">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4.8 %28x86 and x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\cef.redist.x64.87.1.13\build\cef.redist.x64.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cef.redist.x64.87.1.13\build\cef.redist.x64.props'))" />
<Error Condition="!Exists('..\packages\cef.redist.x86.87.1.13\build\cef.redist.x86.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cef.redist.x86.87.1.13\build\cef.redist.x86.props'))" />
<Error Condition="!Exists('..\packages\CefSharp.Common.87.1.132\build\CefSharp.Common.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.87.1.132\build\CefSharp.Common.props'))" />
<Error Condition="!Exists('..\packages\CefSharp.Common.87.1.132\build\CefSharp.Common.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.87.1.132\build\CefSharp.Common.targets'))" />
</Target>
<Import Project="..\packages\CefSharp.Common.87.1.132\build\CefSharp.Common.targets" Condition="Exists('..\packages\CefSharp.Common.87.1.132\build\CefSharp.Common.targets')" />
</Project>

View file

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<PublishUrlHistory>publish\</PublishUrlHistory>
<InstallUrlHistory />
<SupportUrlHistory />
<UpdateUrlHistory />
<BootstrapperUrlHistory />
<ErrorReportUrlHistory />
<FallbackCulture>en-US</FallbackCulture>
<VerifyUploadedFiles>false</VerifyUploadedFiles>
</PropertyGroup>
</Project>

BIN
WebBrowser/bookmark.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

BIN
WebBrowser/bookmark.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

BIN
WebBrowser/browser.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

BIN
WebBrowser/error.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

BIN
WebBrowser/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

584
WebBrowser/frmBrowser.Designer.cs generated Normal file
View file

@ -0,0 +1,584 @@
namespace WebBrowser
{
partial class frmBrowser
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmBrowser));
Bunifu.UI.WinForms.BunifuTextBox.StateProperties stateProperties5 = new Bunifu.UI.WinForms.BunifuTextBox.StateProperties();
Bunifu.UI.WinForms.BunifuTextBox.StateProperties stateProperties6 = new Bunifu.UI.WinForms.BunifuTextBox.StateProperties();
Bunifu.UI.WinForms.BunifuTextBox.StateProperties stateProperties7 = new Bunifu.UI.WinForms.BunifuTextBox.StateProperties();
Bunifu.UI.WinForms.BunifuTextBox.StateProperties stateProperties8 = new Bunifu.UI.WinForms.BunifuTextBox.StateProperties();
this.bunifuCards1 = new Bunifu.Framework.UI.BunifuCards();
this.txtSearchOrUrl = new Bunifu.UI.WinForms.BunifuTextBox();
this.btnForward = new Bunifu.UI.WinForms.BunifuImageButton();
this.bunifuImageButton2 = new Bunifu.UI.WinForms.BunifuImageButton();
this.bunifuImageButton1 = new Bunifu.UI.WinForms.BunifuImageButton();
this.btnSettings = new Bunifu.UI.WinForms.BunifuImageButton();
this.bunifuImageButton3 = new Bunifu.UI.WinForms.BunifuImageButton();
this.btnRefresh = new Bunifu.UI.WinForms.BunifuImageButton();
this.btnBack = new Bunifu.UI.WinForms.BunifuImageButton();
this.loadingIndicator = new Bunifu.UI.WinForms.BunifuLoader();
this.bunifuToolTip1 = new Bunifu.UI.WinForms.BunifuToolTip(this.components);
this.chromiumWebBrowser1 = new CefSharp.WinForms.ChromiumWebBrowser();
this.bunifuImageButton4 = new Bunifu.UI.WinForms.BunifuImageButton();
this.bunifuCards1.SuspendLayout();
this.SuspendLayout();
//
// bunifuCards1
//
this.bunifuCards1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.bunifuCards1.BackColor = System.Drawing.Color.WhiteSmoke;
this.bunifuCards1.BorderRadius = 5;
this.bunifuCards1.BottomSahddow = true;
this.bunifuCards1.color = System.Drawing.Color.WhiteSmoke;
this.bunifuCards1.Controls.Add(this.bunifuImageButton4);
this.bunifuCards1.Controls.Add(this.txtSearchOrUrl);
this.bunifuCards1.Controls.Add(this.btnForward);
this.bunifuCards1.Controls.Add(this.bunifuImageButton2);
this.bunifuCards1.Controls.Add(this.bunifuImageButton1);
this.bunifuCards1.Controls.Add(this.btnSettings);
this.bunifuCards1.Controls.Add(this.bunifuImageButton3);
this.bunifuCards1.Controls.Add(this.btnRefresh);
this.bunifuCards1.Controls.Add(this.btnBack);
this.bunifuCards1.Controls.Add(this.loadingIndicator);
this.bunifuCards1.LeftSahddow = false;
this.bunifuCards1.Location = new System.Drawing.Point(-5, -2);
this.bunifuCards1.Name = "bunifuCards1";
this.bunifuCards1.RightSahddow = true;
this.bunifuCards1.ShadowDepth = 20;
this.bunifuCards1.Size = new System.Drawing.Size(1339, 56);
this.bunifuCards1.TabIndex = 0;
this.bunifuToolTip1.SetToolTip(this.bunifuCards1, "");
this.bunifuToolTip1.SetToolTipIcon(this.bunifuCards1, null);
this.bunifuToolTip1.SetToolTipTitle(this.bunifuCards1, "");
//
// txtSearchOrUrl
//
this.txtSearchOrUrl.AcceptsReturn = false;
this.txtSearchOrUrl.AcceptsTab = false;
this.txtSearchOrUrl.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.txtSearchOrUrl.AnimationSpeed = 200;
this.txtSearchOrUrl.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.None;
this.txtSearchOrUrl.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.None;
this.txtSearchOrUrl.AutoSizeHeight = true;
this.txtSearchOrUrl.BackColor = System.Drawing.Color.Transparent;
this.txtSearchOrUrl.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("txtSearchOrUrl.BackgroundImage")));
this.txtSearchOrUrl.BorderColorActive = System.Drawing.Color.DodgerBlue;
this.txtSearchOrUrl.BorderColorDisabled = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));
this.txtSearchOrUrl.BorderColorHover = System.Drawing.Color.FromArgb(((int)(((byte)(105)))), ((int)(((byte)(181)))), ((int)(((byte)(255)))));
this.txtSearchOrUrl.BorderColorIdle = System.Drawing.Color.WhiteSmoke;
this.txtSearchOrUrl.BorderRadius = 25;
this.txtSearchOrUrl.BorderThickness = 3;
this.txtSearchOrUrl.CharacterCasing = System.Windows.Forms.CharacterCasing.Normal;
this.txtSearchOrUrl.Cursor = System.Windows.Forms.Cursors.IBeam;
this.txtSearchOrUrl.DefaultFont = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.txtSearchOrUrl.DefaultText = "";
this.txtSearchOrUrl.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
this.txtSearchOrUrl.HideSelection = true;
this.txtSearchOrUrl.IconLeft = global::XeroBrowser.Properties.Resources.secure;
this.txtSearchOrUrl.IconLeftCursor = System.Windows.Forms.Cursors.IBeam;
this.txtSearchOrUrl.IconPadding = 10;
this.txtSearchOrUrl.IconRight = null;
this.txtSearchOrUrl.IconRightCursor = System.Windows.Forms.Cursors.IBeam;
this.txtSearchOrUrl.Lines = new string[0];
this.txtSearchOrUrl.Location = new System.Drawing.Point(140, 7);
this.txtSearchOrUrl.MaxLength = 32767;
this.txtSearchOrUrl.MinimumSize = new System.Drawing.Size(1, 1);
this.txtSearchOrUrl.Modified = false;
this.txtSearchOrUrl.Multiline = false;
this.txtSearchOrUrl.Name = "txtSearchOrUrl";
stateProperties5.BorderColor = System.Drawing.Color.DodgerBlue;
stateProperties5.FillColor = System.Drawing.Color.Empty;
stateProperties5.ForeColor = System.Drawing.Color.Empty;
stateProperties5.PlaceholderForeColor = System.Drawing.Color.Empty;
this.txtSearchOrUrl.OnActiveState = stateProperties5;
stateProperties6.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));
stateProperties6.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240)))));
stateProperties6.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109)))));
stateProperties6.PlaceholderForeColor = System.Drawing.Color.DarkGray;
this.txtSearchOrUrl.OnDisabledState = stateProperties6;
stateProperties7.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(105)))), ((int)(((byte)(181)))), ((int)(((byte)(255)))));
stateProperties7.FillColor = System.Drawing.Color.Empty;
stateProperties7.ForeColor = System.Drawing.Color.Empty;
stateProperties7.PlaceholderForeColor = System.Drawing.Color.Empty;
this.txtSearchOrUrl.OnHoverState = stateProperties7;
stateProperties8.BorderColor = System.Drawing.Color.WhiteSmoke;
stateProperties8.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
stateProperties8.ForeColor = System.Drawing.Color.Empty;
stateProperties8.PlaceholderForeColor = System.Drawing.Color.Empty;
this.txtSearchOrUrl.OnIdleState = stateProperties8;
this.txtSearchOrUrl.Padding = new System.Windows.Forms.Padding(3);
this.txtSearchOrUrl.PasswordChar = '\0';
this.txtSearchOrUrl.PlaceholderForeColor = System.Drawing.Color.DimGray;
this.txtSearchOrUrl.PlaceholderText = " Search with google or enter a URL";
this.txtSearchOrUrl.ReadOnly = false;
this.txtSearchOrUrl.ScrollBars = System.Windows.Forms.ScrollBars.None;
this.txtSearchOrUrl.SelectedText = "";
this.txtSearchOrUrl.SelectionLength = 0;
this.txtSearchOrUrl.SelectionStart = 0;
this.txtSearchOrUrl.ShortcutsEnabled = true;
this.txtSearchOrUrl.Size = new System.Drawing.Size(1049, 36);
this.txtSearchOrUrl.Style = Bunifu.UI.WinForms.BunifuTextBox._Style.Bunifu;
this.txtSearchOrUrl.TabIndex = 9;
this.txtSearchOrUrl.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
this.txtSearchOrUrl.TextMarginBottom = 0;
this.txtSearchOrUrl.TextMarginLeft = 3;
this.txtSearchOrUrl.TextMarginTop = 1;
this.txtSearchOrUrl.TextPlaceholder = " Search with google or enter a URL";
this.bunifuToolTip1.SetToolTip(this.txtSearchOrUrl, "");
this.bunifuToolTip1.SetToolTipIcon(this.txtSearchOrUrl, null);
this.bunifuToolTip1.SetToolTipTitle(this.txtSearchOrUrl, "");
this.txtSearchOrUrl.UseSystemPasswordChar = false;
this.txtSearchOrUrl.WordWrap = true;
this.txtSearchOrUrl.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtSearchOrUrl_KeyDown);
this.txtSearchOrUrl.KeyUp += new System.Windows.Forms.KeyEventHandler(this.txtSearchOrUrl_KeyUp);
//
// btnForward
//
this.btnForward.ActiveImage = null;
this.btnForward.AllowAnimations = true;
this.btnForward.AllowBuffering = false;
this.btnForward.AllowToggling = false;
this.btnForward.AllowZooming = false;
this.btnForward.AllowZoomingOnFocus = false;
this.btnForward.BackColor = System.Drawing.Color.Transparent;
this.btnForward.DialogResult = System.Windows.Forms.DialogResult.None;
this.btnForward.ErrorImage = ((System.Drawing.Image)(resources.GetObject("btnForward.ErrorImage")));
this.btnForward.FadeWhenInactive = false;
this.btnForward.Flip = Bunifu.UI.WinForms.BunifuImageButton.FlipOrientation.Normal;
this.btnForward.Image = ((System.Drawing.Image)(resources.GetObject("btnForward.Image")));
this.btnForward.ImageActive = null;
this.btnForward.ImageLocation = null;
this.btnForward.ImageMargin = 20;
this.btnForward.ImageSize = new System.Drawing.Size(20, 20);
this.btnForward.ImageZoomSize = new System.Drawing.Size(40, 40);
this.btnForward.InitialImage = ((System.Drawing.Image)(resources.GetObject("btnForward.InitialImage")));
this.btnForward.Location = new System.Drawing.Point(34, 5);
this.btnForward.Name = "btnForward";
this.btnForward.Rotation = 0;
this.btnForward.ShowActiveImage = true;
this.btnForward.ShowCursorChanges = false;
this.btnForward.ShowImageBorders = true;
this.btnForward.ShowSizeMarkers = false;
this.btnForward.Size = new System.Drawing.Size(40, 40);
this.btnForward.TabIndex = 2;
this.bunifuToolTip1.SetToolTip(this.btnForward, "Forward");
this.bunifuToolTip1.SetToolTipIcon(this.btnForward, null);
this.btnForward.ToolTipText = "";
this.bunifuToolTip1.SetToolTipTitle(this.btnForward, "");
this.btnForward.WaitOnLoad = false;
this.btnForward.Zoom = 20;
this.btnForward.ZoomSpeed = 10;
this.btnForward.Click += new System.EventHandler(this.btnForward_Click);
//
// bunifuImageButton2
//
this.bunifuImageButton2.ActiveImage = null;
this.bunifuImageButton2.AllowAnimations = true;
this.bunifuImageButton2.AllowBuffering = false;
this.bunifuImageButton2.AllowToggling = false;
this.bunifuImageButton2.AllowZooming = false;
this.bunifuImageButton2.AllowZoomingOnFocus = false;
this.bunifuImageButton2.BackColor = System.Drawing.Color.Transparent;
this.bunifuImageButton2.DialogResult = System.Windows.Forms.DialogResult.None;
this.bunifuImageButton2.ErrorImage = ((System.Drawing.Image)(resources.GetObject("bunifuImageButton2.ErrorImage")));
this.bunifuImageButton2.FadeWhenInactive = false;
this.bunifuImageButton2.Flip = Bunifu.UI.WinForms.BunifuImageButton.FlipOrientation.Normal;
this.bunifuImageButton2.Image = ((System.Drawing.Image)(resources.GetObject("bunifuImageButton2.Image")));
this.bunifuImageButton2.ImageActive = null;
this.bunifuImageButton2.ImageLocation = null;
this.bunifuImageButton2.ImageMargin = 20;
this.bunifuImageButton2.ImageSize = new System.Drawing.Size(20, 20);
this.bunifuImageButton2.ImageZoomSize = new System.Drawing.Size(40, 40);
this.bunifuImageButton2.InitialImage = ((System.Drawing.Image)(resources.GetObject("bunifuImageButton2.InitialImage")));
this.bunifuImageButton2.Location = new System.Drawing.Point(104, 5);
this.bunifuImageButton2.Name = "bunifuImageButton2";
this.bunifuImageButton2.Rotation = 0;
this.bunifuImageButton2.ShowActiveImage = true;
this.bunifuImageButton2.ShowCursorChanges = false;
this.bunifuImageButton2.ShowImageBorders = true;
this.bunifuImageButton2.ShowSizeMarkers = false;
this.bunifuImageButton2.Size = new System.Drawing.Size(40, 40);
this.bunifuImageButton2.TabIndex = 7;
this.bunifuToolTip1.SetToolTip(this.bunifuImageButton2, "Home");
this.bunifuToolTip1.SetToolTipIcon(this.bunifuImageButton2, null);
this.bunifuImageButton2.ToolTipText = "";
this.bunifuToolTip1.SetToolTipTitle(this.bunifuImageButton2, "");
this.bunifuImageButton2.WaitOnLoad = false;
this.bunifuImageButton2.Zoom = 20;
this.bunifuImageButton2.ZoomSpeed = 10;
//
// bunifuImageButton1
//
this.bunifuImageButton1.ActiveImage = null;
this.bunifuImageButton1.AllowAnimations = true;
this.bunifuImageButton1.AllowBuffering = false;
this.bunifuImageButton1.AllowToggling = false;
this.bunifuImageButton1.AllowZooming = false;
this.bunifuImageButton1.AllowZoomingOnFocus = false;
this.bunifuImageButton1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.bunifuImageButton1.BackColor = System.Drawing.Color.Transparent;
this.bunifuImageButton1.DialogResult = System.Windows.Forms.DialogResult.None;
this.bunifuImageButton1.ErrorImage = ((System.Drawing.Image)(resources.GetObject("bunifuImageButton1.ErrorImage")));
this.bunifuImageButton1.FadeWhenInactive = false;
this.bunifuImageButton1.Flip = Bunifu.UI.WinForms.BunifuImageButton.FlipOrientation.Normal;
this.bunifuImageButton1.Image = ((System.Drawing.Image)(resources.GetObject("bunifuImageButton1.Image")));
this.bunifuImageButton1.ImageActive = null;
this.bunifuImageButton1.ImageLocation = null;
this.bunifuImageButton1.ImageMargin = 20;
this.bunifuImageButton1.ImageSize = new System.Drawing.Size(20, 20);
this.bunifuImageButton1.ImageZoomSize = new System.Drawing.Size(40, 40);
this.bunifuImageButton1.InitialImage = ((System.Drawing.Image)(resources.GetObject("bunifuImageButton1.InitialImage")));
this.bunifuImageButton1.Location = new System.Drawing.Point(1222, 5);
this.bunifuImageButton1.Name = "bunifuImageButton1";
this.bunifuImageButton1.Rotation = 0;
this.bunifuImageButton1.ShowActiveImage = true;
this.bunifuImageButton1.ShowCursorChanges = false;
this.bunifuImageButton1.ShowImageBorders = true;
this.bunifuImageButton1.ShowSizeMarkers = false;
this.bunifuImageButton1.Size = new System.Drawing.Size(40, 40);
this.bunifuImageButton1.TabIndex = 6;
this.bunifuToolTip1.SetToolTip(this.bunifuImageButton1, "Show Dev Tools");
this.bunifuToolTip1.SetToolTipIcon(this.bunifuImageButton1, null);
this.bunifuImageButton1.ToolTipText = "";
this.bunifuToolTip1.SetToolTipTitle(this.bunifuImageButton1, "");
this.bunifuImageButton1.WaitOnLoad = false;
this.bunifuImageButton1.Zoom = 20;
this.bunifuImageButton1.ZoomSpeed = 10;
this.bunifuImageButton1.Click += new System.EventHandler(this.bunifuImageButton1_Click);
//
// btnSettings
//
this.btnSettings.ActiveImage = null;
this.btnSettings.AllowAnimations = true;
this.btnSettings.AllowBuffering = false;
this.btnSettings.AllowToggling = false;
this.btnSettings.AllowZooming = false;
this.btnSettings.AllowZoomingOnFocus = false;
this.btnSettings.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnSettings.BackColor = System.Drawing.Color.Transparent;
this.btnSettings.DialogResult = System.Windows.Forms.DialogResult.None;
this.btnSettings.ErrorImage = ((System.Drawing.Image)(resources.GetObject("btnSettings.ErrorImage")));
this.btnSettings.FadeWhenInactive = false;
this.btnSettings.Flip = Bunifu.UI.WinForms.BunifuImageButton.FlipOrientation.Normal;
this.btnSettings.Image = ((System.Drawing.Image)(resources.GetObject("btnSettings.Image")));
this.btnSettings.ImageActive = null;
this.btnSettings.ImageLocation = null;
this.btnSettings.ImageMargin = 20;
this.btnSettings.ImageSize = new System.Drawing.Size(20, 20);
this.btnSettings.ImageZoomSize = new System.Drawing.Size(40, 40);
this.btnSettings.InitialImage = ((System.Drawing.Image)(resources.GetObject("btnSettings.InitialImage")));
this.btnSettings.Location = new System.Drawing.Point(1258, 5);
this.btnSettings.Name = "btnSettings";
this.btnSettings.Rotation = 0;
this.btnSettings.ShowActiveImage = true;
this.btnSettings.ShowCursorChanges = false;
this.btnSettings.ShowImageBorders = true;
this.btnSettings.ShowSizeMarkers = false;
this.btnSettings.Size = new System.Drawing.Size(40, 40);
this.btnSettings.TabIndex = 3;
this.bunifuToolTip1.SetToolTip(this.btnSettings, "Settings");
this.bunifuToolTip1.SetToolTipIcon(this.btnSettings, null);
this.btnSettings.ToolTipText = "";
this.bunifuToolTip1.SetToolTipTitle(this.btnSettings, "");
this.btnSettings.WaitOnLoad = false;
this.btnSettings.Zoom = 20;
this.btnSettings.ZoomSpeed = 10;
this.btnSettings.Click += new System.EventHandler(this.btnSettings_Click);
//
// bunifuImageButton3
//
this.bunifuImageButton3.ActiveImage = null;
this.bunifuImageButton3.AllowAnimations = true;
this.bunifuImageButton3.AllowBuffering = false;
this.bunifuImageButton3.AllowToggling = false;
this.bunifuImageButton3.AllowZooming = false;
this.bunifuImageButton3.AllowZoomingOnFocus = false;
this.bunifuImageButton3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.bunifuImageButton3.BackColor = System.Drawing.Color.Transparent;
this.bunifuImageButton3.DialogResult = System.Windows.Forms.DialogResult.None;
this.bunifuImageButton3.ErrorImage = ((System.Drawing.Image)(resources.GetObject("bunifuImageButton3.ErrorImage")));
this.bunifuImageButton3.FadeWhenInactive = false;
this.bunifuImageButton3.Flip = Bunifu.UI.WinForms.BunifuImageButton.FlipOrientation.Normal;
this.bunifuImageButton3.Image = ((System.Drawing.Image)(resources.GetObject("bunifuImageButton3.Image")));
this.bunifuImageButton3.ImageActive = null;
this.bunifuImageButton3.ImageLocation = null;
this.bunifuImageButton3.ImageMargin = 20;
this.bunifuImageButton3.ImageSize = new System.Drawing.Size(20, 20);
this.bunifuImageButton3.ImageZoomSize = new System.Drawing.Size(40, 40);
this.bunifuImageButton3.InitialImage = ((System.Drawing.Image)(resources.GetObject("bunifuImageButton3.InitialImage")));
this.bunifuImageButton3.Location = new System.Drawing.Point(1184, 5);
this.bunifuImageButton3.Name = "bunifuImageButton3";
this.bunifuImageButton3.Rotation = 0;
this.bunifuImageButton3.ShowActiveImage = true;
this.bunifuImageButton3.ShowCursorChanges = false;
this.bunifuImageButton3.ShowImageBorders = true;
this.bunifuImageButton3.ShowSizeMarkers = false;
this.bunifuImageButton3.Size = new System.Drawing.Size(40, 40);
this.bunifuImageButton3.TabIndex = 10;
this.bunifuToolTip1.SetToolTip(this.bunifuImageButton3, "Bookmarks (Placeholder)");
this.bunifuToolTip1.SetToolTipIcon(this.bunifuImageButton3, null);
this.bunifuImageButton3.ToolTipText = "";
this.bunifuToolTip1.SetToolTipTitle(this.bunifuImageButton3, "");
this.bunifuImageButton3.WaitOnLoad = false;
this.bunifuImageButton3.Zoom = 20;
this.bunifuImageButton3.ZoomSpeed = 10;
//
// btnRefresh
//
this.btnRefresh.ActiveImage = null;
this.btnRefresh.AllowAnimations = true;
this.btnRefresh.AllowBuffering = false;
this.btnRefresh.AllowToggling = false;
this.btnRefresh.AllowZooming = false;
this.btnRefresh.AllowZoomingOnFocus = false;
this.btnRefresh.BackColor = System.Drawing.Color.Transparent;
this.btnRefresh.DialogResult = System.Windows.Forms.DialogResult.None;
this.btnRefresh.ErrorImage = ((System.Drawing.Image)(resources.GetObject("btnRefresh.ErrorImage")));
this.btnRefresh.FadeWhenInactive = false;
this.btnRefresh.Flip = Bunifu.UI.WinForms.BunifuImageButton.FlipOrientation.Normal;
this.btnRefresh.Image = ((System.Drawing.Image)(resources.GetObject("btnRefresh.Image")));
this.btnRefresh.ImageActive = null;
this.btnRefresh.ImageLocation = null;
this.btnRefresh.ImageMargin = 20;
this.btnRefresh.ImageSize = new System.Drawing.Size(20, 20);
this.btnRefresh.ImageZoomSize = new System.Drawing.Size(40, 40);
this.btnRefresh.InitialImage = ((System.Drawing.Image)(resources.GetObject("btnRefresh.InitialImage")));
this.btnRefresh.Location = new System.Drawing.Point(71, 5);
this.btnRefresh.Name = "btnRefresh";
this.btnRefresh.Rotation = 0;
this.btnRefresh.ShowActiveImage = true;
this.btnRefresh.ShowCursorChanges = false;
this.btnRefresh.ShowImageBorders = true;
this.btnRefresh.ShowSizeMarkers = false;
this.btnRefresh.Size = new System.Drawing.Size(40, 40);
this.btnRefresh.TabIndex = 3;
this.bunifuToolTip1.SetToolTip(this.btnRefresh, "Refresh");
this.bunifuToolTip1.SetToolTipIcon(this.btnRefresh, null);
this.btnRefresh.ToolTipText = "";
this.bunifuToolTip1.SetToolTipTitle(this.btnRefresh, "");
this.btnRefresh.WaitOnLoad = false;
this.btnRefresh.Zoom = 20;
this.btnRefresh.ZoomSpeed = 10;
this.btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click);
//
// btnBack
//
this.btnBack.ActiveImage = null;
this.btnBack.AllowAnimations = true;
this.btnBack.AllowBuffering = false;
this.btnBack.AllowToggling = false;
this.btnBack.AllowZooming = false;
this.btnBack.AllowZoomingOnFocus = false;
this.btnBack.BackColor = System.Drawing.Color.Transparent;
this.btnBack.DialogResult = System.Windows.Forms.DialogResult.None;
this.btnBack.ErrorImage = ((System.Drawing.Image)(resources.GetObject("btnBack.ErrorImage")));
this.btnBack.FadeWhenInactive = false;
this.btnBack.Flip = Bunifu.UI.WinForms.BunifuImageButton.FlipOrientation.Normal;
this.btnBack.Image = ((System.Drawing.Image)(resources.GetObject("btnBack.Image")));
this.btnBack.ImageActive = null;
this.btnBack.ImageLocation = null;
this.btnBack.ImageMargin = 20;
this.btnBack.ImageSize = new System.Drawing.Size(20, 20);
this.btnBack.ImageZoomSize = new System.Drawing.Size(40, 40);
this.btnBack.InitialImage = ((System.Drawing.Image)(resources.GetObject("btnBack.InitialImage")));
this.btnBack.Location = new System.Drawing.Point(4, 5);
this.btnBack.Name = "btnBack";
this.btnBack.Rotation = 0;
this.btnBack.ShowActiveImage = true;
this.btnBack.ShowCursorChanges = false;
this.btnBack.ShowImageBorders = true;
this.btnBack.ShowSizeMarkers = false;
this.btnBack.Size = new System.Drawing.Size(40, 40);
this.btnBack.TabIndex = 5;
this.bunifuToolTip1.SetToolTip(this.btnBack, "Back");
this.bunifuToolTip1.SetToolTipIcon(this.btnBack, null);
this.btnBack.ToolTipText = "";
this.bunifuToolTip1.SetToolTipTitle(this.btnBack, "");
this.btnBack.WaitOnLoad = false;
this.btnBack.Zoom = 20;
this.btnBack.ZoomSpeed = 10;
this.btnBack.Click += new System.EventHandler(this.btnBack_Click);
//
// loadingIndicator
//
this.loadingIndicator.AllowStylePresets = true;
this.loadingIndicator.BackColor = System.Drawing.Color.Transparent;
this.loadingIndicator.CapStyle = Bunifu.UI.WinForms.BunifuLoader.CapStyles.Round;
this.loadingIndicator.Color = System.Drawing.Color.Black;
this.loadingIndicator.Colors = new Bunifu.UI.WinForms.Bloom[0];
this.loadingIndicator.Customization = "";
this.loadingIndicator.DashWidth = 0.5F;
this.loadingIndicator.Font = new System.Drawing.Font("Segoe UI", 9F);
this.loadingIndicator.Image = null;
this.loadingIndicator.Location = new System.Drawing.Point(78, 12);
this.loadingIndicator.Name = "loadingIndicator";
this.loadingIndicator.NoRounding = false;
this.loadingIndicator.Preset = Bunifu.UI.WinForms.BunifuLoader.StylePresets.Solid;
this.loadingIndicator.RingStyle = Bunifu.UI.WinForms.BunifuLoader.RingStyles.Solid;
this.loadingIndicator.ShowText = false;
this.loadingIndicator.Size = new System.Drawing.Size(27, 27);
this.loadingIndicator.Speed = 9;
this.loadingIndicator.TabIndex = 8;
this.loadingIndicator.Text = "bunifuLoader1";
this.loadingIndicator.TextPadding = new System.Windows.Forms.Padding(0);
this.loadingIndicator.Thickness = 3;
this.bunifuToolTip1.SetToolTip(this.loadingIndicator, "");
this.bunifuToolTip1.SetToolTipIcon(this.loadingIndicator, null);
this.bunifuToolTip1.SetToolTipTitle(this.loadingIndicator, "");
this.loadingIndicator.Transparent = true;
//
// bunifuToolTip1
//
this.bunifuToolTip1.Active = true;
this.bunifuToolTip1.AlignTextWithTitle = false;
this.bunifuToolTip1.AllowAutoClose = false;
this.bunifuToolTip1.AllowFading = true;
this.bunifuToolTip1.AutoCloseDuration = 5000;
this.bunifuToolTip1.BackColor = System.Drawing.SystemColors.Control;
this.bunifuToolTip1.BorderColor = System.Drawing.Color.Gainsboro;
this.bunifuToolTip1.ClickToShowDisplayControl = false;
this.bunifuToolTip1.ConvertNewlinesToBreakTags = true;
this.bunifuToolTip1.DisplayControl = null;
this.bunifuToolTip1.EntryAnimationSpeed = 350;
this.bunifuToolTip1.ExitAnimationSpeed = 200;
this.bunifuToolTip1.GenerateAutoCloseDuration = false;
this.bunifuToolTip1.IconMargin = 6;
this.bunifuToolTip1.InitialDelay = 0;
this.bunifuToolTip1.Name = "bunifuToolTip1";
this.bunifuToolTip1.Opacity = 1D;
this.bunifuToolTip1.OverrideToolTipTitles = false;
this.bunifuToolTip1.Padding = new System.Windows.Forms.Padding(10);
this.bunifuToolTip1.ReshowDelay = 100;
this.bunifuToolTip1.ShowAlways = true;
this.bunifuToolTip1.ShowBorders = false;
this.bunifuToolTip1.ShowIcons = true;
this.bunifuToolTip1.ShowShadows = true;
this.bunifuToolTip1.Tag = null;
this.bunifuToolTip1.TextFont = new System.Drawing.Font("Segoe UI", 9F);
this.bunifuToolTip1.TextForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.bunifuToolTip1.TextMargin = 2;
this.bunifuToolTip1.TitleFont = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold);
this.bunifuToolTip1.TitleForeColor = System.Drawing.Color.Black;
this.bunifuToolTip1.ToolTipPosition = new System.Drawing.Point(0, 0);
this.bunifuToolTip1.ToolTipTitle = null;
//
// chromiumWebBrowser1
//
this.chromiumWebBrowser1.ActivateBrowserOnCreation = false;
this.chromiumWebBrowser1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.chromiumWebBrowser1.Location = new System.Drawing.Point(-2, 53);
this.chromiumWebBrowser1.Name = "chromiumWebBrowser1";
this.chromiumWebBrowser1.Size = new System.Drawing.Size(1336, 565);
this.chromiumWebBrowser1.TabIndex = 1;
this.bunifuToolTip1.SetToolTip(this.chromiumWebBrowser1, "");
this.bunifuToolTip1.SetToolTipIcon(this.chromiumWebBrowser1, null);
this.bunifuToolTip1.SetToolTipTitle(this.chromiumWebBrowser1, "");
this.chromiumWebBrowser1.LoadError += new System.EventHandler<CefSharp.LoadErrorEventArgs>(this.chromiumWebBrowser1_LoadError);
this.chromiumWebBrowser1.LoadingStateChanged += new System.EventHandler<CefSharp.LoadingStateChangedEventArgs>(this.chromiumWebBrowser1_LoadingStateChanged);
this.chromiumWebBrowser1.TitleChanged += new System.EventHandler<CefSharp.TitleChangedEventArgs>(this.chromiumWebBrowser1_TitleChanged);
this.chromiumWebBrowser1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.chromiumWebBrowser1_KeyDown);
//
// bunifuImageButton4
//
this.bunifuImageButton4.ActiveImage = null;
this.bunifuImageButton4.AllowAnimations = true;
this.bunifuImageButton4.AllowBuffering = false;
this.bunifuImageButton4.AllowToggling = false;
this.bunifuImageButton4.AllowZooming = false;
this.bunifuImageButton4.AllowZoomingOnFocus = false;
this.bunifuImageButton4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.bunifuImageButton4.BackColor = System.Drawing.Color.Transparent;
this.bunifuImageButton4.DialogResult = System.Windows.Forms.DialogResult.None;
this.bunifuImageButton4.ErrorImage = ((System.Drawing.Image)(resources.GetObject("bunifuImageButton4.ErrorImage")));
this.bunifuImageButton4.FadeWhenInactive = false;
this.bunifuImageButton4.Flip = Bunifu.UI.WinForms.BunifuImageButton.FlipOrientation.Normal;
this.bunifuImageButton4.Image = ((System.Drawing.Image)(resources.GetObject("bunifuImageButton4.Image")));
this.bunifuImageButton4.ImageActive = null;
this.bunifuImageButton4.ImageLocation = null;
this.bunifuImageButton4.ImageMargin = 20;
this.bunifuImageButton4.ImageSize = new System.Drawing.Size(20, 20);
this.bunifuImageButton4.ImageZoomSize = new System.Drawing.Size(40, 40);
this.bunifuImageButton4.InitialImage = ((System.Drawing.Image)(resources.GetObject("bunifuImageButton4.InitialImage")));
this.bunifuImageButton4.Location = new System.Drawing.Point(1294, 5);
this.bunifuImageButton4.Name = "bunifuImageButton4";
this.bunifuImageButton4.Rotation = 0;
this.bunifuImageButton4.ShowActiveImage = true;
this.bunifuImageButton4.ShowCursorChanges = false;
this.bunifuImageButton4.ShowImageBorders = true;
this.bunifuImageButton4.ShowSizeMarkers = false;
this.bunifuImageButton4.Size = new System.Drawing.Size(40, 40);
this.bunifuImageButton4.TabIndex = 11;
this.bunifuToolTip1.SetToolTip(this.bunifuImageButton4, "Settings and more (Placeholder)");
this.bunifuToolTip1.SetToolTipIcon(this.bunifuImageButton4, null);
this.bunifuImageButton4.ToolTipText = "";
this.bunifuToolTip1.SetToolTipTitle(this.bunifuImageButton4, "");
this.bunifuImageButton4.WaitOnLoad = false;
this.bunifuImageButton4.Zoom = 20;
this.bunifuImageButton4.ZoomSpeed = 10;
//
// frmBrowser
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.WhiteSmoke;
this.ClientSize = new System.Drawing.Size(1332, 618);
this.Controls.Add(this.chromiumWebBrowser1);
this.Controls.Add(this.bunifuCards1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "frmBrowser";
this.Text = "frmBrowser";
this.bunifuCards1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private Bunifu.Framework.UI.BunifuCards bunifuCards1;
private Bunifu.UI.WinForms.BunifuToolTip bunifuToolTip1;
public CefSharp.WinForms.ChromiumWebBrowser chromiumWebBrowser1;
private Bunifu.UI.WinForms.BunifuTextBox txtSearchOrUrl;
private Bunifu.UI.WinForms.BunifuImageButton bunifuImageButton2;
private Bunifu.UI.WinForms.BunifuImageButton bunifuImageButton1;
private Bunifu.UI.WinForms.BunifuImageButton btnBack;
private Bunifu.UI.WinForms.BunifuImageButton btnSettings;
private Bunifu.UI.WinForms.BunifuImageButton btnForward;
private Bunifu.UI.WinForms.BunifuLoader loadingIndicator;
private Bunifu.UI.WinForms.BunifuImageButton btnRefresh;
private Bunifu.UI.WinForms.BunifuImageButton bunifuImageButton3;
private Bunifu.UI.WinForms.BunifuImageButton bunifuImageButton4;
}
}

243
WebBrowser/frmBrowser.cs Normal file
View file

@ -0,0 +1,243 @@
using Bunifu.Utils;
using CefSharp;
using CefSharp.WinForms;
using DiamondCreeperBrowser;
using XeroBrowser.Properties;
using EasyTabs;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using CefSharp.DevTools.Network;
using CefSharp.DevTools.Page;
using System.Runtime.Versioning;
using System.Xml.Linq;
using System.IO;
namespace WebBrowser
{
public partial class frmBrowser : Form
{
Uri fileUri;
Uri fileUri2;
public frmBrowser()
{
InitializeComponent();
chromiumWebBrowser1.DownloadHandler = new DownloadHandler(this);
chromiumWebBrowser1.LifeSpanHandler = new LifeSpanHandler();
chromiumWebBrowser1.MenuHandler = new MenuHandler();
chromiumWebBrowser1.DisplayHandler = new DisplayHandler(this);
string filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "index.html");
fileUri = new Uri(filePath);
string fileUrl = fileUri.AbsoluteUri;
chromiumWebBrowser1.Load(fileUrl);
txtSearchOrUrl.Text = "";
Form.CheckForIllegalCrossThreadCalls = false;
}
public TitleBarTabs ParentTabs
{
get
{
return (ParentForm as TitleBarTabs);
}
}
private void btnForward_Click(object sender, EventArgs e)
{
if (chromiumWebBrowser1.CanGoForward) chromiumWebBrowser1.Forward();
}
public void ChangeUrl(string url)
{
chromiumWebBrowser1.Load(url);
}
private void btnBack_Click(object sender, EventArgs e)
{
if (chromiumWebBrowser1.CanGoBack) chromiumWebBrowser1.Back();
}
private void btnRefresh_Click(object sender, EventArgs e)
{
chromiumWebBrowser1.Reload();
}
private bool isBlocked = false;
private void chromiumWebBrowser1_LoadingStateChanged(object sender, LoadingStateChangedEventArgs e)
{
if (e.IsLoading)
{
this.loadingIndicator.Visible = true;
this.btnRefresh.Visible = false;
}
else
{
this.loadingIndicator.Visible = false;
this.btnRefresh.Visible = true;
}
try
{
if (this == null)
return;
this.Invoke((Action)delegate
{
if (txtSearchOrUrl != null && chromiumWebBrowser1 != null)
{
if (!chromiumWebBrowser1.Address.EndsWith(fileUri.ToString()))
{
txtSearchOrUrl.Text = chromiumWebBrowser1.Address;
}
else
{
txtSearchOrUrl.Text = "";
}
}
});
}
catch (ObjectDisposedException) { }
catch (InvalidAsynchronousStateException) { }
var uri = new Uri(chromiumWebBrowser1.Address);
if (uri.Scheme == "file")
{
txtSearchOrUrl.IconLeft = XeroBrowser.Properties.Resources.local;
}
else if (uri.Scheme == "https")
{
txtSearchOrUrl.IconLeft = XeroBrowser.Properties.Resources.secure;
}
else
{
txtSearchOrUrl.IconLeft = XeroBrowser.Properties.Resources.insecure1;
if (!isBlocked)
{
MessageBox.Show("Warning: This site is insecure!, Your personal information may be at risk or hackers can install malicious software on your device.", "Xero Browser", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Warning);
}
}
// if (txtSearchOrUrl.Text.Contains("netflix.com"))
// {
//MessageBox.Show("This site requires a DRM (Digital Rights Management) which Xero Browser does not support! TV Shows & Moves will not load.", "Xero Browser", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Warning);
// chromiumWebBrowser1.Stop(); // cancel the navigation
// isBlocked = true;
// chromiumWebBrowser1.LoadHtml("<html><body><h1>Error!</h1><h3>This site requires a DRM (Digital Rights Management) which Xero Browser does not support! TV Shows & Moves will not load.</h3></body></html>");
// }
// else if (txtSearchOrUrl.Text.Contains("disneyplus.com"))
// {
// MessageBox.Show("This site requires a DRM (Digital Rights Management) which Xero Browser does not support! TV Shows & Moves will not load.", "Xero Browser", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Warning);
// }
if (e.IsLoading)
{
// Don't return, allow the code to execute the rest of the logic
}
string[] blockedUrls = { "https://diamondcreeper.org/1337", "https://www.youtube.com/watch?v=dQw4w9WgXcQ", "https://www.youtube.com/watch?v=xm3YgoEiEDc", "https://www.youtube.com/watch?v=xvFZjo5PgG0", "https://www.youtube.com/watch?v=O91DT1pR1ew", "https://www.youtube.com/watch?v=o-YBDTqX_ZU", "https://www.youtube.com/watch?v=H8ZH_mkfPUY", "https://www.youtube.com/watch?v=o-YBDTqX_ZU", "https://www.youtube.com/watch?v=xvFZjo5PgG0" };
string[] blockedDrms = { "netflix.com", "disneyplus.com" };
if (!isBlocked)
{
foreach (string blockedDrm in blockedDrms)
{
if (chromiumWebBrowser1.Address.StartsWith(blockedDrm))
{
chromiumWebBrowser1.Stop(); // cancel the navigation
isBlocked = true;
chromiumWebBrowser1.LoadHtml("<html><body><h1>Error!</h1><h3>This website requires a DRM (Digital Rights Management) which Xero Browser does not support!</h3></body></html>", blockedDrm);
}
};
foreach (string blockedUrl in blockedUrls)
{
if (chromiumWebBrowser1.Address.StartsWith(blockedUrl))
{
chromiumWebBrowser1.Stop(); // cancel the navigation
isBlocked = true;
chromiumWebBrowser1.LoadHtml("<html><body><h1>Rickroll Blocked!</h1><p>Being rickrolled is disabled.</p></body></html>", blockedUrl);
}
};
}
}
private void chromiumWebBrowser1_TitleChanged(object sender, TitleChangedEventArgs e)
{
try
{
this.Invoke((Action)delegate { this.FindForm().Text = e.Title; });
}
catch (ObjectDisposedException) { }
}
private void btnSettings_Click(object sender, EventArgs e)
{
Backdrop.Show(new frmSettings());
}
private void chromiumWebBrowser1_KeyDown(object sender, KeyEventArgs e)
{
}
private void bunifuImageButton1_Click(object sender, EventArgs e)
{
chromiumWebBrowser1.ShowDevTools();
}
private void chromiumWebBrowser1_LoadError(object sender, LoadErrorEventArgs e)
{
string filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "loaderror.html");
fileUri2 = new Uri(filePath);
string fileUrl = fileUri2.AbsoluteUri;
}
private void bunifuImageButton2_Click(object sender, EventArgs e, frmSettings frmSettings)
{
string url = frmSettings.bunifuTextBox1.Text; // Get the URL from the text box on the form
chromiumWebBrowser1.Load(url); // Navigate to the specified URL
}
private void txtSearchOrUrl_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter && txtSearchOrUrl.Text.Trim().Length > 0)
{
if (txtSearchOrUrl.Text.Contains("."))
{
chromiumWebBrowser1.Load(txtSearchOrUrl.Text.Trim());
}
else
{
chromiumWebBrowser1.Load("https://www.google.com/search?q=" + txtSearchOrUrl.Text.Trim().Replace(" ", "+") + "&sourceid=chrome&ie=UTF-8");
}
}
}
private void txtSearchOrUrl_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
e.Handled = true;
e.SuppressKeyPress = true;
}
}
}
}

3870
WebBrowser/frmBrowser.resx Normal file

File diff suppressed because it is too large Load diff

1252
WebBrowser/frmSettings.Designer.cs generated Normal file

File diff suppressed because it is too large Load diff

61
WebBrowser/frmSettings.cs Normal file
View file

@ -0,0 +1,61 @@
using CefSharp.WinForms;
using CefSharp;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Bunifu.UI.WinForms;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
namespace WebBrowser
{
public partial class frmSettings : Form
{
public frmSettings()
{
InitializeComponent();
}
private void bunifuToggleSwitchflash_CheckedChanged(object sender, Bunifu.UI.WinForms.BunifuToggleSwitch.CheckedChangedEventArgs e)
{
}
private void bunifuToggleSwitchcookies_CheckedChanged(object sender, Bunifu.UI.WinForms.BunifuToggleSwitch.CheckedChangedEventArgs e)
{
}
private void bunifuDropdown1_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void bunifuButton22_Click(object sender, EventArgs e)
{
Process.Start("ms-settings:network-proxy");
}
private void frmSettings_FormClosing(object sender, FormClosingEventArgs e, Form form)
{
}
private void bunifuPictureBox1_Click(object sender, EventArgs e)
{
}
private void bunifuImageButton1_Click(object sender, EventArgs e)
{
this.Close();
}
}
}

2474
WebBrowser/frmSettings.resx Normal file

File diff suppressed because it is too large Load diff

BIN
WebBrowser/history.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

BIN
WebBrowser/history.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

5298
WebBrowser/index.html Normal file

File diff suppressed because one or more lines are too long

BIN
WebBrowser/insecure.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

BIN
WebBrowser/insecure.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

BIN
WebBrowser/insecure1.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

File diff suppressed because it is too large Load diff

5227
WebBrowser/loaderror.html Normal file

File diff suppressed because one or more lines are too long

BIN
WebBrowser/local.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

BIN
WebBrowser/local.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

View file

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Bunifu.UI.WinForms" version="5.3.0" targetFramework="net48" />
<package id="Bunifu.Utils" version="1.0.6" targetFramework="net48" />
<package id="cef.redist.x64" version="87.1.13" targetFramework="net48" />
<package id="cef.redist.x86" version="87.1.13" targetFramework="net48" />
<package id="CefSharp.Common" version="87.1.132" targetFramework="net48" />
<package id="CefSharp.WinForms" version="87.1.132" targetFramework="net48" />
<package id="EasyTabs" version="2.0.0" targetFramework="net48" />
<package id="Fizzler" version="1.3.0" targetFramework="net48" />
<package id="Svg" version="3.4.1" targetFramework="net48" />
<package id="System.Buffers" version="4.5.1" targetFramework="net48" />
<package id="System.Memory" version="4.5.4" targetFramework="net48" />
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net48" />
<package id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" targetFramework="net48" />
<package id="Win32Interop.Dwmapi" version="1.0.1" targetFramework="net48" />
<package id="Win32Interop.Gdi32" version="1.0.1" targetFramework="net48" />
<package id="Win32Interop.Kernel32" version="1.0.1" targetFramework="net48" />
<package id="Win32Interop.User32" version="1.0.1" targetFramework="net48" />
<package id="Win32Interop.Uxtheme" version="1.0.1" targetFramework="net48" />
</packages>

Binary file not shown.

12783
WebBrowser/script.js Normal file

File diff suppressed because it is too large Load diff

BIN
WebBrowser/secure.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

BIN
WebBrowser/secure.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

5143
WebBrowser/style.css Normal file

File diff suppressed because one or more lines are too long