Files
lserp_cs_5.0/插件库/CommonLib/Cef3.24/Classes.Handlers/CefClient.cs
T
2026-07-10 15:25:05 +08:00

278 lines
7.7 KiB
C#

namespace Cef3
{
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Runtime.InteropServices;
using Cef3.Interop;
public abstract unsafe partial class CefClient
{
private cef_context_menu_handler_t* get_context_menu_handler(cef_client_t* self)
{
CheckSelf(self);
var result = GetContextMenuHandler();
return result != null ? result.ToNative() : null;
}
/// <summary>
/// Return the handler for context menus. If no handler is provided the default
/// implementation will be used.
/// </summary>
protected virtual CefContextMenuHandler GetContextMenuHandler()
{
return null;
}
private cef_dialog_handler_t* get_dialog_handler(cef_client_t* self)
{
CheckSelf(self);
var result = GetDialogHandler();
return result != null ? result.ToNative() : null;
}
/// <summary>
/// Return the handler for dialogs. If no handler is provided the default
/// implementation will be used.
/// </summary>
protected virtual CefDialogHandler GetDialogHandler()
{
return null;
}
private cef_display_handler_t* get_display_handler(cef_client_t* self)
{
CheckSelf(self);
var result = GetDisplayHandler();
return result != null ? result.ToNative() : null;
}
/// <summary>
/// Return the handler for browser display state events.
/// </summary>
protected virtual CefDisplayHandler GetDisplayHandler()
{
return null;
}
private cef_download_handler_t* get_download_handler(cef_client_t* self)
{
CheckSelf(self);
var result = GetDownloadHandler();
return result != null ? result.ToNative() : null;
}
/// <summary>
/// Return the handler for download events. If no handler is returned downloads
/// will not be allowed.
/// </summary>
protected virtual CefDownloadHandler GetDownloadHandler()
{
return null;
}
private cef_drag_handler_t* get_drag_handler(cef_client_t* self)
{
CheckSelf(self);
var result = GetDragHandler();
return result != null ? result.ToNative() : null;
}
/// <summary>
/// Return the handler for drag events.
/// </summary>
protected virtual CefDragHandler GetDragHandler()
{
return null;
}
private cef_find_handler_t* get_find_handler(cef_client_t* self)
{
CheckSelf(self);
var result = GetFindHandler();
return result != null ? result.ToNative() : null;
}
/// <summary>
/// Return the handler for find result events.
/// </summary>
protected virtual CefFindHandler GetFindHandler()
{
return null;
}
private cef_focus_handler_t* get_focus_handler(cef_client_t* self)
{
CheckSelf(self);
var result = GetFocusHandler();
return result != null ? result.ToNative() : null;
}
/// <summary>
/// Return the handler for focus events.
/// </summary>
protected virtual CefFocusHandler GetFocusHandler()
{
return null;
}
private cef_geolocation_handler_t* get_geolocation_handler(cef_client_t* self)
{
CheckSelf(self);
var result = GetGeolocationHandler();
return result != null ? result.ToNative() : null;
}
/// <summary>
/// Return the handler for geolocation permissions requests. If no handler is
/// provided geolocation access will be denied by default.
/// </summary>
protected virtual CefGeolocationHandler GetGeolocationHandler()
{
return null;
}
private cef_jsdialog_handler_t* get_jsdialog_handler(cef_client_t* self)
{
CheckSelf(self);
var result = GetJSDialogHandler();
return result != null ? result.ToNative() : null;
}
/// <summary>
/// Return the handler for JavaScript dialogs. If no handler is provided the
/// default implementation will be used.
/// </summary>
protected virtual CefJSDialogHandler GetJSDialogHandler()
{
return null;
}
private cef_keyboard_handler_t* get_keyboard_handler(cef_client_t* self)
{
CheckSelf(self);
var result = GetKeyboardHandler();
return result != null ? result.ToNative() : null;
}
/// <summary>
/// Return the handler for keyboard events.
/// </summary>
protected virtual CefKeyboardHandler GetKeyboardHandler()
{
return null;
}
private cef_life_span_handler_t* get_life_span_handler(cef_client_t* self)
{
CheckSelf(self);
var result = GetLifeSpanHandler();
return result != null ? result.ToNative() : null;
}
/// <summary>
/// Return the handler for browser life span events.
/// </summary>
protected virtual CefLifeSpanHandler GetLifeSpanHandler()
{
return null;
}
private cef_load_handler_t* get_load_handler(cef_client_t* self)
{
CheckSelf(self);
var result = GetLoadHandler();
return result != null ? result.ToNative() : null;
}
/// <summary>
/// Return the handler for browser load status events.
/// </summary>
protected virtual CefLoadHandler GetLoadHandler()
{
return null;
}
private cef_render_handler_t* get_render_handler(cef_client_t* self)
{
CheckSelf(self);
var result = GetRenderHandler();
return result != null ? result.ToNative() : null;
}
/// <summary>
/// Return the handler for off-screen rendering events.
/// </summary>
protected virtual CefRenderHandler GetRenderHandler()
{
return null;
}
private cef_request_handler_t* get_request_handler(cef_client_t* self)
{
CheckSelf(self);
var result = GetRequestHandler();
return result != null ? result.ToNative() : null;
}
/// <summary>
/// Return the handler for browser request events.
/// </summary>
protected virtual CefRequestHandler GetRequestHandler()
{
return null;
}
private int on_process_message_received(cef_client_t* self, cef_browser_t* browser, CefProcessId source_process, cef_process_message_t* message)
{
CheckSelf(self);
var m_browser = CefBrowser.FromNative(browser);
var m_message = CefProcessMessage.FromNative(message);
var result = OnProcessMessageReceived(m_browser, source_process, m_message);
// m_browser.Dispose();
m_message.Dispose();
return result ? 1 : 0;
}
/// <summary>
/// Called when a new message is received from a different process. Return true
/// if the message was handled or false otherwise. Do not keep a reference to
/// or attempt to access the message outside of this callback.
/// </summary>
protected virtual bool OnProcessMessageReceived(CefBrowser browser, CefProcessId sourceProcess, CefProcessMessage message)
{
return false;
}
}
}