TCEFApplicationCore se usa para simplificar la inicialización y finalización de CEF.
TCEFApplication inhereda de TCEFApplicationCore y se creó para solucionar un problema con los subprocesos de CEF y MS Office.
La mayor parte de las demostraciones inicializan una variable global llamada GlobalCEFApp usando TCEFApplication pero las que usan un ejecutable diferente para los subprocesos utilizan TCEFApplicationCore en los subprocesos.
Normalmente GlobalCEFApp se crea antes que la ventana principal de la aplicación y se destruye después de que todos las ventanas se hayan cerrado. Cuando una aplicación usa un ejecutable diferente para los subprocesos se puede crear GlobalCEFApp en cualquier momento.
Casi todas las propiedades, eventos y métodos en TCEFApplicationCore se corresponden con métodos y llamadas de estas clases de CEF : CefApp, CefBrowserProcessHandler, CefRenderProcessHandler, CefResourceBundleHandler y CefLoadHandler.
Algunas propiedades se usan para asignar valores a la configuración de CEF y para añadir algunos argumentos de líneas de comandos
a CEF cuando se inicializa. Esto significa que esas propiedades deben asignarse previamente a la inicialización de CEF y que todos los cambios posteriores se ignorarán.
Los argumentos de líneas de comandos
de CEF se pueden utilizar para activar o desactivar muchas características de Chromium disponibles como flags de configuración
en dicho navegador.
Usado para añadir cualquier argumentos de líneas de comandos que no esté disponible como propiedad de TCEFApplicationCore.
Usado para inicializar CEF en el proceso principal del navegador. En caso de que CEF esté configurado para usar el mismo ejecutable para todos los procesos entonces todos los procesos deben llamar a esta función.
CEF solo se puede inicializar una vez por proceso. Esta es una característica de CEF y no se puede evitar.
Usado para inicializar CEF en los subprocesos. Esta función solo se puede utilizar por los subprocesos cuando CEF está configurado para usar un ejecutable diferente para los subprocesos.
Este procedimiento solo está disponible en MacOS para leer algunos datos de configuración desde los argumentos de la línea de comandos.
Este procedimiento se usa para realizar una sola iteración del bucle de mensajes de CEF cuando el bucle de mensajes multi-hilo está desactivado y el surtidor de mensajes externo está activado.
Lea los comentarios en el código sobre cef_do_message_loop_work para saber más detalles.
Este procedimiento reemplaza al bulce de mensajes principal en la aplicación cuando el bucle multi-hilo de mensajes y el surtidor de mensajes externo estan desactivados.
Lea los comentarios en el código sobre cef_run_message_loop para saber más detalles.
Este procedimiento se usa para detener el bucle de mensajes iniciado por RunMessageLoop cuando el bucle multi-hilo de mensajes y el surtidor de mensajes externo estan desactivados.
Lea los comentarios en el código sobre cef_quit_message_loop para saber más detalles.
Este procedimiento se usa para actualizar el valor de la propiedad device scale factor (factor de escala del dispositivo) en esta clase. Este valor solo se usa en modo OSR.
Todos los procedimientos que comienzan por Internal_
se utilizan únicamente por CEF handlers y no se deben utilizar por las aplicaciones.
Las siguientes propiedades se usan para rellenar el registro TCefSettings cuando se inicializa CEF y deberían asignarse antes de las llamadas a StartMainProcess/StartSubProcess.
Lea los comentarios en el código sobre cef_settings_t para abotener más información sobre cada una de ellas.
Las siguientes propiedades añaden a CEF algunos de los argumentos de líneas de comandos más populares cuando se inicializa y deberían asignarse antes de las llamadas a StartMainProcess/StartSubProcess.
Los argumentos de la línea de comandos pueden cambiar con cada versión de Chromium.
Estos enlaces muestran la lista actualizada de argumentos :
Estos son los argumentos equivalentes para las propiedades :
AllowFileAccessFromFiles | --allow-file-access-from-files |
AllowRunningInsecureContent | --allow-running-insecure-content |
AllowUniversalAccessFromFileUrls | --allow-universal-access-from-files |
AutoplayPolicy | --autoplay-policy |
BlinkSettings | --blink-settings |
DefaultEncoding | --default-encoding |
DevToolsProtocolLogFile | --devtools-protocol-log-file |
DisableBackgroundNetworking | --disable-background-networking |
DisableBlinkFeatures | --disable-blink-features |
DisableChromeLoginPrompt | --disable-chrome-login-prompt |
DisableExtensions | --disable-extensions |
DisableFeatures | --disable-features |
DisableImageLoading | --disable-image-loading |
DisableJavascript | --disable-javascript |
DisableJavascriptAccessClipboard | --disable-javascript-access-clipboard |
DisableJavascriptCloseWindows | --disable-javascript-close-windows |
DisableJavascriptDomPaste | --disable-javascript-dom-paste |
DisableNewBrowserInfoTimeout | --disable-new-browser-info-timeout |
DisablePDFExtension | --disable-pdf-extension |
DisablePlugins | --disable-plugins |
DisableReadingFromCanvas | --disable-reading-from-canvas |
DisableSafeBrowsing | --safebrowsing-disable-auto-update |
DisableSiteIsolationTrials | --disable-site-isolation-trials |
DisableSpellChecking | --disable-spell-checking |
DisableTabToLinks | --disable-tab-to-links |
DisableTextAreaResize | --disable-text-area-resize |
DisableWebSecurity | --disable-web-security |
DisableZygote | --no-zygote |
EnableBlinkFeatures | --enable-blink-features |
EnableFeatures | --enable-features |
EnableGPU | --enable-gpu-plugin |
EnableMediaStream | --enable-media-stream |
EnablePrintPreview | --enable-print-preview |
EnableProfanityFilter | --enable-profanity-filter |
EnableSpeechInput | --enable-speech-input |
EnableUsermediaScreenCapturing | --enable-usermedia-screen-capturing |
FastUnload | --enable-fast-unload |
ForcedDeviceScaleFactor | --device-scale-factor |
ForceFieldTrialParams | --force-fieldtrial-params |
ForceFieldTrials | --force-fieldtrials |
HyperlinkAuditing | --no-pings |
ImageShrinkStandaloneToFit | --image-shrink-standalone-to-fit |
MetricsRecordingOnly | --metrics-recording-only |
MuteAudio | --mute-audio |
OverrideSpellCheckLang | --override-spell-check-lang |
PluginPolicy | --plugin-policy |
SingleProcess | --single-process |
SitePerProcess | --site-per-process |
SmoothScrolling | --enable-smooth-scrolling |
TouchEvents | --touch-events |
UseFakeUIForMediaStream | --use-fake-ui-for-media-stream |
UseMockKeyChain | --use-mock-keychain |
Consulte el código de TcefApplicationCore.AddCustomCommandLineSwitches para saber cómo se traduce cada propiedad en uno o más argumentos.
ApiHashCommit | Llama a cef_api_hash para obtener el hash del commit. |
ApiHashPlatform | Llama a cef_api_hash para obtener el hash de la platforma. |
ApiHashUniversal | Llama a cef_api_hash para obtener el hash universal. |
AvailableSystemMemory | Calcula la memoria disponible en Windows. |
CheckCEFFiles | Comprueba si los archivos binarios de CEF están presentes y la versión de la DLL. |
ChildProcessesCount | Devuelve el número de subprocesos de CEF ejecutandose en ese momento. |
ChromeBuild | Devuelve el valor buildde la información de versión de Chromium. |
ChromeElfPath | Devuelve la ruta a chrome_elf.dll. |
ChromeMajorVer | Devuelve el valor majorde la información de versión de Chromium. |
ChromeMinorVer | Devuelve el valor minorde la información de versión de Chromium. |
ChromeRelease | Devuelve el valor releasede la información de versión de Chromium. |
ChromeVersion | Devuelve la versión completa de Chromium. |
DeleteCache | Usado para borrar todos los archivos de la cache antes de que se inicialice CEF. |
DeleteCookies | Usado para borrar todas las cookies antes de que se inicialice CEF. |
DeviceScaleFactor | Devuelve el factor de escala del dispositivo usado en modo OSR. |
DisableRequestHandlingForTesting | Desactiva la gestión de peticiones en CEF para facilitar el depurado de problemas relacionados con la red. |
EnableHighDPISupport | Usado para soportar monitores con DPI alto. Llama a cef_enable_highdpi_support cuando se inicializa CEF. |
GlobalContextInitialized | Tiene un valor de True cuabdo el contexto global está inicializado y la aplicación puede comenzar a crear navegadores web. |
LastErrorMessage | Último mensaje de error que normalmente se muestra cuando CEF encuentra un problema en la inicialización. |
LibCefPath | Ruta a libcef.dll o libcef.so |
LibCefVersion | Información completa de la versión de libcef. |
LibLoaded | Tiene un valor de True cuando TCEFApplicationCore ha cargado los archivos de CEF. |
LocalesRequired | Lista de archivos localeque se comprobarán con CheckCEFFiles. |
LogProcessInfo | Añade información al registro de depuración cuando se ha cargado CEF. |
MissingBinariesException | Elevar una excepción cuando la comprobación de los archivos de CEF falla. |
MissingLibFiles | Lista de archivos ausentes de CEF. |
MustCreateBrowserProcessHandler | Forzar la creación de ICefBrowserProcessHandler. |
MustCreateLoadHandler | Forzar la creación de ICefLoadHandler. |
MustCreateRenderProcessHandler | Forzar la creación de ICefRenderProcessHandler. |
MustCreateResourceBundleHandler | Forzar la creación de ICefResourceBundleHandler. |
MustFreeLibrary | Asignar un valor de True para liberar el manejador de la librería cuando se destruye TCEFApplicationCore. |
OsmodalLoop | Las aplicaciones asignan un valor True a esta propiedad cuando reciben un mensaje WM_ENTERMENULOOP y asignan un valor False cuando reciben un mensaje WM_EXITMENULOOP. |
ProcessType | Tipo de proceso de CEF que se está ejecutando en ese momento. |
ReRaiseExceptions | Asignar un valor de True para elevar todas las excepciones. |
SetCurrentDir | Usado para asignar el directorio actual cuando se carga CEF. Esto es necesario is la aplicación se ejecuta desde una aplicación diferente. |
ShowMessageDlg | Asignar un valor de True cuando se necesita mostrar una ventana con showmessage para mostrar los mensajes de error. |
Status | Devuelve el estado de inicialización de TCEFApplicationCore. |
SystemMemoryLoad | Carga de memoria en Windows. |
TotalSystemMemory | Memoria de sistema total en Windows. |
UsedMemory | Memoria usada por todos los procesos de CEF. |
WidevinePath | Ruta al plugin Widevine CDM. |
WindowsSandboxInfo | Puntero a la información del sandbox. En la actualidad no se usa en Delphi y Lazarus. |
XDisplay | Puntero al XDisplay en Linux. |
Lea esta página y los comentarios del código en este archivo para conocer todos los detalles de ICefApp.
OnRegCustomSchemes | Se corresponde con CefApp.OnRegisterCustomSchemes. Da la oportunidad de registrar esquemas de URL personalizados. |
Lea esta página y los comentarios del código en este archivo para conocer todos los detalles de ICefBrowserProcessHandler.
OnContextInitialized | Ejecutado en el hilo UI del proceso del navegador inmediatamente después de la inicialización del contexto. |
OnBeforeChildProcessLaunch | Ejecutado antes de lanzar procesos hijo. |
OnScheduleMessagePumpWork | Ejecutado cuando se ha planificado trabajo para el proceso del navegador. |
OnGetDefaultClient | Devuelve el cliente por defecto para su uso con un navegador recién creado. |
Lea esta página y los comentarios del código en este archivo para conocer todos los detalles de ICefResourceBundleHandler.
OnGetLocalizedString | Ejecutado para obtener la traducción para el parámetro string_id especificado. |
OnGetDataResource | Ejecutado para obtener datos para el resource_id especidicado. |
OnGetDataResourceForScale | Ejecutado para obtener datos para el resource_id especificado con un scale_factor más cercano. |
Lea esta página y los comentarios del código en este archivo para conocer todos los detalles de ICefRenderProcessHandler.
Todos estos eventos se ejecutan en el proceso de renderizado únicamente.
OnWebKitInitialized | Ejecutado después de la inicialización de WebKit. |
OnBrowserCreated | Ejecutado después de que se cree un navegador. |
OnBrowserDestroyed | Ejecutado antes de la destrucción de un navegador. |
OnContextCreated | Ejecutado inmediatamente después de la creación de un contexto V8 para un frame. |
OnContextReleased | Ejecutado inmediatamente antes de la destrucción de un contexto V8 para un frame. |
OnUncaughtException | Ejecutado cuando se producen excepciones globales no capturadas en un frame. |
OnFocusedNodeChanged | Ejecutado cuando un nodo nuevo en el navegador adquiere el foco. |
OnProcessMessageReceived | Ejecutado cuando se recibe un mensaje desde un proceso diferente. |
Lea esta página y los comentarios del código en este archivo para conocer todos los detalles de ICefRegisterCDMCallback.
OnCDMRegistrationComplete | Ejecutado cuando se completa el registro CDM. |
Lea esta página y los comentarios del código en este archivo para conocer todos los detalles de ICefLoadHandler.
Todos estos eventos se ejecutan en el proceso de renderizado únicamente.
OnLoadingStateChange | Ejecutado cuando el estado de la carga ha cambiado. |
OnLoadStart | Ejecutado después de haber realizado la petición de navegación y antes de que comience la carga de contenidos en el frame. |
OnLoadEnd | Ejecutado cuando el navegador ha terminado de cargar un frame. |
OnLoadError | Ejecutado cuando la navegación falla o se ha cancelado. |
DestroyApplicationObject | Destruye el objeto Application antes de inicializar los subprocesos. |
DestroyAppWindows | Destruye los handles creados por el objeto Application antes de inicializar los subprocesos. |
Añade un gestor que será alertado cuando se inicializa el contexto global. Solo disponible en Lazarus.
Eliminar el gestor de la lista de gestores que son alertados cuando se inicializa el contexto global. Solo disponible en Lazarus.