Click or drag to resize
CfxSettings Class

[This is preliminary documentation and is subject to change.]

Initialization settings. Specify NULL or 0 to get the recommended default values. Many of these and other settings can also configured using command- line switches.
Inheritance Hierarchy
SystemObject
  ChromiumCfxObject
    ChromiumCfxStructure
      ChromiumCfxSettings

Namespace: Chromium
Assembly: ChromiumFX (in ChromiumFX.dll)
Syntax
public sealed class CfxSettings : CfxStructure

The CfxSettings type exposes the following members.

Constructors
  NameDescription
Public methodCfxSettings
Initializes a new instance of the CfxSettings class
Top
Properties
  NameDescription
Public propertyAcceptLanguageList
Comma delimited ordered list of language codes without any whitespace that will be used in the "Accept-Language" HTTP header. May be overridden on a per-browser basis using the CfxBrowserSettings.AcceptLanguageList value. If both values are empty then "en-US,en" will be used. Can be overridden for individual CfxRequestContext instances via the CfxRequestContextSettings.AcceptLanguageList value.
Public propertyBackgroundColor
Opaque background color used for accelerated content. By default the background color will be white. Only the RGB compontents of the specified value will be used. The alpha component must greater than 0 to enable use of the background color but will be otherwise ignored.
Public propertyBrowserSubprocessPath
The path to a separate executable that will be launched for sub-processes. If this value is empty on Windows or Linux then the main process executable will be used. If this value is empty on macOS then a helper executable must exist at "Contents/Frameworks/<app> Helper.app/Contents/MacOS/<app> Helper" in the top-level app bundle. See the comments on CfxExecuteProcess() for details. Also configurable using the "browser-subprocess-path" command-line switch.
Public propertyCachePath
The location where cache data will be stored on disk. If empty then browsers will be created in "incognito mode" where in-memory caches are used for storage and no data is persisted to disk. HTML5 databases such as localStorage will only persist across sessions if a cache path is specified. Can be overridden for individual CfxRequestContext instances via the CfxRequestContextSettings.CachePath value.
Public propertyCommandLineArgsDisabled
Set to true (1) to disable configuration of browser process features using standard CEF and Chromium command-line arguments. Configuration can still be specified using CEF data structures or via the CfxApp.OnBeforeCommandLineProcessing() method.
Public propertyContextSafetyImplementation
By default CEF V8 references will be invalidated (the IsValid() method will return false) after the owning context has been released. This reduces the need for external record keeping and avoids crashes due to the use of V8 references after the associated context has been released. CEF currently offers two context safety implementations with different performance characteristics. The default implementation (value of 0) uses a map of hash values and should provide better performance in situations with a small number contexts. The alternate implementation (value of 1) uses a hidden value attached to each context and should provide better performance in situations with a large number of contexts. If you need better performance in the creation of V8 references and you plan to manually track context lifespan you can disable context safety by specifying a value of -1. Also configurable using the "context-safety-implementation" command-line switch.
Public propertyEnableNetSecurityExpiration
Set to true (1) to enable date-based expiration of built in network security information (i.e. certificate transparency logs, HSTS preloading and pinning information). Enabling this option improves network security but may cause HTTPS load failures when using CEF binaries built more than 10 weeks in the past. See https://www.certificate-transparency.org/ and https://www.chromium.org/hsts for details. Also configurable using the "enable-net-security-expiration" command-line switch. Can be overridden for individual CfxRequestContext instances via the CfxRequestContextSettings.EnableNetSecurityExpiration value.
Public propertyExternalMessagePump
Set to true (1) to control browser process main (UI) thread message pump scheduling via the CfxBrowserProcessHandler.OnScheduleMessagePumpWork() callback. This option is recommended for use in combination with the CfxDoMessageLoopWork() function in cases where the CEF message loop must be integrated into an existing application message loop (see additional comments and warnings on CfxDoMessageLoopWork). Enabling this option is not recommended for most users; leave this option disabled and use either the CfxRunMessageLoop() function or multi_threaded_message_loop if possible.
Public propertyFrameworkDirPath
The path to the CEF framework directory on macOS. If this value is empty then the framework must exist at "Contents/Frameworks/Chromium Embedded Framework.framework" in the top-level app bundle. Also configurable using the "framework-dir-path" command-line switch.
Public propertyIgnoreCertificateErrors
Set to true (1) to ignore errors related to invalid SSL certificates. Enabling this setting can lead to potential security vulnerabilities like "man in the middle" attacks. Applications that load content from the internet should not enable this setting. Also configurable using the "ignore-certificate-errors" command-line switch. Can be overridden for individual CfxRequestContext instances via the CfxRequestContextSettings.IgnoreCertificateErrors value.
Public propertyJavascriptFlags
Custom flags that will be used when initializing the V8 JavaScript engine. The consequences of using custom flags may not be well tested. Also configurable using the "js-flags" command-line switch.
Public propertyLocale
The locale string that will be passed to WebKit. If empty the default locale of "en-US" will be used. This value is ignored on Linux where locale is determined using environment variable parsing with the precedence order: LANGUAGE, LC_ALL, LC_MESSAGES and LANG. Also configurable using the "lang" command-line switch.
Public propertyLocalesDirPath
The fully qualified path for the locales directory. If this value is empty the locales directory must be located in the module directory. This value is ignored on Mac OS X where pack files are always loaded from the app bundle Resources directory. Also configurable using the "locales-dir-path" command-line switch.
Public propertyLogFile
The directory and file name to use for the debug log. If empty a default log file name and location will be used. On Windows and Linux a "debug.log" file will be written in the main executable directory. On Mac OS X a "~/Library/Logs/<app name>_debug.log" file will be written where <app name> is the name of the main app executable. Also configurable using the "log-file" command-line switch.
Public propertyLogSeverity
The log severity. Only messages of this severity level or higher will be logged. Also configurable using the "log-severity" command-line switch with a value of "verbose", "info", "warning", "error", "error-report" or "disable".
Public propertyMultiThreadedMessageLoop
Set to true (1) to have the browser process message loop run in a separate thread. If false (0) than the CfxDoMessageLoopWork() function must be called from your application message loop. This option is only supported on Windows.
Public propertyNoSandbox
Set to true (1) to disable the sandbox for sub-processes. See cef_sandbox_win.h for requirements to enable the sandbox on Windows. Also configurable using the "no-sandbox" command-line switch.
Public propertyPackLoadingDisabled
Set to true (1) to disable loading of pack files for resources and locales. A resource bundle handler must be provided for the browser and render processes via CfxApp.GetResourceBundleHandler() if loading of pack files is disabled. Also configurable using the "disable-pack-loading" command- line switch.
Public propertyPersistSessionCookies
To persist session cookies (cookies without an expiry date or validity interval) by default when using the global cookie manager set this value to true (1). Session cookies are generally intended to be transient and most Web browsers do not persist them. A |cachePath| value must also be specified to enable this feature. Also configurable using the "persist-session-cookies" command-line switch. Can be overridden for individual CfxRequestContext instances via the CfxRequestContextSettings.PersistSessionCookies value.
Public propertyPersistUserPreferences
To persist user preferences as a JSON file in the cache path directory set this value to true (1). A |cachePath| value must also be specified to enable this feature. Also configurable using the "persist-user-preferences" command-line switch. Can be overridden for individual CfxRequestContext instances via the CfxRequestContextSettings.PersistUserPreferences value.
Public propertyProductVersion
Value that will be inserted as the product portion of the default User-Agent string. If empty the Chromium product version will be used. If |userAgent| is specified this value will be ignored. Also configurable using the "product-version" command-line switch.
Public propertyRemoteDebuggingPort
Set to a value between 1024 and 65535 to enable remote debugging on the specified port. For example, if 8080 is specified the remote debugging URL will be http://localhost:8080. CEF can be remotely debugged from any CEF or Chrome browser window. Also configurable using the "remote-debugging-port" command-line switch.
Public propertyResourcesDirPath
The fully qualified path for the resources directory. If this value is empty the cef.pak and/or devtools_resources.pak files must be located in the module directory on Windows/Linux or the app bundle Resources directory on Mac OS X. Also configurable using the "resources-dir-path" command-line switch.
Public propertySingleProcess
Set to true (1) to use a single process for the browser and renderer. This run mode is not officially supported by Chromium and is less stable than the multi-process default. Also configurable using the "single-process" command-line switch.
Public propertyUncaughtExceptionStackSize
The number of stack trace frames to capture for uncaught exceptions. Specify a positive value to enable the CfxRenderProcessHandler:: OnUncaughtException() callback. Specify 0 (default value) and OnUncaughtException() will not be called. Also configurable using the "uncaught-exception-stack-size" command-line switch.
Public propertyUserAgent
Value that will be returned as the User-Agent HTTP header. If empty the default User-Agent string will be used. Also configurable using the "user-agent" command-line switch.
Public propertyUserDataPath
The location where user data such as spell checking dictionary files will be stored on disk. If empty then the default platform-specific user data directory will be used ("~/.cef_user_data" directory on Linux, "~/Library/Application Support/CEF/User Data" directory on Mac OS X, "Local Settings\Application Data\CEF\User Data" directory under the user profile directory on Windows).
Public propertyWindowlessRenderingEnabled
Set to true (1) to enable windowless (off-screen) rendering support. Do not enable this value if the application does not use windowless rendering as it may reduce rendering performance on some systems.
Top
Remarks
See also the original CEF documentation in cef/include/internal/cef_types.h.
See Also