From f66ff1000a7b9f76d0dfcbfd5f84a2cf06478d10 Mon Sep 17 00:00:00 2001
From: chylex <contact@chylex.com>
Date: Thu, 21 Dec 2017 22:45:29 +0100
Subject: [PATCH] Replace AbstractRequestHandler with CefSharp's implementation

---
 .../General/AbstractRequestHandler.cs         | 68 -------------------
 Core/Handling/RequestHandlerBase.cs           |  3 +-
 TweetDuck.csproj                              |  1 -
 3 files changed, 2 insertions(+), 70 deletions(-)
 delete mode 100644 Core/Handling/General/AbstractRequestHandler.cs

diff --git a/Core/Handling/General/AbstractRequestHandler.cs b/Core/Handling/General/AbstractRequestHandler.cs
deleted file mode 100644
index c79994e0..00000000
--- a/Core/Handling/General/AbstractRequestHandler.cs
+++ /dev/null
@@ -1,68 +0,0 @@
-using System.Security.Cryptography.X509Certificates;
-using CefSharp;
-
-namespace TweetDuck.Core.Handling.General{
-    abstract class AbstractRequestHandler : IRequestHandler{
-        // Browser
-
-        public virtual void OnRenderViewReady(IWebBrowser browserControl, IBrowser browser){}
-
-        public virtual void OnRenderProcessTerminated(IWebBrowser browserControl, IBrowser browser, CefTerminationStatus status){}
-
-        public virtual bool OnBeforeBrowse(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, bool isRedirect){
-            return false;
-        }
-
-        public virtual bool OnOpenUrlFromTab(IWebBrowser browserControl, IBrowser browser, IFrame frame, string targetUrl, WindowOpenDisposition targetDisposition, bool userGesture){
-            return false;
-        }
-
-        public virtual bool OnProtocolExecution(IWebBrowser browserControl, IBrowser browser, string url){
-            return false;
-        }
-
-        // Resources
-
-        public virtual CefReturnValue OnBeforeResourceLoad(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IRequestCallback callback){
-            return CefReturnValue.Continue;
-        }
-
-        public virtual void OnResourceRedirect(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IResponse response, ref string newUrl){}
-
-        public virtual bool OnResourceResponse(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IResponse response){
-            return false;
-        }
-
-        public virtual IResponseFilter GetResourceResponseFilter(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IResponse response){
-            return null;
-        }
-
-        public virtual void OnResourceLoadComplete(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IResponse response, UrlRequestStatus status, long receivedContentLength){}
-
-        // JavaScript & Plugins
-
-        public virtual bool OnQuotaRequest(IWebBrowser browserControl, IBrowser browser, string originUrl, long newSize, IRequestCallback callback){
-            callback.Dispose();
-            return false;
-        }
-
-        public virtual void OnPluginCrashed(IWebBrowser browserControl, IBrowser browser, string pluginPath){}
-
-        // Auth
-
-        public virtual bool GetAuthCredentials(IWebBrowser browserControl, IBrowser browser, IFrame frame, bool isProxy, string host, int port, string realm, string scheme, IAuthCallback callback){
-            callback.Dispose();
-            return false;
-        }
-
-        public virtual bool OnSelectClientCertificate(IWebBrowser browserControl, IBrowser browser, bool isProxy, string host, int port, X509Certificate2Collection certificates, ISelectClientCertificateCallback callback){
-            callback.Dispose();
-            return false;
-        }
-
-        public virtual bool OnCertificateError(IWebBrowser browserControl, IBrowser browser, CefErrorCode errorCode, string requestUrl, ISslInfo sslInfo, IRequestCallback callback){
-            callback.Dispose();
-            return false;
-        }
-    }
-}
diff --git a/Core/Handling/RequestHandlerBase.cs b/Core/Handling/RequestHandlerBase.cs
index e83c3ff7..3621ab70 100644
--- a/Core/Handling/RequestHandlerBase.cs
+++ b/Core/Handling/RequestHandlerBase.cs
@@ -1,8 +1,9 @@
 using CefSharp;
+using CefSharp.Handler;
 using TweetDuck.Core.Handling.General;
 
 namespace TweetDuck.Core.Handling{
-    class RequestHandlerBase : AbstractRequestHandler{
+    class RequestHandlerBase : DefaultRequestHandler{
         public override bool OnOpenUrlFromTab(IWebBrowser browserControl, IBrowser browser, IFrame frame, string targetUrl, WindowOpenDisposition targetDisposition, bool userGesture){
             return LifeSpanHandler.HandleLinkClick(browserControl, targetDisposition, targetUrl);
         }
diff --git a/TweetDuck.csproj b/TweetDuck.csproj
index dbbdd7de..97b8b05a 100644
--- a/TweetDuck.csproj
+++ b/TweetDuck.csproj
@@ -104,7 +104,6 @@
     <Compile Include="Core\Handling\KeyboardHandlerNotification.cs" />
     <Compile Include="Core\Handling\RequestHandlerBase.cs" />
     <Compile Include="Core\Handling\RequestHandlerBrowser.cs" />
-    <Compile Include="Core\Handling\General\AbstractRequestHandler.cs" />
     <Compile Include="Core\Handling\ResourceHandlerNotification.cs" />
     <Compile Include="Core\Notification\Example\FormNotificationExample.cs">
       <SubType>Form</SubType>