@@ -116,12 +116,15 @@ public string BrowserSubprocessPath
116116 }
117117
118118 /// <summary>
119- /// The location where data for the global browser cache will be stored on disk. In this value is non-empty then it must be
120- /// an absolute path that is must be either equal to or a child directory of CefSettings.RootCachePath (if RootCachePath is
121- /// empty it will default to this value). If the value is empty then browsers will be created in "incognito mode" where
122- /// in-memory caches are used for storage and no data is persisted to disk. HTML5 databases such as localStorage will only
123- /// persist across sessions if a cache path is specified. Can be overridden for individual RequestContext instances via the
124- /// RequestContextSettings.CachePath value.
119+ /// The directory where data for the global browser cache will be stored on disk.
120+ /// If this value is non-empty then it must be an absolute path that is either equal to or a child directory
121+ /// of <see cref="RootCachePath"/>. If this value is empty then browsers will be created in "incognito mode"
122+ /// where in-memory caches are used for storage and no profile-specific data is persisted to disk
123+ /// (installation-specific data will still be persisted in <see cref="RootCachePath"/>). HTML5 databases
124+ /// such as localStorage will only persist across sessions if a cache path is specified.
125+ /// Can be overridden for individual RequestContext instances via the <see cref="RequestContextSettings.CachePath"/> value.
126+ /// Any child directory value will be ignored and the "default" profile (also a child directory) will be used
127+ /// instead.
125128 /// </summary>
126129 public string CachePath
127130 {
@@ -130,13 +133,22 @@ public string CachePath
130133 }
131134
132135 /// <summary>
133- /// The root directory that all CefSettings.CachePath and RequestContextSettings.CachePath values must have in common. If this
134- /// value is empty and CefSettings.CachePath is non-empty then it will default to the CefSettings.CachePath value.
135- /// If this value is non-empty then it must be an absolute path. Failure to set this value correctly may result in the sandbox
136- /// blocking read/write access to the CachePath directory. NOTE: CefSharp does not implement the CHROMIUM SANDBOX. A non-empty
137- /// RootCachePath can be used in conjuncation with an empty CefSettings.CachePath in instances where you would like browsers
138- /// attached to the Global RequestContext (the default) created in "incognito mode" and instances created with a custom
139- /// RequestContext using a disk based cache.
136+ /// The root directory for installation-specific data and the parent directory for profile-specific data.
137+ /// All <see cref="CachePath"> and <see cref="RequestContextSettings.CachePath"/> values must have this parent directory
138+ /// in common. If this value is empty and <see cref="CachePath"> is non-empty then it will default to the
139+ /// <see cref="CachePath"> value. Any non-empty value must be an absolute path. If both values are empty then
140+ /// the default platform-specific directory will be used ("AppData\Local\CEF\User Data" directory under the user
141+ /// profile directory on Windows).
142+ ///
143+ /// **Use of the default directory is not recommended in production applications(see below).**
144+ ///
145+ /// Multiple application instances writing to the same RootCachePath directory could result in data corruption.
146+ /// A process singleton lock based on the RootCachePath value is therefore used to protect against this.
147+ /// This singleton behavior applies to all CEF-based applications using version 120 or newer.
148+ /// You should customize RootCachePath for your application and implement <see cref="IBrowserProcessHandler.OnAlreadyRunningAppRelaunch"/>,
149+ /// which will then be called on any app relaunch with the same RootCachePath value.
150+ ///
151+ /// Failure to set the RootCachePath value correctly may result in startup crashes or other unexpected behaviors
140152 /// </summary>
141153 public string RootCachePath
142154 {
0 commit comments