@@ -116,12 +116,15 @@ public string BrowserSubprocessPath
116
116
}
117
117
118
118
/// <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.
125
128
/// </summary>
126
129
public string CachePath
127
130
{
@@ -130,13 +133,22 @@ public string CachePath
130
133
}
131
134
132
135
/// <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
140
152
/// </summary>
141
153
public string RootCachePath
142
154
{
0 commit comments