mirror of
https://github.com/chylex/TweetDuck.git
synced 2025-05-16 17:34:08 +02:00
36 lines
1.5 KiB
C#
36 lines
1.5 KiB
C#
using System.Diagnostics.CodeAnalysis;
|
|
using CefSharp;
|
|
using TweetDuck.Browser.Data;
|
|
|
|
namespace TweetDuck.Browser.Handling{
|
|
abstract class ResourceRequestHandler : CefSharp.Handler.ResourceRequestHandler{
|
|
private class SelfFactoryImpl : IResourceRequestHandlerFactory{
|
|
private readonly ResourceRequestHandler me;
|
|
|
|
public SelfFactoryImpl(ResourceRequestHandler me){
|
|
this.me = me;
|
|
}
|
|
|
|
bool IResourceRequestHandlerFactory.HasHandlers { get; } = true;
|
|
|
|
[SuppressMessage("ReSharper", "RedundantAssignment")]
|
|
IResourceRequestHandler IResourceRequestHandlerFactory.GetResourceRequestHandler(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, bool isNavigation, bool isDownload, string requestInitiator, ref bool disableDefaultHandling){
|
|
disableDefaultHandling = me.ResourceHandlers.HasHandler(request);
|
|
return me;
|
|
}
|
|
}
|
|
|
|
public IResourceRequestHandlerFactory SelfFactory { get; }
|
|
public ResourceHandlers ResourceHandlers { get; }
|
|
|
|
protected ResourceRequestHandler(){
|
|
this.SelfFactory = new SelfFactoryImpl(this);
|
|
this.ResourceHandlers = new ResourceHandlers();
|
|
}
|
|
|
|
protected override IResourceHandler GetResourceHandler(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request){
|
|
return ResourceHandlers.GetHandler(request);
|
|
}
|
|
}
|
|
}
|