Hi CefSharp group!
I have a task to handle custom url protocol in CefSharp. On request there should be external application launch.
I've implemented my SchemeHandler and SchemeHandlerFactory and registered that scheme in settings:
internal class MyCustomSchemeHandler : ISchemeHandler
{
public bool ProcessRequestAsync(IRequest request, ISchemeHandlerResponse response, OnRequestCompletedHandler requestCompletedCallback)
{
// External application launch should be here
return true;
}
}
internal class MyCustomSchemeHandlerFactory : ISchemeHandlerFactory
{
public const string SchemeName = "myapp";
public ISchemeHandler Create()
{
return new MyCustomSchemeHandler();
}
}
var settings = new CefSettings();
settings.RegisterScheme(new CefCustomScheme
{
SchemeName = MyCustomSchemeHandlerFactory.SchemeName,
SchemeHandlerFactory = new MyCustomSchemeHandlerFactory()
});
Cef.Initialize(settings);
My questions are:
1. Am I correct that I don't need to invoke requestCompletedCallback in ProcessRequestAsync? (as I do not return any response, I just launch some external app)
2. What should I return from ProcessRequestAsync method - true or false? And what will be the difference in returning true or false from ProcessRequestAsync method?